<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def integer_squareroot(value: int) -> int: """ Return the integer square root of ``value``. Uses Python's decimal module to compute the square root of ``value`` with a precision of 128-bits. The value 128 is chosen since the largest square root of a 256-bit integer is a 128-bit integer. """

    if not isinstance(value, int) or isinstance(value, bool):
        raise ValueError(
            "Value must be an integer: Got: {0}".format(
                type(value),
            )
        )
    if value < 0:
        raise ValueError(
            "Value cannot be negative: Got: {0}".format(
                value,
            )
        )

    with decimal.localcontext() as ctx:
        ctx.prec = 128
        return int(decimal.Decimal(value).sqrt())