{ "id": "4ba9f44f634e0178e7b78b6ea3f0e9fe", "_format": "hh-sol-build-info-1", "solcVersion": "0.8.20", "solcLongVersion": "0.8.20+commit.a1b79de6", "input": { "language": "Solidity", "sources": { "contracts/1inch/ImagePicker.sol": { "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\nimport { Strings } from \"@openzeppelin/contracts/utils/Strings.sol\";\n\n\ncontract ImagePicker {\n event accountHexEvent(bytes accountHex);\n event shortAddressProgressEvent(bytes shortAddress);\n event shortAddressEvent(string shortAddress);\n event shortAddressBytesEvent(bytes32 shortAddressBytes);\n event numberEvent(uint256 number);\n event imageIndexEvent(uint256 imageIndex);\n\n // TODO: del events, make pure\n // function getImageByAccountHex(bytes memory accountHex) public returns (string memory) {\n function getImageByAccountHex(bytes memory accountHex) public pure returns (string memory) {\n\n // call example: '\\t\"image\": getImageByAccountHex(accountHex),\\n',\n require(accountHex.length == 42, \"accountHex length should be 42 characters\"); // Validate address length\n \n // Extract the relevant parts of the address\n bytes memory _shortAddressBytes = new bytes(12);\n\n for (uint256 i = 0; i < 12; i++) {\n if (i <= 7) {\n // 7 first bytes\n _shortAddressBytes[i] = accountHex[i];\n } else {\n // 5 last except one: 36 37 38 39 40\n _shortAddressBytes[i] = accountHex[28 + i];\n }\n // emit shortAddressProgressEvent(_shortAddressBytes);\n }\n\n // Convert the extracted bytes to a string\n string memory shortAddress = string(_shortAddressBytes);\n // emit shortAddressEvent(shortAddress);\n\n // Convert the string to a number\n bytes32 shortAddressBytes = bytes32(keccak256(abi.encodePacked(shortAddress)));\n // emit shortAddressBytesEvent(shortAddressBytes);\n \n uint256 number = uint256(shortAddressBytes);\n // emit numberEvent(number);\n \n string[10] memory images = [\n \"blue 001\",\n \"pink 002\",\n \"green 003\",\n \"red 004\",\n \"orange 005\",\n \"green 006\",\n \"ping 007\",\n \"red 008\",\n \"metal 009\",\n \"light metal 010\"\n ];\n\n // Calculate the color index\n uint256 imageIndex = number % images.length;\n // emit imageIndexEvent(imageIndex);\n\n return images[imageIndex];\n }\n\n // TODO: del events, make pure\n // function getImageByTokenID(uint256 tokenId) external returns(string memory) {\n function getImageByTokenID(uint256 tokenId) external pure returns(string memory) {\n\n bytes memory accountHex = bytes(Strings.toHexString(tokenId, 20));\n\n string[10] memory images = [\n \"blue 001\",\n \"pink 002\",\n \"green 003\",\n \"red 004\",\n \"orange 005\",\n \"green 006\",\n \"ping 007\",\n \"red 008\",\n \"metal 009\",\n \"light metal 010\"\n ];\n string memory image = images[tokenId % images.length];\n\n // emit accountHexEvent(accountHex);\n\n return getImageByAccountHex(accountHex);\n }\n}\n" }, "@openzeppelin/contracts/utils/Strings.sol": { "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/Strings.sol)\n\npragma solidity ^0.8.20;\n\nimport {Math} from \"./math/Math.sol\";\nimport {SignedMath} from \"./math/SignedMath.sol\";\n\n/**\n * @dev String operations.\n */\nlibrary Strings {\n bytes16 private constant HEX_DIGITS = \"0123456789abcdef\";\n uint8 private constant ADDRESS_LENGTH = 20;\n\n /**\n * @dev The `value` string doesn't fit in the specified `length`.\n */\n error StringsInsufficientHexLength(uint256 value, uint256 length);\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` decimal representation.\n */\n function toString(uint256 value) internal pure returns (string memory) {\n unchecked {\n uint256 length = Math.log10(value) + 1;\n string memory buffer = new string(length);\n uint256 ptr;\n /// @solidity memory-safe-assembly\n assembly {\n ptr := add(buffer, add(32, length))\n }\n while (true) {\n ptr--;\n /// @solidity memory-safe-assembly\n assembly {\n mstore8(ptr, byte(mod(value, 10), HEX_DIGITS))\n }\n value /= 10;\n if (value == 0) break;\n }\n return buffer;\n }\n }\n\n /**\n * @dev Converts a `int256` to its ASCII `string` decimal representation.\n */\n function toStringSigned(int256 value) internal pure returns (string memory) {\n return string.concat(value < 0 ? \"-\" : \"\", toString(SignedMath.abs(value)));\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.\n */\n function toHexString(uint256 value) internal pure returns (string memory) {\n unchecked {\n return toHexString(value, Math.log256(value) + 1);\n }\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.\n */\n function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {\n uint256 localValue = value;\n bytes memory buffer = new bytes(2 * length + 2);\n buffer[0] = \"0\";\n buffer[1] = \"x\";\n for (uint256 i = 2 * length + 1; i > 1; --i) {\n buffer[i] = HEX_DIGITS[localValue & 0xf];\n localValue >>= 4;\n }\n if (localValue != 0) {\n revert StringsInsufficientHexLength(value, length);\n }\n return string(buffer);\n }\n\n /**\n * @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal\n * representation.\n */\n function toHexString(address addr) internal pure returns (string memory) {\n return toHexString(uint256(uint160(addr)), ADDRESS_LENGTH);\n }\n\n /**\n * @dev Returns true if the two strings are equal.\n */\n function equal(string memory a, string memory b) internal pure returns (bool) {\n return bytes(a).length == bytes(b).length && keccak256(bytes(a)) == keccak256(bytes(b));\n }\n}\n" }, "@openzeppelin/contracts/utils/math/SignedMath.sol": { "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/math/SignedMath.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Standard signed math utilities missing in the Solidity language.\n */\nlibrary SignedMath {\n /**\n * @dev Returns the largest of two signed numbers.\n */\n function max(int256 a, int256 b) internal pure returns (int256) {\n return a > b ? a : b;\n }\n\n /**\n * @dev Returns the smallest of two signed numbers.\n */\n function min(int256 a, int256 b) internal pure returns (int256) {\n return a < b ? a : b;\n }\n\n /**\n * @dev Returns the average of two signed numbers without overflow.\n * The result is rounded towards zero.\n */\n function average(int256 a, int256 b) internal pure returns (int256) {\n // Formula from the book \"Hacker's Delight\"\n int256 x = (a & b) + ((a ^ b) >> 1);\n return x + (int256(uint256(x) >> 255) & (a ^ b));\n }\n\n /**\n * @dev Returns the absolute unsigned value of a signed value.\n */\n function abs(int256 n) internal pure returns (uint256) {\n unchecked {\n // must be unchecked in order to support `n = type(int256).min`\n return uint256(n >= 0 ? n : -n);\n }\n }\n}\n" }, "@openzeppelin/contracts/utils/math/Math.sol": { "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/math/Math.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Standard math utilities missing in the Solidity language.\n */\nlibrary Math {\n /**\n * @dev Muldiv operation overflow.\n */\n error MathOverflowedMulDiv();\n\n enum Rounding {\n Floor, // Toward negative infinity\n Ceil, // Toward positive infinity\n Trunc, // Toward zero\n Expand // Away from zero\n }\n\n /**\n * @dev Returns the addition of two unsigned integers, with an overflow flag.\n */\n function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n unchecked {\n uint256 c = a + b;\n if (c < a) return (false, 0);\n return (true, c);\n }\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, with an overflow flag.\n */\n function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n unchecked {\n if (b > a) return (false, 0);\n return (true, a - b);\n }\n }\n\n /**\n * @dev Returns the multiplication of two unsigned integers, with an overflow flag.\n */\n function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n unchecked {\n // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\n // benefit is lost if 'b' is also tested.\n // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522\n if (a == 0) return (true, 0);\n uint256 c = a * b;\n if (c / a != b) return (false, 0);\n return (true, c);\n }\n }\n\n /**\n * @dev Returns the division of two unsigned integers, with a division by zero flag.\n */\n function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n unchecked {\n if (b == 0) return (false, 0);\n return (true, a / b);\n }\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.\n */\n function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n unchecked {\n if (b == 0) return (false, 0);\n return (true, a % b);\n }\n }\n\n /**\n * @dev Returns the largest of two numbers.\n */\n function max(uint256 a, uint256 b) internal pure returns (uint256) {\n return a > b ? a : b;\n }\n\n /**\n * @dev Returns the smallest of two numbers.\n */\n function min(uint256 a, uint256 b) internal pure returns (uint256) {\n return a < b ? a : b;\n }\n\n /**\n * @dev Returns the average of two numbers. The result is rounded towards\n * zero.\n */\n function average(uint256 a, uint256 b) internal pure returns (uint256) {\n // (a + b) / 2 can overflow.\n return (a & b) + (a ^ b) / 2;\n }\n\n /**\n * @dev Returns the ceiling of the division of two numbers.\n *\n * This differs from standard division with `/` in that it rounds towards infinity instead\n * of rounding towards zero.\n */\n function ceilDiv(uint256 a, uint256 b) internal pure returns (uint256) {\n if (b == 0) {\n // Guarantee the same behavior as in a regular Solidity division.\n return a / b;\n }\n\n // (a + b - 1) / b can overflow on addition, so we distribute.\n return a == 0 ? 0 : (a - 1) / b + 1;\n }\n\n /**\n * @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or\n * denominator == 0.\n * @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv) with further edits by\n * Uniswap Labs also under MIT license.\n */\n function mulDiv(uint256 x, uint256 y, uint256 denominator) internal pure returns (uint256 result) {\n unchecked {\n // 512-bit multiply [prod1 prod0] = x * y. Compute the product mod 2^256 and mod 2^256 - 1, then use\n // use the Chinese Remainder Theorem to reconstruct the 512 bit result. The result is stored in two 256\n // variables such that product = prod1 * 2^256 + prod0.\n uint256 prod0 = x * y; // Least significant 256 bits of the product\n uint256 prod1; // Most significant 256 bits of the product\n assembly {\n let mm := mulmod(x, y, not(0))\n prod1 := sub(sub(mm, prod0), lt(mm, prod0))\n }\n\n // Handle non-overflow cases, 256 by 256 division.\n if (prod1 == 0) {\n // Solidity will revert if denominator == 0, unlike the div opcode on its own.\n // The surrounding unchecked block does not change this fact.\n // See https://docs.soliditylang.org/en/latest/control-structures.html#checked-or-unchecked-arithmetic.\n return prod0 / denominator;\n }\n\n // Make sure the result is less than 2^256. Also prevents denominator == 0.\n if (denominator <= prod1) {\n revert MathOverflowedMulDiv();\n }\n\n ///////////////////////////////////////////////\n // 512 by 256 division.\n ///////////////////////////////////////////////\n\n // Make division exact by subtracting the remainder from [prod1 prod0].\n uint256 remainder;\n assembly {\n // Compute remainder using mulmod.\n remainder := mulmod(x, y, denominator)\n\n // Subtract 256 bit number from 512 bit number.\n prod1 := sub(prod1, gt(remainder, prod0))\n prod0 := sub(prod0, remainder)\n }\n\n // Factor powers of two out of denominator and compute largest power of two divisor of denominator.\n // Always >= 1. See https://cs.stackexchange.com/q/138556/92363.\n\n uint256 twos = denominator & (0 - denominator);\n assembly {\n // Divide denominator by twos.\n denominator := div(denominator, twos)\n\n // Divide [prod1 prod0] by twos.\n prod0 := div(prod0, twos)\n\n // Flip twos such that it is 2^256 / twos. If twos is zero, then it becomes one.\n twos := add(div(sub(0, twos), twos), 1)\n }\n\n // Shift in bits from prod1 into prod0.\n prod0 |= prod1 * twos;\n\n // Invert denominator mod 2^256. Now that denominator is an odd number, it has an inverse modulo 2^256 such\n // that denominator * inv = 1 mod 2^256. Compute the inverse by starting with a seed that is correct for\n // four bits. That is, denominator * inv = 1 mod 2^4.\n uint256 inverse = (3 * denominator) ^ 2;\n\n // Use the Newton-Raphson iteration to improve the precision. Thanks to Hensel's lifting lemma, this also\n // works in modular arithmetic, doubling the correct bits in each step.\n inverse *= 2 - denominator * inverse; // inverse mod 2^8\n inverse *= 2 - denominator * inverse; // inverse mod 2^16\n inverse *= 2 - denominator * inverse; // inverse mod 2^32\n inverse *= 2 - denominator * inverse; // inverse mod 2^64\n inverse *= 2 - denominator * inverse; // inverse mod 2^128\n inverse *= 2 - denominator * inverse; // inverse mod 2^256\n\n // Because the division is now exact we can divide by multiplying with the modular inverse of denominator.\n // This will give us the correct result modulo 2^256. Since the preconditions guarantee that the outcome is\n // less than 2^256, this is the final result. We don't need to compute the high bits of the result and prod1\n // is no longer required.\n result = prod0 * inverse;\n return result;\n }\n }\n\n /**\n * @notice Calculates x * y / denominator with full precision, following the selected rounding direction.\n */\n function mulDiv(uint256 x, uint256 y, uint256 denominator, Rounding rounding) internal pure returns (uint256) {\n uint256 result = mulDiv(x, y, denominator);\n if (unsignedRoundsUp(rounding) && mulmod(x, y, denominator) > 0) {\n result += 1;\n }\n return result;\n }\n\n /**\n * @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded\n * towards zero.\n *\n * Inspired by Henry S. Warren, Jr.'s \"Hacker's Delight\" (Chapter 11).\n */\n function sqrt(uint256 a) internal pure returns (uint256) {\n if (a == 0) {\n return 0;\n }\n\n // For our first guess, we get the biggest power of 2 which is smaller than the square root of the target.\n //\n // We know that the \"msb\" (most significant bit) of our target number `a` is a power of 2 such that we have\n // `msb(a) <= a < 2*msb(a)`. This value can be written `msb(a)=2**k` with `k=log2(a)`.\n //\n // This can be rewritten `2**log2(a) <= a < 2**(log2(a) + 1)`\n // → `sqrt(2**k) <= sqrt(a) < sqrt(2**(k+1))`\n // → `2**(k/2) <= sqrt(a) < 2**((k+1)/2) <= 2**(k/2 + 1)`\n //\n // Consequently, `2**(log2(a) / 2)` is a good first approximation of `sqrt(a)` with at least 1 correct bit.\n uint256 result = 1 << (log2(a) >> 1);\n\n // At this point `result` is an estimation with one bit of precision. We know the true value is a uint128,\n // since it is the square root of a uint256. Newton's method converges quadratically (precision doubles at\n // every iteration). We thus need at most 7 iteration to turn our partial result with one bit of precision\n // into the expected uint128 result.\n unchecked {\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n return min(result, a / result);\n }\n }\n\n /**\n * @notice Calculates sqrt(a), following the selected rounding direction.\n */\n function sqrt(uint256 a, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = sqrt(a);\n return result + (unsignedRoundsUp(rounding) && result * result < a ? 1 : 0);\n }\n }\n\n /**\n * @dev Return the log in base 2 of a positive value rounded towards zero.\n * Returns 0 if given 0.\n */\n function log2(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >> 128 > 0) {\n value >>= 128;\n result += 128;\n }\n if (value >> 64 > 0) {\n value >>= 64;\n result += 64;\n }\n if (value >> 32 > 0) {\n value >>= 32;\n result += 32;\n }\n if (value >> 16 > 0) {\n value >>= 16;\n result += 16;\n }\n if (value >> 8 > 0) {\n value >>= 8;\n result += 8;\n }\n if (value >> 4 > 0) {\n value >>= 4;\n result += 4;\n }\n if (value >> 2 > 0) {\n value >>= 2;\n result += 2;\n }\n if (value >> 1 > 0) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log2(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log2(value);\n return result + (unsignedRoundsUp(rounding) && 1 << result < value ? 1 : 0);\n }\n }\n\n /**\n * @dev Return the log in base 10 of a positive value rounded towards zero.\n * Returns 0 if given 0.\n */\n function log10(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >= 10 ** 64) {\n value /= 10 ** 64;\n result += 64;\n }\n if (value >= 10 ** 32) {\n value /= 10 ** 32;\n result += 32;\n }\n if (value >= 10 ** 16) {\n value /= 10 ** 16;\n result += 16;\n }\n if (value >= 10 ** 8) {\n value /= 10 ** 8;\n result += 8;\n }\n if (value >= 10 ** 4) {\n value /= 10 ** 4;\n result += 4;\n }\n if (value >= 10 ** 2) {\n value /= 10 ** 2;\n result += 2;\n }\n if (value >= 10 ** 1) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log10(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log10(value);\n return result + (unsignedRoundsUp(rounding) && 10 ** result < value ? 1 : 0);\n }\n }\n\n /**\n * @dev Return the log in base 256 of a positive value rounded towards zero.\n * Returns 0 if given 0.\n *\n * Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string.\n */\n function log256(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >> 128 > 0) {\n value >>= 128;\n result += 16;\n }\n if (value >> 64 > 0) {\n value >>= 64;\n result += 8;\n }\n if (value >> 32 > 0) {\n value >>= 32;\n result += 4;\n }\n if (value >> 16 > 0) {\n value >>= 16;\n result += 2;\n }\n if (value >> 8 > 0) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 256, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log256(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log256(value);\n return result + (unsignedRoundsUp(rounding) && 1 << (result << 3) < value ? 1 : 0);\n }\n }\n\n /**\n * @dev Returns whether a provided rounding mode is considered rounding up for unsigned integers.\n */\n function unsignedRoundsUp(Rounding rounding) internal pure returns (bool) {\n return uint8(rounding) % 2 == 1;\n }\n}\n" } }, "settings": { "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "": [ "ast" ], "*": [ "abi", "metadata", "devdoc", "userdoc", "storageLayout", "evm.legacyAssembly", "evm.bytecode", "evm.deployedBytecode", "evm.methodIdentifiers", "evm.gasEstimates", "evm.assembly" ] } } } }, "output": { "contracts": { "@openzeppelin/contracts/utils/Strings.sol": { "Strings": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "length", "type": "uint256" } ], "name": "StringsInsufficientHexLength", "type": "error" } ], "devdoc": { "details": "String operations.", "errors": { "StringsInsufficientHexLength(uint256,uint256)": [ { "details": "The `value` string doesn't fit in the specified `length`." } ] }, "kind": "dev", "methods": {}, "version": 1 }, "evm": { "assembly": " /* \"@openzeppelin/contracts/utils/Strings.sol\":251:3098 library Strings {... */\n dataSize(sub_0)\n dataOffset(sub_0)\n 0x0b\n dup3\n dup3\n dup3\n codecopy\n dup1\n mload\n 0x00\n byte\n 0x73\n eq\n tag_1\n jumpi\n mstore(0x00, 0x4e487b7100000000000000000000000000000000000000000000000000000000)\n mstore(0x04, 0x00)\n revert(0x00, 0x24)\ntag_1:\n mstore(0x00, address)\n 0x73\n dup2\n mstore8\n dup3\n dup2\n return\nstop\n\nsub_0: assembly {\n /* \"@openzeppelin/contracts/utils/Strings.sol\":251:3098 library Strings {... */\n eq(address, deployTimeAddress())\n mstore(0x40, 0x80)\n 0x00\n dup1\n revert\n\n auxdata: 0xa26469706673582212202f16324ec2eab48f4026b0a3390ff328f7839bb31295ad3f723794aa24ff365664736f6c63430008140033\n}\n", "bytecode": { "functionDebugData": {}, "generatedSources": [], "linkReferences": {}, "object": "6055604b600b8282823980515f1a607314603f577f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212202f16324ec2eab48f4026b0a3390ff328f7839bb31295ad3f723794aa24ff365664736f6c63430008140033", "opcodes": "PUSH1 0x55 PUSH1 0x4B PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH0 BYTE PUSH1 0x73 EQ PUSH1 0x3F JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST ADDRESS PUSH0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2F AND ORIGIN 0x4E 0xC2 0xEA 0xB4 DUP16 BLOCKHASH 0x26 0xB0 LOG3 CODECOPY 0xF RETURN 0x28 0xF7 DUP4 SWAP12 0xB3 SLT SWAP6 0xAD EXTCODEHASH PUSH19 0x3794AA24FF365664736F6C6343000814003300 ", "sourceMap": "251:2847:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": {}, "generatedSources": [], "immutableReferences": {}, "linkReferences": {}, "object": "730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212202f16324ec2eab48f4026b0a3390ff328f7839bb31295ad3f723794aa24ff365664736f6c63430008140033", "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2F AND ORIGIN 0x4E 0xC2 0xEA 0xB4 DUP16 BLOCKHASH 0x26 0xB0 LOG3 CODECOPY 0xF RETURN 0x28 0xF7 DUP4 SWAP12 0xB3 SLT SWAP6 0xAD EXTCODEHASH PUSH19 0x3794AA24FF365664736F6C6343000814003300 ", "sourceMap": "251:2847:0:-:0;;;;;;;;" }, "gasEstimates": { "creation": { "codeDepositCost": "17000", "executionCost": "92", "totalCost": "17092" }, "internal": { "equal(string memory,string memory)": "infinite", "toHexString(address)": "infinite", "toHexString(uint256)": "infinite", "toHexString(uint256,uint256)": "infinite", "toString(uint256)": "infinite", "toStringSigned(int256)": "infinite" } }, "legacyAssembly": { ".code": [ { "begin": 251, "end": 3098, "name": "PUSH #[$]", "source": 0, "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { "begin": 251, "end": 3098, "name": "PUSH [$]", "source": 0, "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { "begin": 251, "end": 3098, "name": "PUSH", "source": 0, "value": "B" }, { "begin": 251, "end": 3098, "name": "DUP3", "source": 0 }, { "begin": 251, "end": 3098, "name": "DUP3", "source": 0 }, { "begin": 251, "end": 3098, "name": "DUP3", "source": 0 }, { "begin": 251, "end": 3098, "name": "CODECOPY", "source": 0 }, { "begin": 251, "end": 3098, "name": "DUP1", "source": 0 }, { "begin": 251, "end": 3098, "name": "MLOAD", "source": 0 }, { "begin": 251, "end": 3098, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 251, "end": 3098, "name": "BYTE", "source": 0 }, { "begin": 251, "end": 3098, "name": "PUSH", "source": 0, "value": "73" }, { "begin": 251, "end": 3098, "name": "EQ", "source": 0 }, { "begin": 251, "end": 3098, "name": "PUSH [tag]", "source": 0, "value": "1" }, { "begin": 251, "end": 3098, "name": "JUMPI", "source": 0 }, { "begin": 251, "end": 3098, "name": "PUSH", "source": 0, "value": "4E487B7100000000000000000000000000000000000000000000000000000000" }, { "begin": 251, "end": 3098, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 251, "end": 3098, "name": "MSTORE", "source": 0 }, { "begin": 251, "end": 3098, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 251, "end": 3098, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 251, "end": 3098, "name": "MSTORE", "source": 0 }, { "begin": 251, "end": 3098, "name": "PUSH", "source": 0, "value": "24" }, { "begin": 251, "end": 3098, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 251, "end": 3098, "name": "REVERT", "source": 0 }, { "begin": 251, "end": 3098, "name": "tag", "source": 0, "value": "1" }, { "begin": 251, "end": 3098, "name": "JUMPDEST", "source": 0 }, { "begin": 251, "end": 3098, "name": "ADDRESS", "source": 0 }, { "begin": 251, "end": 3098, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 251, "end": 3098, "name": "MSTORE", "source": 0 }, { "begin": 251, "end": 3098, "name": "PUSH", "source": 0, "value": "73" }, { "begin": 251, "end": 3098, "name": "DUP2", "source": 0 }, { "begin": 251, "end": 3098, "name": "MSTORE8", "source": 0 }, { "begin": 251, "end": 3098, "name": "DUP3", "source": 0 }, { "begin": 251, "end": 3098, "name": "DUP2", "source": 0 }, { "begin": 251, "end": 3098, "name": "RETURN", "source": 0 } ], ".data": { "0": { ".auxdata": "a26469706673582212202f16324ec2eab48f4026b0a3390ff328f7839bb31295ad3f723794aa24ff365664736f6c63430008140033", ".code": [ { "begin": 251, "end": 3098, "name": "PUSHDEPLOYADDRESS", "source": 0 }, { "begin": 251, "end": 3098, "name": "ADDRESS", "source": 0 }, { "begin": 251, "end": 3098, "name": "EQ", "source": 0 }, { "begin": 251, "end": 3098, "name": "PUSH", "source": 0, "value": "80" }, { "begin": 251, "end": 3098, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 251, "end": 3098, "name": "MSTORE", "source": 0 }, { "begin": 251, "end": 3098, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 251, "end": 3098, "name": "DUP1", "source": 0 }, { "begin": 251, "end": 3098, "name": "REVERT", "source": 0 } ] } }, "sourceList": [ "@openzeppelin/contracts/utils/Strings.sol", "@openzeppelin/contracts/utils/math/Math.sol", "@openzeppelin/contracts/utils/math/SignedMath.sol", "contracts/1inch/ImagePicker.sol", "#utility.yul" ] }, "methodIdentifiers": {} }, "metadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"StringsInsufficientHexLength\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"String operations.\",\"errors\":{\"StringsInsufficientHexLength(uint256,uint256)\":[{\"details\":\"The `value` string doesn't fit in the specified `length`.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } } }, "@openzeppelin/contracts/utils/math/Math.sol": { "Math": { "abi": [ { "inputs": [], "name": "MathOverflowedMulDiv", "type": "error" } ], "devdoc": { "details": "Standard math utilities missing in the Solidity language.", "errors": { "MathOverflowedMulDiv()": [ { "details": "Muldiv operation overflow." } ] }, "kind": "dev", "methods": {}, "version": 1 }, "evm": { "assembly": " /* \"@openzeppelin/contracts/utils/math/Math.sol\":203:15117 library Math {... */\n dataSize(sub_0)\n dataOffset(sub_0)\n 0x0b\n dup3\n dup3\n dup3\n codecopy\n dup1\n mload\n 0x00\n byte\n 0x73\n eq\n tag_1\n jumpi\n mstore(0x00, 0x4e487b7100000000000000000000000000000000000000000000000000000000)\n mstore(0x04, 0x00)\n revert(0x00, 0x24)\ntag_1:\n mstore(0x00, address)\n 0x73\n dup2\n mstore8\n dup3\n dup2\n return\nstop\n\nsub_0: assembly {\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":203:15117 library Math {... */\n eq(address, deployTimeAddress())\n mstore(0x40, 0x80)\n 0x00\n dup1\n revert\n\n auxdata: 0xa26469706673582212204a90bcf65ffb48e9c51d3503f33f51a10bd9a2c31b2d95cf873206fc780da2d364736f6c63430008140033\n}\n", "bytecode": { "functionDebugData": {}, "generatedSources": [], "linkReferences": {}, "object": "6055604b600b8282823980515f1a607314603f577f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212204a90bcf65ffb48e9c51d3503f33f51a10bd9a2c31b2d95cf873206fc780da2d364736f6c63430008140033", "opcodes": "PUSH1 0x55 PUSH1 0x4B PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH0 BYTE PUSH1 0x73 EQ PUSH1 0x3F JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST ADDRESS PUSH0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x4A SWAP1 0xBC 0xF6 PUSH0 0xFB BASEFEE 0xE9 0xC5 SAR CALLDATALOAD SUB RETURN EXTCODEHASH MLOAD LOG1 SIGNEXTEND 0xD9 LOG2 0xC3 SHL 0x2D SWAP6 0xCF DUP8 ORIGIN MOD 0xFC PUSH25 0xDA2D364736F6C634300081400330000000000000000000000 ", "sourceMap": "203:14914:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": {}, "generatedSources": [], "immutableReferences": {}, "linkReferences": {}, "object": "730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212204a90bcf65ffb48e9c51d3503f33f51a10bd9a2c31b2d95cf873206fc780da2d364736f6c63430008140033", "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x4A SWAP1 0xBC 0xF6 PUSH0 0xFB BASEFEE 0xE9 0xC5 SAR CALLDATALOAD SUB RETURN EXTCODEHASH MLOAD LOG1 SIGNEXTEND 0xD9 LOG2 0xC3 SHL 0x2D SWAP6 0xCF DUP8 ORIGIN MOD 0xFC PUSH25 0xDA2D364736F6C634300081400330000000000000000000000 ", "sourceMap": "203:14914:1:-:0;;;;;;;;" }, "gasEstimates": { "creation": { "codeDepositCost": "17000", "executionCost": "92", "totalCost": "17092" }, "internal": { "average(uint256,uint256)": "infinite", "ceilDiv(uint256,uint256)": "infinite", "log10(uint256)": "infinite", "log10(uint256,enum Math.Rounding)": "infinite", "log2(uint256)": "infinite", "log2(uint256,enum Math.Rounding)": "infinite", "log256(uint256)": "infinite", "log256(uint256,enum Math.Rounding)": "infinite", "max(uint256,uint256)": "infinite", "min(uint256,uint256)": "infinite", "mulDiv(uint256,uint256,uint256)": "infinite", "mulDiv(uint256,uint256,uint256,enum Math.Rounding)": "infinite", "sqrt(uint256)": "infinite", "sqrt(uint256,enum Math.Rounding)": "infinite", "tryAdd(uint256,uint256)": "infinite", "tryDiv(uint256,uint256)": "infinite", "tryMod(uint256,uint256)": "infinite", "tryMul(uint256,uint256)": "infinite", "trySub(uint256,uint256)": "infinite", "unsignedRoundsUp(enum Math.Rounding)": "infinite" } }, "legacyAssembly": { ".code": [ { "begin": 203, "end": 15117, "name": "PUSH #[$]", "source": 1, "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { "begin": 203, "end": 15117, "name": "PUSH [$]", "source": 1, "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { "begin": 203, "end": 15117, "name": "PUSH", "source": 1, "value": "B" }, { "begin": 203, "end": 15117, "name": "DUP3", "source": 1 }, { "begin": 203, "end": 15117, "name": "DUP3", "source": 1 }, { "begin": 203, "end": 15117, "name": "DUP3", "source": 1 }, { "begin": 203, "end": 15117, "name": "CODECOPY", "source": 1 }, { "begin": 203, "end": 15117, "name": "DUP1", "source": 1 }, { "begin": 203, "end": 15117, "name": "MLOAD", "source": 1 }, { "begin": 203, "end": 15117, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 203, "end": 15117, "name": "BYTE", "source": 1 }, { "begin": 203, "end": 15117, "name": "PUSH", "source": 1, "value": "73" }, { "begin": 203, "end": 15117, "name": "EQ", "source": 1 }, { "begin": 203, "end": 15117, "name": "PUSH [tag]", "source": 1, "value": "1" }, { "begin": 203, "end": 15117, "name": "JUMPI", "source": 1 }, { "begin": 203, "end": 15117, "name": "PUSH", "source": 1, "value": "4E487B7100000000000000000000000000000000000000000000000000000000" }, { "begin": 203, "end": 15117, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 203, "end": 15117, "name": "MSTORE", "source": 1 }, { "begin": 203, "end": 15117, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 203, "end": 15117, "name": "PUSH", "source": 1, "value": "4" }, { "begin": 203, "end": 15117, "name": "MSTORE", "source": 1 }, { "begin": 203, "end": 15117, "name": "PUSH", "source": 1, "value": "24" }, { "begin": 203, "end": 15117, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 203, "end": 15117, "name": "REVERT", "source": 1 }, { "begin": 203, "end": 15117, "name": "tag", "source": 1, "value": "1" }, { "begin": 203, "end": 15117, "name": "JUMPDEST", "source": 1 }, { "begin": 203, "end": 15117, "name": "ADDRESS", "source": 1 }, { "begin": 203, "end": 15117, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 203, "end": 15117, "name": "MSTORE", "source": 1 }, { "begin": 203, "end": 15117, "name": "PUSH", "source": 1, "value": "73" }, { "begin": 203, "end": 15117, "name": "DUP2", "source": 1 }, { "begin": 203, "end": 15117, "name": "MSTORE8", "source": 1 }, { "begin": 203, "end": 15117, "name": "DUP3", "source": 1 }, { "begin": 203, "end": 15117, "name": "DUP2", "source": 1 }, { "begin": 203, "end": 15117, "name": "RETURN", "source": 1 } ], ".data": { "0": { ".auxdata": "a26469706673582212204a90bcf65ffb48e9c51d3503f33f51a10bd9a2c31b2d95cf873206fc780da2d364736f6c63430008140033", ".code": [ { "begin": 203, "end": 15117, "name": "PUSHDEPLOYADDRESS", "source": 1 }, { "begin": 203, "end": 15117, "name": "ADDRESS", "source": 1 }, { "begin": 203, "end": 15117, "name": "EQ", "source": 1 }, { "begin": 203, "end": 15117, "name": "PUSH", "source": 1, "value": "80" }, { "begin": 203, "end": 15117, "name": "PUSH", "source": 1, "value": "40" }, { "begin": 203, "end": 15117, "name": "MSTORE", "source": 1 }, { "begin": 203, "end": 15117, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 203, "end": 15117, "name": "DUP1", "source": 1 }, { "begin": 203, "end": 15117, "name": "REVERT", "source": 1 } ] } }, "sourceList": [ "@openzeppelin/contracts/utils/Strings.sol", "@openzeppelin/contracts/utils/math/Math.sol", "@openzeppelin/contracts/utils/math/SignedMath.sol", "contracts/1inch/ImagePicker.sol", "#utility.yul" ] }, "methodIdentifiers": {} }, "metadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"MathOverflowedMulDiv\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard math utilities missing in the Solidity language.\",\"errors\":{\"MathOverflowedMulDiv()\":[{\"details\":\"Muldiv operation overflow.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/math/Math.sol\":\"Math\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } } }, "@openzeppelin/contracts/utils/math/SignedMath.sol": { "SignedMath": { "abi": [], "devdoc": { "details": "Standard signed math utilities missing in the Solidity language.", "kind": "dev", "methods": {}, "version": 1 }, "evm": { "assembly": " /* \"@openzeppelin/contracts/utils/math/SignedMath.sol\":216:1263 library SignedMath {... */\n dataSize(sub_0)\n dataOffset(sub_0)\n 0x0b\n dup3\n dup3\n dup3\n codecopy\n dup1\n mload\n 0x00\n byte\n 0x73\n eq\n tag_1\n jumpi\n mstore(0x00, 0x4e487b7100000000000000000000000000000000000000000000000000000000)\n mstore(0x04, 0x00)\n revert(0x00, 0x24)\ntag_1:\n mstore(0x00, address)\n 0x73\n dup2\n mstore8\n dup3\n dup2\n return\nstop\n\nsub_0: assembly {\n /* \"@openzeppelin/contracts/utils/math/SignedMath.sol\":216:1263 library SignedMath {... */\n eq(address, deployTimeAddress())\n mstore(0x40, 0x80)\n 0x00\n dup1\n revert\n\n auxdata: 0xa2646970667358221220044fef6072ee027e05d8404bd9cda4f0cf185bbbfa2c422bd29b8b68644a106364736f6c63430008140033\n}\n", "bytecode": { "functionDebugData": {}, "generatedSources": [], "linkReferences": {}, "object": "6055604b600b8282823980515f1a607314603f577f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220044fef6072ee027e05d8404bd9cda4f0cf185bbbfa2c422bd29b8b68644a106364736f6c63430008140033", "opcodes": "PUSH1 0x55 PUSH1 0x4B PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH0 BYTE PUSH1 0x73 EQ PUSH1 0x3F JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST ADDRESS PUSH0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DIV 0x4F 0xEF PUSH1 0x72 0xEE MUL PUSH31 0x5D8404BD9CDA4F0CF185BBBFA2C422BD29B8B68644A106364736F6C634300 ADDMOD EQ STOP CALLER ", "sourceMap": "216:1047:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": {}, "generatedSources": [], "immutableReferences": {}, "linkReferences": {}, "object": "730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220044fef6072ee027e05d8404bd9cda4f0cf185bbbfa2c422bd29b8b68644a106364736f6c63430008140033", "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DIV 0x4F 0xEF PUSH1 0x72 0xEE MUL PUSH31 0x5D8404BD9CDA4F0CF185BBBFA2C422BD29B8B68644A106364736F6C634300 ADDMOD EQ STOP CALLER ", "sourceMap": "216:1047:2:-:0;;;;;;;;" }, "gasEstimates": { "creation": { "codeDepositCost": "17000", "executionCost": "92", "totalCost": "17092" }, "internal": { "abs(int256)": "infinite", "average(int256,int256)": "infinite", "max(int256,int256)": "infinite", "min(int256,int256)": "infinite" } }, "legacyAssembly": { ".code": [ { "begin": 216, "end": 1263, "name": "PUSH #[$]", "source": 2, "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { "begin": 216, "end": 1263, "name": "PUSH [$]", "source": 2, "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { "begin": 216, "end": 1263, "name": "PUSH", "source": 2, "value": "B" }, { "begin": 216, "end": 1263, "name": "DUP3", "source": 2 }, { "begin": 216, "end": 1263, "name": "DUP3", "source": 2 }, { "begin": 216, "end": 1263, "name": "DUP3", "source": 2 }, { "begin": 216, "end": 1263, "name": "CODECOPY", "source": 2 }, { "begin": 216, "end": 1263, "name": "DUP1", "source": 2 }, { "begin": 216, "end": 1263, "name": "MLOAD", "source": 2 }, { "begin": 216, "end": 1263, "name": "PUSH", "source": 2, "value": "0" }, { "begin": 216, "end": 1263, "name": "BYTE", "source": 2 }, { "begin": 216, "end": 1263, "name": "PUSH", "source": 2, "value": "73" }, { "begin": 216, "end": 1263, "name": "EQ", "source": 2 }, { "begin": 216, "end": 1263, "name": "PUSH [tag]", "source": 2, "value": "1" }, { "begin": 216, "end": 1263, "name": "JUMPI", "source": 2 }, { "begin": 216, "end": 1263, "name": "PUSH", "source": 2, "value": "4E487B7100000000000000000000000000000000000000000000000000000000" }, { "begin": 216, "end": 1263, "name": "PUSH", "source": 2, "value": "0" }, { "begin": 216, "end": 1263, "name": "MSTORE", "source": 2 }, { "begin": 216, "end": 1263, "name": "PUSH", "source": 2, "value": "0" }, { "begin": 216, "end": 1263, "name": "PUSH", "source": 2, "value": "4" }, { "begin": 216, "end": 1263, "name": "MSTORE", "source": 2 }, { "begin": 216, "end": 1263, "name": "PUSH", "source": 2, "value": "24" }, { "begin": 216, "end": 1263, "name": "PUSH", "source": 2, "value": "0" }, { "begin": 216, "end": 1263, "name": "REVERT", "source": 2 }, { "begin": 216, "end": 1263, "name": "tag", "source": 2, "value": "1" }, { "begin": 216, "end": 1263, "name": "JUMPDEST", "source": 2 }, { "begin": 216, "end": 1263, "name": "ADDRESS", "source": 2 }, { "begin": 216, "end": 1263, "name": "PUSH", "source": 2, "value": "0" }, { "begin": 216, "end": 1263, "name": "MSTORE", "source": 2 }, { "begin": 216, "end": 1263, "name": "PUSH", "source": 2, "value": "73" }, { "begin": 216, "end": 1263, "name": "DUP2", "source": 2 }, { "begin": 216, "end": 1263, "name": "MSTORE8", "source": 2 }, { "begin": 216, "end": 1263, "name": "DUP3", "source": 2 }, { "begin": 216, "end": 1263, "name": "DUP2", "source": 2 }, { "begin": 216, "end": 1263, "name": "RETURN", "source": 2 } ], ".data": { "0": { ".auxdata": "a2646970667358221220044fef6072ee027e05d8404bd9cda4f0cf185bbbfa2c422bd29b8b68644a106364736f6c63430008140033", ".code": [ { "begin": 216, "end": 1263, "name": "PUSHDEPLOYADDRESS", "source": 2 }, { "begin": 216, "end": 1263, "name": "ADDRESS", "source": 2 }, { "begin": 216, "end": 1263, "name": "EQ", "source": 2 }, { "begin": 216, "end": 1263, "name": "PUSH", "source": 2, "value": "80" }, { "begin": 216, "end": 1263, "name": "PUSH", "source": 2, "value": "40" }, { "begin": 216, "end": 1263, "name": "MSTORE", "source": 2 }, { "begin": 216, "end": 1263, "name": "PUSH", "source": 2, "value": "0" }, { "begin": 216, "end": 1263, "name": "DUP1", "source": 2 }, { "begin": 216, "end": 1263, "name": "REVERT", "source": 2 } ] } }, "sourceList": [ "@openzeppelin/contracts/utils/Strings.sol", "@openzeppelin/contracts/utils/math/Math.sol", "@openzeppelin/contracts/utils/math/SignedMath.sol", "contracts/1inch/ImagePicker.sol", "#utility.yul" ] }, "methodIdentifiers": {} }, "metadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard signed math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/math/SignedMath.sol\":\"SignedMath\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } } }, "contracts/1inch/ImagePicker.sol": { "ImagePicker": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "length", "type": "uint256" } ], "name": "StringsInsufficientHexLength", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes", "name": "accountHex", "type": "bytes" } ], "name": "accountHexEvent", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "imageIndex", "type": "uint256" } ], "name": "imageIndexEvent", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "number", "type": "uint256" } ], "name": "numberEvent", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "shortAddressBytes", "type": "bytes32" } ], "name": "shortAddressBytesEvent", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "shortAddress", "type": "string" } ], "name": "shortAddressEvent", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes", "name": "shortAddress", "type": "bytes" } ], "name": "shortAddressProgressEvent", "type": "event" }, { "inputs": [ { "internalType": "bytes", "name": "accountHex", "type": "bytes" } ], "name": "getImageByAccountHex", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getImageByTokenID", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" } ], "devdoc": { "errors": { "StringsInsufficientHexLength(uint256,uint256)": [ { "details": "The `value` string doesn't fit in the specified `length`." } ] }, "kind": "dev", "methods": {}, "version": 1 }, "evm": { "assembly": " /* \"contracts/1inch/ImagePicker.sol\":127:3045 contract ImagePicker {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/1inch/ImagePicker.sol\":127:3045 contract ImagePicker {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0xa6e3d38c\n eq\n tag_3\n jumpi\n dup1\n 0xc445b362\n eq\n tag_4\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/1inch/ImagePicker.sol\":2422:3043 function getImageByTokenID(uint256 tokenId) external pure returns(string memory) {... */\n tag_3:\n tag_5\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_6\n swap2\n swap1\n tag_7\n jump\t// in\n tag_6:\n tag_8\n jump\t// in\n tag_5:\n mload(0x40)\n tag_9\n swap2\n swap1\n tag_10\n jump\t// in\n tag_9:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/1inch/ImagePicker.sol\":584:2296 function getImageByAccountHex(bytes memory accountHex) public pure returns (string memory) {... */\n tag_4:\n tag_11\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_12\n swap2\n swap1\n tag_13\n jump\t// in\n tag_12:\n tag_14\n jump\t// in\n tag_11:\n mload(0x40)\n tag_15\n swap2\n swap1\n tag_10\n jump\t// in\n tag_15:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/1inch/ImagePicker.sol\":2422:3043 function getImageByTokenID(uint256 tokenId) external pure returns(string memory) {... */\n tag_8:\n /* \"contracts/1inch/ImagePicker.sol\":2488:2501 string memory */\n 0x60\n /* \"contracts/1inch/ImagePicker.sol\":2514:2537 bytes memory accountHex */\n 0x00\n /* \"contracts/1inch/ImagePicker.sol\":2546:2578 Strings.toHexString(tokenId, 20) */\n tag_17\n /* \"contracts/1inch/ImagePicker.sol\":2566:2573 tokenId */\n dup4\n /* \"contracts/1inch/ImagePicker.sol\":2575:2577 20 */\n 0x14\n /* \"contracts/1inch/ImagePicker.sol\":2546:2565 Strings.toHexString */\n tag_18\n /* \"contracts/1inch/ImagePicker.sol\":2546:2578 Strings.toHexString(tokenId, 20) */\n jump\t// in\n tag_17:\n /* \"contracts/1inch/ImagePicker.sol\":2514:2579 bytes memory accountHex = bytes(Strings.toHexString(tokenId, 20)) */\n swap1\n pop\n /* \"contracts/1inch/ImagePicker.sol\":2590:2614 string[10] memory images */\n 0x00\n /* \"contracts/1inch/ImagePicker.sol\":2590:2877 string[10] memory images = [... */\n mload(0x40)\n dup1\n 0x0140\n add\n 0x40\n mstore\n dup1\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x08\n dup2\n mstore\n 0x20\n add\n 0x626c756520303031000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x08\n dup2\n mstore\n 0x20\n add\n 0x70696e6b20303032000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x09\n dup2\n mstore\n 0x20\n add\n 0x677265656e203030330000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x07\n dup2\n mstore\n 0x20\n add\n 0x7265642030303400000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x0a\n dup2\n mstore\n 0x20\n add\n 0x6f72616e67652030303500000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x09\n dup2\n mstore\n 0x20\n add\n 0x677265656e203030360000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x08\n dup2\n mstore\n 0x20\n add\n 0x70696e6720303037000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x07\n dup2\n mstore\n 0x20\n add\n 0x7265642030303800000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x09\n dup2\n mstore\n 0x20\n add\n 0x6d6574616c203030390000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x0f\n dup2\n mstore\n 0x20\n add\n 0x6c69676874206d6574616c203031300000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n mstore\n pop\n swap1\n pop\n /* \"contracts/1inch/ImagePicker.sol\":2887:2906 string memory image */\n 0x00\n /* \"contracts/1inch/ImagePicker.sol\":2909:2915 images */\n dup2\n /* \"contracts/1inch/ImagePicker.sol\":2926:2939 images.length */\n 0x0a\n /* \"contracts/1inch/ImagePicker.sol\":2916:2923 tokenId */\n dup7\n /* \"contracts/1inch/ImagePicker.sol\":2916:2939 tokenId % images.length */\n tag_19\n swap2\n swap1\n tag_20\n jump\t// in\n tag_19:\n /* \"contracts/1inch/ImagePicker.sol\":2909:2940 images[tokenId % images.length] */\n 0x0a\n dup2\n lt\n tag_21\n jumpi\n tag_22\n tag_23\n jump\t// in\n tag_22:\n tag_21:\n 0x20\n mul\n add\n mload\n /* \"contracts/1inch/ImagePicker.sol\":2887:2940 string memory image = images[tokenId % images.length] */\n swap1\n pop\n /* \"contracts/1inch/ImagePicker.sol\":3004:3036 getImageByAccountHex(accountHex) */\n tag_24\n /* \"contracts/1inch/ImagePicker.sol\":3025:3035 accountHex */\n dup4\n /* \"contracts/1inch/ImagePicker.sol\":3004:3024 getImageByAccountHex */\n tag_14\n /* \"contracts/1inch/ImagePicker.sol\":3004:3036 getImageByAccountHex(accountHex) */\n jump\t// in\n tag_24:\n /* \"contracts/1inch/ImagePicker.sol\":2997:3036 return getImageByAccountHex(accountHex) */\n swap4\n pop\n pop\n pop\n pop\n /* \"contracts/1inch/ImagePicker.sol\":2422:3043 function getImageByTokenID(uint256 tokenId) external pure returns(string memory) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"contracts/1inch/ImagePicker.sol\":584:2296 function getImageByAccountHex(bytes memory accountHex) public pure returns (string memory) {... */\n tag_14:\n /* \"contracts/1inch/ImagePicker.sol\":660:673 string memory */\n 0x60\n /* \"contracts/1inch/ImagePicker.sol\":791:793 42 */\n 0x2a\n /* \"contracts/1inch/ImagePicker.sol\":770:780 accountHex */\n dup3\n /* \"contracts/1inch/ImagePicker.sol\":770:787 accountHex.length */\n mload\n /* \"contracts/1inch/ImagePicker.sol\":770:793 accountHex.length == 42 */\n eq\n /* \"contracts/1inch/ImagePicker.sol\":762:839 require(accountHex.length == 42, \"accountHex length should be 42 characters\") */\n tag_26\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_27\n swap1\n tag_28\n jump\t// in\n tag_27:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_26:\n /* \"contracts/1inch/ImagePicker.sol\":934:965 bytes memory _shortAddressBytes */\n 0x00\n /* \"contracts/1inch/ImagePicker.sol\":978:980 12 */\n 0x0c\n /* \"contracts/1inch/ImagePicker.sol\":968:981 new bytes(12) */\n 0xffffffffffffffff\n dup2\n gt\n iszero\n tag_29\n jumpi\n tag_30\n tag_31\n jump\t// in\n tag_30:\n tag_29:\n mload(0x40)\n swap1\n dup1\n dup3\n mstore\n dup1\n 0x1f\n add\n not(0x1f)\n and\n 0x20\n add\n dup3\n add\n 0x40\n mstore\n dup1\n iszero\n tag_32\n jumpi\n dup2\n 0x20\n add\n 0x01\n dup3\n mul\n dup1\n calldatasize\n dup4\n calldatacopy\n dup1\n dup3\n add\n swap2\n pop\n pop\n swap1\n pop\n tag_32:\n pop\n /* \"contracts/1inch/ImagePicker.sol\":934:981 bytes memory _shortAddressBytes = new bytes(12) */\n swap1\n pop\n /* \"contracts/1inch/ImagePicker.sol\":997:1006 uint256 i */\n 0x00\n /* \"contracts/1inch/ImagePicker.sol\":992:1365 for (uint256 i = 0; i < 12; i++) {... */\n tag_33:\n /* \"contracts/1inch/ImagePicker.sol\":1016:1018 12 */\n 0x0c\n /* \"contracts/1inch/ImagePicker.sol\":1012:1013 i */\n dup2\n /* \"contracts/1inch/ImagePicker.sol\":1012:1018 i < 12 */\n lt\n /* \"contracts/1inch/ImagePicker.sol\":992:1365 for (uint256 i = 0; i < 12; i++) {... */\n iszero\n tag_34\n jumpi\n /* \"contracts/1inch/ImagePicker.sol\":1048:1049 7 */\n 0x07\n /* \"contracts/1inch/ImagePicker.sol\":1043:1044 i */\n dup2\n /* \"contracts/1inch/ImagePicker.sol\":1043:1049 i <= 7 */\n gt\n /* \"contracts/1inch/ImagePicker.sol\":1039:1288 if (i <= 7) {... */\n tag_36\n jumpi\n /* \"contracts/1inch/ImagePicker.sol\":1126:1136 accountHex */\n dup4\n /* \"contracts/1inch/ImagePicker.sol\":1137:1138 i */\n dup2\n /* \"contracts/1inch/ImagePicker.sol\":1126:1139 accountHex[i] */\n dup2\n mload\n dup2\n lt\n tag_37\n jumpi\n tag_38\n tag_23\n jump\t// in\n tag_38:\n tag_37:\n 0x20\n add\n add\n mload\n 0xf8\n shr\n 0xf8\n shl\n /* \"contracts/1inch/ImagePicker.sol\":1102:1120 _shortAddressBytes */\n dup3\n /* \"contracts/1inch/ImagePicker.sol\":1121:1122 i */\n dup3\n /* \"contracts/1inch/ImagePicker.sol\":1102:1123 _shortAddressBytes[i] */\n dup2\n mload\n dup2\n lt\n tag_39\n jumpi\n tag_40\n tag_23\n jump\t// in\n tag_40:\n tag_39:\n 0x20\n add\n add\n /* \"contracts/1inch/ImagePicker.sol\":1102:1139 _shortAddressBytes[i] = accountHex[i] */\n swap1\n not(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n and\n swap1\n dup2\n 0x00\n byte\n swap1\n mstore8\n pop\n /* \"contracts/1inch/ImagePicker.sol\":1039:1288 if (i <= 7) {... */\n jump(tag_41)\n tag_36:\n /* \"contracts/1inch/ImagePicker.sol\":1255:1265 accountHex */\n dup4\n /* \"contracts/1inch/ImagePicker.sol\":1271:1272 i */\n dup2\n /* \"contracts/1inch/ImagePicker.sol\":1266:1268 28 */\n 0x1c\n /* \"contracts/1inch/ImagePicker.sol\":1266:1272 28 + i */\n tag_42\n swap2\n swap1\n tag_43\n jump\t// in\n tag_42:\n /* \"contracts/1inch/ImagePicker.sol\":1255:1273 accountHex[28 + i] */\n dup2\n mload\n dup2\n lt\n tag_44\n jumpi\n tag_45\n tag_23\n jump\t// in\n tag_45:\n tag_44:\n 0x20\n add\n add\n mload\n 0xf8\n shr\n 0xf8\n shl\n /* \"contracts/1inch/ImagePicker.sol\":1231:1249 _shortAddressBytes */\n dup3\n /* \"contracts/1inch/ImagePicker.sol\":1250:1251 i */\n dup3\n /* \"contracts/1inch/ImagePicker.sol\":1231:1252 _shortAddressBytes[i] */\n dup2\n mload\n dup2\n lt\n tag_46\n jumpi\n tag_47\n tag_23\n jump\t// in\n tag_47:\n tag_46:\n 0x20\n add\n add\n /* \"contracts/1inch/ImagePicker.sol\":1231:1273 _shortAddressBytes[i] = accountHex[28 + i] */\n swap1\n not(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n and\n swap1\n dup2\n 0x00\n byte\n swap1\n mstore8\n pop\n /* \"contracts/1inch/ImagePicker.sol\":1039:1288 if (i <= 7) {... */\n tag_41:\n /* \"contracts/1inch/ImagePicker.sol\":1020:1023 i++ */\n dup1\n dup1\n tag_48\n swap1\n tag_49\n jump\t// in\n tag_48:\n swap2\n pop\n pop\n /* \"contracts/1inch/ImagePicker.sol\":992:1365 for (uint256 i = 0; i < 12; i++) {... */\n jump(tag_33)\n tag_34:\n pop\n /* \"contracts/1inch/ImagePicker.sol\":1426:1452 string memory shortAddress */\n 0x00\n /* \"contracts/1inch/ImagePicker.sol\":1462:1480 _shortAddressBytes */\n dup2\n /* \"contracts/1inch/ImagePicker.sol\":1426:1481 string memory shortAddress = string(_shortAddressBytes) */\n swap1\n pop\n /* \"contracts/1inch/ImagePicker.sol\":1583:1608 bytes32 shortAddressBytes */\n 0x00\n /* \"contracts/1inch/ImagePicker.sol\":1646:1658 shortAddress */\n dup2\n /* \"contracts/1inch/ImagePicker.sol\":1629:1659 abi.encodePacked(shortAddress) */\n add(0x20, mload(0x40))\n tag_50\n swap2\n swap1\n tag_51\n jump\t// in\n tag_50:\n mload(0x40)\n 0x20\n dup2\n dup4\n sub\n sub\n dup2\n mstore\n swap1\n 0x40\n mstore\n /* \"contracts/1inch/ImagePicker.sol\":1619:1660 keccak256(abi.encodePacked(shortAddress)) */\n dup1\n mload\n swap1\n 0x20\n add\n keccak256\n /* \"contracts/1inch/ImagePicker.sol\":1583:1661 bytes32 shortAddressBytes = bytes32(keccak256(abi.encodePacked(shortAddress))) */\n swap1\n pop\n /* \"contracts/1inch/ImagePicker.sol\":1738:1752 uint256 number */\n 0x00\n /* \"contracts/1inch/ImagePicker.sol\":1763:1780 shortAddressBytes */\n dup2\n /* \"contracts/1inch/ImagePicker.sol\":1755:1781 uint256(shortAddressBytes) */\n 0x00\n shr\n /* \"contracts/1inch/ImagePicker.sol\":1738:1781 uint256 number = uint256(shortAddressBytes) */\n swap1\n pop\n /* \"contracts/1inch/ImagePicker.sol\":1830:1854 string[10] memory images */\n 0x00\n /* \"contracts/1inch/ImagePicker.sol\":1830:2117 string[10] memory images = [... */\n mload(0x40)\n dup1\n 0x0140\n add\n 0x40\n mstore\n dup1\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x08\n dup2\n mstore\n 0x20\n add\n 0x626c756520303031000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x08\n dup2\n mstore\n 0x20\n add\n 0x70696e6b20303032000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x09\n dup2\n mstore\n 0x20\n add\n 0x677265656e203030330000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x07\n dup2\n mstore\n 0x20\n add\n 0x7265642030303400000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x0a\n dup2\n mstore\n 0x20\n add\n 0x6f72616e67652030303500000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x09\n dup2\n mstore\n 0x20\n add\n 0x677265656e203030360000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x08\n dup2\n mstore\n 0x20\n add\n 0x70696e6720303037000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x07\n dup2\n mstore\n 0x20\n add\n 0x7265642030303800000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x09\n dup2\n mstore\n 0x20\n add\n 0x6d6574616c203030390000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x0f\n dup2\n mstore\n 0x20\n add\n 0x6c69676874206d6574616c203031300000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n mstore\n pop\n swap1\n pop\n /* \"contracts/1inch/ImagePicker.sol\":2165:2183 uint256 imageIndex */\n 0x00\n /* \"contracts/1inch/ImagePicker.sol\":2195:2208 images.length */\n 0x0a\n /* \"contracts/1inch/ImagePicker.sol\":2186:2192 number */\n dup4\n /* \"contracts/1inch/ImagePicker.sol\":2186:2208 number % images.length */\n tag_52\n swap2\n swap1\n tag_20\n jump\t// in\n tag_52:\n /* \"contracts/1inch/ImagePicker.sol\":2165:2208 uint256 imageIndex = number % images.length */\n swap1\n pop\n /* \"contracts/1inch/ImagePicker.sol\":2271:2277 images */\n dup2\n /* \"contracts/1inch/ImagePicker.sol\":2278:2288 imageIndex */\n dup2\n /* \"contracts/1inch/ImagePicker.sol\":2271:2289 images[imageIndex] */\n 0x0a\n dup2\n lt\n tag_53\n jumpi\n tag_54\n tag_23\n jump\t// in\n tag_54:\n tag_53:\n 0x20\n mul\n add\n mload\n /* \"contracts/1inch/ImagePicker.sol\":2264:2289 return images[imageIndex] */\n swap7\n pop\n pop\n pop\n pop\n pop\n pop\n pop\n /* \"contracts/1inch/ImagePicker.sol\":584:2296 function getImageByAccountHex(bytes memory accountHex) public pure returns (string memory) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2005:2530 function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {... */\n tag_18:\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2080:2093 string memory */\n 0x60\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2105:2123 uint256 localValue */\n 0x00\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2126:2131 value */\n dup4\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2105:2131 uint256 localValue = value */\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2141:2160 bytes memory buffer */\n 0x00\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2186:2187 2 */\n 0x02\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2177:2183 length */\n dup5\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2173:2174 2 */\n 0x02\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2173:2183 2 * length */\n tag_56\n swap2\n swap1\n tag_57\n jump\t// in\n tag_56:\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2173:2187 2 * length + 2 */\n tag_58\n swap2\n swap1\n tag_43\n jump\t// in\n tag_58:\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2163:2188 new bytes(2 * length + 2) */\n 0xffffffffffffffff\n dup2\n gt\n iszero\n tag_59\n jumpi\n tag_60\n tag_31\n jump\t// in\n tag_60:\n tag_59:\n mload(0x40)\n swap1\n dup1\n dup3\n mstore\n dup1\n 0x1f\n add\n not(0x1f)\n and\n 0x20\n add\n dup3\n add\n 0x40\n mstore\n dup1\n iszero\n tag_61\n jumpi\n dup2\n 0x20\n add\n 0x01\n dup3\n mul\n dup1\n calldatasize\n dup4\n calldatacopy\n dup1\n dup3\n add\n swap2\n pop\n pop\n swap1\n pop\n tag_61:\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2141:2188 bytes memory buffer = new bytes(2 * length + 2) */\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2198:2213 buffer[0] = \"0\" */\n 0x3000000000000000000000000000000000000000000000000000000000000000\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2198:2204 buffer */\n dup2\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2205:2206 0 */\n 0x00\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2198:2207 buffer[0] */\n dup2\n mload\n dup2\n lt\n tag_62\n jumpi\n tag_63\n tag_23\n jump\t// in\n tag_63:\n tag_62:\n 0x20\n add\n add\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2198:2213 buffer[0] = \"0\" */\n swap1\n not(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n and\n swap1\n dup2\n 0x00\n byte\n swap1\n mstore8\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2223:2238 buffer[1] = \"x\" */\n 0x7800000000000000000000000000000000000000000000000000000000000000\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2223:2229 buffer */\n dup2\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2230:2231 1 */\n 0x01\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2223:2232 buffer[1] */\n dup2\n mload\n dup2\n lt\n tag_64\n jumpi\n tag_65\n tag_23\n jump\t// in\n tag_65:\n tag_64:\n 0x20\n add\n add\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2223:2238 buffer[1] = \"x\" */\n swap1\n not(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n and\n swap1\n dup2\n 0x00\n byte\n swap1\n mstore8\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2253:2262 uint256 i */\n 0x00\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2278:2279 1 */\n 0x01\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2269:2275 length */\n dup6\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2265:2266 2 */\n 0x02\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2265:2275 2 * length */\n tag_69\n swap2\n swap1\n tag_57\n jump\t// in\n tag_69:\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2265:2279 2 * length + 1 */\n tag_70\n swap2\n swap1\n tag_43\n jump\t// in\n tag_70:\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2253:2279 uint256 i = 2 * length + 1 */\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2248:2388 for (uint256 i = 2 * length + 1; i > 1; --i) {... */\n tag_66:\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2285:2286 1 */\n 0x01\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2281:2282 i */\n dup2\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2281:2286 i > 1 */\n gt\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2248:2388 for (uint256 i = 2 * length + 1; i > 1; --i) {... */\n iszero\n tag_67\n jumpi\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2319:2329 HEX_DIGITS */\n 0x3031323334353637383961626364656600000000000000000000000000000000\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2343:2346 0xf */\n 0x0f\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2330:2340 localValue */\n dup5\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2330:2346 localValue & 0xf */\n and\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2319:2347 HEX_DIGITS[localValue & 0xf] */\n 0x10\n dup2\n lt\n tag_71\n jumpi\n tag_72\n tag_23\n jump\t// in\n tag_72:\n tag_71:\n byte\n 0xf8\n shl\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2307:2313 buffer */\n dup3\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2314:2315 i */\n dup3\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2307:2316 buffer[i] */\n dup2\n mload\n dup2\n lt\n tag_73\n jumpi\n tag_74\n tag_23\n jump\t// in\n tag_74:\n tag_73:\n 0x20\n add\n add\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2307:2347 buffer[i] = HEX_DIGITS[localValue & 0xf] */\n swap1\n not(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n and\n swap1\n dup2\n 0x00\n byte\n swap1\n mstore8\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2376:2377 4 */\n 0x04\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2361:2377 localValue >>= 4 */\n dup4\n swap1\n shr\n swap3\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2288:2291 --i */\n dup1\n tag_75\n swap1\n tag_76\n jump\t// in\n tag_75:\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2248:2388 for (uint256 i = 2 * length + 1; i > 1; --i) {... */\n jump(tag_66)\n tag_67:\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2415:2416 0 */\n 0x00\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2401:2411 localValue */\n dup3\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2401:2416 localValue != 0 */\n eq\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2397:2493 if (localValue != 0) {... */\n tag_77\n jumpi\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2468:2473 value */\n dup5\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2475:2481 length */\n dup5\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2439:2482 StringsInsufficientHexLength(value, length) */\n mload(0x40)\n 0xe22e27eb00000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_78\n swap3\n swap2\n swap1\n tag_79\n jump\t// in\n tag_78:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2397:2493 if (localValue != 0) {... */\n tag_77:\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2516:2522 buffer */\n dup1\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2502:2523 return string(buffer) */\n swap3\n pop\n pop\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":2005:2530 function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7:82 */\n tag_80:\n /* \"#utility.yul\":40:46 */\n 0x00\n /* \"#utility.yul\":73:75 */\n 0x40\n /* \"#utility.yul\":67:76 */\n mload\n /* \"#utility.yul\":57:76 */\n swap1\n pop\n /* \"#utility.yul\":7:82 */\n swap1\n jump\t// out\n /* \"#utility.yul\":88:205 */\n tag_81:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n dup1\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":211:328 */\n tag_82:\n /* \"#utility.yul\":320:321 */\n 0x00\n /* \"#utility.yul\":317:318 */\n dup1\n /* \"#utility.yul\":310:322 */\n revert\n /* \"#utility.yul\":334:411 */\n tag_83:\n /* \"#utility.yul\":371:378 */\n 0x00\n /* \"#utility.yul\":400:405 */\n dup2\n /* \"#utility.yul\":389:405 */\n swap1\n pop\n /* \"#utility.yul\":334:411 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":417:539 */\n tag_84:\n /* \"#utility.yul\":490:514 */\n tag_112\n /* \"#utility.yul\":508:513 */\n dup2\n /* \"#utility.yul\":490:514 */\n tag_83\n jump\t// in\n tag_112:\n /* \"#utility.yul\":483:488 */\n dup2\n /* \"#utility.yul\":480:515 */\n eq\n /* \"#utility.yul\":470:533 */\n tag_113\n jumpi\n /* \"#utility.yul\":529:530 */\n 0x00\n /* \"#utility.yul\":526:527 */\n dup1\n /* \"#utility.yul\":519:531 */\n revert\n /* \"#utility.yul\":470:533 */\n tag_113:\n /* \"#utility.yul\":417:539 */\n pop\n jump\t// out\n /* \"#utility.yul\":545:684 */\n tag_85:\n /* \"#utility.yul\":591:596 */\n 0x00\n /* \"#utility.yul\":629:635 */\n dup2\n /* \"#utility.yul\":616:636 */\n calldataload\n /* \"#utility.yul\":607:636 */\n swap1\n pop\n /* \"#utility.yul\":645:678 */\n tag_115\n /* \"#utility.yul\":672:677 */\n dup2\n /* \"#utility.yul\":645:678 */\n tag_84\n jump\t// in\n tag_115:\n /* \"#utility.yul\":545:684 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":690:1019 */\n tag_7:\n /* \"#utility.yul\":749:755 */\n 0x00\n /* \"#utility.yul\":798:800 */\n 0x20\n /* \"#utility.yul\":786:795 */\n dup3\n /* \"#utility.yul\":777:784 */\n dup5\n /* \"#utility.yul\":773:796 */\n sub\n /* \"#utility.yul\":769:801 */\n slt\n /* \"#utility.yul\":766:885 */\n iszero\n tag_117\n jumpi\n /* \"#utility.yul\":804:883 */\n tag_118\n tag_81\n jump\t// in\n tag_118:\n /* \"#utility.yul\":766:885 */\n tag_117:\n /* \"#utility.yul\":924:925 */\n 0x00\n /* \"#utility.yul\":949:1002 */\n tag_119\n /* \"#utility.yul\":994:1001 */\n dup5\n /* \"#utility.yul\":985:991 */\n dup3\n /* \"#utility.yul\":974:983 */\n dup6\n /* \"#utility.yul\":970:992 */\n add\n /* \"#utility.yul\":949:1002 */\n tag_85\n jump\t// in\n tag_119:\n /* \"#utility.yul\":939:1002 */\n swap2\n pop\n /* \"#utility.yul\":895:1012 */\n pop\n /* \"#utility.yul\":690:1019 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1025:1124 */\n tag_86:\n /* \"#utility.yul\":1077:1083 */\n 0x00\n /* \"#utility.yul\":1111:1116 */\n dup2\n /* \"#utility.yul\":1105:1117 */\n mload\n /* \"#utility.yul\":1095:1117 */\n swap1\n pop\n /* \"#utility.yul\":1025:1124 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1130:1299 */\n tag_87:\n /* \"#utility.yul\":1214:1225 */\n 0x00\n /* \"#utility.yul\":1248:1254 */\n dup3\n /* \"#utility.yul\":1243:1246 */\n dup3\n /* \"#utility.yul\":1236:1255 */\n mstore\n /* \"#utility.yul\":1288:1292 */\n 0x20\n /* \"#utility.yul\":1283:1286 */\n dup3\n /* \"#utility.yul\":1279:1293 */\n add\n /* \"#utility.yul\":1264:1293 */\n swap1\n pop\n /* \"#utility.yul\":1130:1299 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1305:1551 */\n tag_88:\n /* \"#utility.yul\":1386:1387 */\n 0x00\n /* \"#utility.yul\":1396:1509 */\n tag_123:\n /* \"#utility.yul\":1410:1416 */\n dup4\n /* \"#utility.yul\":1407:1408 */\n dup2\n /* \"#utility.yul\":1404:1417 */\n lt\n /* \"#utility.yul\":1396:1509 */\n iszero\n tag_125\n jumpi\n /* \"#utility.yul\":1495:1496 */\n dup1\n /* \"#utility.yul\":1490:1493 */\n dup3\n /* \"#utility.yul\":1486:1497 */\n add\n /* \"#utility.yul\":1480:1498 */\n mload\n /* \"#utility.yul\":1476:1477 */\n dup2\n /* \"#utility.yul\":1471:1474 */\n dup5\n /* \"#utility.yul\":1467:1478 */\n add\n /* \"#utility.yul\":1460:1499 */\n mstore\n /* \"#utility.yul\":1432:1434 */\n 0x20\n /* \"#utility.yul\":1429:1430 */\n dup2\n /* \"#utility.yul\":1425:1435 */\n add\n /* \"#utility.yul\":1420:1435 */\n swap1\n pop\n /* \"#utility.yul\":1396:1509 */\n jump(tag_123)\n tag_125:\n /* \"#utility.yul\":1543:1544 */\n 0x00\n /* \"#utility.yul\":1534:1540 */\n dup5\n /* \"#utility.yul\":1529:1532 */\n dup5\n /* \"#utility.yul\":1525:1541 */\n add\n /* \"#utility.yul\":1518:1545 */\n mstore\n /* \"#utility.yul\":1367:1551 */\n pop\n /* \"#utility.yul\":1305:1551 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1557:1659 */\n tag_89:\n /* \"#utility.yul\":1598:1604 */\n 0x00\n /* \"#utility.yul\":1649:1651 */\n 0x1f\n /* \"#utility.yul\":1645:1652 */\n not\n /* \"#utility.yul\":1640:1642 */\n 0x1f\n /* \"#utility.yul\":1633:1638 */\n dup4\n /* \"#utility.yul\":1629:1643 */\n add\n /* \"#utility.yul\":1625:1653 */\n and\n /* \"#utility.yul\":1615:1653 */\n swap1\n pop\n /* \"#utility.yul\":1557:1659 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1665:2042 */\n tag_90:\n /* \"#utility.yul\":1753:1756 */\n 0x00\n /* \"#utility.yul\":1781:1820 */\n tag_128\n /* \"#utility.yul\":1814:1819 */\n dup3\n /* \"#utility.yul\":1781:1820 */\n tag_86\n jump\t// in\n tag_128:\n /* \"#utility.yul\":1836:1907 */\n tag_129\n /* \"#utility.yul\":1900:1906 */\n dup2\n /* \"#utility.yul\":1895:1898 */\n dup6\n /* \"#utility.yul\":1836:1907 */\n tag_87\n jump\t// in\n tag_129:\n /* \"#utility.yul\":1829:1907 */\n swap4\n pop\n /* \"#utility.yul\":1916:1981 */\n tag_130\n /* \"#utility.yul\":1974:1980 */\n dup2\n /* \"#utility.yul\":1969:1972 */\n dup6\n /* \"#utility.yul\":1962:1966 */\n 0x20\n /* \"#utility.yul\":1955:1960 */\n dup7\n /* \"#utility.yul\":1951:1967 */\n add\n /* \"#utility.yul\":1916:1981 */\n tag_88\n jump\t// in\n tag_130:\n /* \"#utility.yul\":2006:2035 */\n tag_131\n /* \"#utility.yul\":2028:2034 */\n dup2\n /* \"#utility.yul\":2006:2035 */\n tag_89\n jump\t// in\n tag_131:\n /* \"#utility.yul\":2001:2004 */\n dup5\n /* \"#utility.yul\":1997:2036 */\n add\n /* \"#utility.yul\":1990:2036 */\n swap2\n pop\n /* \"#utility.yul\":1757:2042 */\n pop\n /* \"#utility.yul\":1665:2042 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2048:2361 */\n tag_10:\n /* \"#utility.yul\":2161:2165 */\n 0x00\n /* \"#utility.yul\":2199:2201 */\n 0x20\n /* \"#utility.yul\":2188:2197 */\n dup3\n /* \"#utility.yul\":2184:2202 */\n add\n /* \"#utility.yul\":2176:2202 */\n swap1\n pop\n /* \"#utility.yul\":2248:2257 */\n dup2\n /* \"#utility.yul\":2242:2246 */\n dup2\n /* \"#utility.yul\":2238:2258 */\n sub\n /* \"#utility.yul\":2234:2235 */\n 0x00\n /* \"#utility.yul\":2223:2232 */\n dup4\n /* \"#utility.yul\":2219:2236 */\n add\n /* \"#utility.yul\":2212:2259 */\n mstore\n /* \"#utility.yul\":2276:2354 */\n tag_133\n /* \"#utility.yul\":2349:2353 */\n dup2\n /* \"#utility.yul\":2340:2346 */\n dup5\n /* \"#utility.yul\":2276:2354 */\n tag_90\n jump\t// in\n tag_133:\n /* \"#utility.yul\":2268:2354 */\n swap1\n pop\n /* \"#utility.yul\":2048:2361 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2367:2484 */\n tag_91:\n /* \"#utility.yul\":2476:2477 */\n 0x00\n /* \"#utility.yul\":2473:2474 */\n dup1\n /* \"#utility.yul\":2466:2478 */\n revert\n /* \"#utility.yul\":2490:2607 */\n tag_92:\n /* \"#utility.yul\":2599:2600 */\n 0x00\n /* \"#utility.yul\":2596:2597 */\n dup1\n /* \"#utility.yul\":2589:2601 */\n revert\n /* \"#utility.yul\":2613:2793 */\n tag_31:\n /* \"#utility.yul\":2661:2738 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":2658:2659 */\n 0x00\n /* \"#utility.yul\":2651:2739 */\n mstore\n /* \"#utility.yul\":2758:2762 */\n 0x41\n /* \"#utility.yul\":2755:2756 */\n 0x04\n /* \"#utility.yul\":2748:2763 */\n mstore\n /* \"#utility.yul\":2782:2786 */\n 0x24\n /* \"#utility.yul\":2779:2780 */\n 0x00\n /* \"#utility.yul\":2772:2787 */\n revert\n /* \"#utility.yul\":2799:3080 */\n tag_93:\n /* \"#utility.yul\":2882:2909 */\n tag_138\n /* \"#utility.yul\":2904:2908 */\n dup3\n /* \"#utility.yul\":2882:2909 */\n tag_89\n jump\t// in\n tag_138:\n /* \"#utility.yul\":2874:2880 */\n dup2\n /* \"#utility.yul\":2870:2910 */\n add\n /* \"#utility.yul\":3012:3018 */\n dup2\n /* \"#utility.yul\":3000:3010 */\n dup2\n /* \"#utility.yul\":2997:3019 */\n lt\n /* \"#utility.yul\":2976:2994 */\n 0xffffffffffffffff\n /* \"#utility.yul\":2964:2974 */\n dup3\n /* \"#utility.yul\":2961:2995 */\n gt\n /* \"#utility.yul\":2958:3020 */\n or\n /* \"#utility.yul\":2955:3043 */\n iszero\n tag_139\n jumpi\n /* \"#utility.yul\":3023:3041 */\n tag_140\n tag_31\n jump\t// in\n tag_140:\n /* \"#utility.yul\":2955:3043 */\n tag_139:\n /* \"#utility.yul\":3063:3073 */\n dup1\n /* \"#utility.yul\":3059:3061 */\n 0x40\n /* \"#utility.yul\":3052:3074 */\n mstore\n /* \"#utility.yul\":2842:3080 */\n pop\n /* \"#utility.yul\":2799:3080 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3086:3215 */\n tag_94:\n /* \"#utility.yul\":3120:3126 */\n 0x00\n /* \"#utility.yul\":3147:3167 */\n tag_142\n tag_80\n jump\t// in\n tag_142:\n /* \"#utility.yul\":3137:3167 */\n swap1\n pop\n /* \"#utility.yul\":3176:3209 */\n tag_143\n /* \"#utility.yul\":3204:3208 */\n dup3\n /* \"#utility.yul\":3196:3202 */\n dup3\n /* \"#utility.yul\":3176:3209 */\n tag_93\n jump\t// in\n tag_143:\n /* \"#utility.yul\":3086:3215 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3221:3528 */\n tag_95:\n /* \"#utility.yul\":3282:3286 */\n 0x00\n /* \"#utility.yul\":3372:3390 */\n 0xffffffffffffffff\n /* \"#utility.yul\":3364:3370 */\n dup3\n /* \"#utility.yul\":3361:3391 */\n gt\n /* \"#utility.yul\":3358:3414 */\n iszero\n tag_145\n jumpi\n /* \"#utility.yul\":3394:3412 */\n tag_146\n tag_31\n jump\t// in\n tag_146:\n /* \"#utility.yul\":3358:3414 */\n tag_145:\n /* \"#utility.yul\":3432:3461 */\n tag_147\n /* \"#utility.yul\":3454:3460 */\n dup3\n /* \"#utility.yul\":3432:3461 */\n tag_89\n jump\t// in\n tag_147:\n /* \"#utility.yul\":3424:3461 */\n swap1\n pop\n /* \"#utility.yul\":3516:3520 */\n 0x20\n /* \"#utility.yul\":3510:3514 */\n dup2\n /* \"#utility.yul\":3506:3521 */\n add\n /* \"#utility.yul\":3498:3521 */\n swap1\n pop\n /* \"#utility.yul\":3221:3528 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3534:3680 */\n tag_96:\n /* \"#utility.yul\":3631:3637 */\n dup3\n /* \"#utility.yul\":3626:3629 */\n dup2\n /* \"#utility.yul\":3621:3624 */\n dup4\n /* \"#utility.yul\":3608:3638 */\n calldatacopy\n /* \"#utility.yul\":3672:3673 */\n 0x00\n /* \"#utility.yul\":3663:3669 */\n dup4\n /* \"#utility.yul\":3658:3661 */\n dup4\n /* \"#utility.yul\":3654:3670 */\n add\n /* \"#utility.yul\":3647:3674 */\n mstore\n /* \"#utility.yul\":3534:3680 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3686:4109 */\n tag_97:\n /* \"#utility.yul\":3763:3768 */\n 0x00\n /* \"#utility.yul\":3788:3853 */\n tag_150\n /* \"#utility.yul\":3804:3852 */\n tag_151\n /* \"#utility.yul\":3845:3851 */\n dup5\n /* \"#utility.yul\":3804:3852 */\n tag_95\n jump\t// in\n tag_151:\n /* \"#utility.yul\":3788:3853 */\n tag_94\n jump\t// in\n tag_150:\n /* \"#utility.yul\":3779:3853 */\n swap1\n pop\n /* \"#utility.yul\":3876:3882 */\n dup3\n /* \"#utility.yul\":3869:3874 */\n dup2\n /* \"#utility.yul\":3862:3883 */\n mstore\n /* \"#utility.yul\":3914:3918 */\n 0x20\n /* \"#utility.yul\":3907:3912 */\n dup2\n /* \"#utility.yul\":3903:3919 */\n add\n /* \"#utility.yul\":3952:3955 */\n dup5\n /* \"#utility.yul\":3943:3949 */\n dup5\n /* \"#utility.yul\":3938:3941 */\n dup5\n /* \"#utility.yul\":3934:3950 */\n add\n /* \"#utility.yul\":3931:3956 */\n gt\n /* \"#utility.yul\":3928:4040 */\n iszero\n tag_152\n jumpi\n /* \"#utility.yul\":3959:4038 */\n tag_153\n tag_92\n jump\t// in\n tag_153:\n /* \"#utility.yul\":3928:4040 */\n tag_152:\n /* \"#utility.yul\":4049:4103 */\n tag_154\n /* \"#utility.yul\":4096:4102 */\n dup5\n /* \"#utility.yul\":4091:4094 */\n dup3\n /* \"#utility.yul\":4086:4089 */\n dup6\n /* \"#utility.yul\":4049:4103 */\n tag_96\n jump\t// in\n tag_154:\n /* \"#utility.yul\":3769:4109 */\n pop\n /* \"#utility.yul\":3686:4109 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4128:4466 */\n tag_98:\n /* \"#utility.yul\":4183:4188 */\n 0x00\n /* \"#utility.yul\":4232:4235 */\n dup3\n /* \"#utility.yul\":4225:4229 */\n 0x1f\n /* \"#utility.yul\":4217:4223 */\n dup4\n /* \"#utility.yul\":4213:4230 */\n add\n /* \"#utility.yul\":4209:4236 */\n slt\n /* \"#utility.yul\":4199:4321 */\n tag_156\n jumpi\n /* \"#utility.yul\":4240:4319 */\n tag_157\n tag_91\n jump\t// in\n tag_157:\n /* \"#utility.yul\":4199:4321 */\n tag_156:\n /* \"#utility.yul\":4357:4363 */\n dup2\n /* \"#utility.yul\":4344:4364 */\n calldataload\n /* \"#utility.yul\":4382:4460 */\n tag_158\n /* \"#utility.yul\":4456:4459 */\n dup5\n /* \"#utility.yul\":4448:4454 */\n dup3\n /* \"#utility.yul\":4441:4445 */\n 0x20\n /* \"#utility.yul\":4433:4439 */\n dup7\n /* \"#utility.yul\":4429:4446 */\n add\n /* \"#utility.yul\":4382:4460 */\n tag_97\n jump\t// in\n tag_158:\n /* \"#utility.yul\":4373:4460 */\n swap2\n pop\n /* \"#utility.yul\":4189:4466 */\n pop\n /* \"#utility.yul\":4128:4466 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4472:4979 */\n tag_13:\n /* \"#utility.yul\":4540:4546 */\n 0x00\n /* \"#utility.yul\":4589:4591 */\n 0x20\n /* \"#utility.yul\":4577:4586 */\n dup3\n /* \"#utility.yul\":4568:4575 */\n dup5\n /* \"#utility.yul\":4564:4587 */\n sub\n /* \"#utility.yul\":4560:4592 */\n slt\n /* \"#utility.yul\":4557:4676 */\n iszero\n tag_160\n jumpi\n /* \"#utility.yul\":4595:4674 */\n tag_161\n tag_81\n jump\t// in\n tag_161:\n /* \"#utility.yul\":4557:4676 */\n tag_160:\n /* \"#utility.yul\":4743:4744 */\n 0x00\n /* \"#utility.yul\":4732:4741 */\n dup3\n /* \"#utility.yul\":4728:4745 */\n add\n /* \"#utility.yul\":4715:4746 */\n calldataload\n /* \"#utility.yul\":4773:4791 */\n 0xffffffffffffffff\n /* \"#utility.yul\":4765:4771 */\n dup2\n /* \"#utility.yul\":4762:4792 */\n gt\n /* \"#utility.yul\":4759:4876 */\n iszero\n tag_162\n jumpi\n /* \"#utility.yul\":4795:4874 */\n tag_163\n tag_82\n jump\t// in\n tag_163:\n /* \"#utility.yul\":4759:4876 */\n tag_162:\n /* \"#utility.yul\":4900:4962 */\n tag_164\n /* \"#utility.yul\":4954:4961 */\n dup5\n /* \"#utility.yul\":4945:4951 */\n dup3\n /* \"#utility.yul\":4934:4943 */\n dup6\n /* \"#utility.yul\":4930:4952 */\n add\n /* \"#utility.yul\":4900:4962 */\n tag_98\n jump\t// in\n tag_164:\n /* \"#utility.yul\":4890:4962 */\n swap2\n pop\n /* \"#utility.yul\":4686:4972 */\n pop\n /* \"#utility.yul\":4472:4979 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4985:5165 */\n tag_99:\n /* \"#utility.yul\":5033:5110 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":5030:5031 */\n 0x00\n /* \"#utility.yul\":5023:5111 */\n mstore\n /* \"#utility.yul\":5130:5134 */\n 0x12\n /* \"#utility.yul\":5127:5128 */\n 0x04\n /* \"#utility.yul\":5120:5135 */\n mstore\n /* \"#utility.yul\":5154:5158 */\n 0x24\n /* \"#utility.yul\":5151:5152 */\n 0x00\n /* \"#utility.yul\":5144:5159 */\n revert\n /* \"#utility.yul\":5171:5347 */\n tag_20:\n /* \"#utility.yul\":5203:5204 */\n 0x00\n /* \"#utility.yul\":5220:5240 */\n tag_167\n /* \"#utility.yul\":5238:5239 */\n dup3\n /* \"#utility.yul\":5220:5240 */\n tag_83\n jump\t// in\n tag_167:\n /* \"#utility.yul\":5215:5240 */\n swap2\n pop\n /* \"#utility.yul\":5254:5274 */\n tag_168\n /* \"#utility.yul\":5272:5273 */\n dup4\n /* \"#utility.yul\":5254:5274 */\n tag_83\n jump\t// in\n tag_168:\n /* \"#utility.yul\":5249:5274 */\n swap3\n pop\n /* \"#utility.yul\":5293:5294 */\n dup3\n /* \"#utility.yul\":5283:5318 */\n tag_169\n jumpi\n /* \"#utility.yul\":5298:5316 */\n tag_170\n tag_99\n jump\t// in\n tag_170:\n /* \"#utility.yul\":5283:5318 */\n tag_169:\n /* \"#utility.yul\":5339:5340 */\n dup3\n /* \"#utility.yul\":5336:5337 */\n dup3\n /* \"#utility.yul\":5332:5341 */\n mod\n /* \"#utility.yul\":5327:5341 */\n swap1\n pop\n /* \"#utility.yul\":5171:5347 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5353:5533 */\n tag_23:\n /* \"#utility.yul\":5401:5478 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":5398:5399 */\n 0x00\n /* \"#utility.yul\":5391:5479 */\n mstore\n /* \"#utility.yul\":5498:5502 */\n 0x32\n /* \"#utility.yul\":5495:5496 */\n 0x04\n /* \"#utility.yul\":5488:5503 */\n mstore\n /* \"#utility.yul\":5522:5526 */\n 0x24\n /* \"#utility.yul\":5519:5520 */\n 0x00\n /* \"#utility.yul\":5512:5527 */\n revert\n /* \"#utility.yul\":5539:5767 */\n tag_100:\n /* \"#utility.yul\":5679:5713 */\n 0x6163636f756e74486578206c656e6774682073686f756c642062652034322063\n /* \"#utility.yul\":5675:5676 */\n 0x00\n /* \"#utility.yul\":5667:5673 */\n dup3\n /* \"#utility.yul\":5663:5677 */\n add\n /* \"#utility.yul\":5656:5714 */\n mstore\n /* \"#utility.yul\":5748:5759 */\n 0x6861726163746572730000000000000000000000000000000000000000000000\n /* \"#utility.yul\":5743:5745 */\n 0x20\n /* \"#utility.yul\":5735:5741 */\n dup3\n /* \"#utility.yul\":5731:5746 */\n add\n /* \"#utility.yul\":5724:5760 */\n mstore\n /* \"#utility.yul\":5539:5767 */\n pop\n jump\t// out\n /* \"#utility.yul\":5773:6139 */\n tag_101:\n /* \"#utility.yul\":5915:5918 */\n 0x00\n /* \"#utility.yul\":5936:6003 */\n tag_174\n /* \"#utility.yul\":6000:6002 */\n 0x29\n /* \"#utility.yul\":5995:5998 */\n dup4\n /* \"#utility.yul\":5936:6003 */\n tag_87\n jump\t// in\n tag_174:\n /* \"#utility.yul\":5929:6003 */\n swap2\n pop\n /* \"#utility.yul\":6012:6105 */\n tag_175\n /* \"#utility.yul\":6101:6104 */\n dup3\n /* \"#utility.yul\":6012:6105 */\n tag_100\n jump\t// in\n tag_175:\n /* \"#utility.yul\":6130:6132 */\n 0x40\n /* \"#utility.yul\":6125:6128 */\n dup3\n /* \"#utility.yul\":6121:6133 */\n add\n /* \"#utility.yul\":6114:6133 */\n swap1\n pop\n /* \"#utility.yul\":5773:6139 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6145:6564 */\n tag_28:\n /* \"#utility.yul\":6311:6315 */\n 0x00\n /* \"#utility.yul\":6349:6351 */\n 0x20\n /* \"#utility.yul\":6338:6347 */\n dup3\n /* \"#utility.yul\":6334:6352 */\n add\n /* \"#utility.yul\":6326:6352 */\n swap1\n pop\n /* \"#utility.yul\":6398:6407 */\n dup2\n /* \"#utility.yul\":6392:6396 */\n dup2\n /* \"#utility.yul\":6388:6408 */\n sub\n /* \"#utility.yul\":6384:6385 */\n 0x00\n /* \"#utility.yul\":6373:6382 */\n dup4\n /* \"#utility.yul\":6369:6386 */\n add\n /* \"#utility.yul\":6362:6409 */\n mstore\n /* \"#utility.yul\":6426:6557 */\n tag_177\n /* \"#utility.yul\":6552:6556 */\n dup2\n /* \"#utility.yul\":6426:6557 */\n tag_101\n jump\t// in\n tag_177:\n /* \"#utility.yul\":6418:6557 */\n swap1\n pop\n /* \"#utility.yul\":6145:6564 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6570:6750 */\n tag_102:\n /* \"#utility.yul\":6618:6695 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":6615:6616 */\n 0x00\n /* \"#utility.yul\":6608:6696 */\n mstore\n /* \"#utility.yul\":6715:6719 */\n 0x11\n /* \"#utility.yul\":6712:6713 */\n 0x04\n /* \"#utility.yul\":6705:6720 */\n mstore\n /* \"#utility.yul\":6739:6743 */\n 0x24\n /* \"#utility.yul\":6736:6737 */\n 0x00\n /* \"#utility.yul\":6729:6744 */\n revert\n /* \"#utility.yul\":6756:6947 */\n tag_43:\n /* \"#utility.yul\":6796:6799 */\n 0x00\n /* \"#utility.yul\":6815:6835 */\n tag_180\n /* \"#utility.yul\":6833:6834 */\n dup3\n /* \"#utility.yul\":6815:6835 */\n tag_83\n jump\t// in\n tag_180:\n /* \"#utility.yul\":6810:6835 */\n swap2\n pop\n /* \"#utility.yul\":6849:6869 */\n tag_181\n /* \"#utility.yul\":6867:6868 */\n dup4\n /* \"#utility.yul\":6849:6869 */\n tag_83\n jump\t// in\n tag_181:\n /* \"#utility.yul\":6844:6869 */\n swap3\n pop\n /* \"#utility.yul\":6892:6893 */\n dup3\n /* \"#utility.yul\":6889:6890 */\n dup3\n /* \"#utility.yul\":6885:6894 */\n add\n /* \"#utility.yul\":6878:6894 */\n swap1\n pop\n /* \"#utility.yul\":6913:6916 */\n dup1\n /* \"#utility.yul\":6910:6911 */\n dup3\n /* \"#utility.yul\":6907:6917 */\n gt\n /* \"#utility.yul\":6904:6940 */\n iszero\n tag_182\n jumpi\n /* \"#utility.yul\":6920:6938 */\n tag_183\n tag_102\n jump\t// in\n tag_183:\n /* \"#utility.yul\":6904:6940 */\n tag_182:\n /* \"#utility.yul\":6756:6947 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6953:7186 */\n tag_49:\n /* \"#utility.yul\":6992:6995 */\n 0x00\n /* \"#utility.yul\":7015:7039 */\n tag_185\n /* \"#utility.yul\":7033:7038 */\n dup3\n /* \"#utility.yul\":7015:7039 */\n tag_83\n jump\t// in\n tag_185:\n /* \"#utility.yul\":7006:7039 */\n swap2\n pop\n /* \"#utility.yul\":7061:7127 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":7054:7059 */\n dup3\n /* \"#utility.yul\":7051:7128 */\n sub\n /* \"#utility.yul\":7048:7151 */\n tag_186\n jumpi\n /* \"#utility.yul\":7131:7149 */\n tag_187\n tag_102\n jump\t// in\n tag_187:\n /* \"#utility.yul\":7048:7151 */\n tag_186:\n /* \"#utility.yul\":7178:7179 */\n 0x01\n /* \"#utility.yul\":7171:7176 */\n dup3\n /* \"#utility.yul\":7167:7180 */\n add\n /* \"#utility.yul\":7160:7180 */\n swap1\n pop\n /* \"#utility.yul\":6953:7186 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7192:7340 */\n tag_103:\n /* \"#utility.yul\":7294:7305 */\n 0x00\n /* \"#utility.yul\":7331:7334 */\n dup2\n /* \"#utility.yul\":7316:7334 */\n swap1\n pop\n /* \"#utility.yul\":7192:7340 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7346:7736 */\n tag_104:\n /* \"#utility.yul\":7452:7455 */\n 0x00\n /* \"#utility.yul\":7480:7519 */\n tag_190\n /* \"#utility.yul\":7513:7518 */\n dup3\n /* \"#utility.yul\":7480:7519 */\n tag_86\n jump\t// in\n tag_190:\n /* \"#utility.yul\":7535:7624 */\n tag_191\n /* \"#utility.yul\":7617:7623 */\n dup2\n /* \"#utility.yul\":7612:7615 */\n dup6\n /* \"#utility.yul\":7535:7624 */\n tag_103\n jump\t// in\n tag_191:\n /* \"#utility.yul\":7528:7624 */\n swap4\n pop\n /* \"#utility.yul\":7633:7698 */\n tag_192\n /* \"#utility.yul\":7691:7697 */\n dup2\n /* \"#utility.yul\":7686:7689 */\n dup6\n /* \"#utility.yul\":7679:7683 */\n 0x20\n /* \"#utility.yul\":7672:7677 */\n dup7\n /* \"#utility.yul\":7668:7684 */\n add\n /* \"#utility.yul\":7633:7698 */\n tag_88\n jump\t// in\n tag_192:\n /* \"#utility.yul\":7723:7729 */\n dup1\n /* \"#utility.yul\":7718:7721 */\n dup5\n /* \"#utility.yul\":7714:7730 */\n add\n /* \"#utility.yul\":7707:7730 */\n swap2\n pop\n /* \"#utility.yul\":7456:7736 */\n pop\n /* \"#utility.yul\":7346:7736 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7742:8017 */\n tag_51:\n /* \"#utility.yul\":7874:7877 */\n 0x00\n /* \"#utility.yul\":7896:7991 */\n tag_194\n /* \"#utility.yul\":7987:7990 */\n dup3\n /* \"#utility.yul\":7978:7984 */\n dup5\n /* \"#utility.yul\":7896:7991 */\n tag_104\n jump\t// in\n tag_194:\n /* \"#utility.yul\":7889:7991 */\n swap2\n pop\n /* \"#utility.yul\":8008:8011 */\n dup2\n /* \"#utility.yul\":8001:8011 */\n swap1\n pop\n /* \"#utility.yul\":7742:8017 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8023:8433 */\n tag_57:\n /* \"#utility.yul\":8063:8070 */\n 0x00\n /* \"#utility.yul\":8086:8106 */\n tag_196\n /* \"#utility.yul\":8104:8105 */\n dup3\n /* \"#utility.yul\":8086:8106 */\n tag_83\n jump\t// in\n tag_196:\n /* \"#utility.yul\":8081:8106 */\n swap2\n pop\n /* \"#utility.yul\":8120:8140 */\n tag_197\n /* \"#utility.yul\":8138:8139 */\n dup4\n /* \"#utility.yul\":8120:8140 */\n tag_83\n jump\t// in\n tag_197:\n /* \"#utility.yul\":8115:8140 */\n swap3\n pop\n /* \"#utility.yul\":8175:8176 */\n dup3\n /* \"#utility.yul\":8172:8173 */\n dup3\n /* \"#utility.yul\":8168:8177 */\n mul\n /* \"#utility.yul\":8197:8227 */\n tag_198\n /* \"#utility.yul\":8215:8226 */\n dup2\n /* \"#utility.yul\":8197:8227 */\n tag_83\n jump\t// in\n tag_198:\n /* \"#utility.yul\":8186:8227 */\n swap2\n pop\n /* \"#utility.yul\":8376:8377 */\n dup3\n /* \"#utility.yul\":8367:8374 */\n dup3\n /* \"#utility.yul\":8363:8378 */\n div\n /* \"#utility.yul\":8360:8361 */\n dup5\n /* \"#utility.yul\":8357:8379 */\n eq\n /* \"#utility.yul\":8337:8338 */\n dup4\n /* \"#utility.yul\":8330:8339 */\n iszero\n /* \"#utility.yul\":8310:8393 */\n or\n /* \"#utility.yul\":8287:8426 */\n tag_199\n jumpi\n /* \"#utility.yul\":8406:8424 */\n tag_200\n tag_102\n jump\t// in\n tag_200:\n /* \"#utility.yul\":8287:8426 */\n tag_199:\n /* \"#utility.yul\":8071:8433 */\n pop\n /* \"#utility.yul\":8023:8433 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8439:8610 */\n tag_76:\n /* \"#utility.yul\":8478:8481 */\n 0x00\n /* \"#utility.yul\":8501:8525 */\n tag_202\n /* \"#utility.yul\":8519:8524 */\n dup3\n /* \"#utility.yul\":8501:8525 */\n tag_83\n jump\t// in\n tag_202:\n /* \"#utility.yul\":8492:8525 */\n swap2\n pop\n /* \"#utility.yul\":8547:8551 */\n 0x00\n /* \"#utility.yul\":8540:8545 */\n dup3\n /* \"#utility.yul\":8537:8552 */\n sub\n /* \"#utility.yul\":8534:8575 */\n tag_203\n jumpi\n /* \"#utility.yul\":8555:8573 */\n tag_204\n tag_102\n jump\t// in\n tag_204:\n /* \"#utility.yul\":8534:8575 */\n tag_203:\n /* \"#utility.yul\":8602:8603 */\n 0x01\n /* \"#utility.yul\":8595:8600 */\n dup3\n /* \"#utility.yul\":8591:8604 */\n sub\n /* \"#utility.yul\":8584:8604 */\n swap1\n pop\n /* \"#utility.yul\":8439:8610 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":8616:8734 */\n tag_105:\n /* \"#utility.yul\":8703:8727 */\n tag_206\n /* \"#utility.yul\":8721:8726 */\n dup2\n /* \"#utility.yul\":8703:8727 */\n tag_83\n jump\t// in\n tag_206:\n /* \"#utility.yul\":8698:8701 */\n dup3\n /* \"#utility.yul\":8691:8728 */\n mstore\n /* \"#utility.yul\":8616:8734 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8740:9072 */\n tag_79:\n /* \"#utility.yul\":8861:8865 */\n 0x00\n /* \"#utility.yul\":8899:8901 */\n 0x40\n /* \"#utility.yul\":8888:8897 */\n dup3\n /* \"#utility.yul\":8884:8902 */\n add\n /* \"#utility.yul\":8876:8902 */\n swap1\n pop\n /* \"#utility.yul\":8912:8983 */\n tag_208\n /* \"#utility.yul\":8980:8981 */\n 0x00\n /* \"#utility.yul\":8969:8978 */\n dup4\n /* \"#utility.yul\":8965:8982 */\n add\n /* \"#utility.yul\":8956:8962 */\n dup6\n /* \"#utility.yul\":8912:8983 */\n tag_105\n jump\t// in\n tag_208:\n /* \"#utility.yul\":8993:9065 */\n tag_209\n /* \"#utility.yul\":9061:9063 */\n 0x20\n /* \"#utility.yul\":9050:9059 */\n dup4\n /* \"#utility.yul\":9046:9064 */\n add\n /* \"#utility.yul\":9037:9043 */\n dup5\n /* \"#utility.yul\":8993:9065 */\n tag_105\n jump\t// in\n tag_209:\n /* \"#utility.yul\":8740:9072 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n\n auxdata: 0xa264697066735822122030c013363a941cbfde2bad4853e5a1c0682f348076e375e9d04d9b04a8ce5df864736f6c63430008140033\n}\n", "bytecode": { "functionDebugData": {}, "generatedSources": [], "linkReferences": {}, "object": "608060405234801561000f575f80fd5b50610f3c8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063a6e3d38c14610038578063c445b36214610068575b5f80fd5b610052600480360381019061004d9190610a11565b610098565b60405161005f9190610ac6565b60405180910390f35b610082600480360381019061007d9190610c12565b61033d565b60405161008f9190610ac6565b60405180910390f35b60605f6100a683601461078f565b90505f6040518061014001604052806040518060400160405280600881526020017f626c75652030303100000000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f70696e6b2030303200000000000000000000000000000000000000000000000081525081526020016040518060400160405280600981526020017f677265656e20303033000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f726564203030340000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600a81526020017f6f72616e6765203030350000000000000000000000000000000000000000000081525081526020016040518060400160405280600981526020017f677265656e20303036000000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f70696e672030303700000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f726564203030380000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600981526020017f6d6574616c20303039000000000000000000000000000000000000000000000081525081526020016040518060400160405280600f81526020017f6c69676874206d6574616c20303130000000000000000000000000000000000081525081525090505f81600a866103129190610c86565b600a811061032357610322610cb6565b5b602002015190506103338361033d565b9350505050919050565b6060602a825114610383576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161037a90610d53565b60405180910390fd5b5f600c67ffffffffffffffff81111561039f5761039e610aee565b5b6040519080825280601f01601f1916602001820160405280156103d15781602001600182028036833780820191505090505b5090505f5b600c8110156104ca576007811161044b578381815181106103fa576103f9610cb6565b5b602001015160f81c60f81b82828151811061041857610417610cb6565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053506104b7565b8381601c6104599190610d9e565b8151811061046a57610469610cb6565b5b602001015160f81c60f81b82828151811061048857610487610cb6565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053505b80806104c290610dd1565b9150506103d6565b505f8190505f816040516020016104e19190610e52565b6040516020818303038152906040528051906020012090505f815f1c90505f6040518061014001604052806040518060400160405280600881526020017f626c75652030303100000000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f70696e6b2030303200000000000000000000000000000000000000000000000081525081526020016040518060400160405280600981526020017f677265656e20303033000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f726564203030340000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600a81526020017f6f72616e6765203030350000000000000000000000000000000000000000000081525081526020016040518060400160405280600981526020017f677265656e20303036000000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f70696e672030303700000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f726564203030380000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600981526020017f6d6574616c20303039000000000000000000000000000000000000000000000081525081526020016040518060400160405280600f81526020017f6c69676874206d6574616c20303130000000000000000000000000000000000081525081525090505f600a836107689190610c86565b90508181600a811061077d5761077c610cb6565b5b60200201519650505050505050919050565b60605f8390505f60028460026107a59190610e68565b6107af9190610d9e565b67ffffffffffffffff8111156107c8576107c7610aee565b5b6040519080825280601f01601f1916602001820160405280156107fa5781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000815f8151811061083157610830610cb6565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061089457610893610cb6565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053505f60018560026108d29190610e68565b6108dc9190610d9e565b90505b600181111561097b577f3031323334353637383961626364656600000000000000000000000000000000600f84166010811061091e5761091d610cb6565b5b1a60f81b82828151811061093557610934610cb6565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350600483901c92508061097490610ea9565b90506108df565b505f82146109c25784846040517fe22e27eb0000000000000000000000000000000000000000000000000000000081526004016109b9929190610edf565b60405180910390fd5b809250505092915050565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b6109f0816109de565b81146109fa575f80fd5b50565b5f81359050610a0b816109e7565b92915050565b5f60208284031215610a2657610a256109d6565b5b5f610a33848285016109fd565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610a73578082015181840152602081019050610a58565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610a9882610a3c565b610aa28185610a46565b9350610ab2818560208601610a56565b610abb81610a7e565b840191505092915050565b5f6020820190508181035f830152610ade8184610a8e565b905092915050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610b2482610a7e565b810181811067ffffffffffffffff82111715610b4357610b42610aee565b5b80604052505050565b5f610b556109cd565b9050610b618282610b1b565b919050565b5f67ffffffffffffffff821115610b8057610b7f610aee565b5b610b8982610a7e565b9050602081019050919050565b828183375f83830152505050565b5f610bb6610bb184610b66565b610b4c565b905082815260208101848484011115610bd257610bd1610aea565b5b610bdd848285610b96565b509392505050565b5f82601f830112610bf957610bf8610ae6565b5b8135610c09848260208601610ba4565b91505092915050565b5f60208284031215610c2757610c266109d6565b5b5f82013567ffffffffffffffff811115610c4457610c436109da565b5b610c5084828501610be5565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610c90826109de565b9150610c9b836109de565b925082610cab57610caa610c59565b5b828206905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f6163636f756e74486578206c656e6774682073686f756c6420626520343220635f8201527f6861726163746572730000000000000000000000000000000000000000000000602082015250565b5f610d3d602983610a46565b9150610d4882610ce3565b604082019050919050565b5f6020820190508181035f830152610d6a81610d31565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610da8826109de565b9150610db3836109de565b9250828201905080821115610dcb57610dca610d71565b5b92915050565b5f610ddb826109de565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610e0d57610e0c610d71565b5b600182019050919050565b5f81905092915050565b5f610e2c82610a3c565b610e368185610e18565b9350610e46818560208601610a56565b80840191505092915050565b5f610e5d8284610e22565b915081905092915050565b5f610e72826109de565b9150610e7d836109de565b9250828202610e8b816109de565b91508282048414831517610ea257610ea1610d71565b5b5092915050565b5f610eb3826109de565b91505f8203610ec557610ec4610d71565b5b600182039050919050565b610ed9816109de565b82525050565b5f604082019050610ef25f830185610ed0565b610eff6020830184610ed0565b939250505056fea264697066735822122030c013363a941cbfde2bad4853e5a1c0682f348076e375e9d04d9b04a8ce5df864736f6c63430008140033", "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0xF3C DUP1 PUSH2 0x1D PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA6E3D38C EQ PUSH2 0x38 JUMPI DUP1 PUSH4 0xC445B362 EQ PUSH2 0x68 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x52 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4D SWAP2 SWAP1 PUSH2 0xA11 JUMP JUMPDEST PUSH2 0x98 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5F SWAP2 SWAP1 PUSH2 0xAC6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x82 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7D SWAP2 SWAP1 PUSH2 0xC12 JUMP JUMPDEST PUSH2 0x33D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8F SWAP2 SWAP1 PUSH2 0xAC6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH0 PUSH2 0xA6 DUP4 PUSH1 0x14 PUSH2 0x78F JUMP JUMPDEST SWAP1 POP PUSH0 PUSH1 0x40 MLOAD DUP1 PUSH2 0x140 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x8 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x626C756520303031000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x8 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x70696E6B20303032000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x9 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x677265656E203030330000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x7265642030303400000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xA DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6F72616E67652030303500000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x9 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x677265656E203030360000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x8 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x70696E6720303037000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x7265642030303800000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x9 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6D6574616C203030390000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xF DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6C69676874206D6574616C203031300000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE POP SWAP1 POP PUSH0 DUP2 PUSH1 0xA DUP7 PUSH2 0x312 SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0xA DUP2 LT PUSH2 0x323 JUMPI PUSH2 0x322 PUSH2 0xCB6 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD MLOAD SWAP1 POP PUSH2 0x333 DUP4 PUSH2 0x33D JUMP JUMPDEST SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x2A DUP3 MLOAD EQ PUSH2 0x383 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x37A SWAP1 PUSH2 0xD53 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 PUSH1 0xC PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x39F JUMPI PUSH2 0x39E PUSH2 0xAEE JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x3D1 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH0 JUMPDEST PUSH1 0xC DUP2 LT ISZERO PUSH2 0x4CA JUMPI PUSH1 0x7 DUP2 GT PUSH2 0x44B JUMPI DUP4 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x3FA JUMPI PUSH2 0x3F9 PUSH2 0xCB6 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x418 JUMPI PUSH2 0x417 PUSH2 0xCB6 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH0 BYTE SWAP1 MSTORE8 POP PUSH2 0x4B7 JUMP JUMPDEST DUP4 DUP2 PUSH1 0x1C PUSH2 0x459 SWAP2 SWAP1 PUSH2 0xD9E JUMP JUMPDEST DUP2 MLOAD DUP2 LT PUSH2 0x46A JUMPI PUSH2 0x469 PUSH2 0xCB6 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x488 JUMPI PUSH2 0x487 PUSH2 0xCB6 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH0 BYTE SWAP1 MSTORE8 POP JUMPDEST DUP1 DUP1 PUSH2 0x4C2 SWAP1 PUSH2 0xDD1 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3D6 JUMP JUMPDEST POP PUSH0 DUP2 SWAP1 POP PUSH0 DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x4E1 SWAP2 SWAP1 PUSH2 0xE52 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH0 DUP2 PUSH0 SHR SWAP1 POP PUSH0 PUSH1 0x40 MLOAD DUP1 PUSH2 0x140 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x8 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x626C756520303031000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x8 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x70696E6B20303032000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x9 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x677265656E203030330000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x7265642030303400000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xA DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6F72616E67652030303500000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x9 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x677265656E203030360000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x8 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x70696E6720303037000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x7265642030303800000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x9 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6D6574616C203030390000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xF DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6C69676874206D6574616C203031300000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE POP SWAP1 POP PUSH0 PUSH1 0xA DUP4 PUSH2 0x768 SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 PUSH1 0xA DUP2 LT PUSH2 0x77D JUMPI PUSH2 0x77C PUSH2 0xCB6 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD MLOAD SWAP7 POP POP POP POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH0 DUP4 SWAP1 POP PUSH0 PUSH1 0x2 DUP5 PUSH1 0x2 PUSH2 0x7A5 SWAP2 SWAP1 PUSH2 0xE68 JUMP JUMPDEST PUSH2 0x7AF SWAP2 SWAP1 PUSH2 0xD9E JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x7C8 JUMPI PUSH2 0x7C7 PUSH2 0xAEE JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x7FA JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000 DUP2 PUSH0 DUP2 MLOAD DUP2 LT PUSH2 0x831 JUMPI PUSH2 0x830 PUSH2 0xCB6 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH0 BYTE SWAP1 MSTORE8 POP PUSH32 0x7800000000000000000000000000000000000000000000000000000000000000 DUP2 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x894 JUMPI PUSH2 0x893 PUSH2 0xCB6 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH0 BYTE SWAP1 MSTORE8 POP PUSH0 PUSH1 0x1 DUP6 PUSH1 0x2 PUSH2 0x8D2 SWAP2 SWAP1 PUSH2 0xE68 JUMP JUMPDEST PUSH2 0x8DC SWAP2 SWAP1 PUSH2 0xD9E JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x97B JUMPI PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000 PUSH1 0xF DUP5 AND PUSH1 0x10 DUP2 LT PUSH2 0x91E JUMPI PUSH2 0x91D PUSH2 0xCB6 JUMP JUMPDEST JUMPDEST BYTE PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x935 JUMPI PUSH2 0x934 PUSH2 0xCB6 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH0 BYTE SWAP1 MSTORE8 POP PUSH1 0x4 DUP4 SWAP1 SHR SWAP3 POP DUP1 PUSH2 0x974 SWAP1 PUSH2 0xEA9 JUMP JUMPDEST SWAP1 POP PUSH2 0x8DF JUMP JUMPDEST POP PUSH0 DUP3 EQ PUSH2 0x9C2 JUMPI DUP5 DUP5 PUSH1 0x40 MLOAD PUSH32 0xE22E27EB00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9B9 SWAP3 SWAP2 SWAP1 PUSH2 0xEDF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9F0 DUP2 PUSH2 0x9DE JUMP JUMPDEST DUP2 EQ PUSH2 0x9FA JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xA0B DUP2 PUSH2 0x9E7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA26 JUMPI PUSH2 0xA25 PUSH2 0x9D6 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xA33 DUP5 DUP3 DUP6 ADD PUSH2 0x9FD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xA73 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xA58 JUMP JUMPDEST PUSH0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xA98 DUP3 PUSH2 0xA3C JUMP JUMPDEST PUSH2 0xAA2 DUP2 DUP6 PUSH2 0xA46 JUMP JUMPDEST SWAP4 POP PUSH2 0xAB2 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA56 JUMP JUMPDEST PUSH2 0xABB DUP2 PUSH2 0xA7E JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xADE DUP2 DUP5 PUSH2 0xA8E JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH2 0xB24 DUP3 PUSH2 0xA7E JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0xB43 JUMPI PUSH2 0xB42 PUSH2 0xAEE JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0xB55 PUSH2 0x9CD JUMP JUMPDEST SWAP1 POP PUSH2 0xB61 DUP3 DUP3 PUSH2 0xB1B JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xB80 JUMPI PUSH2 0xB7F PUSH2 0xAEE JUMP JUMPDEST JUMPDEST PUSH2 0xB89 DUP3 PUSH2 0xA7E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0xBB6 PUSH2 0xBB1 DUP5 PUSH2 0xB66 JUMP JUMPDEST PUSH2 0xB4C JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0xBD2 JUMPI PUSH2 0xBD1 PUSH2 0xAEA JUMP JUMPDEST JUMPDEST PUSH2 0xBDD DUP5 DUP3 DUP6 PUSH2 0xB96 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xBF9 JUMPI PUSH2 0xBF8 PUSH2 0xAE6 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0xC09 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0xBA4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC27 JUMPI PUSH2 0xC26 PUSH2 0x9D6 JUMP JUMPDEST JUMPDEST PUSH0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xC44 JUMPI PUSH2 0xC43 PUSH2 0x9DA JUMP JUMPDEST JUMPDEST PUSH2 0xC50 DUP5 DUP3 DUP6 ADD PUSH2 0xBE5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0xC90 DUP3 PUSH2 0x9DE JUMP JUMPDEST SWAP2 POP PUSH2 0xC9B DUP4 PUSH2 0x9DE JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0xCAB JUMPI PUSH2 0xCAA PUSH2 0xC59 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MOD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH32 0x6163636F756E74486578206C656E6774682073686F756C642062652034322063 PUSH0 DUP3 ADD MSTORE PUSH32 0x6861726163746572730000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xD3D PUSH1 0x29 DUP4 PUSH2 0xA46 JUMP JUMPDEST SWAP2 POP PUSH2 0xD48 DUP3 PUSH2 0xCE3 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xD6A DUP2 PUSH2 0xD31 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0xDA8 DUP3 PUSH2 0x9DE JUMP JUMPDEST SWAP2 POP PUSH2 0xDB3 DUP4 PUSH2 0x9DE JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0xDCB JUMPI PUSH2 0xDCA PUSH2 0xD71 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xDDB DUP3 PUSH2 0x9DE JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0xE0D JUMPI PUSH2 0xE0C PUSH2 0xD71 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xE2C DUP3 PUSH2 0xA3C JUMP JUMPDEST PUSH2 0xE36 DUP2 DUP6 PUSH2 0xE18 JUMP JUMPDEST SWAP4 POP PUSH2 0xE46 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA56 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xE5D DUP3 DUP5 PUSH2 0xE22 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xE72 DUP3 PUSH2 0x9DE JUMP JUMPDEST SWAP2 POP PUSH2 0xE7D DUP4 PUSH2 0x9DE JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0xE8B DUP2 PUSH2 0x9DE JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0xEA2 JUMPI PUSH2 0xEA1 PUSH2 0xD71 JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xEB3 DUP3 PUSH2 0x9DE JUMP JUMPDEST SWAP2 POP PUSH0 DUP3 SUB PUSH2 0xEC5 JUMPI PUSH2 0xEC4 PUSH2 0xD71 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 SUB SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xED9 DUP2 PUSH2 0x9DE JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xEF2 PUSH0 DUP4 ADD DUP6 PUSH2 0xED0 JUMP JUMPDEST PUSH2 0xEFF PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xED0 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 ADDRESS 0xC0 SGT CALLDATASIZE GASPRICE SWAP5 SHR 0xBF 0xDE 0x2B 0xAD BASEFEE MSTORE8 0xE5 LOG1 0xC0 PUSH9 0x2F348076E375E9D04D SWAP12 DIV 0xA8 0xCE 0x5D 0xF8 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ", "sourceMap": "127:2918:3:-:0;;;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": { "@getImageByAccountHex_1555": { "entryPoint": 829, "id": 1555, "parameterSlots": 1, "returnSlots": 1 }, "@getImageByTokenID_1605": { "entryPoint": 152, "id": 1605, "parameterSlots": 1, "returnSlots": 1 }, "@toHexString_196": { "entryPoint": 1935, "id": 196, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_available_length_t_bytes_memory_ptr": { "entryPoint": 2980, "id": null, "parameterSlots": 3, "returnSlots": 1 }, "abi_decode_t_bytes_memory_ptr": { "entryPoint": 3045, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_t_uint256": { "entryPoint": 2557, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_bytes_memory_ptr": { "entryPoint": 3090, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_uint256": { "entryPoint": 2577, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { "entryPoint": 2702, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack": { "entryPoint": 3618, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_t_stringliteral_67cc5665ab53fef3c88ed1607202de597fc3d7d8d336fab95f7d7059074affcf_to_t_string_memory_ptr_fromStack": { "entryPoint": 3377, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "abi_encode_t_uint256_to_t_uint256_fromStack": { "entryPoint": 3792, "id": null, "parameterSlots": 2, "returnSlots": 0 }, "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": { "entryPoint": 3666, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { "entryPoint": 2758, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_tuple_t_stringliteral_67cc5665ab53fef3c88ed1607202de597fc3d7d8d336fab95f7d7059074affcf__to_t_string_memory_ptr__fromStack_reversed": { "entryPoint": 3411, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed": { "entryPoint": 3807, "id": null, "parameterSlots": 3, "returnSlots": 1 }, "allocate_memory": { "entryPoint": 2892, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "allocate_unbounded": { "entryPoint": 2509, "id": null, "parameterSlots": 0, "returnSlots": 1 }, "array_allocation_size_t_bytes_memory_ptr": { "entryPoint": 2918, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "array_length_t_string_memory_ptr": { "entryPoint": 2620, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { "entryPoint": 2630, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack": { "entryPoint": 3608, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "checked_add_t_uint256": { "entryPoint": 3486, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "checked_mul_t_uint256": { "entryPoint": 3688, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "cleanup_t_uint256": { "entryPoint": 2526, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "copy_calldata_to_memory_with_cleanup": { "entryPoint": 2966, "id": null, "parameterSlots": 3, "returnSlots": 0 }, "copy_memory_to_memory_with_cleanup": { "entryPoint": 2646, "id": null, "parameterSlots": 3, "returnSlots": 0 }, "decrement_t_uint256": { "entryPoint": 3753, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "finalize_allocation": { "entryPoint": 2843, "id": null, "parameterSlots": 2, "returnSlots": 0 }, "increment_t_uint256": { "entryPoint": 3537, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "mod_t_uint256": { "entryPoint": 3206, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "panic_error_0x11": { "entryPoint": 3441, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "panic_error_0x12": { "entryPoint": 3161, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "panic_error_0x32": { "entryPoint": 3254, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "panic_error_0x41": { "entryPoint": 2798, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { "entryPoint": 2790, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { "entryPoint": 2794, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { "entryPoint": 2522, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { "entryPoint": 2518, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "round_up_to_mul_of_32": { "entryPoint": 2686, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "store_literal_in_memory_67cc5665ab53fef3c88ed1607202de597fc3d7d8d336fab95f7d7059074affcf": { "entryPoint": 3299, "id": null, "parameterSlots": 1, "returnSlots": 0 }, "validator_revert_t_uint256": { "entryPoint": 2535, "id": null, "parameterSlots": 1, "returnSlots": 0 } }, "generatedSources": [ { "ast": { "nodeType": "YulBlock", "src": "0:9075:4", "statements": [ { "body": { "nodeType": "YulBlock", "src": "47:35:4", "statements": [ { "nodeType": "YulAssignment", "src": "57:19:4", "value": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "73:2:4", "type": "", "value": "64" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", "src": "67:5:4" }, "nodeType": "YulFunctionCall", "src": "67:9:4" }, "variableNames": [ { "name": "memPtr", "nodeType": "YulIdentifier", "src": "57:6:4" } ] } ] }, "name": "allocate_unbounded", "nodeType": "YulFunctionDefinition", "returnVariables": [ { "name": "memPtr", "nodeType": "YulTypedName", "src": "40:6:4", "type": "" } ], "src": "7:75:4" }, { "body": { "nodeType": "YulBlock", "src": "177:28:4", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "194:1:4", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "197:1:4", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "187:6:4" }, "nodeType": "YulFunctionCall", "src": "187:12:4" }, "nodeType": "YulExpressionStatement", "src": "187:12:4" } ] }, "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulFunctionDefinition", "src": "88:117:4" }, { "body": { "nodeType": "YulBlock", "src": "300:28:4", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "317:1:4", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "320:1:4", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "310:6:4" }, "nodeType": "YulFunctionCall", "src": "310:12:4" }, "nodeType": "YulExpressionStatement", "src": "310:12:4" } ] }, "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulFunctionDefinition", "src": "211:117:4" }, { "body": { "nodeType": "YulBlock", "src": "379:32:4", "statements": [ { "nodeType": "YulAssignment", "src": "389:16:4", "value": { "name": "value", "nodeType": "YulIdentifier", "src": "400:5:4" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", "src": "389:7:4" } ] } ] }, "name": "cleanup_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "361:5:4", "type": "" } ], "returnVariables": [ { "name": "cleaned", "nodeType": "YulTypedName", "src": "371:7:4", "type": "" } ], "src": "334:77:4" }, { "body": { "nodeType": "YulBlock", "src": "460:79:4", "statements": [ { "body": { "nodeType": "YulBlock", "src": "517:16:4", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "526:1:4", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "529:1:4", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "519:6:4" }, "nodeType": "YulFunctionCall", "src": "519:12:4" }, "nodeType": "YulExpressionStatement", "src": "519:12:4" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "483:5:4" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "508:5:4" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "490:17:4" }, "nodeType": "YulFunctionCall", "src": "490:24:4" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", "src": "480:2:4" }, "nodeType": "YulFunctionCall", "src": "480:35:4" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", "src": "473:6:4" }, "nodeType": "YulFunctionCall", "src": "473:43:4" }, "nodeType": "YulIf", "src": "470:63:4" } ] }, "name": "validator_revert_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "453:5:4", "type": "" } ], "src": "417:122:4" }, { "body": { "nodeType": "YulBlock", "src": "597:87:4", "statements": [ { "nodeType": "YulAssignment", "src": "607:29:4", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", "src": "629:6:4" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", "src": "616:12:4" }, "nodeType": "YulFunctionCall", "src": "616:20:4" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", "src": "607:5:4" } ] }, { "expression": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "672:5:4" } ], "functionName": { "name": "validator_revert_t_uint256", "nodeType": "YulIdentifier", "src": "645:26:4" }, "nodeType": "YulFunctionCall", "src": "645:33:4" }, "nodeType": "YulExpressionStatement", "src": "645:33:4" } ] }, "name": "abi_decode_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "offset", "nodeType": "YulTypedName", "src": "575:6:4", "type": "" }, { "name": "end", "nodeType": "YulTypedName", "src": "583:3:4", "type": "" } ], "returnVariables": [ { "name": "value", "nodeType": "YulTypedName", "src": "591:5:4", "type": "" } ], "src": "545:139:4" }, { "body": { "nodeType": "YulBlock", "src": "756:263:4", "statements": [ { "body": { "nodeType": "YulBlock", "src": "802:83:4", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", "src": "804:77:4" }, "nodeType": "YulFunctionCall", "src": "804:79:4" }, "nodeType": "YulExpressionStatement", "src": "804:79:4" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "777:7:4" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "786:9:4" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "773:3:4" }, "nodeType": "YulFunctionCall", "src": "773:23:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "798:2:4", "type": "", "value": "32" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", "src": "769:3:4" }, "nodeType": "YulFunctionCall", "src": "769:32:4" }, "nodeType": "YulIf", "src": "766:119:4" }, { "nodeType": "YulBlock", "src": "895:117:4", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "910:15:4", "value": { "kind": "number", "nodeType": "YulLiteral", "src": "924:1:4", "type": "", "value": "0" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", "src": "914:6:4", "type": "" } ] }, { "nodeType": "YulAssignment", "src": "939:63:4", "value": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "974:9:4" }, { "name": "offset", "nodeType": "YulIdentifier", "src": "985:6:4" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "970:3:4" }, "nodeType": "YulFunctionCall", "src": "970:22:4" }, { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "994:7:4" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", "src": "949:20:4" }, "nodeType": "YulFunctionCall", "src": "949:53:4" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "939:6:4" } ] } ] } ] }, "name": "abi_decode_tuple_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "726:9:4", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", "src": "737:7:4", "type": "" } ], "returnVariables": [ { "name": "value0", "nodeType": "YulTypedName", "src": "749:6:4", "type": "" } ], "src": "690:329:4" }, { "body": { "nodeType": "YulBlock", "src": "1084:40:4", "statements": [ { "nodeType": "YulAssignment", "src": "1095:22:4", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "1111:5:4" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", "src": "1105:5:4" }, "nodeType": "YulFunctionCall", "src": "1105:12:4" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", "src": "1095:6:4" } ] } ] }, "name": "array_length_t_string_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "1067:5:4", "type": "" } ], "returnVariables": [ { "name": "length", "nodeType": "YulTypedName", "src": "1077:6:4", "type": "" } ], "src": "1025:99:4" }, { "body": { "nodeType": "YulBlock", "src": "1226:73:4", "statements": [ { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "1243:3:4" }, { "name": "length", "nodeType": "YulIdentifier", "src": "1248:6:4" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "1236:6:4" }, "nodeType": "YulFunctionCall", "src": "1236:19:4" }, "nodeType": "YulExpressionStatement", "src": "1236:19:4" }, { "nodeType": "YulAssignment", "src": "1264:29:4", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "1283:3:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1288:4:4", "type": "", "value": "0x20" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1279:3:4" }, "nodeType": "YulFunctionCall", "src": "1279:14:4" }, "variableNames": [ { "name": "updated_pos", "nodeType": "YulIdentifier", "src": "1264:11:4" } ] } ] }, "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", "src": "1198:3:4", "type": "" }, { "name": "length", "nodeType": "YulTypedName", "src": "1203:6:4", "type": "" } ], "returnVariables": [ { "name": "updated_pos", "nodeType": "YulTypedName", "src": "1214:11:4", "type": "" } ], "src": "1130:169:4" }, { "body": { "nodeType": "YulBlock", "src": "1367:184:4", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "1377:10:4", "value": { "kind": "number", "nodeType": "YulLiteral", "src": "1386:1:4", "type": "", "value": "0" }, "variables": [ { "name": "i", "nodeType": "YulTypedName", "src": "1381:1:4", "type": "" } ] }, { "body": { "nodeType": "YulBlock", "src": "1446:63:4", "statements": [ { "expression": { "arguments": [ { "arguments": [ { "name": "dst", "nodeType": "YulIdentifier", "src": "1471:3:4" }, { "name": "i", "nodeType": "YulIdentifier", "src": "1476:1:4" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1467:3:4" }, "nodeType": "YulFunctionCall", "src": "1467:11:4" }, { "arguments": [ { "arguments": [ { "name": "src", "nodeType": "YulIdentifier", "src": "1490:3:4" }, { "name": "i", "nodeType": "YulIdentifier", "src": "1495:1:4" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1486:3:4" }, "nodeType": "YulFunctionCall", "src": "1486:11:4" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", "src": "1480:5:4" }, "nodeType": "YulFunctionCall", "src": "1480:18:4" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "1460:6:4" }, "nodeType": "YulFunctionCall", "src": "1460:39:4" }, "nodeType": "YulExpressionStatement", "src": "1460:39:4" } ] }, "condition": { "arguments": [ { "name": "i", "nodeType": "YulIdentifier", "src": "1407:1:4" }, { "name": "length", "nodeType": "YulIdentifier", "src": "1410:6:4" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", "src": "1404:2:4" }, "nodeType": "YulFunctionCall", "src": "1404:13:4" }, "nodeType": "YulForLoop", "post": { "nodeType": "YulBlock", "src": "1418:19:4", "statements": [ { "nodeType": "YulAssignment", "src": "1420:15:4", "value": { "arguments": [ { "name": "i", "nodeType": "YulIdentifier", "src": "1429:1:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1432:2:4", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1425:3:4" }, "nodeType": "YulFunctionCall", "src": "1425:10:4" }, "variableNames": [ { "name": "i", "nodeType": "YulIdentifier", "src": "1420:1:4" } ] } ] }, "pre": { "nodeType": "YulBlock", "src": "1400:3:4", "statements": [] }, "src": "1396:113:4" }, { "expression": { "arguments": [ { "arguments": [ { "name": "dst", "nodeType": "YulIdentifier", "src": "1529:3:4" }, { "name": "length", "nodeType": "YulIdentifier", "src": "1534:6:4" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1525:3:4" }, "nodeType": "YulFunctionCall", "src": "1525:16:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1543:1:4", "type": "", "value": "0" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "1518:6:4" }, "nodeType": "YulFunctionCall", "src": "1518:27:4" }, "nodeType": "YulExpressionStatement", "src": "1518:27:4" } ] }, "name": "copy_memory_to_memory_with_cleanup", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "src", "nodeType": "YulTypedName", "src": "1349:3:4", "type": "" }, { "name": "dst", "nodeType": "YulTypedName", "src": "1354:3:4", "type": "" }, { "name": "length", "nodeType": "YulTypedName", "src": "1359:6:4", "type": "" } ], "src": "1305:246:4" }, { "body": { "nodeType": "YulBlock", "src": "1605:54:4", "statements": [ { "nodeType": "YulAssignment", "src": "1615:38:4", "value": { "arguments": [ { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "1633:5:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1640:2:4", "type": "", "value": "31" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1629:3:4" }, "nodeType": "YulFunctionCall", "src": "1629:14:4" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "1649:2:4", "type": "", "value": "31" } ], "functionName": { "name": "not", "nodeType": "YulIdentifier", "src": "1645:3:4" }, "nodeType": "YulFunctionCall", "src": "1645:7:4" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", "src": "1625:3:4" }, "nodeType": "YulFunctionCall", "src": "1625:28:4" }, "variableNames": [ { "name": "result", "nodeType": "YulIdentifier", "src": "1615:6:4" } ] } ] }, "name": "round_up_to_mul_of_32", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "1588:5:4", "type": "" } ], "returnVariables": [ { "name": "result", "nodeType": "YulTypedName", "src": "1598:6:4", "type": "" } ], "src": "1557:102:4" }, { "body": { "nodeType": "YulBlock", "src": "1757:285:4", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "1767:53:4", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "1814:5:4" } ], "functionName": { "name": "array_length_t_string_memory_ptr", "nodeType": "YulIdentifier", "src": "1781:32:4" }, "nodeType": "YulFunctionCall", "src": "1781:39:4" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", "src": "1771:6:4", "type": "" } ] }, { "nodeType": "YulAssignment", "src": "1829:78:4", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "1895:3:4" }, { "name": "length", "nodeType": "YulIdentifier", "src": "1900:6:4" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", "src": "1836:58:4" }, "nodeType": "YulFunctionCall", "src": "1836:71:4" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "1829:3:4" } ] }, { "expression": { "arguments": [ { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "1955:5:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1962:4:4", "type": "", "value": "0x20" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1951:3:4" }, "nodeType": "YulFunctionCall", "src": "1951:16:4" }, { "name": "pos", "nodeType": "YulIdentifier", "src": "1969:3:4" }, { "name": "length", "nodeType": "YulIdentifier", "src": "1974:6:4" } ], "functionName": { "name": "copy_memory_to_memory_with_cleanup", "nodeType": "YulIdentifier", "src": "1916:34:4" }, "nodeType": "YulFunctionCall", "src": "1916:65:4" }, "nodeType": "YulExpressionStatement", "src": "1916:65:4" }, { "nodeType": "YulAssignment", "src": "1990:46:4", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "2001:3:4" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", "src": "2028:6:4" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", "src": "2006:21:4" }, "nodeType": "YulFunctionCall", "src": "2006:29:4" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1997:3:4" }, "nodeType": "YulFunctionCall", "src": "1997:39:4" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", "src": "1990:3:4" } ] } ] }, "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "1738:5:4", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", "src": "1745:3:4", "type": "" } ], "returnVariables": [ { "name": "end", "nodeType": "YulTypedName", "src": "1753:3:4", "type": "" } ], "src": "1665:377:4" }, { "body": { "nodeType": "YulBlock", "src": "2166:195:4", "statements": [ { "nodeType": "YulAssignment", "src": "2176:26:4", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "2188:9:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2199:2:4", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "2184:3:4" }, "nodeType": "YulFunctionCall", "src": "2184:18:4" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "2176:4:4" } ] }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "2223:9:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2234:1:4", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "2219:3:4" }, "nodeType": "YulFunctionCall", "src": "2219:17:4" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "2242:4:4" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "2248:9:4" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "2238:3:4" }, "nodeType": "YulFunctionCall", "src": "2238:20:4" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "2212:6:4" }, "nodeType": "YulFunctionCall", "src": "2212:47:4" }, "nodeType": "YulExpressionStatement", "src": "2212:47:4" }, { "nodeType": "YulAssignment", "src": "2268:86:4", "value": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "2340:6:4" }, { "name": "tail", "nodeType": "YulIdentifier", "src": "2349:4:4" } ], "functionName": { "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", "src": "2276:63:4" }, "nodeType": "YulFunctionCall", "src": "2276:78:4" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "2268:4:4" } ] } ] }, "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "2138:9:4", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", "src": "2150:6:4", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "2161:4:4", "type": "" } ], "src": "2048:313:4" }, { "body": { "nodeType": "YulBlock", "src": "2456:28:4", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "2473:1:4", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2476:1:4", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "2466:6:4" }, "nodeType": "YulFunctionCall", "src": "2466:12:4" }, "nodeType": "YulExpressionStatement", "src": "2466:12:4" } ] }, "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", "nodeType": "YulFunctionDefinition", "src": "2367:117:4" }, { "body": { "nodeType": "YulBlock", "src": "2579:28:4", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "2596:1:4", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2599:1:4", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "2589:6:4" }, "nodeType": "YulFunctionCall", "src": "2589:12:4" }, "nodeType": "YulExpressionStatement", "src": "2589:12:4" } ] }, "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", "nodeType": "YulFunctionDefinition", "src": "2490:117:4" }, { "body": { "nodeType": "YulBlock", "src": "2641:152:4", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "2658:1:4", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2661:77:4", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "2651:6:4" }, "nodeType": "YulFunctionCall", "src": "2651:88:4" }, "nodeType": "YulExpressionStatement", "src": "2651:88:4" }, { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "2755:1:4", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2758:4:4", "type": "", "value": "0x41" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "2748:6:4" }, "nodeType": "YulFunctionCall", "src": "2748:15:4" }, "nodeType": "YulExpressionStatement", "src": "2748:15:4" }, { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "2779:1:4", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2782:4:4", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "2772:6:4" }, "nodeType": "YulFunctionCall", "src": "2772:15:4" }, "nodeType": "YulExpressionStatement", "src": "2772:15:4" } ] }, "name": "panic_error_0x41", "nodeType": "YulFunctionDefinition", "src": "2613:180:4" }, { "body": { "nodeType": "YulBlock", "src": "2842:238:4", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "2852:58:4", "value": { "arguments": [ { "name": "memPtr", "nodeType": "YulIdentifier", "src": "2874:6:4" }, { "arguments": [ { "name": "size", "nodeType": "YulIdentifier", "src": "2904:4:4" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", "src": "2882:21:4" }, "nodeType": "YulFunctionCall", "src": "2882:27:4" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "2870:3:4" }, "nodeType": "YulFunctionCall", "src": "2870:40:4" }, "variables": [ { "name": "newFreePtr", "nodeType": "YulTypedName", "src": "2856:10:4", "type": "" } ] }, { "body": { "nodeType": "YulBlock", "src": "3021:22:4", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x41", "nodeType": "YulIdentifier", "src": "3023:16:4" }, "nodeType": "YulFunctionCall", "src": "3023:18:4" }, "nodeType": "YulExpressionStatement", "src": "3023:18:4" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "newFreePtr", "nodeType": "YulIdentifier", "src": "2964:10:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2976:18:4", "type": "", "value": "0xffffffffffffffff" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", "src": "2961:2:4" }, "nodeType": "YulFunctionCall", "src": "2961:34:4" }, { "arguments": [ { "name": "newFreePtr", "nodeType": "YulIdentifier", "src": "3000:10:4" }, { "name": "memPtr", "nodeType": "YulIdentifier", "src": "3012:6:4" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", "src": "2997:2:4" }, "nodeType": "YulFunctionCall", "src": "2997:22:4" } ], "functionName": { "name": "or", "nodeType": "YulIdentifier", "src": "2958:2:4" }, "nodeType": "YulFunctionCall", "src": "2958:62:4" }, "nodeType": "YulIf", "src": "2955:88:4" }, { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "3059:2:4", "type": "", "value": "64" }, { "name": "newFreePtr", "nodeType": "YulIdentifier", "src": "3063:10:4" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "3052:6:4" }, "nodeType": "YulFunctionCall", "src": "3052:22:4" }, "nodeType": "YulExpressionStatement", "src": "3052:22:4" } ] }, "name": "finalize_allocation", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", "src": "2828:6:4", "type": "" }, { "name": "size", "nodeType": "YulTypedName", "src": "2836:4:4", "type": "" } ], "src": "2799:281:4" }, { "body": { "nodeType": "YulBlock", "src": "3127:88:4", "statements": [ { "nodeType": "YulAssignment", "src": "3137:30:4", "value": { "arguments": [], "functionName": { "name": "allocate_unbounded", "nodeType": "YulIdentifier", "src": "3147:18:4" }, "nodeType": "YulFunctionCall", "src": "3147:20:4" }, "variableNames": [ { "name": "memPtr", "nodeType": "YulIdentifier", "src": "3137:6:4" } ] }, { "expression": { "arguments": [ { "name": "memPtr", "nodeType": "YulIdentifier", "src": "3196:6:4" }, { "name": "size", "nodeType": "YulIdentifier", "src": "3204:4:4" } ], "functionName": { "name": "finalize_allocation", "nodeType": "YulIdentifier", "src": "3176:19:4" }, "nodeType": "YulFunctionCall", "src": "3176:33:4" }, "nodeType": "YulExpressionStatement", "src": "3176:33:4" } ] }, "name": "allocate_memory", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "size", "nodeType": "YulTypedName", "src": "3111:4:4", "type": "" } ], "returnVariables": [ { "name": "memPtr", "nodeType": "YulTypedName", "src": "3120:6:4", "type": "" } ], "src": "3086:129:4" }, { "body": { "nodeType": "YulBlock", "src": "3287:241:4", "statements": [ { "body": { "nodeType": "YulBlock", "src": "3392:22:4", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x41", "nodeType": "YulIdentifier", "src": "3394:16:4" }, "nodeType": "YulFunctionCall", "src": "3394:18:4" }, "nodeType": "YulExpressionStatement", "src": "3394:18:4" } ] }, "condition": { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", "src": "3364:6:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3372:18:4", "type": "", "value": "0xffffffffffffffff" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", "src": "3361:2:4" }, "nodeType": "YulFunctionCall", "src": "3361:30:4" }, "nodeType": "YulIf", "src": "3358:56:4" }, { "nodeType": "YulAssignment", "src": "3424:37:4", "value": { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", "src": "3454:6:4" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", "src": "3432:21:4" }, "nodeType": "YulFunctionCall", "src": "3432:29:4" }, "variableNames": [ { "name": "size", "nodeType": "YulIdentifier", "src": "3424:4:4" } ] }, { "nodeType": "YulAssignment", "src": "3498:23:4", "value": { "arguments": [ { "name": "size", "nodeType": "YulIdentifier", "src": "3510:4:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3516:4:4", "type": "", "value": "0x20" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "3506:3:4" }, "nodeType": "YulFunctionCall", "src": "3506:15:4" }, "variableNames": [ { "name": "size", "nodeType": "YulIdentifier", "src": "3498:4:4" } ] } ] }, "name": "array_allocation_size_t_bytes_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "length", "nodeType": "YulTypedName", "src": "3271:6:4", "type": "" } ], "returnVariables": [ { "name": "size", "nodeType": "YulTypedName", "src": "3282:4:4", "type": "" } ], "src": "3221:307:4" }, { "body": { "nodeType": "YulBlock", "src": "3598:82:4", "statements": [ { "expression": { "arguments": [ { "name": "dst", "nodeType": "YulIdentifier", "src": "3621:3:4" }, { "name": "src", "nodeType": "YulIdentifier", "src": "3626:3:4" }, { "name": "length", "nodeType": "YulIdentifier", "src": "3631:6:4" } ], "functionName": { "name": "calldatacopy", "nodeType": "YulIdentifier", "src": "3608:12:4" }, "nodeType": "YulFunctionCall", "src": "3608:30:4" }, "nodeType": "YulExpressionStatement", "src": "3608:30:4" }, { "expression": { "arguments": [ { "arguments": [ { "name": "dst", "nodeType": "YulIdentifier", "src": "3658:3:4" }, { "name": "length", "nodeType": "YulIdentifier", "src": "3663:6:4" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "3654:3:4" }, "nodeType": "YulFunctionCall", "src": "3654:16:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3672:1:4", "type": "", "value": "0" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "3647:6:4" }, "nodeType": "YulFunctionCall", "src": "3647:27:4" }, "nodeType": "YulExpressionStatement", "src": "3647:27:4" } ] }, "name": "copy_calldata_to_memory_with_cleanup", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "src", "nodeType": "YulTypedName", "src": "3580:3:4", "type": "" }, { "name": "dst", "nodeType": "YulTypedName", "src": "3585:3:4", "type": "" }, { "name": "length", "nodeType": "YulTypedName", "src": "3590:6:4", "type": "" } ], "src": "3534:146:4" }, { "body": { "nodeType": "YulBlock", "src": "3769:340:4", "statements": [ { "nodeType": "YulAssignment", "src": "3779:74:4", "value": { "arguments": [ { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", "src": "3845:6:4" } ], "functionName": { "name": "array_allocation_size_t_bytes_memory_ptr", "nodeType": "YulIdentifier", "src": "3804:40:4" }, "nodeType": "YulFunctionCall", "src": "3804:48:4" } ], "functionName": { "name": "allocate_memory", "nodeType": "YulIdentifier", "src": "3788:15:4" }, "nodeType": "YulFunctionCall", "src": "3788:65:4" }, "variableNames": [ { "name": "array", "nodeType": "YulIdentifier", "src": "3779:5:4" } ] }, { "expression": { "arguments": [ { "name": "array", "nodeType": "YulIdentifier", "src": "3869:5:4" }, { "name": "length", "nodeType": "YulIdentifier", "src": "3876:6:4" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "3862:6:4" }, "nodeType": "YulFunctionCall", "src": "3862:21:4" }, "nodeType": "YulExpressionStatement", "src": "3862:21:4" }, { "nodeType": "YulVariableDeclaration", "src": "3892:27:4", "value": { "arguments": [ { "name": "array", "nodeType": "YulIdentifier", "src": "3907:5:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3914:4:4", "type": "", "value": "0x20" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "3903:3:4" }, "nodeType": "YulFunctionCall", "src": "3903:16:4" }, "variables": [ { "name": "dst", "nodeType": "YulTypedName", "src": "3896:3:4", "type": "" } ] }, { "body": { "nodeType": "YulBlock", "src": "3957:83:4", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", "nodeType": "YulIdentifier", "src": "3959:77:4" }, "nodeType": "YulFunctionCall", "src": "3959:79:4" }, "nodeType": "YulExpressionStatement", "src": "3959:79:4" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "src", "nodeType": "YulIdentifier", "src": "3938:3:4" }, { "name": "length", "nodeType": "YulIdentifier", "src": "3943:6:4" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "3934:3:4" }, "nodeType": "YulFunctionCall", "src": "3934:16:4" }, { "name": "end", "nodeType": "YulIdentifier", "src": "3952:3:4" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", "src": "3931:2:4" }, "nodeType": "YulFunctionCall", "src": "3931:25:4" }, "nodeType": "YulIf", "src": "3928:112:4" }, { "expression": { "arguments": [ { "name": "src", "nodeType": "YulIdentifier", "src": "4086:3:4" }, { "name": "dst", "nodeType": "YulIdentifier", "src": "4091:3:4" }, { "name": "length", "nodeType": "YulIdentifier", "src": "4096:6:4" } ], "functionName": { "name": "copy_calldata_to_memory_with_cleanup", "nodeType": "YulIdentifier", "src": "4049:36:4" }, "nodeType": "YulFunctionCall", "src": "4049:54:4" }, "nodeType": "YulExpressionStatement", "src": "4049:54:4" } ] }, "name": "abi_decode_available_length_t_bytes_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "src", "nodeType": "YulTypedName", "src": "3742:3:4", "type": "" }, { "name": "length", "nodeType": "YulTypedName", "src": "3747:6:4", "type": "" }, { "name": "end", "nodeType": "YulTypedName", "src": "3755:3:4", "type": "" } ], "returnVariables": [ { "name": "array", "nodeType": "YulTypedName", "src": "3763:5:4", "type": "" } ], "src": "3686:423:4" }, { "body": { "nodeType": "YulBlock", "src": "4189:277:4", "statements": [ { "body": { "nodeType": "YulBlock", "src": "4238:83:4", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", "nodeType": "YulIdentifier", "src": "4240:77:4" }, "nodeType": "YulFunctionCall", "src": "4240:79:4" }, "nodeType": "YulExpressionStatement", "src": "4240:79:4" } ] }, "condition": { "arguments": [ { "arguments": [ { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", "src": "4217:6:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "4225:4:4", "type": "", "value": "0x1f" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "4213:3:4" }, "nodeType": "YulFunctionCall", "src": "4213:17:4" }, { "name": "end", "nodeType": "YulIdentifier", "src": "4232:3:4" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", "src": "4209:3:4" }, "nodeType": "YulFunctionCall", "src": "4209:27:4" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", "src": "4202:6:4" }, "nodeType": "YulFunctionCall", "src": "4202:35:4" }, "nodeType": "YulIf", "src": "4199:122:4" }, { "nodeType": "YulVariableDeclaration", "src": "4330:34:4", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", "src": "4357:6:4" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", "src": "4344:12:4" }, "nodeType": "YulFunctionCall", "src": "4344:20:4" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", "src": "4334:6:4", "type": "" } ] }, { "nodeType": "YulAssignment", "src": "4373:87:4", "value": { "arguments": [ { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", "src": "4433:6:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "4441:4:4", "type": "", "value": "0x20" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "4429:3:4" }, "nodeType": "YulFunctionCall", "src": "4429:17:4" }, { "name": "length", "nodeType": "YulIdentifier", "src": "4448:6:4" }, { "name": "end", "nodeType": "YulIdentifier", "src": "4456:3:4" } ], "functionName": { "name": "abi_decode_available_length_t_bytes_memory_ptr", "nodeType": "YulIdentifier", "src": "4382:46:4" }, "nodeType": "YulFunctionCall", "src": "4382:78:4" }, "variableNames": [ { "name": "array", "nodeType": "YulIdentifier", "src": "4373:5:4" } ] } ] }, "name": "abi_decode_t_bytes_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "offset", "nodeType": "YulTypedName", "src": "4167:6:4", "type": "" }, { "name": "end", "nodeType": "YulTypedName", "src": "4175:3:4", "type": "" } ], "returnVariables": [ { "name": "array", "nodeType": "YulTypedName", "src": "4183:5:4", "type": "" } ], "src": "4128:338:4" }, { "body": { "nodeType": "YulBlock", "src": "4547:432:4", "statements": [ { "body": { "nodeType": "YulBlock", "src": "4593:83:4", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", "src": "4595:77:4" }, "nodeType": "YulFunctionCall", "src": "4595:79:4" }, "nodeType": "YulExpressionStatement", "src": "4595:79:4" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "4568:7:4" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "4577:9:4" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "4564:3:4" }, "nodeType": "YulFunctionCall", "src": "4564:23:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "4589:2:4", "type": "", "value": "32" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", "src": "4560:3:4" }, "nodeType": "YulFunctionCall", "src": "4560:32:4" }, "nodeType": "YulIf", "src": "4557:119:4" }, { "nodeType": "YulBlock", "src": "4686:286:4", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "4701:45:4", "value": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "4732:9:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "4743:1:4", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "4728:3:4" }, "nodeType": "YulFunctionCall", "src": "4728:17:4" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", "src": "4715:12:4" }, "nodeType": "YulFunctionCall", "src": "4715:31:4" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", "src": "4705:6:4", "type": "" } ] }, { "body": { "nodeType": "YulBlock", "src": "4793:83:4", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulIdentifier", "src": "4795:77:4" }, "nodeType": "YulFunctionCall", "src": "4795:79:4" }, "nodeType": "YulExpressionStatement", "src": "4795:79:4" } ] }, "condition": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", "src": "4765:6:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "4773:18:4", "type": "", "value": "0xffffffffffffffff" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", "src": "4762:2:4" }, "nodeType": "YulFunctionCall", "src": "4762:30:4" }, "nodeType": "YulIf", "src": "4759:117:4" }, { "nodeType": "YulAssignment", "src": "4890:72:4", "value": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "4934:9:4" }, { "name": "offset", "nodeType": "YulIdentifier", "src": "4945:6:4" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "4930:3:4" }, "nodeType": "YulFunctionCall", "src": "4930:22:4" }, { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "4954:7:4" } ], "functionName": { "name": "abi_decode_t_bytes_memory_ptr", "nodeType": "YulIdentifier", "src": "4900:29:4" }, "nodeType": "YulFunctionCall", "src": "4900:62:4" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "4890:6:4" } ] } ] } ] }, "name": "abi_decode_tuple_t_bytes_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "4517:9:4", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", "src": "4528:7:4", "type": "" } ], "returnVariables": [ { "name": "value0", "nodeType": "YulTypedName", "src": "4540:6:4", "type": "" } ], "src": "4472:507:4" }, { "body": { "nodeType": "YulBlock", "src": "5013:152:4", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "5030:1:4", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "5033:77:4", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "5023:6:4" }, "nodeType": "YulFunctionCall", "src": "5023:88:4" }, "nodeType": "YulExpressionStatement", "src": "5023:88:4" }, { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "5127:1:4", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "5130:4:4", "type": "", "value": "0x12" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "5120:6:4" }, "nodeType": "YulFunctionCall", "src": "5120:15:4" }, "nodeType": "YulExpressionStatement", "src": "5120:15:4" }, { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "5151:1:4", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "5154:4:4", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "5144:6:4" }, "nodeType": "YulFunctionCall", "src": "5144:15:4" }, "nodeType": "YulExpressionStatement", "src": "5144:15:4" } ] }, "name": "panic_error_0x12", "nodeType": "YulFunctionDefinition", "src": "4985:180:4" }, { "body": { "nodeType": "YulBlock", "src": "5205:142:4", "statements": [ { "nodeType": "YulAssignment", "src": "5215:25:4", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", "src": "5238:1:4" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "5220:17:4" }, "nodeType": "YulFunctionCall", "src": "5220:20:4" }, "variableNames": [ { "name": "x", "nodeType": "YulIdentifier", "src": "5215:1:4" } ] }, { "nodeType": "YulAssignment", "src": "5249:25:4", "value": { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", "src": "5272:1:4" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "5254:17:4" }, "nodeType": "YulFunctionCall", "src": "5254:20:4" }, "variableNames": [ { "name": "y", "nodeType": "YulIdentifier", "src": "5249:1:4" } ] }, { "body": { "nodeType": "YulBlock", "src": "5296:22:4", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x12", "nodeType": "YulIdentifier", "src": "5298:16:4" }, "nodeType": "YulFunctionCall", "src": "5298:18:4" }, "nodeType": "YulExpressionStatement", "src": "5298:18:4" } ] }, "condition": { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", "src": "5293:1:4" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", "src": "5286:6:4" }, "nodeType": "YulFunctionCall", "src": "5286:9:4" }, "nodeType": "YulIf", "src": "5283:35:4" }, { "nodeType": "YulAssignment", "src": "5327:14:4", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", "src": "5336:1:4" }, { "name": "y", "nodeType": "YulIdentifier", "src": "5339:1:4" } ], "functionName": { "name": "mod", "nodeType": "YulIdentifier", "src": "5332:3:4" }, "nodeType": "YulFunctionCall", "src": "5332:9:4" }, "variableNames": [ { "name": "r", "nodeType": "YulIdentifier", "src": "5327:1:4" } ] } ] }, "name": "mod_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "x", "nodeType": "YulTypedName", "src": "5194:1:4", "type": "" }, { "name": "y", "nodeType": "YulTypedName", "src": "5197:1:4", "type": "" } ], "returnVariables": [ { "name": "r", "nodeType": "YulTypedName", "src": "5203:1:4", "type": "" } ], "src": "5171:176:4" }, { "body": { "nodeType": "YulBlock", "src": "5381:152:4", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "5398:1:4", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "5401:77:4", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "5391:6:4" }, "nodeType": "YulFunctionCall", "src": "5391:88:4" }, "nodeType": "YulExpressionStatement", "src": "5391:88:4" }, { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "5495:1:4", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "5498:4:4", "type": "", "value": "0x32" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "5488:6:4" }, "nodeType": "YulFunctionCall", "src": "5488:15:4" }, "nodeType": "YulExpressionStatement", "src": "5488:15:4" }, { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "5519:1:4", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "5522:4:4", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "5512:6:4" }, "nodeType": "YulFunctionCall", "src": "5512:15:4" }, "nodeType": "YulExpressionStatement", "src": "5512:15:4" } ] }, "name": "panic_error_0x32", "nodeType": "YulFunctionDefinition", "src": "5353:180:4" }, { "body": { "nodeType": "YulBlock", "src": "5645:122:4", "statements": [ { "expression": { "arguments": [ { "arguments": [ { "name": "memPtr", "nodeType": "YulIdentifier", "src": "5667:6:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "5675:1:4", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "5663:3:4" }, "nodeType": "YulFunctionCall", "src": "5663:14:4" }, { "hexValue": "6163636f756e74486578206c656e6774682073686f756c642062652034322063", "kind": "string", "nodeType": "YulLiteral", "src": "5679:34:4", "type": "", "value": "accountHex length should be 42 c" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "5656:6:4" }, "nodeType": "YulFunctionCall", "src": "5656:58:4" }, "nodeType": "YulExpressionStatement", "src": "5656:58:4" }, { "expression": { "arguments": [ { "arguments": [ { "name": "memPtr", "nodeType": "YulIdentifier", "src": "5735:6:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "5743:2:4", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "5731:3:4" }, "nodeType": "YulFunctionCall", "src": "5731:15:4" }, { "hexValue": "686172616374657273", "kind": "string", "nodeType": "YulLiteral", "src": "5748:11:4", "type": "", "value": "haracters" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "5724:6:4" }, "nodeType": "YulFunctionCall", "src": "5724:36:4" }, "nodeType": "YulExpressionStatement", "src": "5724:36:4" } ] }, "name": "store_literal_in_memory_67cc5665ab53fef3c88ed1607202de597fc3d7d8d336fab95f7d7059074affcf", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", "src": "5637:6:4", "type": "" } ], "src": "5539:228:4" }, { "body": { "nodeType": "YulBlock", "src": "5919:220:4", "statements": [ { "nodeType": "YulAssignment", "src": "5929:74:4", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "5995:3:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "6000:2:4", "type": "", "value": "41" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", "src": "5936:58:4" }, "nodeType": "YulFunctionCall", "src": "5936:67:4" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "5929:3:4" } ] }, { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "6101:3:4" } ], "functionName": { "name": "store_literal_in_memory_67cc5665ab53fef3c88ed1607202de597fc3d7d8d336fab95f7d7059074affcf", "nodeType": "YulIdentifier", "src": "6012:88:4" }, "nodeType": "YulFunctionCall", "src": "6012:93:4" }, "nodeType": "YulExpressionStatement", "src": "6012:93:4" }, { "nodeType": "YulAssignment", "src": "6114:19:4", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "6125:3:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "6130:2:4", "type": "", "value": "64" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "6121:3:4" }, "nodeType": "YulFunctionCall", "src": "6121:12:4" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", "src": "6114:3:4" } ] } ] }, "name": "abi_encode_t_stringliteral_67cc5665ab53fef3c88ed1607202de597fc3d7d8d336fab95f7d7059074affcf_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", "src": "5907:3:4", "type": "" } ], "returnVariables": [ { "name": "end", "nodeType": "YulTypedName", "src": "5915:3:4", "type": "" } ], "src": "5773:366:4" }, { "body": { "nodeType": "YulBlock", "src": "6316:248:4", "statements": [ { "nodeType": "YulAssignment", "src": "6326:26:4", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "6338:9:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "6349:2:4", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "6334:3:4" }, "nodeType": "YulFunctionCall", "src": "6334:18:4" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "6326:4:4" } ] }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "6373:9:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "6384:1:4", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "6369:3:4" }, "nodeType": "YulFunctionCall", "src": "6369:17:4" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "6392:4:4" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "6398:9:4" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "6388:3:4" }, "nodeType": "YulFunctionCall", "src": "6388:20:4" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "6362:6:4" }, "nodeType": "YulFunctionCall", "src": "6362:47:4" }, "nodeType": "YulExpressionStatement", "src": "6362:47:4" }, { "nodeType": "YulAssignment", "src": "6418:139:4", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "6552:4:4" } ], "functionName": { "name": "abi_encode_t_stringliteral_67cc5665ab53fef3c88ed1607202de597fc3d7d8d336fab95f7d7059074affcf_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", "src": "6426:124:4" }, "nodeType": "YulFunctionCall", "src": "6426:131:4" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "6418:4:4" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_67cc5665ab53fef3c88ed1607202de597fc3d7d8d336fab95f7d7059074affcf__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "6296:9:4", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "6311:4:4", "type": "" } ], "src": "6145:419:4" }, { "body": { "nodeType": "YulBlock", "src": "6598:152:4", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "6615:1:4", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "6618:77:4", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "6608:6:4" }, "nodeType": "YulFunctionCall", "src": "6608:88:4" }, "nodeType": "YulExpressionStatement", "src": "6608:88:4" }, { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "6712:1:4", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "6715:4:4", "type": "", "value": "0x11" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "6705:6:4" }, "nodeType": "YulFunctionCall", "src": "6705:15:4" }, "nodeType": "YulExpressionStatement", "src": "6705:15:4" }, { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "6736:1:4", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "6739:4:4", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "6729:6:4" }, "nodeType": "YulFunctionCall", "src": "6729:15:4" }, "nodeType": "YulExpressionStatement", "src": "6729:15:4" } ] }, "name": "panic_error_0x11", "nodeType": "YulFunctionDefinition", "src": "6570:180:4" }, { "body": { "nodeType": "YulBlock", "src": "6800:147:4", "statements": [ { "nodeType": "YulAssignment", "src": "6810:25:4", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", "src": "6833:1:4" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "6815:17:4" }, "nodeType": "YulFunctionCall", "src": "6815:20:4" }, "variableNames": [ { "name": "x", "nodeType": "YulIdentifier", "src": "6810:1:4" } ] }, { "nodeType": "YulAssignment", "src": "6844:25:4", "value": { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", "src": "6867:1:4" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "6849:17:4" }, "nodeType": "YulFunctionCall", "src": "6849:20:4" }, "variableNames": [ { "name": "y", "nodeType": "YulIdentifier", "src": "6844:1:4" } ] }, { "nodeType": "YulAssignment", "src": "6878:16:4", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", "src": "6889:1:4" }, { "name": "y", "nodeType": "YulIdentifier", "src": "6892:1:4" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "6885:3:4" }, "nodeType": "YulFunctionCall", "src": "6885:9:4" }, "variableNames": [ { "name": "sum", "nodeType": "YulIdentifier", "src": "6878:3:4" } ] }, { "body": { "nodeType": "YulBlock", "src": "6918:22:4", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", "src": "6920:16:4" }, "nodeType": "YulFunctionCall", "src": "6920:18:4" }, "nodeType": "YulExpressionStatement", "src": "6920:18:4" } ] }, "condition": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", "src": "6910:1:4" }, { "name": "sum", "nodeType": "YulIdentifier", "src": "6913:3:4" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", "src": "6907:2:4" }, "nodeType": "YulFunctionCall", "src": "6907:10:4" }, "nodeType": "YulIf", "src": "6904:36:4" } ] }, "name": "checked_add_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "x", "nodeType": "YulTypedName", "src": "6787:1:4", "type": "" }, { "name": "y", "nodeType": "YulTypedName", "src": "6790:1:4", "type": "" } ], "returnVariables": [ { "name": "sum", "nodeType": "YulTypedName", "src": "6796:3:4", "type": "" } ], "src": "6756:191:4" }, { "body": { "nodeType": "YulBlock", "src": "6996:190:4", "statements": [ { "nodeType": "YulAssignment", "src": "7006:33:4", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "7033:5:4" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "7015:17:4" }, "nodeType": "YulFunctionCall", "src": "7015:24:4" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", "src": "7006:5:4" } ] }, { "body": { "nodeType": "YulBlock", "src": "7129:22:4", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", "src": "7131:16:4" }, "nodeType": "YulFunctionCall", "src": "7131:18:4" }, "nodeType": "YulExpressionStatement", "src": "7131:18:4" } ] }, "condition": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "7054:5:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "7061:66:4", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", "src": "7051:2:4" }, "nodeType": "YulFunctionCall", "src": "7051:77:4" }, "nodeType": "YulIf", "src": "7048:103:4" }, { "nodeType": "YulAssignment", "src": "7160:20:4", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "7171:5:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "7178:1:4", "type": "", "value": "1" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "7167:3:4" }, "nodeType": "YulFunctionCall", "src": "7167:13:4" }, "variableNames": [ { "name": "ret", "nodeType": "YulIdentifier", "src": "7160:3:4" } ] } ] }, "name": "increment_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "6982:5:4", "type": "" } ], "returnVariables": [ { "name": "ret", "nodeType": "YulTypedName", "src": "6992:3:4", "type": "" } ], "src": "6953:233:4" }, { "body": { "nodeType": "YulBlock", "src": "7306:34:4", "statements": [ { "nodeType": "YulAssignment", "src": "7316:18:4", "value": { "name": "pos", "nodeType": "YulIdentifier", "src": "7331:3:4" }, "variableNames": [ { "name": "updated_pos", "nodeType": "YulIdentifier", "src": "7316:11:4" } ] } ] }, "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", "src": "7278:3:4", "type": "" }, { "name": "length", "nodeType": "YulTypedName", "src": "7283:6:4", "type": "" } ], "returnVariables": [ { "name": "updated_pos", "nodeType": "YulTypedName", "src": "7294:11:4", "type": "" } ], "src": "7192:148:4" }, { "body": { "nodeType": "YulBlock", "src": "7456:280:4", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "7466:53:4", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "7513:5:4" } ], "functionName": { "name": "array_length_t_string_memory_ptr", "nodeType": "YulIdentifier", "src": "7480:32:4" }, "nodeType": "YulFunctionCall", "src": "7480:39:4" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", "src": "7470:6:4", "type": "" } ] }, { "nodeType": "YulAssignment", "src": "7528:96:4", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "7612:3:4" }, { "name": "length", "nodeType": "YulIdentifier", "src": "7617:6:4" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", "src": "7535:76:4" }, "nodeType": "YulFunctionCall", "src": "7535:89:4" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "7528:3:4" } ] }, { "expression": { "arguments": [ { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "7672:5:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "7679:4:4", "type": "", "value": "0x20" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "7668:3:4" }, "nodeType": "YulFunctionCall", "src": "7668:16:4" }, { "name": "pos", "nodeType": "YulIdentifier", "src": "7686:3:4" }, { "name": "length", "nodeType": "YulIdentifier", "src": "7691:6:4" } ], "functionName": { "name": "copy_memory_to_memory_with_cleanup", "nodeType": "YulIdentifier", "src": "7633:34:4" }, "nodeType": "YulFunctionCall", "src": "7633:65:4" }, "nodeType": "YulExpressionStatement", "src": "7633:65:4" }, { "nodeType": "YulAssignment", "src": "7707:23:4", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "7718:3:4" }, { "name": "length", "nodeType": "YulIdentifier", "src": "7723:6:4" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "7714:3:4" }, "nodeType": "YulFunctionCall", "src": "7714:16:4" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", "src": "7707:3:4" } ] } ] }, "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "7437:5:4", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", "src": "7444:3:4", "type": "" } ], "returnVariables": [ { "name": "end", "nodeType": "YulTypedName", "src": "7452:3:4", "type": "" } ], "src": "7346:390:4" }, { "body": { "nodeType": "YulBlock", "src": "7878:139:4", "statements": [ { "nodeType": "YulAssignment", "src": "7889:102:4", "value": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "7978:6:4" }, { "name": "pos", "nodeType": "YulIdentifier", "src": "7987:3:4" } ], "functionName": { "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", "src": "7896:81:4" }, "nodeType": "YulFunctionCall", "src": "7896:95:4" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "7889:3:4" } ] }, { "nodeType": "YulAssignment", "src": "8001:10:4", "value": { "name": "pos", "nodeType": "YulIdentifier", "src": "8008:3:4" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", "src": "8001:3:4" } ] } ] }, "name": "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", "src": "7857:3:4", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", "src": "7863:6:4", "type": "" } ], "returnVariables": [ { "name": "end", "nodeType": "YulTypedName", "src": "7874:3:4", "type": "" } ], "src": "7742:275:4" }, { "body": { "nodeType": "YulBlock", "src": "8071:362:4", "statements": [ { "nodeType": "YulAssignment", "src": "8081:25:4", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", "src": "8104:1:4" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "8086:17:4" }, "nodeType": "YulFunctionCall", "src": "8086:20:4" }, "variableNames": [ { "name": "x", "nodeType": "YulIdentifier", "src": "8081:1:4" } ] }, { "nodeType": "YulAssignment", "src": "8115:25:4", "value": { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", "src": "8138:1:4" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "8120:17:4" }, "nodeType": "YulFunctionCall", "src": "8120:20:4" }, "variableNames": [ { "name": "y", "nodeType": "YulIdentifier", "src": "8115:1:4" } ] }, { "nodeType": "YulVariableDeclaration", "src": "8149:28:4", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", "src": "8172:1:4" }, { "name": "y", "nodeType": "YulIdentifier", "src": "8175:1:4" } ], "functionName": { "name": "mul", "nodeType": "YulIdentifier", "src": "8168:3:4" }, "nodeType": "YulFunctionCall", "src": "8168:9:4" }, "variables": [ { "name": "product_raw", "nodeType": "YulTypedName", "src": "8153:11:4", "type": "" } ] }, { "nodeType": "YulAssignment", "src": "8186:41:4", "value": { "arguments": [ { "name": "product_raw", "nodeType": "YulIdentifier", "src": "8215:11:4" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "8197:17:4" }, "nodeType": "YulFunctionCall", "src": "8197:30:4" }, "variableNames": [ { "name": "product", "nodeType": "YulIdentifier", "src": "8186:7:4" } ] }, { "body": { "nodeType": "YulBlock", "src": "8404:22:4", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", "src": "8406:16:4" }, "nodeType": "YulFunctionCall", "src": "8406:18:4" }, "nodeType": "YulExpressionStatement", "src": "8406:18:4" } ] }, "condition": { "arguments": [ { "arguments": [ { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", "src": "8337:1:4" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", "src": "8330:6:4" }, "nodeType": "YulFunctionCall", "src": "8330:9:4" }, { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", "src": "8360:1:4" }, { "arguments": [ { "name": "product", "nodeType": "YulIdentifier", "src": "8367:7:4" }, { "name": "x", "nodeType": "YulIdentifier", "src": "8376:1:4" } ], "functionName": { "name": "div", "nodeType": "YulIdentifier", "src": "8363:3:4" }, "nodeType": "YulFunctionCall", "src": "8363:15:4" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", "src": "8357:2:4" }, "nodeType": "YulFunctionCall", "src": "8357:22:4" } ], "functionName": { "name": "or", "nodeType": "YulIdentifier", "src": "8310:2:4" }, "nodeType": "YulFunctionCall", "src": "8310:83:4" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", "src": "8290:6:4" }, "nodeType": "YulFunctionCall", "src": "8290:113:4" }, "nodeType": "YulIf", "src": "8287:139:4" } ] }, "name": "checked_mul_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "x", "nodeType": "YulTypedName", "src": "8054:1:4", "type": "" }, { "name": "y", "nodeType": "YulTypedName", "src": "8057:1:4", "type": "" } ], "returnVariables": [ { "name": "product", "nodeType": "YulTypedName", "src": "8063:7:4", "type": "" } ], "src": "8023:410:4" }, { "body": { "nodeType": "YulBlock", "src": "8482:128:4", "statements": [ { "nodeType": "YulAssignment", "src": "8492:33:4", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "8519:5:4" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "8501:17:4" }, "nodeType": "YulFunctionCall", "src": "8501:24:4" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", "src": "8492:5:4" } ] }, { "body": { "nodeType": "YulBlock", "src": "8553:22:4", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", "src": "8555:16:4" }, "nodeType": "YulFunctionCall", "src": "8555:18:4" }, "nodeType": "YulExpressionStatement", "src": "8555:18:4" } ] }, "condition": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "8540:5:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "8547:4:4", "type": "", "value": "0x00" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", "src": "8537:2:4" }, "nodeType": "YulFunctionCall", "src": "8537:15:4" }, "nodeType": "YulIf", "src": "8534:41:4" }, { "nodeType": "YulAssignment", "src": "8584:20:4", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "8595:5:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "8602:1:4", "type": "", "value": "1" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "8591:3:4" }, "nodeType": "YulFunctionCall", "src": "8591:13:4" }, "variableNames": [ { "name": "ret", "nodeType": "YulIdentifier", "src": "8584:3:4" } ] } ] }, "name": "decrement_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "8468:5:4", "type": "" } ], "returnVariables": [ { "name": "ret", "nodeType": "YulTypedName", "src": "8478:3:4", "type": "" } ], "src": "8439:171:4" }, { "body": { "nodeType": "YulBlock", "src": "8681:53:4", "statements": [ { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "8698:3:4" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "8721:5:4" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "8703:17:4" }, "nodeType": "YulFunctionCall", "src": "8703:24:4" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "8691:6:4" }, "nodeType": "YulFunctionCall", "src": "8691:37:4" }, "nodeType": "YulExpressionStatement", "src": "8691:37:4" } ] }, "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "8669:5:4", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", "src": "8676:3:4", "type": "" } ], "src": "8616:118:4" }, { "body": { "nodeType": "YulBlock", "src": "8866:206:4", "statements": [ { "nodeType": "YulAssignment", "src": "8876:26:4", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "8888:9:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "8899:2:4", "type": "", "value": "64" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "8884:3:4" }, "nodeType": "YulFunctionCall", "src": "8884:18:4" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "8876:4:4" } ] }, { "expression": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "8956:6:4" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "8969:9:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "8980:1:4", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "8965:3:4" }, "nodeType": "YulFunctionCall", "src": "8965:17:4" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", "src": "8912:43:4" }, "nodeType": "YulFunctionCall", "src": "8912:71:4" }, "nodeType": "YulExpressionStatement", "src": "8912:71:4" }, { "expression": { "arguments": [ { "name": "value1", "nodeType": "YulIdentifier", "src": "9037:6:4" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "9050:9:4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "9061:2:4", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "9046:3:4" }, "nodeType": "YulFunctionCall", "src": "9046:18:4" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", "src": "8993:43:4" }, "nodeType": "YulFunctionCall", "src": "8993:72:4" }, "nodeType": "YulExpressionStatement", "src": "8993:72:4" } ] }, "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "8830:9:4", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", "src": "8842:6:4", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", "src": "8850:6:4", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "8861:4:4", "type": "" } ], "src": "8740:332:4" } ] }, "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function mod_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n r := mod(x, y)\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function store_literal_in_memory_67cc5665ab53fef3c88ed1607202de597fc3d7d8d336fab95f7d7059074affcf(memPtr) {\n\n mstore(add(memPtr, 0), \"accountHex length should be 42 c\")\n\n mstore(add(memPtr, 32), \"haracters\")\n\n }\n\n function abi_encode_t_stringliteral_67cc5665ab53fef3c88ed1607202de597fc3d7d8d336fab95f7d7059074affcf_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_67cc5665ab53fef3c88ed1607202de597fc3d7d8d336fab95f7d7059074affcf(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_67cc5665ab53fef3c88ed1607202de597fc3d7d8d336fab95f7d7059074affcf__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_67cc5665ab53fef3c88ed1607202de597fc3d7d8d336fab95f7d7059074affcf_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n let product_raw := mul(x, y)\n product := cleanup_t_uint256(product_raw)\n\n // overflow, if x != 0 and y != product/x\n if iszero(\n or(\n iszero(x),\n eq(y, div(product, x))\n )\n ) { panic_error_0x11() }\n\n }\n\n function decrement_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0x00) { panic_error_0x11() }\n ret := sub(value, 1)\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n}\n", "id": 4, "language": "Yul", "name": "#utility.yul" } ], "immutableReferences": {}, "linkReferences": {}, "object": "608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063a6e3d38c14610038578063c445b36214610068575b5f80fd5b610052600480360381019061004d9190610a11565b610098565b60405161005f9190610ac6565b60405180910390f35b610082600480360381019061007d9190610c12565b61033d565b60405161008f9190610ac6565b60405180910390f35b60605f6100a683601461078f565b90505f6040518061014001604052806040518060400160405280600881526020017f626c75652030303100000000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f70696e6b2030303200000000000000000000000000000000000000000000000081525081526020016040518060400160405280600981526020017f677265656e20303033000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f726564203030340000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600a81526020017f6f72616e6765203030350000000000000000000000000000000000000000000081525081526020016040518060400160405280600981526020017f677265656e20303036000000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f70696e672030303700000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f726564203030380000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600981526020017f6d6574616c20303039000000000000000000000000000000000000000000000081525081526020016040518060400160405280600f81526020017f6c69676874206d6574616c20303130000000000000000000000000000000000081525081525090505f81600a866103129190610c86565b600a811061032357610322610cb6565b5b602002015190506103338361033d565b9350505050919050565b6060602a825114610383576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161037a90610d53565b60405180910390fd5b5f600c67ffffffffffffffff81111561039f5761039e610aee565b5b6040519080825280601f01601f1916602001820160405280156103d15781602001600182028036833780820191505090505b5090505f5b600c8110156104ca576007811161044b578381815181106103fa576103f9610cb6565b5b602001015160f81c60f81b82828151811061041857610417610cb6565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053506104b7565b8381601c6104599190610d9e565b8151811061046a57610469610cb6565b5b602001015160f81c60f81b82828151811061048857610487610cb6565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053505b80806104c290610dd1565b9150506103d6565b505f8190505f816040516020016104e19190610e52565b6040516020818303038152906040528051906020012090505f815f1c90505f6040518061014001604052806040518060400160405280600881526020017f626c75652030303100000000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f70696e6b2030303200000000000000000000000000000000000000000000000081525081526020016040518060400160405280600981526020017f677265656e20303033000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f726564203030340000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600a81526020017f6f72616e6765203030350000000000000000000000000000000000000000000081525081526020016040518060400160405280600981526020017f677265656e20303036000000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f70696e672030303700000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f726564203030380000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600981526020017f6d6574616c20303039000000000000000000000000000000000000000000000081525081526020016040518060400160405280600f81526020017f6c69676874206d6574616c20303130000000000000000000000000000000000081525081525090505f600a836107689190610c86565b90508181600a811061077d5761077c610cb6565b5b60200201519650505050505050919050565b60605f8390505f60028460026107a59190610e68565b6107af9190610d9e565b67ffffffffffffffff8111156107c8576107c7610aee565b5b6040519080825280601f01601f1916602001820160405280156107fa5781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000815f8151811061083157610830610cb6565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061089457610893610cb6565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053505f60018560026108d29190610e68565b6108dc9190610d9e565b90505b600181111561097b577f3031323334353637383961626364656600000000000000000000000000000000600f84166010811061091e5761091d610cb6565b5b1a60f81b82828151811061093557610934610cb6565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350600483901c92508061097490610ea9565b90506108df565b505f82146109c25784846040517fe22e27eb0000000000000000000000000000000000000000000000000000000081526004016109b9929190610edf565b60405180910390fd5b809250505092915050565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b6109f0816109de565b81146109fa575f80fd5b50565b5f81359050610a0b816109e7565b92915050565b5f60208284031215610a2657610a256109d6565b5b5f610a33848285016109fd565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610a73578082015181840152602081019050610a58565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610a9882610a3c565b610aa28185610a46565b9350610ab2818560208601610a56565b610abb81610a7e565b840191505092915050565b5f6020820190508181035f830152610ade8184610a8e565b905092915050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610b2482610a7e565b810181811067ffffffffffffffff82111715610b4357610b42610aee565b5b80604052505050565b5f610b556109cd565b9050610b618282610b1b565b919050565b5f67ffffffffffffffff821115610b8057610b7f610aee565b5b610b8982610a7e565b9050602081019050919050565b828183375f83830152505050565b5f610bb6610bb184610b66565b610b4c565b905082815260208101848484011115610bd257610bd1610aea565b5b610bdd848285610b96565b509392505050565b5f82601f830112610bf957610bf8610ae6565b5b8135610c09848260208601610ba4565b91505092915050565b5f60208284031215610c2757610c266109d6565b5b5f82013567ffffffffffffffff811115610c4457610c436109da565b5b610c5084828501610be5565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610c90826109de565b9150610c9b836109de565b925082610cab57610caa610c59565b5b828206905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f6163636f756e74486578206c656e6774682073686f756c6420626520343220635f8201527f6861726163746572730000000000000000000000000000000000000000000000602082015250565b5f610d3d602983610a46565b9150610d4882610ce3565b604082019050919050565b5f6020820190508181035f830152610d6a81610d31565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610da8826109de565b9150610db3836109de565b9250828201905080821115610dcb57610dca610d71565b5b92915050565b5f610ddb826109de565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610e0d57610e0c610d71565b5b600182019050919050565b5f81905092915050565b5f610e2c82610a3c565b610e368185610e18565b9350610e46818560208601610a56565b80840191505092915050565b5f610e5d8284610e22565b915081905092915050565b5f610e72826109de565b9150610e7d836109de565b9250828202610e8b816109de565b91508282048414831517610ea257610ea1610d71565b5b5092915050565b5f610eb3826109de565b91505f8203610ec557610ec4610d71565b5b600182039050919050565b610ed9816109de565b82525050565b5f604082019050610ef25f830185610ed0565b610eff6020830184610ed0565b939250505056fea264697066735822122030c013363a941cbfde2bad4853e5a1c0682f348076e375e9d04d9b04a8ce5df864736f6c63430008140033", "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA6E3D38C EQ PUSH2 0x38 JUMPI DUP1 PUSH4 0xC445B362 EQ PUSH2 0x68 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x52 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4D SWAP2 SWAP1 PUSH2 0xA11 JUMP JUMPDEST PUSH2 0x98 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5F SWAP2 SWAP1 PUSH2 0xAC6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x82 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7D SWAP2 SWAP1 PUSH2 0xC12 JUMP JUMPDEST PUSH2 0x33D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8F SWAP2 SWAP1 PUSH2 0xAC6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH0 PUSH2 0xA6 DUP4 PUSH1 0x14 PUSH2 0x78F JUMP JUMPDEST SWAP1 POP PUSH0 PUSH1 0x40 MLOAD DUP1 PUSH2 0x140 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x8 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x626C756520303031000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x8 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x70696E6B20303032000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x9 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x677265656E203030330000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x7265642030303400000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xA DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6F72616E67652030303500000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x9 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x677265656E203030360000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x8 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x70696E6720303037000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x7265642030303800000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x9 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6D6574616C203030390000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xF DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6C69676874206D6574616C203031300000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE POP SWAP1 POP PUSH0 DUP2 PUSH1 0xA DUP7 PUSH2 0x312 SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST PUSH1 0xA DUP2 LT PUSH2 0x323 JUMPI PUSH2 0x322 PUSH2 0xCB6 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD MLOAD SWAP1 POP PUSH2 0x333 DUP4 PUSH2 0x33D JUMP JUMPDEST SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x2A DUP3 MLOAD EQ PUSH2 0x383 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x37A SWAP1 PUSH2 0xD53 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 PUSH1 0xC PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x39F JUMPI PUSH2 0x39E PUSH2 0xAEE JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x3D1 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH0 JUMPDEST PUSH1 0xC DUP2 LT ISZERO PUSH2 0x4CA JUMPI PUSH1 0x7 DUP2 GT PUSH2 0x44B JUMPI DUP4 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x3FA JUMPI PUSH2 0x3F9 PUSH2 0xCB6 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x418 JUMPI PUSH2 0x417 PUSH2 0xCB6 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH0 BYTE SWAP1 MSTORE8 POP PUSH2 0x4B7 JUMP JUMPDEST DUP4 DUP2 PUSH1 0x1C PUSH2 0x459 SWAP2 SWAP1 PUSH2 0xD9E JUMP JUMPDEST DUP2 MLOAD DUP2 LT PUSH2 0x46A JUMPI PUSH2 0x469 PUSH2 0xCB6 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x488 JUMPI PUSH2 0x487 PUSH2 0xCB6 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH0 BYTE SWAP1 MSTORE8 POP JUMPDEST DUP1 DUP1 PUSH2 0x4C2 SWAP1 PUSH2 0xDD1 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3D6 JUMP JUMPDEST POP PUSH0 DUP2 SWAP1 POP PUSH0 DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x4E1 SWAP2 SWAP1 PUSH2 0xE52 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH0 DUP2 PUSH0 SHR SWAP1 POP PUSH0 PUSH1 0x40 MLOAD DUP1 PUSH2 0x140 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x8 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x626C756520303031000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x8 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x70696E6B20303032000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x9 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x677265656E203030330000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x7265642030303400000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xA DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6F72616E67652030303500000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x9 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x677265656E203030360000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x8 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x70696E6720303037000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x7265642030303800000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x9 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6D6574616C203030390000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xF DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6C69676874206D6574616C203031300000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE POP SWAP1 POP PUSH0 PUSH1 0xA DUP4 PUSH2 0x768 SWAP2 SWAP1 PUSH2 0xC86 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 PUSH1 0xA DUP2 LT PUSH2 0x77D JUMPI PUSH2 0x77C PUSH2 0xCB6 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD MLOAD SWAP7 POP POP POP POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH0 DUP4 SWAP1 POP PUSH0 PUSH1 0x2 DUP5 PUSH1 0x2 PUSH2 0x7A5 SWAP2 SWAP1 PUSH2 0xE68 JUMP JUMPDEST PUSH2 0x7AF SWAP2 SWAP1 PUSH2 0xD9E JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x7C8 JUMPI PUSH2 0x7C7 PUSH2 0xAEE JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x7FA JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000 DUP2 PUSH0 DUP2 MLOAD DUP2 LT PUSH2 0x831 JUMPI PUSH2 0x830 PUSH2 0xCB6 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH0 BYTE SWAP1 MSTORE8 POP PUSH32 0x7800000000000000000000000000000000000000000000000000000000000000 DUP2 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x894 JUMPI PUSH2 0x893 PUSH2 0xCB6 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH0 BYTE SWAP1 MSTORE8 POP PUSH0 PUSH1 0x1 DUP6 PUSH1 0x2 PUSH2 0x8D2 SWAP2 SWAP1 PUSH2 0xE68 JUMP JUMPDEST PUSH2 0x8DC SWAP2 SWAP1 PUSH2 0xD9E JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x97B JUMPI PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000 PUSH1 0xF DUP5 AND PUSH1 0x10 DUP2 LT PUSH2 0x91E JUMPI PUSH2 0x91D PUSH2 0xCB6 JUMP JUMPDEST JUMPDEST BYTE PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x935 JUMPI PUSH2 0x934 PUSH2 0xCB6 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH0 BYTE SWAP1 MSTORE8 POP PUSH1 0x4 DUP4 SWAP1 SHR SWAP3 POP DUP1 PUSH2 0x974 SWAP1 PUSH2 0xEA9 JUMP JUMPDEST SWAP1 POP PUSH2 0x8DF JUMP JUMPDEST POP PUSH0 DUP3 EQ PUSH2 0x9C2 JUMPI DUP5 DUP5 PUSH1 0x40 MLOAD PUSH32 0xE22E27EB00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9B9 SWAP3 SWAP2 SWAP1 PUSH2 0xEDF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9F0 DUP2 PUSH2 0x9DE JUMP JUMPDEST DUP2 EQ PUSH2 0x9FA JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xA0B DUP2 PUSH2 0x9E7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA26 JUMPI PUSH2 0xA25 PUSH2 0x9D6 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xA33 DUP5 DUP3 DUP6 ADD PUSH2 0x9FD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xA73 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xA58 JUMP JUMPDEST PUSH0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xA98 DUP3 PUSH2 0xA3C JUMP JUMPDEST PUSH2 0xAA2 DUP2 DUP6 PUSH2 0xA46 JUMP JUMPDEST SWAP4 POP PUSH2 0xAB2 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA56 JUMP JUMPDEST PUSH2 0xABB DUP2 PUSH2 0xA7E JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xADE DUP2 DUP5 PUSH2 0xA8E JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH2 0xB24 DUP3 PUSH2 0xA7E JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0xB43 JUMPI PUSH2 0xB42 PUSH2 0xAEE JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0xB55 PUSH2 0x9CD JUMP JUMPDEST SWAP1 POP PUSH2 0xB61 DUP3 DUP3 PUSH2 0xB1B JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xB80 JUMPI PUSH2 0xB7F PUSH2 0xAEE JUMP JUMPDEST JUMPDEST PUSH2 0xB89 DUP3 PUSH2 0xA7E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0xBB6 PUSH2 0xBB1 DUP5 PUSH2 0xB66 JUMP JUMPDEST PUSH2 0xB4C JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0xBD2 JUMPI PUSH2 0xBD1 PUSH2 0xAEA JUMP JUMPDEST JUMPDEST PUSH2 0xBDD DUP5 DUP3 DUP6 PUSH2 0xB96 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xBF9 JUMPI PUSH2 0xBF8 PUSH2 0xAE6 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0xC09 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0xBA4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC27 JUMPI PUSH2 0xC26 PUSH2 0x9D6 JUMP JUMPDEST JUMPDEST PUSH0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xC44 JUMPI PUSH2 0xC43 PUSH2 0x9DA JUMP JUMPDEST JUMPDEST PUSH2 0xC50 DUP5 DUP3 DUP6 ADD PUSH2 0xBE5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0xC90 DUP3 PUSH2 0x9DE JUMP JUMPDEST SWAP2 POP PUSH2 0xC9B DUP4 PUSH2 0x9DE JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0xCAB JUMPI PUSH2 0xCAA PUSH2 0xC59 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MOD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH32 0x6163636F756E74486578206C656E6774682073686F756C642062652034322063 PUSH0 DUP3 ADD MSTORE PUSH32 0x6861726163746572730000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xD3D PUSH1 0x29 DUP4 PUSH2 0xA46 JUMP JUMPDEST SWAP2 POP PUSH2 0xD48 DUP3 PUSH2 0xCE3 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xD6A DUP2 PUSH2 0xD31 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0xDA8 DUP3 PUSH2 0x9DE JUMP JUMPDEST SWAP2 POP PUSH2 0xDB3 DUP4 PUSH2 0x9DE JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0xDCB JUMPI PUSH2 0xDCA PUSH2 0xD71 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xDDB DUP3 PUSH2 0x9DE JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0xE0D JUMPI PUSH2 0xE0C PUSH2 0xD71 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xE2C DUP3 PUSH2 0xA3C JUMP JUMPDEST PUSH2 0xE36 DUP2 DUP6 PUSH2 0xE18 JUMP JUMPDEST SWAP4 POP PUSH2 0xE46 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA56 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xE5D DUP3 DUP5 PUSH2 0xE22 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xE72 DUP3 PUSH2 0x9DE JUMP JUMPDEST SWAP2 POP PUSH2 0xE7D DUP4 PUSH2 0x9DE JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0xE8B DUP2 PUSH2 0x9DE JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0xEA2 JUMPI PUSH2 0xEA1 PUSH2 0xD71 JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xEB3 DUP3 PUSH2 0x9DE JUMP JUMPDEST SWAP2 POP PUSH0 DUP3 SUB PUSH2 0xEC5 JUMPI PUSH2 0xEC4 PUSH2 0xD71 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 SUB SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xED9 DUP2 PUSH2 0x9DE JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xEF2 PUSH0 DUP4 ADD DUP6 PUSH2 0xED0 JUMP JUMPDEST PUSH2 0xEFF PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xED0 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 ADDRESS 0xC0 SGT CALLDATASIZE GASPRICE SWAP5 SHR 0xBF 0xDE 0x2B 0xAD BASEFEE MSTORE8 0xE5 LOG1 0xC0 PUSH9 0x2F348076E375E9D04D SWAP12 DIV 0xA8 0xCE 0x5D 0xF8 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ", "sourceMap": "127:2918:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2422:621;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;584:1712;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2422:621;2488:13;2514:23;2546:32;2566:7;2575:2;2546:19;:32::i;:::-;2514:65;;2590:24;:287;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2887:19;2909:6;2926:13;2916:7;:23;;;;:::i;:::-;2909:31;;;;;;;:::i;:::-;;;;;;2887:53;;3004:32;3025:10;3004:20;:32::i;:::-;2997:39;;;;;2422:621;;;:::o;584:1712::-;660:13;791:2;770:10;:17;:23;762:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;934:31;978:2;968:13;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;934:47;;997:9;992:373;1016:2;1012:1;:6;992:373;;;1048:1;1043;:6;1039:249;;1126:10;1137:1;1126:13;;;;;;;;:::i;:::-;;;;;;;;;;1102:18;1121:1;1102:21;;;;;;;;:::i;:::-;;;;;:37;;;;;;;;;;;1039:249;;;1255:10;1271:1;1266:2;:6;;;;:::i;:::-;1255:18;;;;;;;;:::i;:::-;;;;;;;;;;1231;1250:1;1231:21;;;;;;;;:::i;:::-;;;;;:42;;;;;;;;;;;1039:249;1020:3;;;;;:::i;:::-;;;;992:373;;;;1426:26;1462:18;1426:55;;1583:25;1646:12;1629:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;1619:41;;;;;;1583:78;;1738:14;1763:17;1755:26;;1738:43;;1830:24;:287;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2165:18;2195:13;2186:6;:22;;;;:::i;:::-;2165:43;;2271:6;2278:10;2271:18;;;;;;;:::i;:::-;;;;;;2264:25;;;;;;;;584:1712;;;:::o;2005:525:0:-;2080:13;2105:18;2126:5;2105:26;;2141:19;2186:1;2177:6;2173:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;2163:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2141:47;;2198:15;:6;2205:1;2198:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;2223;:6;2230:1;2223:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;2253:9;2278:1;2269:6;2265:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;2253:26;;2248:140;2285:1;2281;:5;2248:140;;;2319:10;2343:3;2330:10;:16;2319:28;;;;;;;:::i;:::-;;;;;2307:6;2314:1;2307:9;;;;;;;;:::i;:::-;;;;;:40;;;;;;;;;;;2376:1;2361:16;;;;;2288:3;;;;:::i;:::-;;;2248:140;;;;2415:1;2401:10;:15;2397:96;;2468:5;2475:6;2439:43;;;;;;;;;;;;:::i;:::-;;;;;;;;2397:96;2516:6;2502:21;;;;2005:525;;;;:::o;7:75:4:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:99::-;1077:6;1111:5;1105:12;1095:22;;1025:99;;;:::o;1130:169::-;1214:11;1248:6;1243:3;1236:19;1288:4;1283:3;1279:14;1264:29;;1130:169;;;;:::o;1305:246::-;1386:1;1396:113;1410:6;1407:1;1404:13;1396:113;;;1495:1;1490:3;1486:11;1480:18;1476:1;1471:3;1467:11;1460:39;1432:2;1429:1;1425:10;1420:15;;1396:113;;;1543:1;1534:6;1529:3;1525:16;1518:27;1367:184;1305:246;;;:::o;1557:102::-;1598:6;1649:2;1645:7;1640:2;1633:5;1629:14;1625:28;1615:38;;1557:102;;;:::o;1665:377::-;1753:3;1781:39;1814:5;1781:39;:::i;:::-;1836:71;1900:6;1895:3;1836:71;:::i;:::-;1829:78;;1916:65;1974:6;1969:3;1962:4;1955:5;1951:16;1916:65;:::i;:::-;2006:29;2028:6;2006:29;:::i;:::-;2001:3;1997:39;1990:46;;1757:285;1665:377;;;;:::o;2048:313::-;2161:4;2199:2;2188:9;2184:18;2176:26;;2248:9;2242:4;2238:20;2234:1;2223:9;2219:17;2212:47;2276:78;2349:4;2340:6;2276:78;:::i;:::-;2268:86;;2048:313;;;;:::o;2367:117::-;2476:1;2473;2466:12;2490:117;2599:1;2596;2589:12;2613:180;2661:77;2658:1;2651:88;2758:4;2755:1;2748:15;2782:4;2779:1;2772:15;2799:281;2882:27;2904:4;2882:27;:::i;:::-;2874:6;2870:40;3012:6;3000:10;2997:22;2976:18;2964:10;2961:34;2958:62;2955:88;;;3023:18;;:::i;:::-;2955:88;3063:10;3059:2;3052:22;2842:238;2799:281;;:::o;3086:129::-;3120:6;3147:20;;:::i;:::-;3137:30;;3176:33;3204:4;3196:6;3176:33;:::i;:::-;3086:129;;;:::o;3221:307::-;3282:4;3372:18;3364:6;3361:30;3358:56;;;3394:18;;:::i;:::-;3358:56;3432:29;3454:6;3432:29;:::i;:::-;3424:37;;3516:4;3510;3506:15;3498:23;;3221:307;;;:::o;3534:146::-;3631:6;3626:3;3621;3608:30;3672:1;3663:6;3658:3;3654:16;3647:27;3534:146;;;:::o;3686:423::-;3763:5;3788:65;3804:48;3845:6;3804:48;:::i;:::-;3788:65;:::i;:::-;3779:74;;3876:6;3869:5;3862:21;3914:4;3907:5;3903:16;3952:3;3943:6;3938:3;3934:16;3931:25;3928:112;;;3959:79;;:::i;:::-;3928:112;4049:54;4096:6;4091:3;4086;4049:54;:::i;:::-;3769:340;3686:423;;;;;:::o;4128:338::-;4183:5;4232:3;4225:4;4217:6;4213:17;4209:27;4199:122;;4240:79;;:::i;:::-;4199:122;4357:6;4344:20;4382:78;4456:3;4448:6;4441:4;4433:6;4429:17;4382:78;:::i;:::-;4373:87;;4189:277;4128:338;;;;:::o;4472:507::-;4540:6;4589:2;4577:9;4568:7;4564:23;4560:32;4557:119;;;4595:79;;:::i;:::-;4557:119;4743:1;4732:9;4728:17;4715:31;4773:18;4765:6;4762:30;4759:117;;;4795:79;;:::i;:::-;4759:117;4900:62;4954:7;4945:6;4934:9;4930:22;4900:62;:::i;:::-;4890:72;;4686:286;4472:507;;;;:::o;4985:180::-;5033:77;5030:1;5023:88;5130:4;5127:1;5120:15;5154:4;5151:1;5144:15;5171:176;5203:1;5220:20;5238:1;5220:20;:::i;:::-;5215:25;;5254:20;5272:1;5254:20;:::i;:::-;5249:25;;5293:1;5283:35;;5298:18;;:::i;:::-;5283:35;5339:1;5336;5332:9;5327:14;;5171:176;;;;:::o;5353:180::-;5401:77;5398:1;5391:88;5498:4;5495:1;5488:15;5522:4;5519:1;5512:15;5539:228;5679:34;5675:1;5667:6;5663:14;5656:58;5748:11;5743:2;5735:6;5731:15;5724:36;5539:228;:::o;5773:366::-;5915:3;5936:67;6000:2;5995:3;5936:67;:::i;:::-;5929:74;;6012:93;6101:3;6012:93;:::i;:::-;6130:2;6125:3;6121:12;6114:19;;5773:366;;;:::o;6145:419::-;6311:4;6349:2;6338:9;6334:18;6326:26;;6398:9;6392:4;6388:20;6384:1;6373:9;6369:17;6362:47;6426:131;6552:4;6426:131;:::i;:::-;6418:139;;6145:419;;;:::o;6570:180::-;6618:77;6615:1;6608:88;6715:4;6712:1;6705:15;6739:4;6736:1;6729:15;6756:191;6796:3;6815:20;6833:1;6815:20;:::i;:::-;6810:25;;6849:20;6867:1;6849:20;:::i;:::-;6844:25;;6892:1;6889;6885:9;6878:16;;6913:3;6910:1;6907:10;6904:36;;;6920:18;;:::i;:::-;6904:36;6756:191;;;;:::o;6953:233::-;6992:3;7015:24;7033:5;7015:24;:::i;:::-;7006:33;;7061:66;7054:5;7051:77;7048:103;;7131:18;;:::i;:::-;7048:103;7178:1;7171:5;7167:13;7160:20;;6953:233;;;:::o;7192:148::-;7294:11;7331:3;7316:18;;7192:148;;;;:::o;7346:390::-;7452:3;7480:39;7513:5;7480:39;:::i;:::-;7535:89;7617:6;7612:3;7535:89;:::i;:::-;7528:96;;7633:65;7691:6;7686:3;7679:4;7672:5;7668:16;7633:65;:::i;:::-;7723:6;7718:3;7714:16;7707:23;;7456:280;7346:390;;;;:::o;7742:275::-;7874:3;7896:95;7987:3;7978:6;7896:95;:::i;:::-;7889:102;;8008:3;8001:10;;7742:275;;;;:::o;8023:410::-;8063:7;8086:20;8104:1;8086:20;:::i;:::-;8081:25;;8120:20;8138:1;8120:20;:::i;:::-;8115:25;;8175:1;8172;8168:9;8197:30;8215:11;8197:30;:::i;:::-;8186:41;;8376:1;8367:7;8363:15;8360:1;8357:22;8337:1;8330:9;8310:83;8287:139;;8406:18;;:::i;:::-;8287:139;8071:362;8023:410;;;;:::o;8439:171::-;8478:3;8501:24;8519:5;8501:24;:::i;:::-;8492:33;;8547:4;8540:5;8537:15;8534:41;;8555:18;;:::i;:::-;8534:41;8602:1;8595:5;8591:13;8584:20;;8439:171;;;:::o;8616:118::-;8703:24;8721:5;8703:24;:::i;:::-;8698:3;8691:37;8616:118;;:::o;8740:332::-;8861:4;8899:2;8888:9;8884:18;8876:26;;8912:71;8980:1;8969:9;8965:17;8956:6;8912:71;:::i;:::-;8993:72;9061:2;9050:9;9046:18;9037:6;8993:72;:::i;:::-;8740:332;;;;;:::o" }, "gasEstimates": { "creation": { "codeDepositCost": "780000", "executionCost": "810", "totalCost": "780810" }, "external": { "getImageByAccountHex(bytes)": "infinite", "getImageByTokenID(uint256)": "infinite" } }, "legacyAssembly": { ".code": [ { "begin": 127, "end": 3045, "name": "PUSH", "source": 3, "value": "80" }, { "begin": 127, "end": 3045, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 127, "end": 3045, "name": "MSTORE", "source": 3 }, { "begin": 127, "end": 3045, "name": "CALLVALUE", "source": 3 }, { "begin": 127, "end": 3045, "name": "DUP1", "source": 3 }, { "begin": 127, "end": 3045, "name": "ISZERO", "source": 3 }, { "begin": 127, "end": 3045, "name": "PUSH [tag]", "source": 3, "value": "1" }, { "begin": 127, "end": 3045, "name": "JUMPI", "source": 3 }, { "begin": 127, "end": 3045, "name": "PUSH", "source": 3, "value": "0" }, { "begin": 127, "end": 3045, "name": "DUP1", "source": 3 }, { "begin": 127, "end": 3045, "name": "REVERT", "source": 3 }, { "begin": 127, "end": 3045, "name": "tag", "source": 3, "value": "1" }, { "begin": 127, "end": 3045, "name": "JUMPDEST", "source": 3 }, { "begin": 127, "end": 3045, "name": "POP", "source": 3 }, { "begin": 127, "end": 3045, "name": "PUSH #[$]", "source": 3, "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { "begin": 127, "end": 3045, "name": "DUP1", "source": 3 }, { "begin": 127, "end": 3045, "name": "PUSH [$]", "source": 3, "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { "begin": 127, "end": 3045, "name": "PUSH", "source": 3, "value": "0" }, { "begin": 127, "end": 3045, "name": "CODECOPY", "source": 3 }, { "begin": 127, "end": 3045, "name": "PUSH", "source": 3, "value": "0" }, { "begin": 127, "end": 3045, "name": "RETURN", "source": 3 } ], ".data": { "0": { ".auxdata": "a264697066735822122030c013363a941cbfde2bad4853e5a1c0682f348076e375e9d04d9b04a8ce5df864736f6c63430008140033", ".code": [ { "begin": 127, "end": 3045, "name": "PUSH", "source": 3, "value": "80" }, { "begin": 127, "end": 3045, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 127, "end": 3045, "name": "MSTORE", "source": 3 }, { "begin": 127, "end": 3045, "name": "CALLVALUE", "source": 3 }, { "begin": 127, "end": 3045, "name": "DUP1", "source": 3 }, { "begin": 127, "end": 3045, "name": "ISZERO", "source": 3 }, { "begin": 127, "end": 3045, "name": "PUSH [tag]", "source": 3, "value": "1" }, { "begin": 127, "end": 3045, "name": "JUMPI", "source": 3 }, { "begin": 127, "end": 3045, "name": "PUSH", "source": 3, "value": "0" }, { "begin": 127, "end": 3045, "name": "DUP1", "source": 3 }, { "begin": 127, "end": 3045, "name": "REVERT", "source": 3 }, { "begin": 127, "end": 3045, "name": "tag", "source": 3, "value": "1" }, { "begin": 127, "end": 3045, "name": "JUMPDEST", "source": 3 }, { "begin": 127, "end": 3045, "name": "POP", "source": 3 }, { "begin": 127, "end": 3045, "name": "PUSH", "source": 3, "value": "4" }, { "begin": 127, "end": 3045, "name": "CALLDATASIZE", "source": 3 }, { "begin": 127, "end": 3045, "name": "LT", "source": 3 }, { "begin": 127, "end": 3045, "name": "PUSH [tag]", "source": 3, "value": "2" }, { "begin": 127, "end": 3045, "name": "JUMPI", "source": 3 }, { "begin": 127, "end": 3045, "name": "PUSH", "source": 3, "value": "0" }, { "begin": 127, "end": 3045, "name": "CALLDATALOAD", "source": 3 }, { "begin": 127, "end": 3045, "name": "PUSH", "source": 3, "value": "E0" }, { "begin": 127, "end": 3045, "name": "SHR", "source": 3 }, { "begin": 127, "end": 3045, "name": "DUP1", "source": 3 }, { "begin": 127, "end": 3045, "name": "PUSH", "source": 3, "value": "A6E3D38C" }, { "begin": 127, "end": 3045, "name": "EQ", "source": 3 }, { "begin": 127, "end": 3045, "name": "PUSH [tag]", "source": 3, "value": "3" }, { "begin": 127, "end": 3045, "name": "JUMPI", "source": 3 }, { "begin": 127, "end": 3045, "name": "DUP1", "source": 3 }, { "begin": 127, "end": 3045, "name": "PUSH", "source": 3, "value": "C445B362" }, { "begin": 127, "end": 3045, "name": "EQ", "source": 3 }, { "begin": 127, "end": 3045, "name": "PUSH [tag]", "source": 3, "value": "4" }, { "begin": 127, "end": 3045, "name": "JUMPI", "source": 3 }, { "begin": 127, "end": 3045, "name": "tag", "source": 3, "value": "2" }, { "begin": 127, "end": 3045, "name": "JUMPDEST", "source": 3 }, { "begin": 127, "end": 3045, "name": "PUSH", "source": 3, "value": "0" }, { "begin": 127, "end": 3045, "name": "DUP1", "source": 3 }, { "begin": 127, "end": 3045, "name": "REVERT", "source": 3 }, { "begin": 2422, "end": 3043, "name": "tag", "source": 3, "value": "3" }, { "begin": 2422, "end": 3043, "name": "JUMPDEST", "source": 3 }, { "begin": 2422, "end": 3043, "name": "PUSH [tag]", "source": 3, "value": "5" }, { "begin": 2422, "end": 3043, "name": "PUSH", "source": 3, "value": "4" }, { "begin": 2422, "end": 3043, "name": "DUP1", "source": 3 }, { "begin": 2422, "end": 3043, "name": "CALLDATASIZE", "source": 3 }, { "begin": 2422, "end": 3043, "name": "SUB", "source": 3 }, { "begin": 2422, "end": 3043, "name": "DUP2", "source": 3 }, { "begin": 2422, "end": 3043, "name": "ADD", "source": 3 }, { "begin": 2422, "end": 3043, "name": "SWAP1", "source": 3 }, { "begin": 2422, "end": 3043, "name": "PUSH [tag]", "source": 3, "value": "6" }, { "begin": 2422, "end": 3043, "name": "SWAP2", "source": 3 }, { "begin": 2422, "end": 3043, "name": "SWAP1", "source": 3 }, { "begin": 2422, "end": 3043, "name": "PUSH [tag]", "source": 3, "value": "7" }, { "begin": 2422, "end": 3043, "jumpType": "[in]", "name": "JUMP", "source": 3 }, { "begin": 2422, "end": 3043, "name": "tag", "source": 3, "value": "6" }, { "begin": 2422, "end": 3043, "name": "JUMPDEST", "source": 3 }, { "begin": 2422, "end": 3043, "name": "PUSH [tag]", "source": 3, "value": "8" }, { "begin": 2422, "end": 3043, "jumpType": "[in]", "name": "JUMP", "source": 3 }, { "begin": 2422, "end": 3043, "name": "tag", "source": 3, "value": "5" }, { "begin": 2422, "end": 3043, "name": "JUMPDEST", "source": 3 }, { "begin": 2422, "end": 3043, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2422, "end": 3043, "name": "MLOAD", "source": 3 }, { "begin": 2422, "end": 3043, "name": "PUSH [tag]", "source": 3, "value": "9" }, { "begin": 2422, "end": 3043, "name": "SWAP2", "source": 3 }, { "begin": 2422, "end": 3043, "name": "SWAP1", "source": 3 }, { "begin": 2422, "end": 3043, "name": "PUSH [tag]", "source": 3, "value": "10" }, { "begin": 2422, "end": 3043, "jumpType": "[in]", "name": "JUMP", "source": 3 }, { "begin": 2422, "end": 3043, "name": "tag", "source": 3, "value": "9" }, { "begin": 2422, "end": 3043, "name": "JUMPDEST", "source": 3 }, { "begin": 2422, "end": 3043, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2422, "end": 3043, "name": "MLOAD", "source": 3 }, { "begin": 2422, "end": 3043, "name": "DUP1", "source": 3 }, { "begin": 2422, "end": 3043, "name": "SWAP2", "source": 3 }, { "begin": 2422, "end": 3043, "name": "SUB", "source": 3 }, { "begin": 2422, "end": 3043, "name": "SWAP1", "source": 3 }, { "begin": 2422, "end": 3043, "name": "RETURN", "source": 3 }, { "begin": 584, "end": 2296, "name": "tag", "source": 3, "value": "4" }, { "begin": 584, "end": 2296, "name": "JUMPDEST", "source": 3 }, { "begin": 584, "end": 2296, "name": "PUSH [tag]", "source": 3, "value": "11" }, { "begin": 584, "end": 2296, "name": "PUSH", "source": 3, "value": "4" }, { "begin": 584, "end": 2296, "name": "DUP1", "source": 3 }, { "begin": 584, "end": 2296, "name": "CALLDATASIZE", "source": 3 }, { "begin": 584, "end": 2296, "name": "SUB", "source": 3 }, { "begin": 584, "end": 2296, "name": "DUP2", "source": 3 }, { "begin": 584, "end": 2296, "name": "ADD", "source": 3 }, { "begin": 584, "end": 2296, "name": "SWAP1", "source": 3 }, { "begin": 584, "end": 2296, "name": "PUSH [tag]", "source": 3, "value": "12" }, { "begin": 584, "end": 2296, "name": "SWAP2", "source": 3 }, { "begin": 584, "end": 2296, "name": "SWAP1", "source": 3 }, { "begin": 584, "end": 2296, "name": "PUSH [tag]", "source": 3, "value": "13" }, { "begin": 584, "end": 2296, "jumpType": "[in]", "name": "JUMP", "source": 3 }, { "begin": 584, "end": 2296, "name": "tag", "source": 3, "value": "12" }, { "begin": 584, "end": 2296, "name": "JUMPDEST", "source": 3 }, { "begin": 584, "end": 2296, "name": "PUSH [tag]", "source": 3, "value": "14" }, { "begin": 584, "end": 2296, "jumpType": "[in]", "name": "JUMP", "source": 3 }, { "begin": 584, "end": 2296, "name": "tag", "source": 3, "value": "11" }, { "begin": 584, "end": 2296, "name": "JUMPDEST", "source": 3 }, { "begin": 584, "end": 2296, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 584, "end": 2296, "name": "MLOAD", "source": 3 }, { "begin": 584, "end": 2296, "name": "PUSH [tag]", "source": 3, "value": "15" }, { "begin": 584, "end": 2296, "name": "SWAP2", "source": 3 }, { "begin": 584, "end": 2296, "name": "SWAP1", "source": 3 }, { "begin": 584, "end": 2296, "name": "PUSH [tag]", "source": 3, "value": "10" }, { "begin": 584, "end": 2296, "jumpType": "[in]", "name": "JUMP", "source": 3 }, { "begin": 584, "end": 2296, "name": "tag", "source": 3, "value": "15" }, { "begin": 584, "end": 2296, "name": "JUMPDEST", "source": 3 }, { "begin": 584, "end": 2296, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 584, "end": 2296, "name": "MLOAD", "source": 3 }, { "begin": 584, "end": 2296, "name": "DUP1", "source": 3 }, { "begin": 584, "end": 2296, "name": "SWAP2", "source": 3 }, { "begin": 584, "end": 2296, "name": "SUB", "source": 3 }, { "begin": 584, "end": 2296, "name": "SWAP1", "source": 3 }, { "begin": 584, "end": 2296, "name": "RETURN", "source": 3 }, { "begin": 2422, "end": 3043, "name": "tag", "source": 3, "value": "8" }, { "begin": 2422, "end": 3043, "name": "JUMPDEST", "source": 3 }, { "begin": 2488, "end": 2501, "name": "PUSH", "source": 3, "value": "60" }, { "begin": 2514, "end": 2537, "name": "PUSH", "source": 3, "value": "0" }, { "begin": 2546, "end": 2578, "name": "PUSH [tag]", "source": 3, "value": "17" }, { "begin": 2566, "end": 2573, "name": "DUP4", "source": 3 }, { "begin": 2575, "end": 2577, "name": "PUSH", "source": 3, "value": "14" }, { "begin": 2546, "end": 2565, "name": "PUSH [tag]", "source": 3, "value": "18" }, { "begin": 2546, "end": 2578, "jumpType": "[in]", "name": "JUMP", "source": 3 }, { "begin": 2546, "end": 2578, "name": "tag", "source": 3, "value": "17" }, { "begin": 2546, "end": 2578, "name": "JUMPDEST", "source": 3 }, { "begin": 2514, "end": 2579, "name": "SWAP1", "source": 3 }, { "begin": 2514, "end": 2579, "name": "POP", "source": 3 }, { "begin": 2590, "end": 2614, "name": "PUSH", "source": 3, "value": "0" }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "MLOAD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP1", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "140" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP1", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "MLOAD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP1", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP1", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "8" }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "626C756520303031000000000000000000000000000000000000000000000000" }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "POP", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "MLOAD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP1", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP1", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "8" }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "70696E6B20303032000000000000000000000000000000000000000000000000" }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "POP", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "MLOAD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP1", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP1", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "9" }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "677265656E203030330000000000000000000000000000000000000000000000" }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "POP", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "MLOAD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP1", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP1", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "7" }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "7265642030303400000000000000000000000000000000000000000000000000" }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "POP", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "MLOAD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP1", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP1", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "A" }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "6F72616E67652030303500000000000000000000000000000000000000000000" }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "POP", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "MLOAD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP1", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP1", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "9" }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "677265656E203030360000000000000000000000000000000000000000000000" }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "POP", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "MLOAD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP1", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP1", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "8" }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "70696E6720303037000000000000000000000000000000000000000000000000" }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "POP", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "MLOAD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP1", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP1", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "7" }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "7265642030303800000000000000000000000000000000000000000000000000" }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "POP", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "MLOAD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP1", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP1", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "9" }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "6D6574616C203030390000000000000000000000000000000000000000000000" }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "POP", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "MLOAD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP1", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP1", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "F" }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 2590, "end": 2877, "name": "ADD", "source": 3 }, { "begin": 2590, "end": 2877, "name": "PUSH", "source": 3, "value": "6C69676874206D6574616C203031300000000000000000000000000000000000" }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "POP", "source": 3 }, { "begin": 2590, "end": 2877, "name": "DUP2", "source": 3 }, { "begin": 2590, "end": 2877, "name": "MSTORE", "source": 3 }, { "begin": 2590, "end": 2877, "name": "POP", "source": 3 }, { "begin": 2590, "end": 2877, "name": "SWAP1", "source": 3 }, { "begin": 2590, "end": 2877, "name": "POP", "source": 3 }, { "begin": 2887, "end": 2906, "name": "PUSH", "source": 3, "value": "0" }, { "begin": 2909, "end": 2915, "name": "DUP2", "source": 3 }, { "begin": 2926, "end": 2939, "name": "PUSH", "source": 3, "value": "A" }, { "begin": 2916, "end": 2923, "name": "DUP7", "source": 3 }, { "begin": 2916, "end": 2939, "name": "PUSH [tag]", "source": 3, "value": "19" }, { "begin": 2916, "end": 2939, "name": "SWAP2", "source": 3 }, { "begin": 2916, "end": 2939, "name": "SWAP1", "source": 3 }, { "begin": 2916, "end": 2939, "name": "PUSH [tag]", "source": 3, "value": "20" }, { "begin": 2916, "end": 2939, "jumpType": "[in]", "name": "JUMP", "source": 3 }, { "begin": 2916, "end": 2939, "name": "tag", "source": 3, "value": "19" }, { "begin": 2916, "end": 2939, "name": "JUMPDEST", "source": 3 }, { "begin": 2909, "end": 2940, "name": "PUSH", "source": 3, "value": "A" }, { "begin": 2909, "end": 2940, "name": "DUP2", "source": 3 }, { "begin": 2909, "end": 2940, "name": "LT", "source": 3 }, { "begin": 2909, "end": 2940, "name": "PUSH [tag]", "source": 3, "value": "21" }, { "begin": 2909, "end": 2940, "name": "JUMPI", "source": 3 }, { "begin": 2909, "end": 2940, "name": "PUSH [tag]", "source": 3, "value": "22" }, { "begin": 2909, "end": 2940, "name": "PUSH [tag]", "source": 3, "value": "23" }, { "begin": 2909, "end": 2940, "jumpType": "[in]", "name": "JUMP", "source": 3 }, { "begin": 2909, "end": 2940, "name": "tag", "source": 3, "value": "22" }, { "begin": 2909, "end": 2940, "name": "JUMPDEST", "source": 3 }, { "begin": 2909, "end": 2940, "name": "tag", "source": 3, "value": "21" }, { "begin": 2909, "end": 2940, "name": "JUMPDEST", "source": 3 }, { "begin": 2909, "end": 2940, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 2909, "end": 2940, "name": "MUL", "source": 3 }, { "begin": 2909, "end": 2940, "name": "ADD", "source": 3 }, { "begin": 2909, "end": 2940, "name": "MLOAD", "source": 3 }, { "begin": 2887, "end": 2940, "name": "SWAP1", "source": 3 }, { "begin": 2887, "end": 2940, "name": "POP", "source": 3 }, { "begin": 3004, "end": 3036, "name": "PUSH [tag]", "source": 3, "value": "24" }, { "begin": 3025, "end": 3035, "name": "DUP4", "source": 3 }, { "begin": 3004, "end": 3024, "name": "PUSH [tag]", "source": 3, "value": "14" }, { "begin": 3004, "end": 3036, "jumpType": "[in]", "name": "JUMP", "source": 3 }, { "begin": 3004, "end": 3036, "name": "tag", "source": 3, "value": "24" }, { "begin": 3004, "end": 3036, "name": "JUMPDEST", "source": 3 }, { "begin": 2997, "end": 3036, "name": "SWAP4", "source": 3 }, { "begin": 2997, "end": 3036, "name": "POP", "source": 3 }, { "begin": 2997, "end": 3036, "name": "POP", "source": 3 }, { "begin": 2997, "end": 3036, "name": "POP", "source": 3 }, { "begin": 2997, "end": 3036, "name": "POP", "source": 3 }, { "begin": 2422, "end": 3043, "name": "SWAP2", "source": 3 }, { "begin": 2422, "end": 3043, "name": "SWAP1", "source": 3 }, { "begin": 2422, "end": 3043, "name": "POP", "source": 3 }, { "begin": 2422, "end": 3043, "jumpType": "[out]", "name": "JUMP", "source": 3 }, { "begin": 584, "end": 2296, "name": "tag", "source": 3, "value": "14" }, { "begin": 584, "end": 2296, "name": "JUMPDEST", "source": 3 }, { "begin": 660, "end": 673, "name": "PUSH", "source": 3, "value": "60" }, { "begin": 791, "end": 793, "name": "PUSH", "source": 3, "value": "2A" }, { "begin": 770, "end": 780, "name": "DUP3", "source": 3 }, { "begin": 770, "end": 787, "name": "MLOAD", "source": 3 }, { "begin": 770, "end": 793, "name": "EQ", "source": 3 }, { "begin": 762, "end": 839, "name": "PUSH [tag]", "source": 3, "value": "26" }, { "begin": 762, "end": 839, "name": "JUMPI", "source": 3 }, { "begin": 762, "end": 839, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 762, "end": 839, "name": "MLOAD", "source": 3 }, { "begin": 762, "end": 839, "name": "PUSH", "source": 3, "value": "8C379A000000000000000000000000000000000000000000000000000000000" }, { "begin": 762, "end": 839, "name": "DUP2", "source": 3 }, { "begin": 762, "end": 839, "name": "MSTORE", "source": 3 }, { "begin": 762, "end": 839, "name": "PUSH", "source": 3, "value": "4" }, { "begin": 762, "end": 839, "name": "ADD", "source": 3 }, { "begin": 762, "end": 839, "name": "PUSH [tag]", "source": 3, "value": "27" }, { "begin": 762, "end": 839, "name": "SWAP1", "source": 3 }, { "begin": 762, "end": 839, "name": "PUSH [tag]", "source": 3, "value": "28" }, { "begin": 762, "end": 839, "jumpType": "[in]", "name": "JUMP", "source": 3 }, { "begin": 762, "end": 839, "name": "tag", "source": 3, "value": "27" }, { "begin": 762, "end": 839, "name": "JUMPDEST", "source": 3 }, { "begin": 762, "end": 839, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 762, "end": 839, "name": "MLOAD", "source": 3 }, { "begin": 762, "end": 839, "name": "DUP1", "source": 3 }, { "begin": 762, "end": 839, "name": "SWAP2", "source": 3 }, { "begin": 762, "end": 839, "name": "SUB", "source": 3 }, { "begin": 762, "end": 839, "name": "SWAP1", "source": 3 }, { "begin": 762, "end": 839, "name": "REVERT", "source": 3 }, { "begin": 762, "end": 839, "name": "tag", "source": 3, "value": "26" }, { "begin": 762, "end": 839, "name": "JUMPDEST", "source": 3 }, { "begin": 934, "end": 965, "name": "PUSH", "source": 3, "value": "0" }, { "begin": 978, "end": 980, "name": "PUSH", "source": 3, "value": "C" }, { "begin": 968, "end": 981, "name": "PUSH", "source": 3, "value": "FFFFFFFFFFFFFFFF" }, { "begin": 968, "end": 981, "name": "DUP2", "source": 3 }, { "begin": 968, "end": 981, "name": "GT", "source": 3 }, { "begin": 968, "end": 981, "name": "ISZERO", "source": 3 }, { "begin": 968, "end": 981, "name": "PUSH [tag]", "source": 3, "value": "29" }, { "begin": 968, "end": 981, "name": "JUMPI", "source": 3 }, { "begin": 968, "end": 981, "name": "PUSH [tag]", "source": 3, "value": "30" }, { "begin": 968, "end": 981, "name": "PUSH [tag]", "source": 3, "value": "31" }, { "begin": 968, "end": 981, "jumpType": "[in]", "name": "JUMP", "source": 3 }, { "begin": 968, "end": 981, "name": "tag", "source": 3, "value": "30" }, { "begin": 968, "end": 981, "name": "JUMPDEST", "source": 3 }, { "begin": 968, "end": 981, "name": "tag", "source": 3, "value": "29" }, { "begin": 968, "end": 981, "name": "JUMPDEST", "source": 3 }, { "begin": 968, "end": 981, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 968, "end": 981, "name": "MLOAD", "source": 3 }, { "begin": 968, "end": 981, "name": "SWAP1", "source": 3 }, { "begin": 968, "end": 981, "name": "DUP1", "source": 3 }, { "begin": 968, "end": 981, "name": "DUP3", "source": 3 }, { "begin": 968, "end": 981, "name": "MSTORE", "source": 3 }, { "begin": 968, "end": 981, "name": "DUP1", "source": 3 }, { "begin": 968, "end": 981, "name": "PUSH", "source": 3, "value": "1F" }, { "begin": 968, "end": 981, "name": "ADD", "source": 3 }, { "begin": 968, "end": 981, "name": "PUSH", "source": 3, "value": "1F" }, { "begin": 968, "end": 981, "name": "NOT", "source": 3 }, { "begin": 968, "end": 981, "name": "AND", "source": 3 }, { "begin": 968, "end": 981, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 968, "end": 981, "name": "ADD", "source": 3 }, { "begin": 968, "end": 981, "name": "DUP3", "source": 3 }, { "begin": 968, "end": 981, "name": "ADD", "source": 3 }, { "begin": 968, "end": 981, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 968, "end": 981, "name": "MSTORE", "source": 3 }, { "begin": 968, "end": 981, "name": "DUP1", "source": 3 }, { "begin": 968, "end": 981, "name": "ISZERO", "source": 3 }, { "begin": 968, "end": 981, "name": "PUSH [tag]", "source": 3, "value": "32" }, { "begin": 968, "end": 981, "name": "JUMPI", "source": 3 }, { "begin": 968, "end": 981, "name": "DUP2", "source": 3 }, { "begin": 968, "end": 981, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 968, "end": 981, "name": "ADD", "source": 3 }, { "begin": 968, "end": 981, "name": "PUSH", "source": 3, "value": "1" }, { "begin": 968, "end": 981, "name": "DUP3", "source": 3 }, { "begin": 968, "end": 981, "name": "MUL", "source": 3 }, { "begin": 968, "end": 981, "name": "DUP1", "source": 3 }, { "begin": 968, "end": 981, "name": "CALLDATASIZE", "source": 3 }, { "begin": 968, "end": 981, "name": "DUP4", "source": 3 }, { "begin": 968, "end": 981, "name": "CALLDATACOPY", "source": 3 }, { "begin": 968, "end": 981, "name": "DUP1", "source": 3 }, { "begin": 968, "end": 981, "name": "DUP3", "source": 3 }, { "begin": 968, "end": 981, "name": "ADD", "source": 3 }, { "begin": 968, "end": 981, "name": "SWAP2", "source": 3 }, { "begin": 968, "end": 981, "name": "POP", "source": 3 }, { "begin": 968, "end": 981, "name": "POP", "source": 3 }, { "begin": 968, "end": 981, "name": "SWAP1", "source": 3 }, { "begin": 968, "end": 981, "name": "POP", "source": 3 }, { "begin": 968, "end": 981, "name": "tag", "source": 3, "value": "32" }, { "begin": 968, "end": 981, "name": "JUMPDEST", "source": 3 }, { "begin": 968, "end": 981, "name": "POP", "source": 3 }, { "begin": 934, "end": 981, "name": "SWAP1", "source": 3 }, { "begin": 934, "end": 981, "name": "POP", "source": 3 }, { "begin": 997, "end": 1006, "name": "PUSH", "source": 3, "value": "0" }, { "begin": 992, "end": 1365, "name": "tag", "source": 3, "value": "33" }, { "begin": 992, "end": 1365, "name": "JUMPDEST", "source": 3 }, { "begin": 1016, "end": 1018, "name": "PUSH", "source": 3, "value": "C" }, { "begin": 1012, "end": 1013, "name": "DUP2", "source": 3 }, { "begin": 1012, "end": 1018, "name": "LT", "source": 3 }, { "begin": 992, "end": 1365, "name": "ISZERO", "source": 3 }, { "begin": 992, "end": 1365, "name": "PUSH [tag]", "source": 3, "value": "34" }, { "begin": 992, "end": 1365, "name": "JUMPI", "source": 3 }, { "begin": 1048, "end": 1049, "name": "PUSH", "source": 3, "value": "7" }, { "begin": 1043, "end": 1044, "name": "DUP2", "source": 3 }, { "begin": 1043, "end": 1049, "name": "GT", "source": 3 }, { "begin": 1039, "end": 1288, "name": "PUSH [tag]", "source": 3, "value": "36" }, { "begin": 1039, "end": 1288, "name": "JUMPI", "source": 3 }, { "begin": 1126, "end": 1136, "name": "DUP4", "source": 3 }, { "begin": 1137, "end": 1138, "name": "DUP2", "source": 3 }, { "begin": 1126, "end": 1139, "name": "DUP2", "source": 3 }, { "begin": 1126, "end": 1139, "name": "MLOAD", "source": 3 }, { "begin": 1126, "end": 1139, "name": "DUP2", "source": 3 }, { "begin": 1126, "end": 1139, "name": "LT", "source": 3 }, { "begin": 1126, "end": 1139, "name": "PUSH [tag]", "source": 3, "value": "37" }, { "begin": 1126, "end": 1139, "name": "JUMPI", "source": 3 }, { "begin": 1126, "end": 1139, "name": "PUSH [tag]", "source": 3, "value": "38" }, { "begin": 1126, "end": 1139, "name": "PUSH [tag]", "source": 3, "value": "23" }, { "begin": 1126, "end": 1139, "jumpType": "[in]", "name": "JUMP", "source": 3 }, { "begin": 1126, "end": 1139, "name": "tag", "source": 3, "value": "38" }, { "begin": 1126, "end": 1139, "name": "JUMPDEST", "source": 3 }, { "begin": 1126, "end": 1139, "name": "tag", "source": 3, "value": "37" }, { "begin": 1126, "end": 1139, "name": "JUMPDEST", "source": 3 }, { "begin": 1126, "end": 1139, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 1126, "end": 1139, "name": "ADD", "source": 3 }, { "begin": 1126, "end": 1139, "name": "ADD", "source": 3 }, { "begin": 1126, "end": 1139, "name": "MLOAD", "source": 3 }, { "begin": 1126, "end": 1139, "name": "PUSH", "source": 3, "value": "F8" }, { "begin": 1126, "end": 1139, "name": "SHR", "source": 3 }, { "begin": 1126, "end": 1139, "name": "PUSH", "source": 3, "value": "F8" }, { "begin": 1126, "end": 1139, "name": "SHL", "source": 3 }, { "begin": 1102, "end": 1120, "name": "DUP3", "source": 3 }, { "begin": 1121, "end": 1122, "name": "DUP3", "source": 3 }, { "begin": 1102, "end": 1123, "name": "DUP2", "source": 3 }, { "begin": 1102, "end": 1123, "name": "MLOAD", "source": 3 }, { "begin": 1102, "end": 1123, "name": "DUP2", "source": 3 }, { "begin": 1102, "end": 1123, "name": "LT", "source": 3 }, { "begin": 1102, "end": 1123, "name": "PUSH [tag]", "source": 3, "value": "39" }, { "begin": 1102, "end": 1123, "name": "JUMPI", "source": 3 }, { "begin": 1102, "end": 1123, "name": "PUSH [tag]", "source": 3, "value": "40" }, { "begin": 1102, "end": 1123, "name": "PUSH [tag]", "source": 3, "value": "23" }, { "begin": 1102, "end": 1123, "jumpType": "[in]", "name": "JUMP", "source": 3 }, { "begin": 1102, "end": 1123, "name": "tag", "source": 3, "value": "40" }, { "begin": 1102, "end": 1123, "name": "JUMPDEST", "source": 3 }, { "begin": 1102, "end": 1123, "name": "tag", "source": 3, "value": "39" }, { "begin": 1102, "end": 1123, "name": "JUMPDEST", "source": 3 }, { "begin": 1102, "end": 1123, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 1102, "end": 1123, "name": "ADD", "source": 3 }, { "begin": 1102, "end": 1123, "name": "ADD", "source": 3 }, { "begin": 1102, "end": 1139, "name": "SWAP1", "source": 3 }, { "begin": 1102, "end": 1139, "name": "PUSH", "source": 3, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1102, "end": 1139, "name": "NOT", "source": 3 }, { "begin": 1102, "end": 1139, "name": "AND", "source": 3 }, { "begin": 1102, "end": 1139, "name": "SWAP1", "source": 3 }, { "begin": 1102, "end": 1139, "name": "DUP2", "source": 3 }, { "begin": 1102, "end": 1139, "name": "PUSH", "source": 3, "value": "0" }, { "begin": 1102, "end": 1139, "name": "BYTE", "source": 3 }, { "begin": 1102, "end": 1139, "name": "SWAP1", "source": 3 }, { "begin": 1102, "end": 1139, "name": "MSTORE8", "source": 3 }, { "begin": 1102, "end": 1139, "name": "POP", "source": 3 }, { "begin": 1039, "end": 1288, "name": "PUSH [tag]", "source": 3, "value": "41" }, { "begin": 1039, "end": 1288, "name": "JUMP", "source": 3 }, { "begin": 1039, "end": 1288, "name": "tag", "source": 3, "value": "36" }, { "begin": 1039, "end": 1288, "name": "JUMPDEST", "source": 3 }, { "begin": 1255, "end": 1265, "name": "DUP4", "source": 3 }, { "begin": 1271, "end": 1272, "name": "DUP2", "source": 3 }, { "begin": 1266, "end": 1268, "name": "PUSH", "source": 3, "value": "1C" }, { "begin": 1266, "end": 1272, "name": "PUSH [tag]", "source": 3, "value": "42" }, { "begin": 1266, "end": 1272, "name": "SWAP2", "source": 3 }, { "begin": 1266, "end": 1272, "name": "SWAP1", "source": 3 }, { "begin": 1266, "end": 1272, "name": "PUSH [tag]", "source": 3, "value": "43" }, { "begin": 1266, "end": 1272, "jumpType": "[in]", "name": "JUMP", "source": 3 }, { "begin": 1266, "end": 1272, "name": "tag", "source": 3, "value": "42" }, { "begin": 1266, "end": 1272, "name": "JUMPDEST", "source": 3 }, { "begin": 1255, "end": 1273, "name": "DUP2", "source": 3 }, { "begin": 1255, "end": 1273, "name": "MLOAD", "source": 3 }, { "begin": 1255, "end": 1273, "name": "DUP2", "source": 3 }, { "begin": 1255, "end": 1273, "name": "LT", "source": 3 }, { "begin": 1255, "end": 1273, "name": "PUSH [tag]", "source": 3, "value": "44" }, { "begin": 1255, "end": 1273, "name": "JUMPI", "source": 3 }, { "begin": 1255, "end": 1273, "name": "PUSH [tag]", "source": 3, "value": "45" }, { "begin": 1255, "end": 1273, "name": "PUSH [tag]", "source": 3, "value": "23" }, { "begin": 1255, "end": 1273, "jumpType": "[in]", "name": "JUMP", "source": 3 }, { "begin": 1255, "end": 1273, "name": "tag", "source": 3, "value": "45" }, { "begin": 1255, "end": 1273, "name": "JUMPDEST", "source": 3 }, { "begin": 1255, "end": 1273, "name": "tag", "source": 3, "value": "44" }, { "begin": 1255, "end": 1273, "name": "JUMPDEST", "source": 3 }, { "begin": 1255, "end": 1273, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 1255, "end": 1273, "name": "ADD", "source": 3 }, { "begin": 1255, "end": 1273, "name": "ADD", "source": 3 }, { "begin": 1255, "end": 1273, "name": "MLOAD", "source": 3 }, { "begin": 1255, "end": 1273, "name": "PUSH", "source": 3, "value": "F8" }, { "begin": 1255, "end": 1273, "name": "SHR", "source": 3 }, { "begin": 1255, "end": 1273, "name": "PUSH", "source": 3, "value": "F8" }, { "begin": 1255, "end": 1273, "name": "SHL", "source": 3 }, { "begin": 1231, "end": 1249, "name": "DUP3", "source": 3 }, { "begin": 1250, "end": 1251, "name": "DUP3", "source": 3 }, { "begin": 1231, "end": 1252, "name": "DUP2", "source": 3 }, { "begin": 1231, "end": 1252, "name": "MLOAD", "source": 3 }, { "begin": 1231, "end": 1252, "name": "DUP2", "source": 3 }, { "begin": 1231, "end": 1252, "name": "LT", "source": 3 }, { "begin": 1231, "end": 1252, "name": "PUSH [tag]", "source": 3, "value": "46" }, { "begin": 1231, "end": 1252, "name": "JUMPI", "source": 3 }, { "begin": 1231, "end": 1252, "name": "PUSH [tag]", "source": 3, "value": "47" }, { "begin": 1231, "end": 1252, "name": "PUSH [tag]", "source": 3, "value": "23" }, { "begin": 1231, "end": 1252, "jumpType": "[in]", "name": "JUMP", "source": 3 }, { "begin": 1231, "end": 1252, "name": "tag", "source": 3, "value": "47" }, { "begin": 1231, "end": 1252, "name": "JUMPDEST", "source": 3 }, { "begin": 1231, "end": 1252, "name": "tag", "source": 3, "value": "46" }, { "begin": 1231, "end": 1252, "name": "JUMPDEST", "source": 3 }, { "begin": 1231, "end": 1252, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 1231, "end": 1252, "name": "ADD", "source": 3 }, { "begin": 1231, "end": 1252, "name": "ADD", "source": 3 }, { "begin": 1231, "end": 1273, "name": "SWAP1", "source": 3 }, { "begin": 1231, "end": 1273, "name": "PUSH", "source": 3, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1231, "end": 1273, "name": "NOT", "source": 3 }, { "begin": 1231, "end": 1273, "name": "AND", "source": 3 }, { "begin": 1231, "end": 1273, "name": "SWAP1", "source": 3 }, { "begin": 1231, "end": 1273, "name": "DUP2", "source": 3 }, { "begin": 1231, "end": 1273, "name": "PUSH", "source": 3, "value": "0" }, { "begin": 1231, "end": 1273, "name": "BYTE", "source": 3 }, { "begin": 1231, "end": 1273, "name": "SWAP1", "source": 3 }, { "begin": 1231, "end": 1273, "name": "MSTORE8", "source": 3 }, { "begin": 1231, "end": 1273, "name": "POP", "source": 3 }, { "begin": 1039, "end": 1288, "name": "tag", "source": 3, "value": "41" }, { "begin": 1039, "end": 1288, "name": "JUMPDEST", "source": 3 }, { "begin": 1020, "end": 1023, "name": "DUP1", "source": 3 }, { "begin": 1020, "end": 1023, "name": "DUP1", "source": 3 }, { "begin": 1020, "end": 1023, "name": "PUSH [tag]", "source": 3, "value": "48" }, { "begin": 1020, "end": 1023, "name": "SWAP1", "source": 3 }, { "begin": 1020, "end": 1023, "name": "PUSH [tag]", "source": 3, "value": "49" }, { "begin": 1020, "end": 1023, "jumpType": "[in]", "name": "JUMP", "source": 3 }, { "begin": 1020, "end": 1023, "name": "tag", "source": 3, "value": "48" }, { "begin": 1020, "end": 1023, "name": "JUMPDEST", "source": 3 }, { "begin": 1020, "end": 1023, "name": "SWAP2", "source": 3 }, { "begin": 1020, "end": 1023, "name": "POP", "source": 3 }, { "begin": 1020, "end": 1023, "name": "POP", "source": 3 }, { "begin": 992, "end": 1365, "name": "PUSH [tag]", "source": 3, "value": "33" }, { "begin": 992, "end": 1365, "name": "JUMP", "source": 3 }, { "begin": 992, "end": 1365, "name": "tag", "source": 3, "value": "34" }, { "begin": 992, "end": 1365, "name": "JUMPDEST", "source": 3 }, { "begin": 992, "end": 1365, "name": "POP", "source": 3 }, { "begin": 1426, "end": 1452, "name": "PUSH", "source": 3, "value": "0" }, { "begin": 1462, "end": 1480, "name": "DUP2", "source": 3 }, { "begin": 1426, "end": 1481, "name": "SWAP1", "source": 3 }, { "begin": 1426, "end": 1481, "name": "POP", "source": 3 }, { "begin": 1583, "end": 1608, "name": "PUSH", "source": 3, "value": "0" }, { "begin": 1646, "end": 1658, "name": "DUP2", "source": 3 }, { "begin": 1629, "end": 1659, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1629, "end": 1659, "name": "MLOAD", "source": 3 }, { "begin": 1629, "end": 1659, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 1629, "end": 1659, "name": "ADD", "source": 3 }, { "begin": 1629, "end": 1659, "name": "PUSH [tag]", "source": 3, "value": "50" }, { "begin": 1629, "end": 1659, "name": "SWAP2", "source": 3 }, { "begin": 1629, "end": 1659, "name": "SWAP1", "source": 3 }, { "begin": 1629, "end": 1659, "name": "PUSH [tag]", "source": 3, "value": "51" }, { "begin": 1629, "end": 1659, "jumpType": "[in]", "name": "JUMP", "source": 3 }, { "begin": 1629, "end": 1659, "name": "tag", "source": 3, "value": "50" }, { "begin": 1629, "end": 1659, "name": "JUMPDEST", "source": 3 }, { "begin": 1629, "end": 1659, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1629, "end": 1659, "name": "MLOAD", "source": 3 }, { "begin": 1629, "end": 1659, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 1629, "end": 1659, "name": "DUP2", "source": 3 }, { "begin": 1629, "end": 1659, "name": "DUP4", "source": 3 }, { "begin": 1629, "end": 1659, "name": "SUB", "source": 3 }, { "begin": 1629, "end": 1659, "name": "SUB", "source": 3 }, { "begin": 1629, "end": 1659, "name": "DUP2", "source": 3 }, { "begin": 1629, "end": 1659, "name": "MSTORE", "source": 3 }, { "begin": 1629, "end": 1659, "name": "SWAP1", "source": 3 }, { "begin": 1629, "end": 1659, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1629, "end": 1659, "name": "MSTORE", "source": 3 }, { "begin": 1619, "end": 1660, "name": "DUP1", "source": 3 }, { "begin": 1619, "end": 1660, "name": "MLOAD", "source": 3 }, { "begin": 1619, "end": 1660, "name": "SWAP1", "source": 3 }, { "begin": 1619, "end": 1660, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 1619, "end": 1660, "name": "ADD", "source": 3 }, { "begin": 1619, "end": 1660, "name": "KECCAK256", "source": 3 }, { "begin": 1583, "end": 1661, "name": "SWAP1", "source": 3 }, { "begin": 1583, "end": 1661, "name": "POP", "source": 3 }, { "begin": 1738, "end": 1752, "name": "PUSH", "source": 3, "value": "0" }, { "begin": 1763, "end": 1780, "name": "DUP2", "source": 3 }, { "begin": 1755, "end": 1781, "name": "PUSH", "source": 3, "value": "0" }, { "begin": 1755, "end": 1781, "name": "SHR", "source": 3 }, { "begin": 1738, "end": 1781, "name": "SWAP1", "source": 3 }, { "begin": 1738, "end": 1781, "name": "POP", "source": 3 }, { "begin": 1830, "end": 1854, "name": "PUSH", "source": 3, "value": "0" }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "MLOAD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP1", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "140" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP1", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "MLOAD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP1", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP1", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "8" }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "626C756520303031000000000000000000000000000000000000000000000000" }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "POP", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "MLOAD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP1", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP1", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "8" }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "70696E6B20303032000000000000000000000000000000000000000000000000" }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "POP", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "MLOAD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP1", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP1", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "9" }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "677265656E203030330000000000000000000000000000000000000000000000" }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "POP", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "MLOAD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP1", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP1", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "7" }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "7265642030303400000000000000000000000000000000000000000000000000" }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "POP", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "MLOAD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP1", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP1", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "A" }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "6F72616E67652030303500000000000000000000000000000000000000000000" }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "POP", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "MLOAD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP1", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP1", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "9" }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "677265656E203030360000000000000000000000000000000000000000000000" }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "POP", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "MLOAD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP1", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP1", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "8" }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "70696E6720303037000000000000000000000000000000000000000000000000" }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "POP", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "MLOAD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP1", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP1", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "7" }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "7265642030303800000000000000000000000000000000000000000000000000" }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "POP", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "MLOAD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP1", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP1", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "9" }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "6D6574616C203030390000000000000000000000000000000000000000000000" }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "POP", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "MLOAD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP1", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "40" }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP1", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "F" }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 1830, "end": 2117, "name": "ADD", "source": 3 }, { "begin": 1830, "end": 2117, "name": "PUSH", "source": 3, "value": "6C69676874206D6574616C203031300000000000000000000000000000000000" }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "POP", "source": 3 }, { "begin": 1830, "end": 2117, "name": "DUP2", "source": 3 }, { "begin": 1830, "end": 2117, "name": "MSTORE", "source": 3 }, { "begin": 1830, "end": 2117, "name": "POP", "source": 3 }, { "begin": 1830, "end": 2117, "name": "SWAP1", "source": 3 }, { "begin": 1830, "end": 2117, "name": "POP", "source": 3 }, { "begin": 2165, "end": 2183, "name": "PUSH", "source": 3, "value": "0" }, { "begin": 2195, "end": 2208, "name": "PUSH", "source": 3, "value": "A" }, { "begin": 2186, "end": 2192, "name": "DUP4", "source": 3 }, { "begin": 2186, "end": 2208, "name": "PUSH [tag]", "source": 3, "value": "52" }, { "begin": 2186, "end": 2208, "name": "SWAP2", "source": 3 }, { "begin": 2186, "end": 2208, "name": "SWAP1", "source": 3 }, { "begin": 2186, "end": 2208, "name": "PUSH [tag]", "source": 3, "value": "20" }, { "begin": 2186, "end": 2208, "jumpType": "[in]", "name": "JUMP", "source": 3 }, { "begin": 2186, "end": 2208, "name": "tag", "source": 3, "value": "52" }, { "begin": 2186, "end": 2208, "name": "JUMPDEST", "source": 3 }, { "begin": 2165, "end": 2208, "name": "SWAP1", "source": 3 }, { "begin": 2165, "end": 2208, "name": "POP", "source": 3 }, { "begin": 2271, "end": 2277, "name": "DUP2", "source": 3 }, { "begin": 2278, "end": 2288, "name": "DUP2", "source": 3 }, { "begin": 2271, "end": 2289, "name": "PUSH", "source": 3, "value": "A" }, { "begin": 2271, "end": 2289, "name": "DUP2", "source": 3 }, { "begin": 2271, "end": 2289, "name": "LT", "source": 3 }, { "begin": 2271, "end": 2289, "name": "PUSH [tag]", "source": 3, "value": "53" }, { "begin": 2271, "end": 2289, "name": "JUMPI", "source": 3 }, { "begin": 2271, "end": 2289, "name": "PUSH [tag]", "source": 3, "value": "54" }, { "begin": 2271, "end": 2289, "name": "PUSH [tag]", "source": 3, "value": "23" }, { "begin": 2271, "end": 2289, "jumpType": "[in]", "name": "JUMP", "source": 3 }, { "begin": 2271, "end": 2289, "name": "tag", "source": 3, "value": "54" }, { "begin": 2271, "end": 2289, "name": "JUMPDEST", "source": 3 }, { "begin": 2271, "end": 2289, "name": "tag", "source": 3, "value": "53" }, { "begin": 2271, "end": 2289, "name": "JUMPDEST", "source": 3 }, { "begin": 2271, "end": 2289, "name": "PUSH", "source": 3, "value": "20" }, { "begin": 2271, "end": 2289, "name": "MUL", "source": 3 }, { "begin": 2271, "end": 2289, "name": "ADD", "source": 3 }, { "begin": 2271, "end": 2289, "name": "MLOAD", "source": 3 }, { "begin": 2264, "end": 2289, "name": "SWAP7", "source": 3 }, { "begin": 2264, "end": 2289, "name": "POP", "source": 3 }, { "begin": 2264, "end": 2289, "name": "POP", "source": 3 }, { "begin": 2264, "end": 2289, "name": "POP", "source": 3 }, { "begin": 2264, "end": 2289, "name": "POP", "source": 3 }, { "begin": 2264, "end": 2289, "name": "POP", "source": 3 }, { "begin": 2264, "end": 2289, "name": "POP", "source": 3 }, { "begin": 2264, "end": 2289, "name": "POP", "source": 3 }, { "begin": 584, "end": 2296, "name": "SWAP2", "source": 3 }, { "begin": 584, "end": 2296, "name": "SWAP1", "source": 3 }, { "begin": 584, "end": 2296, "name": "POP", "source": 3 }, { "begin": 584, "end": 2296, "jumpType": "[out]", "name": "JUMP", "source": 3 }, { "begin": 2005, "end": 2530, "name": "tag", "source": 0, "value": "18" }, { "begin": 2005, "end": 2530, "name": "JUMPDEST", "source": 0 }, { "begin": 2080, "end": 2093, "name": "PUSH", "source": 0, "value": "60" }, { "begin": 2105, "end": 2123, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2126, "end": 2131, "name": "DUP4", "source": 0 }, { "begin": 2105, "end": 2131, "name": "SWAP1", "source": 0 }, { "begin": 2105, "end": 2131, "name": "POP", "source": 0 }, { "begin": 2141, "end": 2160, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2186, "end": 2187, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 2177, "end": 2183, "name": "DUP5", "source": 0 }, { "begin": 2173, "end": 2174, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 2173, "end": 2183, "name": "PUSH [tag]", "source": 0, "value": "56" }, { "begin": 2173, "end": 2183, "name": "SWAP2", "source": 0 }, { "begin": 2173, "end": 2183, "name": "SWAP1", "source": 0 }, { "begin": 2173, "end": 2183, "name": "PUSH [tag]", "source": 0, "value": "57" }, { "begin": 2173, "end": 2183, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { "begin": 2173, "end": 2183, "name": "tag", "source": 0, "value": "56" }, { "begin": 2173, "end": 2183, "name": "JUMPDEST", "source": 0 }, { "begin": 2173, "end": 2187, "name": "PUSH [tag]", "source": 0, "value": "58" }, { "begin": 2173, "end": 2187, "name": "SWAP2", "source": 0 }, { "begin": 2173, "end": 2187, "name": "SWAP1", "source": 0 }, { "begin": 2173, "end": 2187, "name": "PUSH [tag]", "source": 0, "value": "43" }, { "begin": 2173, "end": 2187, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { "begin": 2173, "end": 2187, "name": "tag", "source": 0, "value": "58" }, { "begin": 2173, "end": 2187, "name": "JUMPDEST", "source": 0 }, { "begin": 2163, "end": 2188, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFF" }, { "begin": 2163, "end": 2188, "name": "DUP2", "source": 0 }, { "begin": 2163, "end": 2188, "name": "GT", "source": 0 }, { "begin": 2163, "end": 2188, "name": "ISZERO", "source": 0 }, { "begin": 2163, "end": 2188, "name": "PUSH [tag]", "source": 0, "value": "59" }, { "begin": 2163, "end": 2188, "name": "JUMPI", "source": 0 }, { "begin": 2163, "end": 2188, "name": "PUSH [tag]", "source": 0, "value": "60" }, { "begin": 2163, "end": 2188, "name": "PUSH [tag]", "source": 0, "value": "31" }, { "begin": 2163, "end": 2188, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { "begin": 2163, "end": 2188, "name": "tag", "source": 0, "value": "60" }, { "begin": 2163, "end": 2188, "name": "JUMPDEST", "source": 0 }, { "begin": 2163, "end": 2188, "name": "tag", "source": 0, "value": "59" }, { "begin": 2163, "end": 2188, "name": "JUMPDEST", "source": 0 }, { "begin": 2163, "end": 2188, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 2163, "end": 2188, "name": "MLOAD", "source": 0 }, { "begin": 2163, "end": 2188, "name": "SWAP1", "source": 0 }, { "begin": 2163, "end": 2188, "name": "DUP1", "source": 0 }, { "begin": 2163, "end": 2188, "name": "DUP3", "source": 0 }, { "begin": 2163, "end": 2188, "name": "MSTORE", "source": 0 }, { "begin": 2163, "end": 2188, "name": "DUP1", "source": 0 }, { "begin": 2163, "end": 2188, "name": "PUSH", "source": 0, "value": "1F" }, { "begin": 2163, "end": 2188, "name": "ADD", "source": 0 }, { "begin": 2163, "end": 2188, "name": "PUSH", "source": 0, "value": "1F" }, { "begin": 2163, "end": 2188, "name": "NOT", "source": 0 }, { "begin": 2163, "end": 2188, "name": "AND", "source": 0 }, { "begin": 2163, "end": 2188, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2163, "end": 2188, "name": "ADD", "source": 0 }, { "begin": 2163, "end": 2188, "name": "DUP3", "source": 0 }, { "begin": 2163, "end": 2188, "name": "ADD", "source": 0 }, { "begin": 2163, "end": 2188, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 2163, "end": 2188, "name": "MSTORE", "source": 0 }, { "begin": 2163, "end": 2188, "name": "DUP1", "source": 0 }, { "begin": 2163, "end": 2188, "name": "ISZERO", "source": 0 }, { "begin": 2163, "end": 2188, "name": "PUSH [tag]", "source": 0, "value": "61" }, { "begin": 2163, "end": 2188, "name": "JUMPI", "source": 0 }, { "begin": 2163, "end": 2188, "name": "DUP2", "source": 0 }, { "begin": 2163, "end": 2188, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2163, "end": 2188, "name": "ADD", "source": 0 }, { "begin": 2163, "end": 2188, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2163, "end": 2188, "name": "DUP3", "source": 0 }, { "begin": 2163, "end": 2188, "name": "MUL", "source": 0 }, { "begin": 2163, "end": 2188, "name": "DUP1", "source": 0 }, { "begin": 2163, "end": 2188, "name": "CALLDATASIZE", "source": 0 }, { "begin": 2163, "end": 2188, "name": "DUP4", "source": 0 }, { "begin": 2163, "end": 2188, "name": "CALLDATACOPY", "source": 0 }, { "begin": 2163, "end": 2188, "name": "DUP1", "source": 0 }, { "begin": 2163, "end": 2188, "name": "DUP3", "source": 0 }, { "begin": 2163, "end": 2188, "name": "ADD", "source": 0 }, { "begin": 2163, "end": 2188, "name": "SWAP2", "source": 0 }, { "begin": 2163, "end": 2188, "name": "POP", "source": 0 }, { "begin": 2163, "end": 2188, "name": "POP", "source": 0 }, { "begin": 2163, "end": 2188, "name": "SWAP1", "source": 0 }, { "begin": 2163, "end": 2188, "name": "POP", "source": 0 }, { "begin": 2163, "end": 2188, "name": "tag", "source": 0, "value": "61" }, { "begin": 2163, "end": 2188, "name": "JUMPDEST", "source": 0 }, { "begin": 2163, "end": 2188, "name": "POP", "source": 0 }, { "begin": 2141, "end": 2188, "name": "SWAP1", "source": 0 }, { "begin": 2141, "end": 2188, "name": "POP", "source": 0 }, { "begin": 2198, "end": 2213, "name": "PUSH", "source": 0, "value": "3000000000000000000000000000000000000000000000000000000000000000" }, { "begin": 2198, "end": 2204, "name": "DUP2", "source": 0 }, { "begin": 2205, "end": 2206, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2198, "end": 2207, "name": "DUP2", "source": 0 }, { "begin": 2198, "end": 2207, "name": "MLOAD", "source": 0 }, { "begin": 2198, "end": 2207, "name": "DUP2", "source": 0 }, { "begin": 2198, "end": 2207, "name": "LT", "source": 0 }, { "begin": 2198, "end": 2207, "name": "PUSH [tag]", "source": 0, "value": "62" }, { "begin": 2198, "end": 2207, "name": "JUMPI", "source": 0 }, { "begin": 2198, "end": 2207, "name": "PUSH [tag]", "source": 0, "value": "63" }, { "begin": 2198, "end": 2207, "name": "PUSH [tag]", "source": 0, "value": "23" }, { "begin": 2198, "end": 2207, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { "begin": 2198, "end": 2207, "name": "tag", "source": 0, "value": "63" }, { "begin": 2198, "end": 2207, "name": "JUMPDEST", "source": 0 }, { "begin": 2198, "end": 2207, "name": "tag", "source": 0, "value": "62" }, { "begin": 2198, "end": 2207, "name": "JUMPDEST", "source": 0 }, { "begin": 2198, "end": 2207, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2198, "end": 2207, "name": "ADD", "source": 0 }, { "begin": 2198, "end": 2207, "name": "ADD", "source": 0 }, { "begin": 2198, "end": 2213, "name": "SWAP1", "source": 0 }, { "begin": 2198, "end": 2213, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2198, "end": 2213, "name": "NOT", "source": 0 }, { "begin": 2198, "end": 2213, "name": "AND", "source": 0 }, { "begin": 2198, "end": 2213, "name": "SWAP1", "source": 0 }, { "begin": 2198, "end": 2213, "name": "DUP2", "source": 0 }, { "begin": 2198, "end": 2213, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2198, "end": 2213, "name": "BYTE", "source": 0 }, { "begin": 2198, "end": 2213, "name": "SWAP1", "source": 0 }, { "begin": 2198, "end": 2213, "name": "MSTORE8", "source": 0 }, { "begin": 2198, "end": 2213, "name": "POP", "source": 0 }, { "begin": 2223, "end": 2238, "name": "PUSH", "source": 0, "value": "7800000000000000000000000000000000000000000000000000000000000000" }, { "begin": 2223, "end": 2229, "name": "DUP2", "source": 0 }, { "begin": 2230, "end": 2231, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2223, "end": 2232, "name": "DUP2", "source": 0 }, { "begin": 2223, "end": 2232, "name": "MLOAD", "source": 0 }, { "begin": 2223, "end": 2232, "name": "DUP2", "source": 0 }, { "begin": 2223, "end": 2232, "name": "LT", "source": 0 }, { "begin": 2223, "end": 2232, "name": "PUSH [tag]", "source": 0, "value": "64" }, { "begin": 2223, "end": 2232, "name": "JUMPI", "source": 0 }, { "begin": 2223, "end": 2232, "name": "PUSH [tag]", "source": 0, "value": "65" }, { "begin": 2223, "end": 2232, "name": "PUSH [tag]", "source": 0, "value": "23" }, { "begin": 2223, "end": 2232, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { "begin": 2223, "end": 2232, "name": "tag", "source": 0, "value": "65" }, { "begin": 2223, "end": 2232, "name": "JUMPDEST", "source": 0 }, { "begin": 2223, "end": 2232, "name": "tag", "source": 0, "value": "64" }, { "begin": 2223, "end": 2232, "name": "JUMPDEST", "source": 0 }, { "begin": 2223, "end": 2232, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2223, "end": 2232, "name": "ADD", "source": 0 }, { "begin": 2223, "end": 2232, "name": "ADD", "source": 0 }, { "begin": 2223, "end": 2238, "name": "SWAP1", "source": 0 }, { "begin": 2223, "end": 2238, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2223, "end": 2238, "name": "NOT", "source": 0 }, { "begin": 2223, "end": 2238, "name": "AND", "source": 0 }, { "begin": 2223, "end": 2238, "name": "SWAP1", "source": 0 }, { "begin": 2223, "end": 2238, "name": "DUP2", "source": 0 }, { "begin": 2223, "end": 2238, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2223, "end": 2238, "name": "BYTE", "source": 0 }, { "begin": 2223, "end": 2238, "name": "SWAP1", "source": 0 }, { "begin": 2223, "end": 2238, "name": "MSTORE8", "source": 0 }, { "begin": 2223, "end": 2238, "name": "POP", "source": 0 }, { "begin": 2253, "end": 2262, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2278, "end": 2279, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2269, "end": 2275, "name": "DUP6", "source": 0 }, { "begin": 2265, "end": 2266, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 2265, "end": 2275, "name": "PUSH [tag]", "source": 0, "value": "69" }, { "begin": 2265, "end": 2275, "name": "SWAP2", "source": 0 }, { "begin": 2265, "end": 2275, "name": "SWAP1", "source": 0 }, { "begin": 2265, "end": 2275, "name": "PUSH [tag]", "source": 0, "value": "57" }, { "begin": 2265, "end": 2275, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { "begin": 2265, "end": 2275, "name": "tag", "source": 0, "value": "69" }, { "begin": 2265, "end": 2275, "name": "JUMPDEST", "source": 0 }, { "begin": 2265, "end": 2279, "name": "PUSH [tag]", "source": 0, "value": "70" }, { "begin": 2265, "end": 2279, "name": "SWAP2", "source": 0 }, { "begin": 2265, "end": 2279, "name": "SWAP1", "source": 0 }, { "begin": 2265, "end": 2279, "name": "PUSH [tag]", "source": 0, "value": "43" }, { "begin": 2265, "end": 2279, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { "begin": 2265, "end": 2279, "name": "tag", "source": 0, "value": "70" }, { "begin": 2265, "end": 2279, "name": "JUMPDEST", "source": 0 }, { "begin": 2253, "end": 2279, "name": "SWAP1", "source": 0 }, { "begin": 2253, "end": 2279, "name": "POP", "source": 0 }, { "begin": 2248, "end": 2388, "name": "tag", "source": 0, "value": "66" }, { "begin": 2248, "end": 2388, "name": "JUMPDEST", "source": 0 }, { "begin": 2285, "end": 2286, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2281, "end": 2282, "name": "DUP2", "source": 0 }, { "begin": 2281, "end": 2286, "name": "GT", "source": 0 }, { "begin": 2248, "end": 2388, "name": "ISZERO", "source": 0 }, { "begin": 2248, "end": 2388, "name": "PUSH [tag]", "source": 0, "value": "67" }, { "begin": 2248, "end": 2388, "name": "JUMPI", "source": 0 }, { "begin": 2319, "end": 2329, "name": "PUSH", "source": 0, "value": "3031323334353637383961626364656600000000000000000000000000000000" }, { "begin": 2343, "end": 2346, "name": "PUSH", "source": 0, "value": "F" }, { "begin": 2330, "end": 2340, "name": "DUP5", "source": 0 }, { "begin": 2330, "end": 2346, "name": "AND", "source": 0 }, { "begin": 2319, "end": 2347, "name": "PUSH", "source": 0, "value": "10" }, { "begin": 2319, "end": 2347, "name": "DUP2", "source": 0 }, { "begin": 2319, "end": 2347, "name": "LT", "source": 0 }, { "begin": 2319, "end": 2347, "name": "PUSH [tag]", "source": 0, "value": "71" }, { "begin": 2319, "end": 2347, "name": "JUMPI", "source": 0 }, { "begin": 2319, "end": 2347, "name": "PUSH [tag]", "source": 0, "value": "72" }, { "begin": 2319, "end": 2347, "name": "PUSH [tag]", "source": 0, "value": "23" }, { "begin": 2319, "end": 2347, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { "begin": 2319, "end": 2347, "name": "tag", "source": 0, "value": "72" }, { "begin": 2319, "end": 2347, "name": "JUMPDEST", "source": 0 }, { "begin": 2319, "end": 2347, "name": "tag", "source": 0, "value": "71" }, { "begin": 2319, "end": 2347, "name": "JUMPDEST", "source": 0 }, { "begin": 2319, "end": 2347, "name": "BYTE", "source": 0 }, { "begin": 2319, "end": 2347, "name": "PUSH", "source": 0, "value": "F8" }, { "begin": 2319, "end": 2347, "name": "SHL", "source": 0 }, { "begin": 2307, "end": 2313, "name": "DUP3", "source": 0 }, { "begin": 2314, "end": 2315, "name": "DUP3", "source": 0 }, { "begin": 2307, "end": 2316, "name": "DUP2", "source": 0 }, { "begin": 2307, "end": 2316, "name": "MLOAD", "source": 0 }, { "begin": 2307, "end": 2316, "name": "DUP2", "source": 0 }, { "begin": 2307, "end": 2316, "name": "LT", "source": 0 }, { "begin": 2307, "end": 2316, "name": "PUSH [tag]", "source": 0, "value": "73" }, { "begin": 2307, "end": 2316, "name": "JUMPI", "source": 0 }, { "begin": 2307, "end": 2316, "name": "PUSH [tag]", "source": 0, "value": "74" }, { "begin": 2307, "end": 2316, "name": "PUSH [tag]", "source": 0, "value": "23" }, { "begin": 2307, "end": 2316, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { "begin": 2307, "end": 2316, "name": "tag", "source": 0, "value": "74" }, { "begin": 2307, "end": 2316, "name": "JUMPDEST", "source": 0 }, { "begin": 2307, "end": 2316, "name": "tag", "source": 0, "value": "73" }, { "begin": 2307, "end": 2316, "name": "JUMPDEST", "source": 0 }, { "begin": 2307, "end": 2316, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2307, "end": 2316, "name": "ADD", "source": 0 }, { "begin": 2307, "end": 2316, "name": "ADD", "source": 0 }, { "begin": 2307, "end": 2347, "name": "SWAP1", "source": 0 }, { "begin": 2307, "end": 2347, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2307, "end": 2347, "name": "NOT", "source": 0 }, { "begin": 2307, "end": 2347, "name": "AND", "source": 0 }, { "begin": 2307, "end": 2347, "name": "SWAP1", "source": 0 }, { "begin": 2307, "end": 2347, "name": "DUP2", "source": 0 }, { "begin": 2307, "end": 2347, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2307, "end": 2347, "name": "BYTE", "source": 0 }, { "begin": 2307, "end": 2347, "name": "SWAP1", "source": 0 }, { "begin": 2307, "end": 2347, "name": "MSTORE8", "source": 0 }, { "begin": 2307, "end": 2347, "name": "POP", "source": 0 }, { "begin": 2376, "end": 2377, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 2361, "end": 2377, "name": "DUP4", "source": 0 }, { "begin": 2361, "end": 2377, "name": "SWAP1", "source": 0 }, { "begin": 2361, "end": 2377, "name": "SHR", "source": 0 }, { "begin": 2361, "end": 2377, "name": "SWAP3", "source": 0 }, { "begin": 2361, "end": 2377, "name": "POP", "source": 0 }, { "begin": 2288, "end": 2291, "name": "DUP1", "source": 0 }, { "begin": 2288, "end": 2291, "name": "PUSH [tag]", "source": 0, "value": "75" }, { "begin": 2288, "end": 2291, "name": "SWAP1", "source": 0 }, { "begin": 2288, "end": 2291, "name": "PUSH [tag]", "source": 0, "value": "76" }, { "begin": 2288, "end": 2291, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { "begin": 2288, "end": 2291, "name": "tag", "source": 0, "value": "75" }, { "begin": 2288, "end": 2291, "name": "JUMPDEST", "source": 0 }, { "begin": 2288, "end": 2291, "name": "SWAP1", "source": 0 }, { "begin": 2288, "end": 2291, "name": "POP", "source": 0 }, { "begin": 2248, "end": 2388, "name": "PUSH [tag]", "source": 0, "value": "66" }, { "begin": 2248, "end": 2388, "name": "JUMP", "source": 0 }, { "begin": 2248, "end": 2388, "name": "tag", "source": 0, "value": "67" }, { "begin": 2248, "end": 2388, "name": "JUMPDEST", "source": 0 }, { "begin": 2248, "end": 2388, "name": "POP", "source": 0 }, { "begin": 2415, "end": 2416, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2401, "end": 2411, "name": "DUP3", "source": 0 }, { "begin": 2401, "end": 2416, "name": "EQ", "source": 0 }, { "begin": 2397, "end": 2493, "name": "PUSH [tag]", "source": 0, "value": "77" }, { "begin": 2397, "end": 2493, "name": "JUMPI", "source": 0 }, { "begin": 2468, "end": 2473, "name": "DUP5", "source": 0 }, { "begin": 2475, "end": 2481, "name": "DUP5", "source": 0 }, { "begin": 2439, "end": 2482, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 2439, "end": 2482, "name": "MLOAD", "source": 0 }, { "begin": 2439, "end": 2482, "name": "PUSH", "source": 0, "value": "E22E27EB00000000000000000000000000000000000000000000000000000000" }, { "begin": 2439, "end": 2482, "name": "DUP2", "source": 0 }, { "begin": 2439, "end": 2482, "name": "MSTORE", "source": 0 }, { "begin": 2439, "end": 2482, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 2439, "end": 2482, "name": "ADD", "source": 0 }, { "begin": 2439, "end": 2482, "name": "PUSH [tag]", "source": 0, "value": "78" }, { "begin": 2439, "end": 2482, "name": "SWAP3", "source": 0 }, { "begin": 2439, "end": 2482, "name": "SWAP2", "source": 0 }, { "begin": 2439, "end": 2482, "name": "SWAP1", "source": 0 }, { "begin": 2439, "end": 2482, "name": "PUSH [tag]", "source": 0, "value": "79" }, { "begin": 2439, "end": 2482, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { "begin": 2439, "end": 2482, "name": "tag", "source": 0, "value": "78" }, { "begin": 2439, "end": 2482, "name": "JUMPDEST", "source": 0 }, { "begin": 2439, "end": 2482, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 2439, "end": 2482, "name": "MLOAD", "source": 0 }, { "begin": 2439, "end": 2482, "name": "DUP1", "source": 0 }, { "begin": 2439, "end": 2482, "name": "SWAP2", "source": 0 }, { "begin": 2439, "end": 2482, "name": "SUB", "source": 0 }, { "begin": 2439, "end": 2482, "name": "SWAP1", "source": 0 }, { "begin": 2439, "end": 2482, "name": "REVERT", "source": 0 }, { "begin": 2397, "end": 2493, "name": "tag", "source": 0, "value": "77" }, { "begin": 2397, "end": 2493, "name": "JUMPDEST", "source": 0 }, { "begin": 2516, "end": 2522, "name": "DUP1", "source": 0 }, { "begin": 2502, "end": 2523, "name": "SWAP3", "source": 0 }, { "begin": 2502, "end": 2523, "name": "POP", "source": 0 }, { "begin": 2502, "end": 2523, "name": "POP", "source": 0 }, { "begin": 2502, "end": 2523, "name": "POP", "source": 0 }, { "begin": 2005, "end": 2530, "name": "SWAP3", "source": 0 }, { "begin": 2005, "end": 2530, "name": "SWAP2", "source": 0 }, { "begin": 2005, "end": 2530, "name": "POP", "source": 0 }, { "begin": 2005, "end": 2530, "name": "POP", "source": 0 }, { "begin": 2005, "end": 2530, "jumpType": "[out]", "name": "JUMP", "source": 0 }, { "begin": 7, "end": 82, "name": "tag", "source": 4, "value": "80" }, { "begin": 7, "end": 82, "name": "JUMPDEST", "source": 4 }, { "begin": 40, "end": 46, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 73, "end": 75, "name": "PUSH", "source": 4, "value": "40" }, { "begin": 67, "end": 76, "name": "MLOAD", "source": 4 }, { "begin": 57, "end": 76, "name": "SWAP1", "source": 4 }, { "begin": 57, "end": 76, "name": "POP", "source": 4 }, { "begin": 7, "end": 82, "name": "SWAP1", "source": 4 }, { "begin": 7, "end": 82, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 88, "end": 205, "name": "tag", "source": 4, "value": "81" }, { "begin": 88, "end": 205, "name": "JUMPDEST", "source": 4 }, { "begin": 197, "end": 198, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 194, "end": 195, "name": "DUP1", "source": 4 }, { "begin": 187, "end": 199, "name": "REVERT", "source": 4 }, { "begin": 211, "end": 328, "name": "tag", "source": 4, "value": "82" }, { "begin": 211, "end": 328, "name": "JUMPDEST", "source": 4 }, { "begin": 320, "end": 321, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 317, "end": 318, "name": "DUP1", "source": 4 }, { "begin": 310, "end": 322, "name": "REVERT", "source": 4 }, { "begin": 334, "end": 411, "name": "tag", "source": 4, "value": "83" }, { "begin": 334, "end": 411, "name": "JUMPDEST", "source": 4 }, { "begin": 371, "end": 378, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 400, "end": 405, "name": "DUP2", "source": 4 }, { "begin": 389, "end": 405, "name": "SWAP1", "source": 4 }, { "begin": 389, "end": 405, "name": "POP", "source": 4 }, { "begin": 334, "end": 411, "name": "SWAP2", "source": 4 }, { "begin": 334, "end": 411, "name": "SWAP1", "source": 4 }, { "begin": 334, "end": 411, "name": "POP", "source": 4 }, { "begin": 334, "end": 411, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 417, "end": 539, "name": "tag", "source": 4, "value": "84" }, { "begin": 417, "end": 539, "name": "JUMPDEST", "source": 4 }, { "begin": 490, "end": 514, "name": "PUSH [tag]", "source": 4, "value": "112" }, { "begin": 508, "end": 513, "name": "DUP2", "source": 4 }, { "begin": 490, "end": 514, "name": "PUSH [tag]", "source": 4, "value": "83" }, { "begin": 490, "end": 514, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 490, "end": 514, "name": "tag", "source": 4, "value": "112" }, { "begin": 490, "end": 514, "name": "JUMPDEST", "source": 4 }, { "begin": 483, "end": 488, "name": "DUP2", "source": 4 }, { "begin": 480, "end": 515, "name": "EQ", "source": 4 }, { "begin": 470, "end": 533, "name": "PUSH [tag]", "source": 4, "value": "113" }, { "begin": 470, "end": 533, "name": "JUMPI", "source": 4 }, { "begin": 529, "end": 530, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 526, "end": 527, "name": "DUP1", "source": 4 }, { "begin": 519, "end": 531, "name": "REVERT", "source": 4 }, { "begin": 470, "end": 533, "name": "tag", "source": 4, "value": "113" }, { "begin": 470, "end": 533, "name": "JUMPDEST", "source": 4 }, { "begin": 417, "end": 539, "name": "POP", "source": 4 }, { "begin": 417, "end": 539, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 545, "end": 684, "name": "tag", "source": 4, "value": "85" }, { "begin": 545, "end": 684, "name": "JUMPDEST", "source": 4 }, { "begin": 591, "end": 596, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 629, "end": 635, "name": "DUP2", "source": 4 }, { "begin": 616, "end": 636, "name": "CALLDATALOAD", "source": 4 }, { "begin": 607, "end": 636, "name": "SWAP1", "source": 4 }, { "begin": 607, "end": 636, "name": "POP", "source": 4 }, { "begin": 645, "end": 678, "name": "PUSH [tag]", "source": 4, "value": "115" }, { "begin": 672, "end": 677, "name": "DUP2", "source": 4 }, { "begin": 645, "end": 678, "name": "PUSH [tag]", "source": 4, "value": "84" }, { "begin": 645, "end": 678, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 645, "end": 678, "name": "tag", "source": 4, "value": "115" }, { "begin": 645, "end": 678, "name": "JUMPDEST", "source": 4 }, { "begin": 545, "end": 684, "name": "SWAP3", "source": 4 }, { "begin": 545, "end": 684, "name": "SWAP2", "source": 4 }, { "begin": 545, "end": 684, "name": "POP", "source": 4 }, { "begin": 545, "end": 684, "name": "POP", "source": 4 }, { "begin": 545, "end": 684, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 690, "end": 1019, "name": "tag", "source": 4, "value": "7" }, { "begin": 690, "end": 1019, "name": "JUMPDEST", "source": 4 }, { "begin": 749, "end": 755, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 798, "end": 800, "name": "PUSH", "source": 4, "value": "20" }, { "begin": 786, "end": 795, "name": "DUP3", "source": 4 }, { "begin": 777, "end": 784, "name": "DUP5", "source": 4 }, { "begin": 773, "end": 796, "name": "SUB", "source": 4 }, { "begin": 769, "end": 801, "name": "SLT", "source": 4 }, { "begin": 766, "end": 885, "name": "ISZERO", "source": 4 }, { "begin": 766, "end": 885, "name": "PUSH [tag]", "source": 4, "value": "117" }, { "begin": 766, "end": 885, "name": "JUMPI", "source": 4 }, { "begin": 804, "end": 883, "name": "PUSH [tag]", "source": 4, "value": "118" }, { "begin": 804, "end": 883, "name": "PUSH [tag]", "source": 4, "value": "81" }, { "begin": 804, "end": 883, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 804, "end": 883, "name": "tag", "source": 4, "value": "118" }, { "begin": 804, "end": 883, "name": "JUMPDEST", "source": 4 }, { "begin": 766, "end": 885, "name": "tag", "source": 4, "value": "117" }, { "begin": 766, "end": 885, "name": "JUMPDEST", "source": 4 }, { "begin": 924, "end": 925, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 949, "end": 1002, "name": "PUSH [tag]", "source": 4, "value": "119" }, { "begin": 994, "end": 1001, "name": "DUP5", "source": 4 }, { "begin": 985, "end": 991, "name": "DUP3", "source": 4 }, { "begin": 974, "end": 983, "name": "DUP6", "source": 4 }, { "begin": 970, "end": 992, "name": "ADD", "source": 4 }, { "begin": 949, "end": 1002, "name": "PUSH [tag]", "source": 4, "value": "85" }, { "begin": 949, "end": 1002, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 949, "end": 1002, "name": "tag", "source": 4, "value": "119" }, { "begin": 949, "end": 1002, "name": "JUMPDEST", "source": 4 }, { "begin": 939, "end": 1002, "name": "SWAP2", "source": 4 }, { "begin": 939, "end": 1002, "name": "POP", "source": 4 }, { "begin": 895, "end": 1012, "name": "POP", "source": 4 }, { "begin": 690, "end": 1019, "name": "SWAP3", "source": 4 }, { "begin": 690, "end": 1019, "name": "SWAP2", "source": 4 }, { "begin": 690, "end": 1019, "name": "POP", "source": 4 }, { "begin": 690, "end": 1019, "name": "POP", "source": 4 }, { "begin": 690, "end": 1019, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 1025, "end": 1124, "name": "tag", "source": 4, "value": "86" }, { "begin": 1025, "end": 1124, "name": "JUMPDEST", "source": 4 }, { "begin": 1077, "end": 1083, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 1111, "end": 1116, "name": "DUP2", "source": 4 }, { "begin": 1105, "end": 1117, "name": "MLOAD", "source": 4 }, { "begin": 1095, "end": 1117, "name": "SWAP1", "source": 4 }, { "begin": 1095, "end": 1117, "name": "POP", "source": 4 }, { "begin": 1025, "end": 1124, "name": "SWAP2", "source": 4 }, { "begin": 1025, "end": 1124, "name": "SWAP1", "source": 4 }, { "begin": 1025, "end": 1124, "name": "POP", "source": 4 }, { "begin": 1025, "end": 1124, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 1130, "end": 1299, "name": "tag", "source": 4, "value": "87" }, { "begin": 1130, "end": 1299, "name": "JUMPDEST", "source": 4 }, { "begin": 1214, "end": 1225, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 1248, "end": 1254, "name": "DUP3", "source": 4 }, { "begin": 1243, "end": 1246, "name": "DUP3", "source": 4 }, { "begin": 1236, "end": 1255, "name": "MSTORE", "source": 4 }, { "begin": 1288, "end": 1292, "name": "PUSH", "source": 4, "value": "20" }, { "begin": 1283, "end": 1286, "name": "DUP3", "source": 4 }, { "begin": 1279, "end": 1293, "name": "ADD", "source": 4 }, { "begin": 1264, "end": 1293, "name": "SWAP1", "source": 4 }, { "begin": 1264, "end": 1293, "name": "POP", "source": 4 }, { "begin": 1130, "end": 1299, "name": "SWAP3", "source": 4 }, { "begin": 1130, "end": 1299, "name": "SWAP2", "source": 4 }, { "begin": 1130, "end": 1299, "name": "POP", "source": 4 }, { "begin": 1130, "end": 1299, "name": "POP", "source": 4 }, { "begin": 1130, "end": 1299, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 1305, "end": 1551, "name": "tag", "source": 4, "value": "88" }, { "begin": 1305, "end": 1551, "name": "JUMPDEST", "source": 4 }, { "begin": 1386, "end": 1387, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 1396, "end": 1509, "name": "tag", "source": 4, "value": "123" }, { "begin": 1396, "end": 1509, "name": "JUMPDEST", "source": 4 }, { "begin": 1410, "end": 1416, "name": "DUP4", "source": 4 }, { "begin": 1407, "end": 1408, "name": "DUP2", "source": 4 }, { "begin": 1404, "end": 1417, "name": "LT", "source": 4 }, { "begin": 1396, "end": 1509, "name": "ISZERO", "source": 4 }, { "begin": 1396, "end": 1509, "name": "PUSH [tag]", "source": 4, "value": "125" }, { "begin": 1396, "end": 1509, "name": "JUMPI", "source": 4 }, { "begin": 1495, "end": 1496, "name": "DUP1", "source": 4 }, { "begin": 1490, "end": 1493, "name": "DUP3", "source": 4 }, { "begin": 1486, "end": 1497, "name": "ADD", "source": 4 }, { "begin": 1480, "end": 1498, "name": "MLOAD", "source": 4 }, { "begin": 1476, "end": 1477, "name": "DUP2", "source": 4 }, { "begin": 1471, "end": 1474, "name": "DUP5", "source": 4 }, { "begin": 1467, "end": 1478, "name": "ADD", "source": 4 }, { "begin": 1460, "end": 1499, "name": "MSTORE", "source": 4 }, { "begin": 1432, "end": 1434, "name": "PUSH", "source": 4, "value": "20" }, { "begin": 1429, "end": 1430, "name": "DUP2", "source": 4 }, { "begin": 1425, "end": 1435, "name": "ADD", "source": 4 }, { "begin": 1420, "end": 1435, "name": "SWAP1", "source": 4 }, { "begin": 1420, "end": 1435, "name": "POP", "source": 4 }, { "begin": 1396, "end": 1509, "name": "PUSH [tag]", "source": 4, "value": "123" }, { "begin": 1396, "end": 1509, "name": "JUMP", "source": 4 }, { "begin": 1396, "end": 1509, "name": "tag", "source": 4, "value": "125" }, { "begin": 1396, "end": 1509, "name": "JUMPDEST", "source": 4 }, { "begin": 1543, "end": 1544, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 1534, "end": 1540, "name": "DUP5", "source": 4 }, { "begin": 1529, "end": 1532, "name": "DUP5", "source": 4 }, { "begin": 1525, "end": 1541, "name": "ADD", "source": 4 }, { "begin": 1518, "end": 1545, "name": "MSTORE", "source": 4 }, { "begin": 1367, "end": 1551, "name": "POP", "source": 4 }, { "begin": 1305, "end": 1551, "name": "POP", "source": 4 }, { "begin": 1305, "end": 1551, "name": "POP", "source": 4 }, { "begin": 1305, "end": 1551, "name": "POP", "source": 4 }, { "begin": 1305, "end": 1551, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 1557, "end": 1659, "name": "tag", "source": 4, "value": "89" }, { "begin": 1557, "end": 1659, "name": "JUMPDEST", "source": 4 }, { "begin": 1598, "end": 1604, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 1649, "end": 1651, "name": "PUSH", "source": 4, "value": "1F" }, { "begin": 1645, "end": 1652, "name": "NOT", "source": 4 }, { "begin": 1640, "end": 1642, "name": "PUSH", "source": 4, "value": "1F" }, { "begin": 1633, "end": 1638, "name": "DUP4", "source": 4 }, { "begin": 1629, "end": 1643, "name": "ADD", "source": 4 }, { "begin": 1625, "end": 1653, "name": "AND", "source": 4 }, { "begin": 1615, "end": 1653, "name": "SWAP1", "source": 4 }, { "begin": 1615, "end": 1653, "name": "POP", "source": 4 }, { "begin": 1557, "end": 1659, "name": "SWAP2", "source": 4 }, { "begin": 1557, "end": 1659, "name": "SWAP1", "source": 4 }, { "begin": 1557, "end": 1659, "name": "POP", "source": 4 }, { "begin": 1557, "end": 1659, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 1665, "end": 2042, "name": "tag", "source": 4, "value": "90" }, { "begin": 1665, "end": 2042, "name": "JUMPDEST", "source": 4 }, { "begin": 1753, "end": 1756, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 1781, "end": 1820, "name": "PUSH [tag]", "source": 4, "value": "128" }, { "begin": 1814, "end": 1819, "name": "DUP3", "source": 4 }, { "begin": 1781, "end": 1820, "name": "PUSH [tag]", "source": 4, "value": "86" }, { "begin": 1781, "end": 1820, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 1781, "end": 1820, "name": "tag", "source": 4, "value": "128" }, { "begin": 1781, "end": 1820, "name": "JUMPDEST", "source": 4 }, { "begin": 1836, "end": 1907, "name": "PUSH [tag]", "source": 4, "value": "129" }, { "begin": 1900, "end": 1906, "name": "DUP2", "source": 4 }, { "begin": 1895, "end": 1898, "name": "DUP6", "source": 4 }, { "begin": 1836, "end": 1907, "name": "PUSH [tag]", "source": 4, "value": "87" }, { "begin": 1836, "end": 1907, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 1836, "end": 1907, "name": "tag", "source": 4, "value": "129" }, { "begin": 1836, "end": 1907, "name": "JUMPDEST", "source": 4 }, { "begin": 1829, "end": 1907, "name": "SWAP4", "source": 4 }, { "begin": 1829, "end": 1907, "name": "POP", "source": 4 }, { "begin": 1916, "end": 1981, "name": "PUSH [tag]", "source": 4, "value": "130" }, { "begin": 1974, "end": 1980, "name": "DUP2", "source": 4 }, { "begin": 1969, "end": 1972, "name": "DUP6", "source": 4 }, { "begin": 1962, "end": 1966, "name": "PUSH", "source": 4, "value": "20" }, { "begin": 1955, "end": 1960, "name": "DUP7", "source": 4 }, { "begin": 1951, "end": 1967, "name": "ADD", "source": 4 }, { "begin": 1916, "end": 1981, "name": "PUSH [tag]", "source": 4, "value": "88" }, { "begin": 1916, "end": 1981, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 1916, "end": 1981, "name": "tag", "source": 4, "value": "130" }, { "begin": 1916, "end": 1981, "name": "JUMPDEST", "source": 4 }, { "begin": 2006, "end": 2035, "name": "PUSH [tag]", "source": 4, "value": "131" }, { "begin": 2028, "end": 2034, "name": "DUP2", "source": 4 }, { "begin": 2006, "end": 2035, "name": "PUSH [tag]", "source": 4, "value": "89" }, { "begin": 2006, "end": 2035, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 2006, "end": 2035, "name": "tag", "source": 4, "value": "131" }, { "begin": 2006, "end": 2035, "name": "JUMPDEST", "source": 4 }, { "begin": 2001, "end": 2004, "name": "DUP5", "source": 4 }, { "begin": 1997, "end": 2036, "name": "ADD", "source": 4 }, { "begin": 1990, "end": 2036, "name": "SWAP2", "source": 4 }, { "begin": 1990, "end": 2036, "name": "POP", "source": 4 }, { "begin": 1757, "end": 2042, "name": "POP", "source": 4 }, { "begin": 1665, "end": 2042, "name": "SWAP3", "source": 4 }, { "begin": 1665, "end": 2042, "name": "SWAP2", "source": 4 }, { "begin": 1665, "end": 2042, "name": "POP", "source": 4 }, { "begin": 1665, "end": 2042, "name": "POP", "source": 4 }, { "begin": 1665, "end": 2042, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 2048, "end": 2361, "name": "tag", "source": 4, "value": "10" }, { "begin": 2048, "end": 2361, "name": "JUMPDEST", "source": 4 }, { "begin": 2161, "end": 2165, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 2199, "end": 2201, "name": "PUSH", "source": 4, "value": "20" }, { "begin": 2188, "end": 2197, "name": "DUP3", "source": 4 }, { "begin": 2184, "end": 2202, "name": "ADD", "source": 4 }, { "begin": 2176, "end": 2202, "name": "SWAP1", "source": 4 }, { "begin": 2176, "end": 2202, "name": "POP", "source": 4 }, { "begin": 2248, "end": 2257, "name": "DUP2", "source": 4 }, { "begin": 2242, "end": 2246, "name": "DUP2", "source": 4 }, { "begin": 2238, "end": 2258, "name": "SUB", "source": 4 }, { "begin": 2234, "end": 2235, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 2223, "end": 2232, "name": "DUP4", "source": 4 }, { "begin": 2219, "end": 2236, "name": "ADD", "source": 4 }, { "begin": 2212, "end": 2259, "name": "MSTORE", "source": 4 }, { "begin": 2276, "end": 2354, "name": "PUSH [tag]", "source": 4, "value": "133" }, { "begin": 2349, "end": 2353, "name": "DUP2", "source": 4 }, { "begin": 2340, "end": 2346, "name": "DUP5", "source": 4 }, { "begin": 2276, "end": 2354, "name": "PUSH [tag]", "source": 4, "value": "90" }, { "begin": 2276, "end": 2354, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 2276, "end": 2354, "name": "tag", "source": 4, "value": "133" }, { "begin": 2276, "end": 2354, "name": "JUMPDEST", "source": 4 }, { "begin": 2268, "end": 2354, "name": "SWAP1", "source": 4 }, { "begin": 2268, "end": 2354, "name": "POP", "source": 4 }, { "begin": 2048, "end": 2361, "name": "SWAP3", "source": 4 }, { "begin": 2048, "end": 2361, "name": "SWAP2", "source": 4 }, { "begin": 2048, "end": 2361, "name": "POP", "source": 4 }, { "begin": 2048, "end": 2361, "name": "POP", "source": 4 }, { "begin": 2048, "end": 2361, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 2367, "end": 2484, "name": "tag", "source": 4, "value": "91" }, { "begin": 2367, "end": 2484, "name": "JUMPDEST", "source": 4 }, { "begin": 2476, "end": 2477, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 2473, "end": 2474, "name": "DUP1", "source": 4 }, { "begin": 2466, "end": 2478, "name": "REVERT", "source": 4 }, { "begin": 2490, "end": 2607, "name": "tag", "source": 4, "value": "92" }, { "begin": 2490, "end": 2607, "name": "JUMPDEST", "source": 4 }, { "begin": 2599, "end": 2600, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 2596, "end": 2597, "name": "DUP1", "source": 4 }, { "begin": 2589, "end": 2601, "name": "REVERT", "source": 4 }, { "begin": 2613, "end": 2793, "name": "tag", "source": 4, "value": "31" }, { "begin": 2613, "end": 2793, "name": "JUMPDEST", "source": 4 }, { "begin": 2661, "end": 2738, "name": "PUSH", "source": 4, "value": "4E487B7100000000000000000000000000000000000000000000000000000000" }, { "begin": 2658, "end": 2659, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 2651, "end": 2739, "name": "MSTORE", "source": 4 }, { "begin": 2758, "end": 2762, "name": "PUSH", "source": 4, "value": "41" }, { "begin": 2755, "end": 2756, "name": "PUSH", "source": 4, "value": "4" }, { "begin": 2748, "end": 2763, "name": "MSTORE", "source": 4 }, { "begin": 2782, "end": 2786, "name": "PUSH", "source": 4, "value": "24" }, { "begin": 2779, "end": 2780, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 2772, "end": 2787, "name": "REVERT", "source": 4 }, { "begin": 2799, "end": 3080, "name": "tag", "source": 4, "value": "93" }, { "begin": 2799, "end": 3080, "name": "JUMPDEST", "source": 4 }, { "begin": 2882, "end": 2909, "name": "PUSH [tag]", "source": 4, "value": "138" }, { "begin": 2904, "end": 2908, "name": "DUP3", "source": 4 }, { "begin": 2882, "end": 2909, "name": "PUSH [tag]", "source": 4, "value": "89" }, { "begin": 2882, "end": 2909, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 2882, "end": 2909, "name": "tag", "source": 4, "value": "138" }, { "begin": 2882, "end": 2909, "name": "JUMPDEST", "source": 4 }, { "begin": 2874, "end": 2880, "name": "DUP2", "source": 4 }, { "begin": 2870, "end": 2910, "name": "ADD", "source": 4 }, { "begin": 3012, "end": 3018, "name": "DUP2", "source": 4 }, { "begin": 3000, "end": 3010, "name": "DUP2", "source": 4 }, { "begin": 2997, "end": 3019, "name": "LT", "source": 4 }, { "begin": 2976, "end": 2994, "name": "PUSH", "source": 4, "value": "FFFFFFFFFFFFFFFF" }, { "begin": 2964, "end": 2974, "name": "DUP3", "source": 4 }, { "begin": 2961, "end": 2995, "name": "GT", "source": 4 }, { "begin": 2958, "end": 3020, "name": "OR", "source": 4 }, { "begin": 2955, "end": 3043, "name": "ISZERO", "source": 4 }, { "begin": 2955, "end": 3043, "name": "PUSH [tag]", "source": 4, "value": "139" }, { "begin": 2955, "end": 3043, "name": "JUMPI", "source": 4 }, { "begin": 3023, "end": 3041, "name": "PUSH [tag]", "source": 4, "value": "140" }, { "begin": 3023, "end": 3041, "name": "PUSH [tag]", "source": 4, "value": "31" }, { "begin": 3023, "end": 3041, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 3023, "end": 3041, "name": "tag", "source": 4, "value": "140" }, { "begin": 3023, "end": 3041, "name": "JUMPDEST", "source": 4 }, { "begin": 2955, "end": 3043, "name": "tag", "source": 4, "value": "139" }, { "begin": 2955, "end": 3043, "name": "JUMPDEST", "source": 4 }, { "begin": 3063, "end": 3073, "name": "DUP1", "source": 4 }, { "begin": 3059, "end": 3061, "name": "PUSH", "source": 4, "value": "40" }, { "begin": 3052, "end": 3074, "name": "MSTORE", "source": 4 }, { "begin": 2842, "end": 3080, "name": "POP", "source": 4 }, { "begin": 2799, "end": 3080, "name": "POP", "source": 4 }, { "begin": 2799, "end": 3080, "name": "POP", "source": 4 }, { "begin": 2799, "end": 3080, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 3086, "end": 3215, "name": "tag", "source": 4, "value": "94" }, { "begin": 3086, "end": 3215, "name": "JUMPDEST", "source": 4 }, { "begin": 3120, "end": 3126, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 3147, "end": 3167, "name": "PUSH [tag]", "source": 4, "value": "142" }, { "begin": 3147, "end": 3167, "name": "PUSH [tag]", "source": 4, "value": "80" }, { "begin": 3147, "end": 3167, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 3147, "end": 3167, "name": "tag", "source": 4, "value": "142" }, { "begin": 3147, "end": 3167, "name": "JUMPDEST", "source": 4 }, { "begin": 3137, "end": 3167, "name": "SWAP1", "source": 4 }, { "begin": 3137, "end": 3167, "name": "POP", "source": 4 }, { "begin": 3176, "end": 3209, "name": "PUSH [tag]", "source": 4, "value": "143" }, { "begin": 3204, "end": 3208, "name": "DUP3", "source": 4 }, { "begin": 3196, "end": 3202, "name": "DUP3", "source": 4 }, { "begin": 3176, "end": 3209, "name": "PUSH [tag]", "source": 4, "value": "93" }, { "begin": 3176, "end": 3209, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 3176, "end": 3209, "name": "tag", "source": 4, "value": "143" }, { "begin": 3176, "end": 3209, "name": "JUMPDEST", "source": 4 }, { "begin": 3086, "end": 3215, "name": "SWAP2", "source": 4 }, { "begin": 3086, "end": 3215, "name": "SWAP1", "source": 4 }, { "begin": 3086, "end": 3215, "name": "POP", "source": 4 }, { "begin": 3086, "end": 3215, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 3221, "end": 3528, "name": "tag", "source": 4, "value": "95" }, { "begin": 3221, "end": 3528, "name": "JUMPDEST", "source": 4 }, { "begin": 3282, "end": 3286, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 3372, "end": 3390, "name": "PUSH", "source": 4, "value": "FFFFFFFFFFFFFFFF" }, { "begin": 3364, "end": 3370, "name": "DUP3", "source": 4 }, { "begin": 3361, "end": 3391, "name": "GT", "source": 4 }, { "begin": 3358, "end": 3414, "name": "ISZERO", "source": 4 }, { "begin": 3358, "end": 3414, "name": "PUSH [tag]", "source": 4, "value": "145" }, { "begin": 3358, "end": 3414, "name": "JUMPI", "source": 4 }, { "begin": 3394, "end": 3412, "name": "PUSH [tag]", "source": 4, "value": "146" }, { "begin": 3394, "end": 3412, "name": "PUSH [tag]", "source": 4, "value": "31" }, { "begin": 3394, "end": 3412, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 3394, "end": 3412, "name": "tag", "source": 4, "value": "146" }, { "begin": 3394, "end": 3412, "name": "JUMPDEST", "source": 4 }, { "begin": 3358, "end": 3414, "name": "tag", "source": 4, "value": "145" }, { "begin": 3358, "end": 3414, "name": "JUMPDEST", "source": 4 }, { "begin": 3432, "end": 3461, "name": "PUSH [tag]", "source": 4, "value": "147" }, { "begin": 3454, "end": 3460, "name": "DUP3", "source": 4 }, { "begin": 3432, "end": 3461, "name": "PUSH [tag]", "source": 4, "value": "89" }, { "begin": 3432, "end": 3461, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 3432, "end": 3461, "name": "tag", "source": 4, "value": "147" }, { "begin": 3432, "end": 3461, "name": "JUMPDEST", "source": 4 }, { "begin": 3424, "end": 3461, "name": "SWAP1", "source": 4 }, { "begin": 3424, "end": 3461, "name": "POP", "source": 4 }, { "begin": 3516, "end": 3520, "name": "PUSH", "source": 4, "value": "20" }, { "begin": 3510, "end": 3514, "name": "DUP2", "source": 4 }, { "begin": 3506, "end": 3521, "name": "ADD", "source": 4 }, { "begin": 3498, "end": 3521, "name": "SWAP1", "source": 4 }, { "begin": 3498, "end": 3521, "name": "POP", "source": 4 }, { "begin": 3221, "end": 3528, "name": "SWAP2", "source": 4 }, { "begin": 3221, "end": 3528, "name": "SWAP1", "source": 4 }, { "begin": 3221, "end": 3528, "name": "POP", "source": 4 }, { "begin": 3221, "end": 3528, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 3534, "end": 3680, "name": "tag", "source": 4, "value": "96" }, { "begin": 3534, "end": 3680, "name": "JUMPDEST", "source": 4 }, { "begin": 3631, "end": 3637, "name": "DUP3", "source": 4 }, { "begin": 3626, "end": 3629, "name": "DUP2", "source": 4 }, { "begin": 3621, "end": 3624, "name": "DUP4", "source": 4 }, { "begin": 3608, "end": 3638, "name": "CALLDATACOPY", "source": 4 }, { "begin": 3672, "end": 3673, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 3663, "end": 3669, "name": "DUP4", "source": 4 }, { "begin": 3658, "end": 3661, "name": "DUP4", "source": 4 }, { "begin": 3654, "end": 3670, "name": "ADD", "source": 4 }, { "begin": 3647, "end": 3674, "name": "MSTORE", "source": 4 }, { "begin": 3534, "end": 3680, "name": "POP", "source": 4 }, { "begin": 3534, "end": 3680, "name": "POP", "source": 4 }, { "begin": 3534, "end": 3680, "name": "POP", "source": 4 }, { "begin": 3534, "end": 3680, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 3686, "end": 4109, "name": "tag", "source": 4, "value": "97" }, { "begin": 3686, "end": 4109, "name": "JUMPDEST", "source": 4 }, { "begin": 3763, "end": 3768, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 3788, "end": 3853, "name": "PUSH [tag]", "source": 4, "value": "150" }, { "begin": 3804, "end": 3852, "name": "PUSH [tag]", "source": 4, "value": "151" }, { "begin": 3845, "end": 3851, "name": "DUP5", "source": 4 }, { "begin": 3804, "end": 3852, "name": "PUSH [tag]", "source": 4, "value": "95" }, { "begin": 3804, "end": 3852, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 3804, "end": 3852, "name": "tag", "source": 4, "value": "151" }, { "begin": 3804, "end": 3852, "name": "JUMPDEST", "source": 4 }, { "begin": 3788, "end": 3853, "name": "PUSH [tag]", "source": 4, "value": "94" }, { "begin": 3788, "end": 3853, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 3788, "end": 3853, "name": "tag", "source": 4, "value": "150" }, { "begin": 3788, "end": 3853, "name": "JUMPDEST", "source": 4 }, { "begin": 3779, "end": 3853, "name": "SWAP1", "source": 4 }, { "begin": 3779, "end": 3853, "name": "POP", "source": 4 }, { "begin": 3876, "end": 3882, "name": "DUP3", "source": 4 }, { "begin": 3869, "end": 3874, "name": "DUP2", "source": 4 }, { "begin": 3862, "end": 3883, "name": "MSTORE", "source": 4 }, { "begin": 3914, "end": 3918, "name": "PUSH", "source": 4, "value": "20" }, { "begin": 3907, "end": 3912, "name": "DUP2", "source": 4 }, { "begin": 3903, "end": 3919, "name": "ADD", "source": 4 }, { "begin": 3952, "end": 3955, "name": "DUP5", "source": 4 }, { "begin": 3943, "end": 3949, "name": "DUP5", "source": 4 }, { "begin": 3938, "end": 3941, "name": "DUP5", "source": 4 }, { "begin": 3934, "end": 3950, "name": "ADD", "source": 4 }, { "begin": 3931, "end": 3956, "name": "GT", "source": 4 }, { "begin": 3928, "end": 4040, "name": "ISZERO", "source": 4 }, { "begin": 3928, "end": 4040, "name": "PUSH [tag]", "source": 4, "value": "152" }, { "begin": 3928, "end": 4040, "name": "JUMPI", "source": 4 }, { "begin": 3959, "end": 4038, "name": "PUSH [tag]", "source": 4, "value": "153" }, { "begin": 3959, "end": 4038, "name": "PUSH [tag]", "source": 4, "value": "92" }, { "begin": 3959, "end": 4038, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 3959, "end": 4038, "name": "tag", "source": 4, "value": "153" }, { "begin": 3959, "end": 4038, "name": "JUMPDEST", "source": 4 }, { "begin": 3928, "end": 4040, "name": "tag", "source": 4, "value": "152" }, { "begin": 3928, "end": 4040, "name": "JUMPDEST", "source": 4 }, { "begin": 4049, "end": 4103, "name": "PUSH [tag]", "source": 4, "value": "154" }, { "begin": 4096, "end": 4102, "name": "DUP5", "source": 4 }, { "begin": 4091, "end": 4094, "name": "DUP3", "source": 4 }, { "begin": 4086, "end": 4089, "name": "DUP6", "source": 4 }, { "begin": 4049, "end": 4103, "name": "PUSH [tag]", "source": 4, "value": "96" }, { "begin": 4049, "end": 4103, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 4049, "end": 4103, "name": "tag", "source": 4, "value": "154" }, { "begin": 4049, "end": 4103, "name": "JUMPDEST", "source": 4 }, { "begin": 3769, "end": 4109, "name": "POP", "source": 4 }, { "begin": 3686, "end": 4109, "name": "SWAP4", "source": 4 }, { "begin": 3686, "end": 4109, "name": "SWAP3", "source": 4 }, { "begin": 3686, "end": 4109, "name": "POP", "source": 4 }, { "begin": 3686, "end": 4109, "name": "POP", "source": 4 }, { "begin": 3686, "end": 4109, "name": "POP", "source": 4 }, { "begin": 3686, "end": 4109, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 4128, "end": 4466, "name": "tag", "source": 4, "value": "98" }, { "begin": 4128, "end": 4466, "name": "JUMPDEST", "source": 4 }, { "begin": 4183, "end": 4188, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 4232, "end": 4235, "name": "DUP3", "source": 4 }, { "begin": 4225, "end": 4229, "name": "PUSH", "source": 4, "value": "1F" }, { "begin": 4217, "end": 4223, "name": "DUP4", "source": 4 }, { "begin": 4213, "end": 4230, "name": "ADD", "source": 4 }, { "begin": 4209, "end": 4236, "name": "SLT", "source": 4 }, { "begin": 4199, "end": 4321, "name": "PUSH [tag]", "source": 4, "value": "156" }, { "begin": 4199, "end": 4321, "name": "JUMPI", "source": 4 }, { "begin": 4240, "end": 4319, "name": "PUSH [tag]", "source": 4, "value": "157" }, { "begin": 4240, "end": 4319, "name": "PUSH [tag]", "source": 4, "value": "91" }, { "begin": 4240, "end": 4319, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 4240, "end": 4319, "name": "tag", "source": 4, "value": "157" }, { "begin": 4240, "end": 4319, "name": "JUMPDEST", "source": 4 }, { "begin": 4199, "end": 4321, "name": "tag", "source": 4, "value": "156" }, { "begin": 4199, "end": 4321, "name": "JUMPDEST", "source": 4 }, { "begin": 4357, "end": 4363, "name": "DUP2", "source": 4 }, { "begin": 4344, "end": 4364, "name": "CALLDATALOAD", "source": 4 }, { "begin": 4382, "end": 4460, "name": "PUSH [tag]", "source": 4, "value": "158" }, { "begin": 4456, "end": 4459, "name": "DUP5", "source": 4 }, { "begin": 4448, "end": 4454, "name": "DUP3", "source": 4 }, { "begin": 4441, "end": 4445, "name": "PUSH", "source": 4, "value": "20" }, { "begin": 4433, "end": 4439, "name": "DUP7", "source": 4 }, { "begin": 4429, "end": 4446, "name": "ADD", "source": 4 }, { "begin": 4382, "end": 4460, "name": "PUSH [tag]", "source": 4, "value": "97" }, { "begin": 4382, "end": 4460, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 4382, "end": 4460, "name": "tag", "source": 4, "value": "158" }, { "begin": 4382, "end": 4460, "name": "JUMPDEST", "source": 4 }, { "begin": 4373, "end": 4460, "name": "SWAP2", "source": 4 }, { "begin": 4373, "end": 4460, "name": "POP", "source": 4 }, { "begin": 4189, "end": 4466, "name": "POP", "source": 4 }, { "begin": 4128, "end": 4466, "name": "SWAP3", "source": 4 }, { "begin": 4128, "end": 4466, "name": "SWAP2", "source": 4 }, { "begin": 4128, "end": 4466, "name": "POP", "source": 4 }, { "begin": 4128, "end": 4466, "name": "POP", "source": 4 }, { "begin": 4128, "end": 4466, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 4472, "end": 4979, "name": "tag", "source": 4, "value": "13" }, { "begin": 4472, "end": 4979, "name": "JUMPDEST", "source": 4 }, { "begin": 4540, "end": 4546, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 4589, "end": 4591, "name": "PUSH", "source": 4, "value": "20" }, { "begin": 4577, "end": 4586, "name": "DUP3", "source": 4 }, { "begin": 4568, "end": 4575, "name": "DUP5", "source": 4 }, { "begin": 4564, "end": 4587, "name": "SUB", "source": 4 }, { "begin": 4560, "end": 4592, "name": "SLT", "source": 4 }, { "begin": 4557, "end": 4676, "name": "ISZERO", "source": 4 }, { "begin": 4557, "end": 4676, "name": "PUSH [tag]", "source": 4, "value": "160" }, { "begin": 4557, "end": 4676, "name": "JUMPI", "source": 4 }, { "begin": 4595, "end": 4674, "name": "PUSH [tag]", "source": 4, "value": "161" }, { "begin": 4595, "end": 4674, "name": "PUSH [tag]", "source": 4, "value": "81" }, { "begin": 4595, "end": 4674, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 4595, "end": 4674, "name": "tag", "source": 4, "value": "161" }, { "begin": 4595, "end": 4674, "name": "JUMPDEST", "source": 4 }, { "begin": 4557, "end": 4676, "name": "tag", "source": 4, "value": "160" }, { "begin": 4557, "end": 4676, "name": "JUMPDEST", "source": 4 }, { "begin": 4743, "end": 4744, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 4732, "end": 4741, "name": "DUP3", "source": 4 }, { "begin": 4728, "end": 4745, "name": "ADD", "source": 4 }, { "begin": 4715, "end": 4746, "name": "CALLDATALOAD", "source": 4 }, { "begin": 4773, "end": 4791, "name": "PUSH", "source": 4, "value": "FFFFFFFFFFFFFFFF" }, { "begin": 4765, "end": 4771, "name": "DUP2", "source": 4 }, { "begin": 4762, "end": 4792, "name": "GT", "source": 4 }, { "begin": 4759, "end": 4876, "name": "ISZERO", "source": 4 }, { "begin": 4759, "end": 4876, "name": "PUSH [tag]", "source": 4, "value": "162" }, { "begin": 4759, "end": 4876, "name": "JUMPI", "source": 4 }, { "begin": 4795, "end": 4874, "name": "PUSH [tag]", "source": 4, "value": "163" }, { "begin": 4795, "end": 4874, "name": "PUSH [tag]", "source": 4, "value": "82" }, { "begin": 4795, "end": 4874, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 4795, "end": 4874, "name": "tag", "source": 4, "value": "163" }, { "begin": 4795, "end": 4874, "name": "JUMPDEST", "source": 4 }, { "begin": 4759, "end": 4876, "name": "tag", "source": 4, "value": "162" }, { "begin": 4759, "end": 4876, "name": "JUMPDEST", "source": 4 }, { "begin": 4900, "end": 4962, "name": "PUSH [tag]", "source": 4, "value": "164" }, { "begin": 4954, "end": 4961, "name": "DUP5", "source": 4 }, { "begin": 4945, "end": 4951, "name": "DUP3", "source": 4 }, { "begin": 4934, "end": 4943, "name": "DUP6", "source": 4 }, { "begin": 4930, "end": 4952, "name": "ADD", "source": 4 }, { "begin": 4900, "end": 4962, "name": "PUSH [tag]", "source": 4, "value": "98" }, { "begin": 4900, "end": 4962, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 4900, "end": 4962, "name": "tag", "source": 4, "value": "164" }, { "begin": 4900, "end": 4962, "name": "JUMPDEST", "source": 4 }, { "begin": 4890, "end": 4962, "name": "SWAP2", "source": 4 }, { "begin": 4890, "end": 4962, "name": "POP", "source": 4 }, { "begin": 4686, "end": 4972, "name": "POP", "source": 4 }, { "begin": 4472, "end": 4979, "name": "SWAP3", "source": 4 }, { "begin": 4472, "end": 4979, "name": "SWAP2", "source": 4 }, { "begin": 4472, "end": 4979, "name": "POP", "source": 4 }, { "begin": 4472, "end": 4979, "name": "POP", "source": 4 }, { "begin": 4472, "end": 4979, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 4985, "end": 5165, "name": "tag", "source": 4, "value": "99" }, { "begin": 4985, "end": 5165, "name": "JUMPDEST", "source": 4 }, { "begin": 5033, "end": 5110, "name": "PUSH", "source": 4, "value": "4E487B7100000000000000000000000000000000000000000000000000000000" }, { "begin": 5030, "end": 5031, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 5023, "end": 5111, "name": "MSTORE", "source": 4 }, { "begin": 5130, "end": 5134, "name": "PUSH", "source": 4, "value": "12" }, { "begin": 5127, "end": 5128, "name": "PUSH", "source": 4, "value": "4" }, { "begin": 5120, "end": 5135, "name": "MSTORE", "source": 4 }, { "begin": 5154, "end": 5158, "name": "PUSH", "source": 4, "value": "24" }, { "begin": 5151, "end": 5152, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 5144, "end": 5159, "name": "REVERT", "source": 4 }, { "begin": 5171, "end": 5347, "name": "tag", "source": 4, "value": "20" }, { "begin": 5171, "end": 5347, "name": "JUMPDEST", "source": 4 }, { "begin": 5203, "end": 5204, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 5220, "end": 5240, "name": "PUSH [tag]", "source": 4, "value": "167" }, { "begin": 5238, "end": 5239, "name": "DUP3", "source": 4 }, { "begin": 5220, "end": 5240, "name": "PUSH [tag]", "source": 4, "value": "83" }, { "begin": 5220, "end": 5240, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 5220, "end": 5240, "name": "tag", "source": 4, "value": "167" }, { "begin": 5220, "end": 5240, "name": "JUMPDEST", "source": 4 }, { "begin": 5215, "end": 5240, "name": "SWAP2", "source": 4 }, { "begin": 5215, "end": 5240, "name": "POP", "source": 4 }, { "begin": 5254, "end": 5274, "name": "PUSH [tag]", "source": 4, "value": "168" }, { "begin": 5272, "end": 5273, "name": "DUP4", "source": 4 }, { "begin": 5254, "end": 5274, "name": "PUSH [tag]", "source": 4, "value": "83" }, { "begin": 5254, "end": 5274, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 5254, "end": 5274, "name": "tag", "source": 4, "value": "168" }, { "begin": 5254, "end": 5274, "name": "JUMPDEST", "source": 4 }, { "begin": 5249, "end": 5274, "name": "SWAP3", "source": 4 }, { "begin": 5249, "end": 5274, "name": "POP", "source": 4 }, { "begin": 5293, "end": 5294, "name": "DUP3", "source": 4 }, { "begin": 5283, "end": 5318, "name": "PUSH [tag]", "source": 4, "value": "169" }, { "begin": 5283, "end": 5318, "name": "JUMPI", "source": 4 }, { "begin": 5298, "end": 5316, "name": "PUSH [tag]", "source": 4, "value": "170" }, { "begin": 5298, "end": 5316, "name": "PUSH [tag]", "source": 4, "value": "99" }, { "begin": 5298, "end": 5316, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 5298, "end": 5316, "name": "tag", "source": 4, "value": "170" }, { "begin": 5298, "end": 5316, "name": "JUMPDEST", "source": 4 }, { "begin": 5283, "end": 5318, "name": "tag", "source": 4, "value": "169" }, { "begin": 5283, "end": 5318, "name": "JUMPDEST", "source": 4 }, { "begin": 5339, "end": 5340, "name": "DUP3", "source": 4 }, { "begin": 5336, "end": 5337, "name": "DUP3", "source": 4 }, { "begin": 5332, "end": 5341, "name": "MOD", "source": 4 }, { "begin": 5327, "end": 5341, "name": "SWAP1", "source": 4 }, { "begin": 5327, "end": 5341, "name": "POP", "source": 4 }, { "begin": 5171, "end": 5347, "name": "SWAP3", "source": 4 }, { "begin": 5171, "end": 5347, "name": "SWAP2", "source": 4 }, { "begin": 5171, "end": 5347, "name": "POP", "source": 4 }, { "begin": 5171, "end": 5347, "name": "POP", "source": 4 }, { "begin": 5171, "end": 5347, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 5353, "end": 5533, "name": "tag", "source": 4, "value": "23" }, { "begin": 5353, "end": 5533, "name": "JUMPDEST", "source": 4 }, { "begin": 5401, "end": 5478, "name": "PUSH", "source": 4, "value": "4E487B7100000000000000000000000000000000000000000000000000000000" }, { "begin": 5398, "end": 5399, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 5391, "end": 5479, "name": "MSTORE", "source": 4 }, { "begin": 5498, "end": 5502, "name": "PUSH", "source": 4, "value": "32" }, { "begin": 5495, "end": 5496, "name": "PUSH", "source": 4, "value": "4" }, { "begin": 5488, "end": 5503, "name": "MSTORE", "source": 4 }, { "begin": 5522, "end": 5526, "name": "PUSH", "source": 4, "value": "24" }, { "begin": 5519, "end": 5520, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 5512, "end": 5527, "name": "REVERT", "source": 4 }, { "begin": 5539, "end": 5767, "name": "tag", "source": 4, "value": "100" }, { "begin": 5539, "end": 5767, "name": "JUMPDEST", "source": 4 }, { "begin": 5679, "end": 5713, "name": "PUSH", "source": 4, "value": "6163636F756E74486578206C656E6774682073686F756C642062652034322063" }, { "begin": 5675, "end": 5676, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 5667, "end": 5673, "name": "DUP3", "source": 4 }, { "begin": 5663, "end": 5677, "name": "ADD", "source": 4 }, { "begin": 5656, "end": 5714, "name": "MSTORE", "source": 4 }, { "begin": 5748, "end": 5759, "name": "PUSH", "source": 4, "value": "6861726163746572730000000000000000000000000000000000000000000000" }, { "begin": 5743, "end": 5745, "name": "PUSH", "source": 4, "value": "20" }, { "begin": 5735, "end": 5741, "name": "DUP3", "source": 4 }, { "begin": 5731, "end": 5746, "name": "ADD", "source": 4 }, { "begin": 5724, "end": 5760, "name": "MSTORE", "source": 4 }, { "begin": 5539, "end": 5767, "name": "POP", "source": 4 }, { "begin": 5539, "end": 5767, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 5773, "end": 6139, "name": "tag", "source": 4, "value": "101" }, { "begin": 5773, "end": 6139, "name": "JUMPDEST", "source": 4 }, { "begin": 5915, "end": 5918, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 5936, "end": 6003, "name": "PUSH [tag]", "source": 4, "value": "174" }, { "begin": 6000, "end": 6002, "name": "PUSH", "source": 4, "value": "29" }, { "begin": 5995, "end": 5998, "name": "DUP4", "source": 4 }, { "begin": 5936, "end": 6003, "name": "PUSH [tag]", "source": 4, "value": "87" }, { "begin": 5936, "end": 6003, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 5936, "end": 6003, "name": "tag", "source": 4, "value": "174" }, { "begin": 5936, "end": 6003, "name": "JUMPDEST", "source": 4 }, { "begin": 5929, "end": 6003, "name": "SWAP2", "source": 4 }, { "begin": 5929, "end": 6003, "name": "POP", "source": 4 }, { "begin": 6012, "end": 6105, "name": "PUSH [tag]", "source": 4, "value": "175" }, { "begin": 6101, "end": 6104, "name": "DUP3", "source": 4 }, { "begin": 6012, "end": 6105, "name": "PUSH [tag]", "source": 4, "value": "100" }, { "begin": 6012, "end": 6105, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 6012, "end": 6105, "name": "tag", "source": 4, "value": "175" }, { "begin": 6012, "end": 6105, "name": "JUMPDEST", "source": 4 }, { "begin": 6130, "end": 6132, "name": "PUSH", "source": 4, "value": "40" }, { "begin": 6125, "end": 6128, "name": "DUP3", "source": 4 }, { "begin": 6121, "end": 6133, "name": "ADD", "source": 4 }, { "begin": 6114, "end": 6133, "name": "SWAP1", "source": 4 }, { "begin": 6114, "end": 6133, "name": "POP", "source": 4 }, { "begin": 5773, "end": 6139, "name": "SWAP2", "source": 4 }, { "begin": 5773, "end": 6139, "name": "SWAP1", "source": 4 }, { "begin": 5773, "end": 6139, "name": "POP", "source": 4 }, { "begin": 5773, "end": 6139, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 6145, "end": 6564, "name": "tag", "source": 4, "value": "28" }, { "begin": 6145, "end": 6564, "name": "JUMPDEST", "source": 4 }, { "begin": 6311, "end": 6315, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 6349, "end": 6351, "name": "PUSH", "source": 4, "value": "20" }, { "begin": 6338, "end": 6347, "name": "DUP3", "source": 4 }, { "begin": 6334, "end": 6352, "name": "ADD", "source": 4 }, { "begin": 6326, "end": 6352, "name": "SWAP1", "source": 4 }, { "begin": 6326, "end": 6352, "name": "POP", "source": 4 }, { "begin": 6398, "end": 6407, "name": "DUP2", "source": 4 }, { "begin": 6392, "end": 6396, "name": "DUP2", "source": 4 }, { "begin": 6388, "end": 6408, "name": "SUB", "source": 4 }, { "begin": 6384, "end": 6385, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 6373, "end": 6382, "name": "DUP4", "source": 4 }, { "begin": 6369, "end": 6386, "name": "ADD", "source": 4 }, { "begin": 6362, "end": 6409, "name": "MSTORE", "source": 4 }, { "begin": 6426, "end": 6557, "name": "PUSH [tag]", "source": 4, "value": "177" }, { "begin": 6552, "end": 6556, "name": "DUP2", "source": 4 }, { "begin": 6426, "end": 6557, "name": "PUSH [tag]", "source": 4, "value": "101" }, { "begin": 6426, "end": 6557, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 6426, "end": 6557, "name": "tag", "source": 4, "value": "177" }, { "begin": 6426, "end": 6557, "name": "JUMPDEST", "source": 4 }, { "begin": 6418, "end": 6557, "name": "SWAP1", "source": 4 }, { "begin": 6418, "end": 6557, "name": "POP", "source": 4 }, { "begin": 6145, "end": 6564, "name": "SWAP2", "source": 4 }, { "begin": 6145, "end": 6564, "name": "SWAP1", "source": 4 }, { "begin": 6145, "end": 6564, "name": "POP", "source": 4 }, { "begin": 6145, "end": 6564, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 6570, "end": 6750, "name": "tag", "source": 4, "value": "102" }, { "begin": 6570, "end": 6750, "name": "JUMPDEST", "source": 4 }, { "begin": 6618, "end": 6695, "name": "PUSH", "source": 4, "value": "4E487B7100000000000000000000000000000000000000000000000000000000" }, { "begin": 6615, "end": 6616, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 6608, "end": 6696, "name": "MSTORE", "source": 4 }, { "begin": 6715, "end": 6719, "name": "PUSH", "source": 4, "value": "11" }, { "begin": 6712, "end": 6713, "name": "PUSH", "source": 4, "value": "4" }, { "begin": 6705, "end": 6720, "name": "MSTORE", "source": 4 }, { "begin": 6739, "end": 6743, "name": "PUSH", "source": 4, "value": "24" }, { "begin": 6736, "end": 6737, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 6729, "end": 6744, "name": "REVERT", "source": 4 }, { "begin": 6756, "end": 6947, "name": "tag", "source": 4, "value": "43" }, { "begin": 6756, "end": 6947, "name": "JUMPDEST", "source": 4 }, { "begin": 6796, "end": 6799, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 6815, "end": 6835, "name": "PUSH [tag]", "source": 4, "value": "180" }, { "begin": 6833, "end": 6834, "name": "DUP3", "source": 4 }, { "begin": 6815, "end": 6835, "name": "PUSH [tag]", "source": 4, "value": "83" }, { "begin": 6815, "end": 6835, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 6815, "end": 6835, "name": "tag", "source": 4, "value": "180" }, { "begin": 6815, "end": 6835, "name": "JUMPDEST", "source": 4 }, { "begin": 6810, "end": 6835, "name": "SWAP2", "source": 4 }, { "begin": 6810, "end": 6835, "name": "POP", "source": 4 }, { "begin": 6849, "end": 6869, "name": "PUSH [tag]", "source": 4, "value": "181" }, { "begin": 6867, "end": 6868, "name": "DUP4", "source": 4 }, { "begin": 6849, "end": 6869, "name": "PUSH [tag]", "source": 4, "value": "83" }, { "begin": 6849, "end": 6869, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 6849, "end": 6869, "name": "tag", "source": 4, "value": "181" }, { "begin": 6849, "end": 6869, "name": "JUMPDEST", "source": 4 }, { "begin": 6844, "end": 6869, "name": "SWAP3", "source": 4 }, { "begin": 6844, "end": 6869, "name": "POP", "source": 4 }, { "begin": 6892, "end": 6893, "name": "DUP3", "source": 4 }, { "begin": 6889, "end": 6890, "name": "DUP3", "source": 4 }, { "begin": 6885, "end": 6894, "name": "ADD", "source": 4 }, { "begin": 6878, "end": 6894, "name": "SWAP1", "source": 4 }, { "begin": 6878, "end": 6894, "name": "POP", "source": 4 }, { "begin": 6913, "end": 6916, "name": "DUP1", "source": 4 }, { "begin": 6910, "end": 6911, "name": "DUP3", "source": 4 }, { "begin": 6907, "end": 6917, "name": "GT", "source": 4 }, { "begin": 6904, "end": 6940, "name": "ISZERO", "source": 4 }, { "begin": 6904, "end": 6940, "name": "PUSH [tag]", "source": 4, "value": "182" }, { "begin": 6904, "end": 6940, "name": "JUMPI", "source": 4 }, { "begin": 6920, "end": 6938, "name": "PUSH [tag]", "source": 4, "value": "183" }, { "begin": 6920, "end": 6938, "name": "PUSH [tag]", "source": 4, "value": "102" }, { "begin": 6920, "end": 6938, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 6920, "end": 6938, "name": "tag", "source": 4, "value": "183" }, { "begin": 6920, "end": 6938, "name": "JUMPDEST", "source": 4 }, { "begin": 6904, "end": 6940, "name": "tag", "source": 4, "value": "182" }, { "begin": 6904, "end": 6940, "name": "JUMPDEST", "source": 4 }, { "begin": 6756, "end": 6947, "name": "SWAP3", "source": 4 }, { "begin": 6756, "end": 6947, "name": "SWAP2", "source": 4 }, { "begin": 6756, "end": 6947, "name": "POP", "source": 4 }, { "begin": 6756, "end": 6947, "name": "POP", "source": 4 }, { "begin": 6756, "end": 6947, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 6953, "end": 7186, "name": "tag", "source": 4, "value": "49" }, { "begin": 6953, "end": 7186, "name": "JUMPDEST", "source": 4 }, { "begin": 6992, "end": 6995, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 7015, "end": 7039, "name": "PUSH [tag]", "source": 4, "value": "185" }, { "begin": 7033, "end": 7038, "name": "DUP3", "source": 4 }, { "begin": 7015, "end": 7039, "name": "PUSH [tag]", "source": 4, "value": "83" }, { "begin": 7015, "end": 7039, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 7015, "end": 7039, "name": "tag", "source": 4, "value": "185" }, { "begin": 7015, "end": 7039, "name": "JUMPDEST", "source": 4 }, { "begin": 7006, "end": 7039, "name": "SWAP2", "source": 4 }, { "begin": 7006, "end": 7039, "name": "POP", "source": 4 }, { "begin": 7061, "end": 7127, "name": "PUSH", "source": 4, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 7054, "end": 7059, "name": "DUP3", "source": 4 }, { "begin": 7051, "end": 7128, "name": "SUB", "source": 4 }, { "begin": 7048, "end": 7151, "name": "PUSH [tag]", "source": 4, "value": "186" }, { "begin": 7048, "end": 7151, "name": "JUMPI", "source": 4 }, { "begin": 7131, "end": 7149, "name": "PUSH [tag]", "source": 4, "value": "187" }, { "begin": 7131, "end": 7149, "name": "PUSH [tag]", "source": 4, "value": "102" }, { "begin": 7131, "end": 7149, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 7131, "end": 7149, "name": "tag", "source": 4, "value": "187" }, { "begin": 7131, "end": 7149, "name": "JUMPDEST", "source": 4 }, { "begin": 7048, "end": 7151, "name": "tag", "source": 4, "value": "186" }, { "begin": 7048, "end": 7151, "name": "JUMPDEST", "source": 4 }, { "begin": 7178, "end": 7179, "name": "PUSH", "source": 4, "value": "1" }, { "begin": 7171, "end": 7176, "name": "DUP3", "source": 4 }, { "begin": 7167, "end": 7180, "name": "ADD", "source": 4 }, { "begin": 7160, "end": 7180, "name": "SWAP1", "source": 4 }, { "begin": 7160, "end": 7180, "name": "POP", "source": 4 }, { "begin": 6953, "end": 7186, "name": "SWAP2", "source": 4 }, { "begin": 6953, "end": 7186, "name": "SWAP1", "source": 4 }, { "begin": 6953, "end": 7186, "name": "POP", "source": 4 }, { "begin": 6953, "end": 7186, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 7192, "end": 7340, "name": "tag", "source": 4, "value": "103" }, { "begin": 7192, "end": 7340, "name": "JUMPDEST", "source": 4 }, { "begin": 7294, "end": 7305, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 7331, "end": 7334, "name": "DUP2", "source": 4 }, { "begin": 7316, "end": 7334, "name": "SWAP1", "source": 4 }, { "begin": 7316, "end": 7334, "name": "POP", "source": 4 }, { "begin": 7192, "end": 7340, "name": "SWAP3", "source": 4 }, { "begin": 7192, "end": 7340, "name": "SWAP2", "source": 4 }, { "begin": 7192, "end": 7340, "name": "POP", "source": 4 }, { "begin": 7192, "end": 7340, "name": "POP", "source": 4 }, { "begin": 7192, "end": 7340, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 7346, "end": 7736, "name": "tag", "source": 4, "value": "104" }, { "begin": 7346, "end": 7736, "name": "JUMPDEST", "source": 4 }, { "begin": 7452, "end": 7455, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 7480, "end": 7519, "name": "PUSH [tag]", "source": 4, "value": "190" }, { "begin": 7513, "end": 7518, "name": "DUP3", "source": 4 }, { "begin": 7480, "end": 7519, "name": "PUSH [tag]", "source": 4, "value": "86" }, { "begin": 7480, "end": 7519, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 7480, "end": 7519, "name": "tag", "source": 4, "value": "190" }, { "begin": 7480, "end": 7519, "name": "JUMPDEST", "source": 4 }, { "begin": 7535, "end": 7624, "name": "PUSH [tag]", "source": 4, "value": "191" }, { "begin": 7617, "end": 7623, "name": "DUP2", "source": 4 }, { "begin": 7612, "end": 7615, "name": "DUP6", "source": 4 }, { "begin": 7535, "end": 7624, "name": "PUSH [tag]", "source": 4, "value": "103" }, { "begin": 7535, "end": 7624, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 7535, "end": 7624, "name": "tag", "source": 4, "value": "191" }, { "begin": 7535, "end": 7624, "name": "JUMPDEST", "source": 4 }, { "begin": 7528, "end": 7624, "name": "SWAP4", "source": 4 }, { "begin": 7528, "end": 7624, "name": "POP", "source": 4 }, { "begin": 7633, "end": 7698, "name": "PUSH [tag]", "source": 4, "value": "192" }, { "begin": 7691, "end": 7697, "name": "DUP2", "source": 4 }, { "begin": 7686, "end": 7689, "name": "DUP6", "source": 4 }, { "begin": 7679, "end": 7683, "name": "PUSH", "source": 4, "value": "20" }, { "begin": 7672, "end": 7677, "name": "DUP7", "source": 4 }, { "begin": 7668, "end": 7684, "name": "ADD", "source": 4 }, { "begin": 7633, "end": 7698, "name": "PUSH [tag]", "source": 4, "value": "88" }, { "begin": 7633, "end": 7698, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 7633, "end": 7698, "name": "tag", "source": 4, "value": "192" }, { "begin": 7633, "end": 7698, "name": "JUMPDEST", "source": 4 }, { "begin": 7723, "end": 7729, "name": "DUP1", "source": 4 }, { "begin": 7718, "end": 7721, "name": "DUP5", "source": 4 }, { "begin": 7714, "end": 7730, "name": "ADD", "source": 4 }, { "begin": 7707, "end": 7730, "name": "SWAP2", "source": 4 }, { "begin": 7707, "end": 7730, "name": "POP", "source": 4 }, { "begin": 7456, "end": 7736, "name": "POP", "source": 4 }, { "begin": 7346, "end": 7736, "name": "SWAP3", "source": 4 }, { "begin": 7346, "end": 7736, "name": "SWAP2", "source": 4 }, { "begin": 7346, "end": 7736, "name": "POP", "source": 4 }, { "begin": 7346, "end": 7736, "name": "POP", "source": 4 }, { "begin": 7346, "end": 7736, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 7742, "end": 8017, "name": "tag", "source": 4, "value": "51" }, { "begin": 7742, "end": 8017, "name": "JUMPDEST", "source": 4 }, { "begin": 7874, "end": 7877, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 7896, "end": 7991, "name": "PUSH [tag]", "source": 4, "value": "194" }, { "begin": 7987, "end": 7990, "name": "DUP3", "source": 4 }, { "begin": 7978, "end": 7984, "name": "DUP5", "source": 4 }, { "begin": 7896, "end": 7991, "name": "PUSH [tag]", "source": 4, "value": "104" }, { "begin": 7896, "end": 7991, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 7896, "end": 7991, "name": "tag", "source": 4, "value": "194" }, { "begin": 7896, "end": 7991, "name": "JUMPDEST", "source": 4 }, { "begin": 7889, "end": 7991, "name": "SWAP2", "source": 4 }, { "begin": 7889, "end": 7991, "name": "POP", "source": 4 }, { "begin": 8008, "end": 8011, "name": "DUP2", "source": 4 }, { "begin": 8001, "end": 8011, "name": "SWAP1", "source": 4 }, { "begin": 8001, "end": 8011, "name": "POP", "source": 4 }, { "begin": 7742, "end": 8017, "name": "SWAP3", "source": 4 }, { "begin": 7742, "end": 8017, "name": "SWAP2", "source": 4 }, { "begin": 7742, "end": 8017, "name": "POP", "source": 4 }, { "begin": 7742, "end": 8017, "name": "POP", "source": 4 }, { "begin": 7742, "end": 8017, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 8023, "end": 8433, "name": "tag", "source": 4, "value": "57" }, { "begin": 8023, "end": 8433, "name": "JUMPDEST", "source": 4 }, { "begin": 8063, "end": 8070, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 8086, "end": 8106, "name": "PUSH [tag]", "source": 4, "value": "196" }, { "begin": 8104, "end": 8105, "name": "DUP3", "source": 4 }, { "begin": 8086, "end": 8106, "name": "PUSH [tag]", "source": 4, "value": "83" }, { "begin": 8086, "end": 8106, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 8086, "end": 8106, "name": "tag", "source": 4, "value": "196" }, { "begin": 8086, "end": 8106, "name": "JUMPDEST", "source": 4 }, { "begin": 8081, "end": 8106, "name": "SWAP2", "source": 4 }, { "begin": 8081, "end": 8106, "name": "POP", "source": 4 }, { "begin": 8120, "end": 8140, "name": "PUSH [tag]", "source": 4, "value": "197" }, { "begin": 8138, "end": 8139, "name": "DUP4", "source": 4 }, { "begin": 8120, "end": 8140, "name": "PUSH [tag]", "source": 4, "value": "83" }, { "begin": 8120, "end": 8140, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 8120, "end": 8140, "name": "tag", "source": 4, "value": "197" }, { "begin": 8120, "end": 8140, "name": "JUMPDEST", "source": 4 }, { "begin": 8115, "end": 8140, "name": "SWAP3", "source": 4 }, { "begin": 8115, "end": 8140, "name": "POP", "source": 4 }, { "begin": 8175, "end": 8176, "name": "DUP3", "source": 4 }, { "begin": 8172, "end": 8173, "name": "DUP3", "source": 4 }, { "begin": 8168, "end": 8177, "name": "MUL", "source": 4 }, { "begin": 8197, "end": 8227, "name": "PUSH [tag]", "source": 4, "value": "198" }, { "begin": 8215, "end": 8226, "name": "DUP2", "source": 4 }, { "begin": 8197, "end": 8227, "name": "PUSH [tag]", "source": 4, "value": "83" }, { "begin": 8197, "end": 8227, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 8197, "end": 8227, "name": "tag", "source": 4, "value": "198" }, { "begin": 8197, "end": 8227, "name": "JUMPDEST", "source": 4 }, { "begin": 8186, "end": 8227, "name": "SWAP2", "source": 4 }, { "begin": 8186, "end": 8227, "name": "POP", "source": 4 }, { "begin": 8376, "end": 8377, "name": "DUP3", "source": 4 }, { "begin": 8367, "end": 8374, "name": "DUP3", "source": 4 }, { "begin": 8363, "end": 8378, "name": "DIV", "source": 4 }, { "begin": 8360, "end": 8361, "name": "DUP5", "source": 4 }, { "begin": 8357, "end": 8379, "name": "EQ", "source": 4 }, { "begin": 8337, "end": 8338, "name": "DUP4", "source": 4 }, { "begin": 8330, "end": 8339, "name": "ISZERO", "source": 4 }, { "begin": 8310, "end": 8393, "name": "OR", "source": 4 }, { "begin": 8287, "end": 8426, "name": "PUSH [tag]", "source": 4, "value": "199" }, { "begin": 8287, "end": 8426, "name": "JUMPI", "source": 4 }, { "begin": 8406, "end": 8424, "name": "PUSH [tag]", "source": 4, "value": "200" }, { "begin": 8406, "end": 8424, "name": "PUSH [tag]", "source": 4, "value": "102" }, { "begin": 8406, "end": 8424, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 8406, "end": 8424, "name": "tag", "source": 4, "value": "200" }, { "begin": 8406, "end": 8424, "name": "JUMPDEST", "source": 4 }, { "begin": 8287, "end": 8426, "name": "tag", "source": 4, "value": "199" }, { "begin": 8287, "end": 8426, "name": "JUMPDEST", "source": 4 }, { "begin": 8071, "end": 8433, "name": "POP", "source": 4 }, { "begin": 8023, "end": 8433, "name": "SWAP3", "source": 4 }, { "begin": 8023, "end": 8433, "name": "SWAP2", "source": 4 }, { "begin": 8023, "end": 8433, "name": "POP", "source": 4 }, { "begin": 8023, "end": 8433, "name": "POP", "source": 4 }, { "begin": 8023, "end": 8433, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 8439, "end": 8610, "name": "tag", "source": 4, "value": "76" }, { "begin": 8439, "end": 8610, "name": "JUMPDEST", "source": 4 }, { "begin": 8478, "end": 8481, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 8501, "end": 8525, "name": "PUSH [tag]", "source": 4, "value": "202" }, { "begin": 8519, "end": 8524, "name": "DUP3", "source": 4 }, { "begin": 8501, "end": 8525, "name": "PUSH [tag]", "source": 4, "value": "83" }, { "begin": 8501, "end": 8525, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 8501, "end": 8525, "name": "tag", "source": 4, "value": "202" }, { "begin": 8501, "end": 8525, "name": "JUMPDEST", "source": 4 }, { "begin": 8492, "end": 8525, "name": "SWAP2", "source": 4 }, { "begin": 8492, "end": 8525, "name": "POP", "source": 4 }, { "begin": 8547, "end": 8551, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 8540, "end": 8545, "name": "DUP3", "source": 4 }, { "begin": 8537, "end": 8552, "name": "SUB", "source": 4 }, { "begin": 8534, "end": 8575, "name": "PUSH [tag]", "source": 4, "value": "203" }, { "begin": 8534, "end": 8575, "name": "JUMPI", "source": 4 }, { "begin": 8555, "end": 8573, "name": "PUSH [tag]", "source": 4, "value": "204" }, { "begin": 8555, "end": 8573, "name": "PUSH [tag]", "source": 4, "value": "102" }, { "begin": 8555, "end": 8573, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 8555, "end": 8573, "name": "tag", "source": 4, "value": "204" }, { "begin": 8555, "end": 8573, "name": "JUMPDEST", "source": 4 }, { "begin": 8534, "end": 8575, "name": "tag", "source": 4, "value": "203" }, { "begin": 8534, "end": 8575, "name": "JUMPDEST", "source": 4 }, { "begin": 8602, "end": 8603, "name": "PUSH", "source": 4, "value": "1" }, { "begin": 8595, "end": 8600, "name": "DUP3", "source": 4 }, { "begin": 8591, "end": 8604, "name": "SUB", "source": 4 }, { "begin": 8584, "end": 8604, "name": "SWAP1", "source": 4 }, { "begin": 8584, "end": 8604, "name": "POP", "source": 4 }, { "begin": 8439, "end": 8610, "name": "SWAP2", "source": 4 }, { "begin": 8439, "end": 8610, "name": "SWAP1", "source": 4 }, { "begin": 8439, "end": 8610, "name": "POP", "source": 4 }, { "begin": 8439, "end": 8610, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 8616, "end": 8734, "name": "tag", "source": 4, "value": "105" }, { "begin": 8616, "end": 8734, "name": "JUMPDEST", "source": 4 }, { "begin": 8703, "end": 8727, "name": "PUSH [tag]", "source": 4, "value": "206" }, { "begin": 8721, "end": 8726, "name": "DUP2", "source": 4 }, { "begin": 8703, "end": 8727, "name": "PUSH [tag]", "source": 4, "value": "83" }, { "begin": 8703, "end": 8727, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 8703, "end": 8727, "name": "tag", "source": 4, "value": "206" }, { "begin": 8703, "end": 8727, "name": "JUMPDEST", "source": 4 }, { "begin": 8698, "end": 8701, "name": "DUP3", "source": 4 }, { "begin": 8691, "end": 8728, "name": "MSTORE", "source": 4 }, { "begin": 8616, "end": 8734, "name": "POP", "source": 4 }, { "begin": 8616, "end": 8734, "name": "POP", "source": 4 }, { "begin": 8616, "end": 8734, "jumpType": "[out]", "name": "JUMP", "source": 4 }, { "begin": 8740, "end": 9072, "name": "tag", "source": 4, "value": "79" }, { "begin": 8740, "end": 9072, "name": "JUMPDEST", "source": 4 }, { "begin": 8861, "end": 8865, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 8899, "end": 8901, "name": "PUSH", "source": 4, "value": "40" }, { "begin": 8888, "end": 8897, "name": "DUP3", "source": 4 }, { "begin": 8884, "end": 8902, "name": "ADD", "source": 4 }, { "begin": 8876, "end": 8902, "name": "SWAP1", "source": 4 }, { "begin": 8876, "end": 8902, "name": "POP", "source": 4 }, { "begin": 8912, "end": 8983, "name": "PUSH [tag]", "source": 4, "value": "208" }, { "begin": 8980, "end": 8981, "name": "PUSH", "source": 4, "value": "0" }, { "begin": 8969, "end": 8978, "name": "DUP4", "source": 4 }, { "begin": 8965, "end": 8982, "name": "ADD", "source": 4 }, { "begin": 8956, "end": 8962, "name": "DUP6", "source": 4 }, { "begin": 8912, "end": 8983, "name": "PUSH [tag]", "source": 4, "value": "105" }, { "begin": 8912, "end": 8983, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 8912, "end": 8983, "name": "tag", "source": 4, "value": "208" }, { "begin": 8912, "end": 8983, "name": "JUMPDEST", "source": 4 }, { "begin": 8993, "end": 9065, "name": "PUSH [tag]", "source": 4, "value": "209" }, { "begin": 9061, "end": 9063, "name": "PUSH", "source": 4, "value": "20" }, { "begin": 9050, "end": 9059, "name": "DUP4", "source": 4 }, { "begin": 9046, "end": 9064, "name": "ADD", "source": 4 }, { "begin": 9037, "end": 9043, "name": "DUP5", "source": 4 }, { "begin": 8993, "end": 9065, "name": "PUSH [tag]", "source": 4, "value": "105" }, { "begin": 8993, "end": 9065, "jumpType": "[in]", "name": "JUMP", "source": 4 }, { "begin": 8993, "end": 9065, "name": "tag", "source": 4, "value": "209" }, { "begin": 8993, "end": 9065, "name": "JUMPDEST", "source": 4 }, { "begin": 8740, "end": 9072, "name": "SWAP4", "source": 4 }, { "begin": 8740, "end": 9072, "name": "SWAP3", "source": 4 }, { "begin": 8740, "end": 9072, "name": "POP", "source": 4 }, { "begin": 8740, "end": 9072, "name": "POP", "source": 4 }, { "begin": 8740, "end": 9072, "name": "POP", "source": 4 }, { "begin": 8740, "end": 9072, "jumpType": "[out]", "name": "JUMP", "source": 4 } ] } }, "sourceList": [ "@openzeppelin/contracts/utils/Strings.sol", "@openzeppelin/contracts/utils/math/Math.sol", "@openzeppelin/contracts/utils/math/SignedMath.sol", "contracts/1inch/ImagePicker.sol", "#utility.yul" ] }, "methodIdentifiers": { "getImageByAccountHex(bytes)": "c445b362", "getImageByTokenID(uint256)": "a6e3d38c" } }, "metadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"StringsInsufficientHexLength\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"accountHex\",\"type\":\"bytes\"}],\"name\":\"accountHexEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"imageIndex\",\"type\":\"uint256\"}],\"name\":\"imageIndexEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"numberEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"shortAddressBytes\",\"type\":\"bytes32\"}],\"name\":\"shortAddressBytesEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"shortAddress\",\"type\":\"string\"}],\"name\":\"shortAddressEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"shortAddress\",\"type\":\"bytes\"}],\"name\":\"shortAddressProgressEvent\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"accountHex\",\"type\":\"bytes\"}],\"name\":\"getImageByAccountHex\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getImageByTokenID\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"StringsInsufficientHexLength(uint256,uint256)\":[{\"details\":\"The `value` string doesn't fit in the specified `length`.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/1inch/ImagePicker.sol\":\"ImagePicker\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]},\"contracts/1inch/ImagePicker.sol\":{\"keccak256\":\"0x8682f005b72dd0284e6d3c154d6c4a380ebd528bb342316abed87d901c30685f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a81fd1f0a7c6dcf288f0ad8dbbf5db714ea414750631afbbd7ac3659d3ddf7bd\",\"dweb:/ipfs/QmXBkxvq4aCGuhRZnEHm3Kyn2cCBFpzeBE6GxAUUHgwSju\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } } } }, "errors": [ { "component": "general", "errorCode": "2072", "formattedMessage": "Warning: Unused local variable.\n --> contracts/1inch/ImagePicker.sol:84:9:\n |\n84 | string memory image = images[tokenId % images.length];\n | ^^^^^^^^^^^^^^^^^^^\n\n", "message": "Unused local variable.", "severity": "warning", "sourceLocation": { "end": 2906, "file": "contracts/1inch/ImagePicker.sol", "start": 2887 }, "type": "Warning" } ], "sources": { "@openzeppelin/contracts/utils/Strings.sol": { "ast": { "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", "exportedSymbols": { "Math": [ 1308 ], "SignedMath": [ 1413 ], "Strings": [ 254 ] }, "id": 255, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 1, "literals": [ "solidity", "^", "0.8", ".20" ], "nodeType": "PragmaDirective", "src": "101:24:0" }, { "absolutePath": "@openzeppelin/contracts/utils/math/Math.sol", "file": "./math/Math.sol", "id": 3, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 255, "sourceUnit": 1309, "src": "127:37:0", "symbolAliases": [ { "foreign": { "id": 2, "name": "Math", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1308, "src": "135:4:0", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" } ], "unitAlias": "" }, { "absolutePath": "@openzeppelin/contracts/utils/math/SignedMath.sol", "file": "./math/SignedMath.sol", "id": 5, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 255, "sourceUnit": 1414, "src": "165:49:0", "symbolAliases": [ { "foreign": { "id": 4, "name": "SignedMath", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1413, "src": "173:10:0", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" } ], "unitAlias": "" }, { "abstract": false, "baseContracts": [], "canonicalName": "Strings", "contractDependencies": [], "contractKind": "library", "documentation": { "id": 6, "nodeType": "StructuredDocumentation", "src": "216:34:0", "text": " @dev String operations." }, "fullyImplemented": true, "id": 254, "linearizedBaseContracts": [ 254 ], "name": "Strings", "nameLocation": "259:7:0", "nodeType": "ContractDefinition", "nodes": [ { "constant": true, "id": 9, "mutability": "constant", "name": "HEX_DIGITS", "nameLocation": "298:10:0", "nodeType": "VariableDeclaration", "scope": 254, "src": "273:56:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 7, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "273:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": { "hexValue": "30313233343536373839616263646566", "id": 8, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "311:18:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f", "typeString": "literal_string \"0123456789abcdef\"" }, "value": "0123456789abcdef" }, "visibility": "private" }, { "constant": true, "id": 12, "mutability": "constant", "name": "ADDRESS_LENGTH", "nameLocation": "358:14:0", "nodeType": "VariableDeclaration", "scope": 254, "src": "335:42:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 10, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "335:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": { "hexValue": "3230", "id": 11, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "375:2:0", "typeDescriptions": { "typeIdentifier": "t_rational_20_by_1", "typeString": "int_const 20" }, "value": "20" }, "visibility": "private" }, { "documentation": { "id": 13, "nodeType": "StructuredDocumentation", "src": "384:81:0", "text": " @dev The `value` string doesn't fit in the specified `length`." }, "errorSelector": "e22e27eb", "id": 19, "name": "StringsInsufficientHexLength", "nameLocation": "476:28:0", "nodeType": "ErrorDefinition", "parameters": { "id": 18, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 15, "mutability": "mutable", "name": "value", "nameLocation": "513:5:0", "nodeType": "VariableDeclaration", "scope": 19, "src": "505:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 14, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "505:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 17, "mutability": "mutable", "name": "length", "nameLocation": "528:6:0", "nodeType": "VariableDeclaration", "scope": 19, "src": "520:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 16, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "520:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "504:31:0" }, "src": "470:66:0" }, { "body": { "id": 66, "nodeType": "Block", "src": "708:627:0", "statements": [ { "id": 65, "nodeType": "UncheckedBlock", "src": "718:611:0", "statements": [ { "assignments": [ 28 ], "declarations": [ { "constant": false, "id": 28, "mutability": "mutable", "name": "length", "nameLocation": "750:6:0", "nodeType": "VariableDeclaration", "scope": 65, "src": "742:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 27, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "742:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 35, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 34, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [ { "id": 31, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, "src": "770:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "id": 29, "name": "Math", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1308, "src": "759:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_Math_$1308_$", "typeString": "type(library Math)" } }, "id": 30, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "764:5:0", "memberName": "log10", "nodeType": "MemberAccess", "referencedDeclaration": 1128, "src": "759:10:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) pure returns (uint256)" } }, "id": 32, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "759:17:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "hexValue": "31", "id": 33, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "779:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "759:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "742:38:0" }, { "assignments": [ 37 ], "declarations": [ { "constant": false, "id": 37, "mutability": "mutable", "name": "buffer", "nameLocation": "808:6:0", "nodeType": "VariableDeclaration", "scope": 65, "src": "794:20:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 36, "name": "string", "nodeType": "ElementaryTypeName", "src": "794:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "id": 42, "initialValue": { "arguments": [ { "id": 40, "name": "length", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 28, "src": "828:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 39, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "817:10:0", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256) pure returns (string memory)" }, "typeName": { "id": 38, "name": "string", "nodeType": "ElementaryTypeName", "src": "821:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } } }, "id": 41, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "817:18:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "nodeType": "VariableDeclarationStatement", "src": "794:41:0" }, { "assignments": [ 44 ], "declarations": [ { "constant": false, "id": 44, "mutability": "mutable", "name": "ptr", "nameLocation": "857:3:0", "nodeType": "VariableDeclaration", "scope": 65, "src": "849:11:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 43, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "849:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 45, "nodeType": "VariableDeclarationStatement", "src": "849:11:0" }, { "AST": { "nodeType": "YulBlock", "src": "930:67:0", "statements": [ { "nodeType": "YulAssignment", "src": "948:35:0", "value": { "arguments": [ { "name": "buffer", "nodeType": "YulIdentifier", "src": "959:6:0" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "971:2:0", "type": "", "value": "32" }, { "name": "length", "nodeType": "YulIdentifier", "src": "975:6:0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "967:3:0" }, "nodeType": "YulFunctionCall", "src": "967:15:0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "955:3:0" }, "nodeType": "YulFunctionCall", "src": "955:28:0" }, "variableNames": [ { "name": "ptr", "nodeType": "YulIdentifier", "src": "948:3:0" } ] } ] }, "documentation": "@solidity memory-safe-assembly", "evmVersion": "shanghai", "externalReferences": [ { "declaration": 37, "isOffset": false, "isSlot": false, "src": "959:6:0", "valueSize": 1 }, { "declaration": 28, "isOffset": false, "isSlot": false, "src": "975:6:0", "valueSize": 1 }, { "declaration": 44, "isOffset": false, "isSlot": false, "src": "948:3:0", "valueSize": 1 } ], "id": 46, "nodeType": "InlineAssembly", "src": "921:76:0" }, { "body": { "id": 61, "nodeType": "Block", "src": "1023:269:0", "statements": [ { "expression": { "id": 49, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "--", "prefix": false, "src": "1041:5:0", "subExpression": { "id": 48, "name": "ptr", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 44, "src": "1041:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 50, "nodeType": "ExpressionStatement", "src": "1041:5:0" }, { "AST": { "nodeType": "YulBlock", "src": "1124:86:0", "statements": [ { "expression": { "arguments": [ { "name": "ptr", "nodeType": "YulIdentifier", "src": "1154:3:0" }, { "arguments": [ { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "1168:5:0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1175:2:0", "type": "", "value": "10" } ], "functionName": { "name": "mod", "nodeType": "YulIdentifier", "src": "1164:3:0" }, "nodeType": "YulFunctionCall", "src": "1164:14:0" }, { "name": "HEX_DIGITS", "nodeType": "YulIdentifier", "src": "1180:10:0" } ], "functionName": { "name": "byte", "nodeType": "YulIdentifier", "src": "1159:4:0" }, "nodeType": "YulFunctionCall", "src": "1159:32:0" } ], "functionName": { "name": "mstore8", "nodeType": "YulIdentifier", "src": "1146:7:0" }, "nodeType": "YulFunctionCall", "src": "1146:46:0" }, "nodeType": "YulExpressionStatement", "src": "1146:46:0" } ] }, "documentation": "@solidity memory-safe-assembly", "evmVersion": "shanghai", "externalReferences": [ { "declaration": 9, "isOffset": false, "isSlot": false, "src": "1180:10:0", "valueSize": 1 }, { "declaration": 44, "isOffset": false, "isSlot": false, "src": "1154:3:0", "valueSize": 1 }, { "declaration": 22, "isOffset": false, "isSlot": false, "src": "1168:5:0", "valueSize": 1 } ], "id": 51, "nodeType": "InlineAssembly", "src": "1115:95:0" }, { "expression": { "id": 54, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 52, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, "src": "1227:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "/=", "rightHandSide": { "hexValue": "3130", "id": 53, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1236:2:0", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "src": "1227:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 55, "nodeType": "ExpressionStatement", "src": "1227:11:0" }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 58, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 56, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, "src": "1260:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "30", "id": 57, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1269:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "1260:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 60, "nodeType": "IfStatement", "src": "1256:21:0", "trueBody": { "id": 59, "nodeType": "Break", "src": "1272:5:0" } } ] }, "condition": { "hexValue": "74727565", "id": 47, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "1017:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "id": 62, "nodeType": "WhileStatement", "src": "1010:282:0" }, { "expression": { "id": 63, "name": "buffer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 37, "src": "1312:6:0", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "functionReturnParameters": 26, "id": 64, "nodeType": "Return", "src": "1305:13:0" } ] } ] }, "documentation": { "id": 20, "nodeType": "StructuredDocumentation", "src": "542:90:0", "text": " @dev Converts a `uint256` to its ASCII `string` decimal representation." }, "id": 67, "implemented": true, "kind": "function", "modifiers": [], "name": "toString", "nameLocation": "646:8:0", "nodeType": "FunctionDefinition", "parameters": { "id": 23, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 22, "mutability": "mutable", "name": "value", "nameLocation": "663:5:0", "nodeType": "VariableDeclaration", "scope": 67, "src": "655:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 21, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "655:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "654:15:0" }, "returnParameters": { "id": 26, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 25, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 67, "src": "693:13:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 24, "name": "string", "nodeType": "ElementaryTypeName", "src": "693:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "692:15:0" }, "scope": 254, "src": "637:698:0", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 92, "nodeType": "Block", "src": "1511:92:0", "statements": [ { "expression": { "arguments": [ { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 80, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 78, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 70, "src": "1542:5:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "hexValue": "30", "id": 79, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1550:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "1542:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseExpression": { "hexValue": "", "id": 82, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1560:2:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" }, "value": "" }, "id": 83, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", "src": "1542:20:0", "trueExpression": { "hexValue": "2d", "id": 81, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1554:3:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_d3b8281179950f98149eefdb158d0e1acb56f56e8e343aa9fefafa7e36959561", "typeString": "literal_string \"-\"" }, "value": "-" }, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "arguments": [ { "arguments": [ { "id": 87, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 70, "src": "1588:5:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_int256", "typeString": "int256" } ], "expression": { "id": 85, "name": "SignedMath", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1413, "src": "1573:10:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_SignedMath_$1413_$", "typeString": "type(library SignedMath)" } }, "id": 86, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1584:3:0", "memberName": "abs", "nodeType": "MemberAccess", "referencedDeclaration": 1412, "src": "1573:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_uint256_$", "typeString": "function (int256) pure returns (uint256)" } }, "id": 88, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1573:21:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 84, "name": "toString", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 67, "src": "1564:8:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256) pure returns (string memory)" } }, "id": 89, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1564:31:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "id": 76, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1528:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { "id": 75, "name": "string", "nodeType": "ElementaryTypeName", "src": "1528:6:0", "typeDescriptions": {} } }, "id": 77, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1535:6:0", "memberName": "concat", "nodeType": "MemberAccess", "src": "1528:13:0", "typeDescriptions": { "typeIdentifier": "t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$", "typeString": "function () pure returns (string memory)" } }, "id": 90, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1528:68:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "functionReturnParameters": 74, "id": 91, "nodeType": "Return", "src": "1521:75:0" } ] }, "documentation": { "id": 68, "nodeType": "StructuredDocumentation", "src": "1341:89:0", "text": " @dev Converts a `int256` to its ASCII `string` decimal representation." }, "id": 93, "implemented": true, "kind": "function", "modifiers": [], "name": "toStringSigned", "nameLocation": "1444:14:0", "nodeType": "FunctionDefinition", "parameters": { "id": 71, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 70, "mutability": "mutable", "name": "value", "nameLocation": "1466:5:0", "nodeType": "VariableDeclaration", "scope": 93, "src": "1459:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 69, "name": "int256", "nodeType": "ElementaryTypeName", "src": "1459:6:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" } ], "src": "1458:14:0" }, "returnParameters": { "id": 74, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 73, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 93, "src": "1496:13:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 72, "name": "string", "nodeType": "ElementaryTypeName", "src": "1496:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "1495:15:0" }, "scope": 254, "src": "1435:168:0", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 112, "nodeType": "Block", "src": "1782:100:0", "statements": [ { "id": 111, "nodeType": "UncheckedBlock", "src": "1792:84:0", "statements": [ { "expression": { "arguments": [ { "id": 102, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 96, "src": "1835:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 108, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [ { "id": 105, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 96, "src": "1854:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "id": 103, "name": "Math", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1308, "src": "1842:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_Math_$1308_$", "typeString": "type(library Math)" } }, "id": 104, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1847:6:0", "memberName": "log256", "nodeType": "MemberAccess", "referencedDeclaration": 1250, "src": "1842:11:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) pure returns (uint256)" } }, "id": 106, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1842:18:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "hexValue": "31", "id": 107, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1863:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "1842:22:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 101, "name": "toHexString", "nodeType": "Identifier", "overloadedDeclarations": [ 113, 196, 216 ], "referencedDeclaration": 196, "src": "1823:11:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256,uint256) pure returns (string memory)" } }, "id": 109, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1823:42:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "functionReturnParameters": 100, "id": 110, "nodeType": "Return", "src": "1816:49:0" } ] } ] }, "documentation": { "id": 94, "nodeType": "StructuredDocumentation", "src": "1609:94:0", "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation." }, "id": 113, "implemented": true, "kind": "function", "modifiers": [], "name": "toHexString", "nameLocation": "1717:11:0", "nodeType": "FunctionDefinition", "parameters": { "id": 97, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 96, "mutability": "mutable", "name": "value", "nameLocation": "1737:5:0", "nodeType": "VariableDeclaration", "scope": 113, "src": "1729:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 95, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1729:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1728:15:0" }, "returnParameters": { "id": 100, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 99, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 113, "src": "1767:13:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 98, "name": "string", "nodeType": "ElementaryTypeName", "src": "1767:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "1766:15:0" }, "scope": 254, "src": "1708:174:0", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 195, "nodeType": "Block", "src": "2095:435:0", "statements": [ { "assignments": [ 124 ], "declarations": [ { "constant": false, "id": 124, "mutability": "mutable", "name": "localValue", "nameLocation": "2113:10:0", "nodeType": "VariableDeclaration", "scope": 195, "src": "2105:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 123, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2105:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 126, "initialValue": { "id": 125, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 116, "src": "2126:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "2105:26:0" }, { "assignments": [ 128 ], "declarations": [ { "constant": false, "id": 128, "mutability": "mutable", "name": "buffer", "nameLocation": "2154:6:0", "nodeType": "VariableDeclaration", "scope": 195, "src": "2141:19:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 127, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "2141:5:0", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "id": 137, "initialValue": { "arguments": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 135, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 133, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "32", "id": 131, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2173:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "id": 132, "name": "length", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 118, "src": "2177:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "2173:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "hexValue": "32", "id": 134, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2186:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "src": "2173:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 130, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "2163:9:0", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", "typeString": "function (uint256) pure returns (bytes memory)" }, "typeName": { "id": 129, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "2167:5:0", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } } }, "id": 136, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2163:25:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "nodeType": "VariableDeclarationStatement", "src": "2141:47:0" }, { "expression": { "id": 142, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "id": 138, "name": "buffer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, "src": "2198:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 140, "indexExpression": { "hexValue": "30", "id": 139, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2205:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "2198:9:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "hexValue": "30", "id": 141, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2210:3:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", "typeString": "literal_string \"0\"" }, "value": "0" }, "src": "2198:15:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "id": 143, "nodeType": "ExpressionStatement", "src": "2198:15:0" }, { "expression": { "id": 148, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "id": 144, "name": "buffer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, "src": "2223:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 146, "indexExpression": { "hexValue": "31", "id": 145, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2230:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "2223:9:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "hexValue": "78", "id": 147, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2235:3:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83", "typeString": "literal_string \"x\"" }, "value": "x" }, "src": "2223:15:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "id": 149, "nodeType": "ExpressionStatement", "src": "2223:15:0" }, { "body": { "id": 178, "nodeType": "Block", "src": "2293:95:0", "statements": [ { "expression": { "id": 172, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "id": 164, "name": "buffer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, "src": "2307:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 166, "indexExpression": { "id": 165, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, "src": "2314:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "2307:9:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "baseExpression": { "id": 167, "name": "HEX_DIGITS", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, "src": "2319:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "id": 171, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 170, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 168, "name": "localValue", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, "src": "2330:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "&", "rightExpression": { "hexValue": "307866", "id": 169, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2343:3:0", "typeDescriptions": { "typeIdentifier": "t_rational_15_by_1", "typeString": "int_const 15" }, "value": "0xf" }, "src": "2330:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2319:28:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "src": "2307:40:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "id": 173, "nodeType": "ExpressionStatement", "src": "2307:40:0" }, { "expression": { "id": 176, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 174, "name": "localValue", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, "src": "2361:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": ">>=", "rightHandSide": { "hexValue": "34", "id": 175, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2376:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" }, "value": "4" }, "src": "2361:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 177, "nodeType": "ExpressionStatement", "src": "2361:16:0" } ] }, "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 160, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 158, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, "src": "2281:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "hexValue": "31", "id": 159, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2285:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "2281:5:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 179, "initializationExpression": { "assignments": [ 151 ], "declarations": [ { "constant": false, "id": 151, "mutability": "mutable", "name": "i", "nameLocation": "2261:1:0", "nodeType": "VariableDeclaration", "scope": 179, "src": "2253:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 150, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2253:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 157, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 156, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 154, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "32", "id": 152, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2265:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "id": 153, "name": "length", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 118, "src": "2269:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "2265:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "hexValue": "31", "id": 155, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2278:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "2265:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "2253:26:0" }, "loopExpression": { "expression": { "id": 162, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "--", "prefix": true, "src": "2288:3:0", "subExpression": { "id": 161, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, "src": "2290:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 163, "nodeType": "ExpressionStatement", "src": "2288:3:0" }, "nodeType": "ForStatement", "src": "2248:140:0" }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 182, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 180, "name": "localValue", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, "src": "2401:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "hexValue": "30", "id": 181, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2415:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "2401:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 189, "nodeType": "IfStatement", "src": "2397:96:0", "trueBody": { "id": 188, "nodeType": "Block", "src": "2418:75:0", "statements": [ { "errorCall": { "arguments": [ { "id": 184, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 116, "src": "2468:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 185, "name": "length", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 118, "src": "2475:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 183, "name": "StringsInsufficientHexLength", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19, "src": "2439:28:0", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256) pure" } }, "id": 186, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2439:43:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 187, "nodeType": "RevertStatement", "src": "2432:50:0" } ] } }, { "expression": { "arguments": [ { "id": 192, "name": "buffer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, "src": "2516:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 191, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2509:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { "id": 190, "name": "string", "nodeType": "ElementaryTypeName", "src": "2509:6:0", "typeDescriptions": {} } }, "id": 193, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2509:14:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "functionReturnParameters": 122, "id": 194, "nodeType": "Return", "src": "2502:21:0" } ] }, "documentation": { "id": 114, "nodeType": "StructuredDocumentation", "src": "1888:112:0", "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length." }, "id": 196, "implemented": true, "kind": "function", "modifiers": [], "name": "toHexString", "nameLocation": "2014:11:0", "nodeType": "FunctionDefinition", "parameters": { "id": 119, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 116, "mutability": "mutable", "name": "value", "nameLocation": "2034:5:0", "nodeType": "VariableDeclaration", "scope": 196, "src": "2026:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 115, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2026:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 118, "mutability": "mutable", "name": "length", "nameLocation": "2049:6:0", "nodeType": "VariableDeclaration", "scope": 196, "src": "2041:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 117, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2041:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "2025:31:0" }, "returnParameters": { "id": 122, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 121, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 196, "src": "2080:13:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 120, "name": "string", "nodeType": "ElementaryTypeName", "src": "2080:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "2079:15:0" }, "scope": 254, "src": "2005:525:0", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 215, "nodeType": "Block", "src": "2762:75:0", "statements": [ { "expression": { "arguments": [ { "arguments": [ { "arguments": [ { "id": 209, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 199, "src": "2807:4:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 208, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2799:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { "id": 207, "name": "uint160", "nodeType": "ElementaryTypeName", "src": "2799:7:0", "typeDescriptions": {} } }, "id": 210, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2799:13:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint160", "typeString": "uint160" } ], "id": 206, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2791:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 205, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2791:7:0", "typeDescriptions": {} } }, "id": 211, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2791:22:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 212, "name": "ADDRESS_LENGTH", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, "src": "2815:14:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint8", "typeString": "uint8" } ], "id": 204, "name": "toHexString", "nodeType": "Identifier", "overloadedDeclarations": [ 113, 196, 216 ], "referencedDeclaration": 196, "src": "2779:11:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256,uint256) pure returns (string memory)" } }, "id": 213, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2779:51:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "functionReturnParameters": 203, "id": 214, "nodeType": "Return", "src": "2772:58:0" } ] }, "documentation": { "id": 197, "nodeType": "StructuredDocumentation", "src": "2536:148:0", "text": " @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal\n representation." }, "id": 216, "implemented": true, "kind": "function", "modifiers": [], "name": "toHexString", "nameLocation": "2698:11:0", "nodeType": "FunctionDefinition", "parameters": { "id": 200, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 199, "mutability": "mutable", "name": "addr", "nameLocation": "2718:4:0", "nodeType": "VariableDeclaration", "scope": 216, "src": "2710:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 198, "name": "address", "nodeType": "ElementaryTypeName", "src": "2710:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "2709:14:0" }, "returnParameters": { "id": 203, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 202, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 216, "src": "2747:13:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 201, "name": "string", "nodeType": "ElementaryTypeName", "src": "2747:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "2746:15:0" }, "scope": 254, "src": "2689:148:0", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 252, "nodeType": "Block", "src": "2992:104:0", "statements": [ { "expression": { "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 250, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 236, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "arguments": [ { "id": 228, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 219, "src": "3015:1:0", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 227, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3009:5:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { "id": 226, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "3009:5:0", "typeDescriptions": {} } }, "id": 229, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3009:8:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 230, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "3018:6:0", "memberName": "length", "nodeType": "MemberAccess", "src": "3009:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "expression": { "arguments": [ { "id": 233, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 221, "src": "3034:1:0", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 232, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3028:5:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { "id": 231, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "3028:5:0", "typeDescriptions": {} } }, "id": 234, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3028:8:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 235, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "3037:6:0", "memberName": "length", "nodeType": "MemberAccess", "src": "3028:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "3009:34:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "commonType": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "id": 249, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [ { "arguments": [ { "id": 240, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 219, "src": "3063:1:0", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 239, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3057:5:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { "id": 238, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "3057:5:0", "typeDescriptions": {} } }, "id": 241, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3057:8:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 237, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967288, "src": "3047:9:0", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 242, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3047:19:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "arguments": [ { "arguments": [ { "id": 246, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 221, "src": "3086:1:0", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 245, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3080:5:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { "id": 244, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "3080:5:0", "typeDescriptions": {} } }, "id": 247, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3080:8:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 243, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967288, "src": "3070:9:0", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 248, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3070:19:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "3047:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "3009:80:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 225, "id": 251, "nodeType": "Return", "src": "3002:87:0" } ] }, "documentation": { "id": 217, "nodeType": "StructuredDocumentation", "src": "2843:66:0", "text": " @dev Returns true if the two strings are equal." }, "id": 253, "implemented": true, "kind": "function", "modifiers": [], "name": "equal", "nameLocation": "2923:5:0", "nodeType": "FunctionDefinition", "parameters": { "id": 222, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 219, "mutability": "mutable", "name": "a", "nameLocation": "2943:1:0", "nodeType": "VariableDeclaration", "scope": 253, "src": "2929:15:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 218, "name": "string", "nodeType": "ElementaryTypeName", "src": "2929:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" }, { "constant": false, "id": 221, "mutability": "mutable", "name": "b", "nameLocation": "2960:1:0", "nodeType": "VariableDeclaration", "scope": 253, "src": "2946:15:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 220, "name": "string", "nodeType": "ElementaryTypeName", "src": "2946:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "2928:34:0" }, "returnParameters": { "id": 225, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 224, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 253, "src": "2986:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 223, "name": "bool", "nodeType": "ElementaryTypeName", "src": "2986:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "2985:6:0" }, "scope": 254, "src": "2914:182:0", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], "scope": 255, "src": "251:2847:0", "usedErrors": [ 19 ], "usedEvents": [] } ], "src": "101:2998:0" }, "id": 0 }, "@openzeppelin/contracts/utils/math/Math.sol": { "ast": { "absolutePath": "@openzeppelin/contracts/utils/math/Math.sol", "exportedSymbols": { "Math": [ 1308 ] }, "id": 1309, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 256, "literals": [ "solidity", "^", "0.8", ".20" ], "nodeType": "PragmaDirective", "src": "103:24:1" }, { "abstract": false, "baseContracts": [], "canonicalName": "Math", "contractDependencies": [], "contractKind": "library", "documentation": { "id": 257, "nodeType": "StructuredDocumentation", "src": "129:73:1", "text": " @dev Standard math utilities missing in the Solidity language." }, "fullyImplemented": true, "id": 1308, "linearizedBaseContracts": [ 1308 ], "name": "Math", "nameLocation": "211:4:1", "nodeType": "ContractDefinition", "nodes": [ { "documentation": { "id": 258, "nodeType": "StructuredDocumentation", "src": "222:50:1", "text": " @dev Muldiv operation overflow." }, "errorSelector": "227bc153", "id": 260, "name": "MathOverflowedMulDiv", "nameLocation": "283:20:1", "nodeType": "ErrorDefinition", "parameters": { "id": 259, "nodeType": "ParameterList", "parameters": [], "src": "303:2:1" }, "src": "277:29:1" }, { "canonicalName": "Math.Rounding", "id": 265, "members": [ { "id": 261, "name": "Floor", "nameLocation": "336:5:1", "nodeType": "EnumValue", "src": "336:5:1" }, { "id": 262, "name": "Ceil", "nameLocation": "379:4:1", "nodeType": "EnumValue", "src": "379:4:1" }, { "id": 263, "name": "Trunc", "nameLocation": "421:5:1", "nodeType": "EnumValue", "src": "421:5:1" }, { "id": 264, "name": "Expand", "nameLocation": "451:6:1", "nodeType": "EnumValue", "src": "451:6:1" } ], "name": "Rounding", "nameLocation": "317:8:1", "nodeType": "EnumDefinition", "src": "312:169:1" }, { "body": { "id": 296, "nodeType": "Block", "src": "661:140:1", "statements": [ { "id": 295, "nodeType": "UncheckedBlock", "src": "671:124:1", "statements": [ { "assignments": [ 278 ], "declarations": [ { "constant": false, "id": 278, "mutability": "mutable", "name": "c", "nameLocation": "703:1:1", "nodeType": "VariableDeclaration", "scope": 295, "src": "695:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 277, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "695:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 282, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 281, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 279, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 268, "src": "707:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "id": 280, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 270, "src": "711:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "707:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "695:17:1" }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 285, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 283, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 278, "src": "730:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "id": 284, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 268, "src": "734:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "730:5:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 290, "nodeType": "IfStatement", "src": "726:28:1", "trueBody": { "expression": { "components": [ { "hexValue": "66616c7365", "id": 286, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "745:5:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, { "hexValue": "30", "id": 287, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "752:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" } ], "id": 288, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", "src": "744:10:1", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", "typeString": "tuple(bool,int_const 0)" } }, "functionReturnParameters": 276, "id": 289, "nodeType": "Return", "src": "737:17:1" } }, { "expression": { "components": [ { "hexValue": "74727565", "id": 291, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "776:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, { "id": 292, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 278, "src": "782:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 293, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "775:9:1", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", "typeString": "tuple(bool,uint256)" } }, "functionReturnParameters": 276, "id": 294, "nodeType": "Return", "src": "768:16:1" } ] } ] }, "documentation": { "id": 266, "nodeType": "StructuredDocumentation", "src": "487:93:1", "text": " @dev Returns the addition of two unsigned integers, with an overflow flag." }, "id": 297, "implemented": true, "kind": "function", "modifiers": [], "name": "tryAdd", "nameLocation": "594:6:1", "nodeType": "FunctionDefinition", "parameters": { "id": 271, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 268, "mutability": "mutable", "name": "a", "nameLocation": "609:1:1", "nodeType": "VariableDeclaration", "scope": 297, "src": "601:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 267, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "601:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 270, "mutability": "mutable", "name": "b", "nameLocation": "620:1:1", "nodeType": "VariableDeclaration", "scope": 297, "src": "612:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 269, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "612:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "600:22:1" }, "returnParameters": { "id": 276, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 273, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 297, "src": "646:4:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 272, "name": "bool", "nodeType": "ElementaryTypeName", "src": "646:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" }, { "constant": false, "id": 275, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 297, "src": "652:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 274, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "652:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "645:15:1" }, "scope": 1308, "src": "585:216:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 324, "nodeType": "Block", "src": "984:113:1", "statements": [ { "id": 323, "nodeType": "UncheckedBlock", "src": "994:97:1", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 311, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 309, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 302, "src": "1022:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "id": 310, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 300, "src": "1026:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1022:5:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 316, "nodeType": "IfStatement", "src": "1018:28:1", "trueBody": { "expression": { "components": [ { "hexValue": "66616c7365", "id": 312, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "1037:5:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, { "hexValue": "30", "id": 313, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1044:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" } ], "id": 314, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", "src": "1036:10:1", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", "typeString": "tuple(bool,int_const 0)" } }, "functionReturnParameters": 308, "id": 315, "nodeType": "Return", "src": "1029:17:1" } }, { "expression": { "components": [ { "hexValue": "74727565", "id": 317, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "1068:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 320, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 318, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 300, "src": "1074:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "id": 319, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 302, "src": "1078:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1074:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 321, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "1067:13:1", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", "typeString": "tuple(bool,uint256)" } }, "functionReturnParameters": 308, "id": 322, "nodeType": "Return", "src": "1060:20:1" } ] } ] }, "documentation": { "id": 298, "nodeType": "StructuredDocumentation", "src": "807:96:1", "text": " @dev Returns the subtraction of two unsigned integers, with an overflow flag." }, "id": 325, "implemented": true, "kind": "function", "modifiers": [], "name": "trySub", "nameLocation": "917:6:1", "nodeType": "FunctionDefinition", "parameters": { "id": 303, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 300, "mutability": "mutable", "name": "a", "nameLocation": "932:1:1", "nodeType": "VariableDeclaration", "scope": 325, "src": "924:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 299, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "924:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 302, "mutability": "mutable", "name": "b", "nameLocation": "943:1:1", "nodeType": "VariableDeclaration", "scope": 325, "src": "935:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 301, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "935:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "923:22:1" }, "returnParameters": { "id": 308, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 305, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 325, "src": "969:4:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 304, "name": "bool", "nodeType": "ElementaryTypeName", "src": "969:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" }, { "constant": false, "id": 307, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 325, "src": "975:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 306, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "975:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "968:15:1" }, "scope": 1308, "src": "908:189:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 366, "nodeType": "Block", "src": "1283:417:1", "statements": [ { "id": 365, "nodeType": "UncheckedBlock", "src": "1293:401:1", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 339, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 337, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 328, "src": "1551:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "30", "id": 338, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1556:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "1551:6:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 344, "nodeType": "IfStatement", "src": "1547:28:1", "trueBody": { "expression": { "components": [ { "hexValue": "74727565", "id": 340, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "1567:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, { "hexValue": "30", "id": 341, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1573:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" } ], "id": 342, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", "src": "1566:9:1", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", "typeString": "tuple(bool,int_const 0)" } }, "functionReturnParameters": 336, "id": 343, "nodeType": "Return", "src": "1559:16:1" } }, { "assignments": [ 346 ], "declarations": [ { "constant": false, "id": 346, "mutability": "mutable", "name": "c", "nameLocation": "1597:1:1", "nodeType": "VariableDeclaration", "scope": 365, "src": "1589:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 345, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1589:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 350, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 349, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 347, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 328, "src": "1601:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "id": 348, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 330, "src": "1605:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1601:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "1589:17:1" }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 355, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 353, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 351, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 346, "src": "1624:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { "id": 352, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 328, "src": "1628:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1624:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "id": 354, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 330, "src": "1633:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1624:10:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 360, "nodeType": "IfStatement", "src": "1620:33:1", "trueBody": { "expression": { "components": [ { "hexValue": "66616c7365", "id": 356, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "1644:5:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, { "hexValue": "30", "id": 357, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1651:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" } ], "id": 358, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", "src": "1643:10:1", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", "typeString": "tuple(bool,int_const 0)" } }, "functionReturnParameters": 336, "id": 359, "nodeType": "Return", "src": "1636:17:1" } }, { "expression": { "components": [ { "hexValue": "74727565", "id": 361, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "1675:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, { "id": 362, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 346, "src": "1681:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 363, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "1674:9:1", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", "typeString": "tuple(bool,uint256)" } }, "functionReturnParameters": 336, "id": 364, "nodeType": "Return", "src": "1667:16:1" } ] } ] }, "documentation": { "id": 326, "nodeType": "StructuredDocumentation", "src": "1103:99:1", "text": " @dev Returns the multiplication of two unsigned integers, with an overflow flag." }, "id": 367, "implemented": true, "kind": "function", "modifiers": [], "name": "tryMul", "nameLocation": "1216:6:1", "nodeType": "FunctionDefinition", "parameters": { "id": 331, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 328, "mutability": "mutable", "name": "a", "nameLocation": "1231:1:1", "nodeType": "VariableDeclaration", "scope": 367, "src": "1223:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 327, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1223:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 330, "mutability": "mutable", "name": "b", "nameLocation": "1242:1:1", "nodeType": "VariableDeclaration", "scope": 367, "src": "1234:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 329, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1234:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1222:22:1" }, "returnParameters": { "id": 336, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 333, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 367, "src": "1268:4:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 332, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1268:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" }, { "constant": false, "id": 335, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 367, "src": "1274:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 334, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1274:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1267:15:1" }, "scope": 1308, "src": "1207:493:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 394, "nodeType": "Block", "src": "1887:114:1", "statements": [ { "id": 393, "nodeType": "UncheckedBlock", "src": "1897:98:1", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 381, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 379, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 372, "src": "1925:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "30", "id": 380, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1930:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "1925:6:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 386, "nodeType": "IfStatement", "src": "1921:29:1", "trueBody": { "expression": { "components": [ { "hexValue": "66616c7365", "id": 382, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "1941:5:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, { "hexValue": "30", "id": 383, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1948:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" } ], "id": 384, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", "src": "1940:10:1", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", "typeString": "tuple(bool,int_const 0)" } }, "functionReturnParameters": 378, "id": 385, "nodeType": "Return", "src": "1933:17:1" } }, { "expression": { "components": [ { "hexValue": "74727565", "id": 387, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "1972:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 390, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 388, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 370, "src": "1978:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { "id": 389, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 372, "src": "1982:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1978:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 391, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "1971:13:1", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", "typeString": "tuple(bool,uint256)" } }, "functionReturnParameters": 378, "id": 392, "nodeType": "Return", "src": "1964:20:1" } ] } ] }, "documentation": { "id": 368, "nodeType": "StructuredDocumentation", "src": "1706:100:1", "text": " @dev Returns the division of two unsigned integers, with a division by zero flag." }, "id": 395, "implemented": true, "kind": "function", "modifiers": [], "name": "tryDiv", "nameLocation": "1820:6:1", "nodeType": "FunctionDefinition", "parameters": { "id": 373, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 370, "mutability": "mutable", "name": "a", "nameLocation": "1835:1:1", "nodeType": "VariableDeclaration", "scope": 395, "src": "1827:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 369, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1827:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 372, "mutability": "mutable", "name": "b", "nameLocation": "1846:1:1", "nodeType": "VariableDeclaration", "scope": 395, "src": "1838:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 371, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1838:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1826:22:1" }, "returnParameters": { "id": 378, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 375, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 395, "src": "1872:4:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 374, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1872:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" }, { "constant": false, "id": 377, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 395, "src": "1878:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 376, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1878:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1871:15:1" }, "scope": 1308, "src": "1811:190:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 422, "nodeType": "Block", "src": "2198:114:1", "statements": [ { "id": 421, "nodeType": "UncheckedBlock", "src": "2208:98:1", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 409, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 407, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 400, "src": "2236:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "30", "id": 408, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2241:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "2236:6:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 414, "nodeType": "IfStatement", "src": "2232:29:1", "trueBody": { "expression": { "components": [ { "hexValue": "66616c7365", "id": 410, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "2252:5:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, { "hexValue": "30", "id": 411, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2259:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" } ], "id": 412, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", "src": "2251:10:1", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", "typeString": "tuple(bool,int_const 0)" } }, "functionReturnParameters": 406, "id": 413, "nodeType": "Return", "src": "2244:17:1" } }, { "expression": { "components": [ { "hexValue": "74727565", "id": 415, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "2283:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 418, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 416, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 398, "src": "2289:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "%", "rightExpression": { "id": 417, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 400, "src": "2293:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "2289:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 419, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "2282:13:1", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", "typeString": "tuple(bool,uint256)" } }, "functionReturnParameters": 406, "id": 420, "nodeType": "Return", "src": "2275:20:1" } ] } ] }, "documentation": { "id": 396, "nodeType": "StructuredDocumentation", "src": "2007:110:1", "text": " @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag." }, "id": 423, "implemented": true, "kind": "function", "modifiers": [], "name": "tryMod", "nameLocation": "2131:6:1", "nodeType": "FunctionDefinition", "parameters": { "id": 401, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 398, "mutability": "mutable", "name": "a", "nameLocation": "2146:1:1", "nodeType": "VariableDeclaration", "scope": 423, "src": "2138:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 397, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2138:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 400, "mutability": "mutable", "name": "b", "nameLocation": "2157:1:1", "nodeType": "VariableDeclaration", "scope": 423, "src": "2149:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 399, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2149:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "2137:22:1" }, "returnParameters": { "id": 406, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 403, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 423, "src": "2183:4:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 402, "name": "bool", "nodeType": "ElementaryTypeName", "src": "2183:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" }, { "constant": false, "id": 405, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 423, "src": "2189:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 404, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2189:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "2182:15:1" }, "scope": 1308, "src": "2122:190:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 440, "nodeType": "Block", "src": "2449:37:1", "statements": [ { "expression": { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 435, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 433, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 426, "src": "2466:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "id": 434, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 428, "src": "2470:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "2466:5:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseExpression": { "id": 437, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 428, "src": "2478:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 438, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", "src": "2466:13:1", "trueExpression": { "id": 436, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 426, "src": "2474:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 432, "id": 439, "nodeType": "Return", "src": "2459:20:1" } ] }, "documentation": { "id": 424, "nodeType": "StructuredDocumentation", "src": "2318:59:1", "text": " @dev Returns the largest of two numbers." }, "id": 441, "implemented": true, "kind": "function", "modifiers": [], "name": "max", "nameLocation": "2391:3:1", "nodeType": "FunctionDefinition", "parameters": { "id": 429, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 426, "mutability": "mutable", "name": "a", "nameLocation": "2403:1:1", "nodeType": "VariableDeclaration", "scope": 441, "src": "2395:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 425, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2395:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 428, "mutability": "mutable", "name": "b", "nameLocation": "2414:1:1", "nodeType": "VariableDeclaration", "scope": 441, "src": "2406:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 427, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2406:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "2394:22:1" }, "returnParameters": { "id": 432, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 431, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 441, "src": "2440:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 430, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2440:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "2439:9:1" }, "scope": 1308, "src": "2382:104:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 458, "nodeType": "Block", "src": "2624:37:1", "statements": [ { "expression": { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 453, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 451, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 444, "src": "2641:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "id": 452, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 446, "src": "2645:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "2641:5:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseExpression": { "id": 455, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 446, "src": "2653:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 456, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", "src": "2641:13:1", "trueExpression": { "id": 454, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 444, "src": "2649:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 450, "id": 457, "nodeType": "Return", "src": "2634:20:1" } ] }, "documentation": { "id": 442, "nodeType": "StructuredDocumentation", "src": "2492:60:1", "text": " @dev Returns the smallest of two numbers." }, "id": 459, "implemented": true, "kind": "function", "modifiers": [], "name": "min", "nameLocation": "2566:3:1", "nodeType": "FunctionDefinition", "parameters": { "id": 447, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 444, "mutability": "mutable", "name": "a", "nameLocation": "2578:1:1", "nodeType": "VariableDeclaration", "scope": 459, "src": "2570:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 443, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2570:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 446, "mutability": "mutable", "name": "b", "nameLocation": "2589:1:1", "nodeType": "VariableDeclaration", "scope": 459, "src": "2581:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 445, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2581:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "2569:22:1" }, "returnParameters": { "id": 450, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 449, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 459, "src": "2615:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 448, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2615:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "2614:9:1" }, "scope": 1308, "src": "2557:104:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 481, "nodeType": "Block", "src": "2845:82:1", "statements": [ { "expression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 479, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "components": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 471, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 469, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 462, "src": "2900:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "&", "rightExpression": { "id": 470, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 464, "src": "2904:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "2900:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 472, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "2899:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 478, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "components": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 475, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 473, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 462, "src": "2910:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "^", "rightExpression": { "id": 474, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 464, "src": "2914:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "2910:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 476, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "2909:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { "hexValue": "32", "id": 477, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2919:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "src": "2909:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "2899:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 468, "id": 480, "nodeType": "Return", "src": "2892:28:1" } ] }, "documentation": { "id": 460, "nodeType": "StructuredDocumentation", "src": "2667:102:1", "text": " @dev Returns the average of two numbers. The result is rounded towards\n zero." }, "id": 482, "implemented": true, "kind": "function", "modifiers": [], "name": "average", "nameLocation": "2783:7:1", "nodeType": "FunctionDefinition", "parameters": { "id": 465, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 462, "mutability": "mutable", "name": "a", "nameLocation": "2799:1:1", "nodeType": "VariableDeclaration", "scope": 482, "src": "2791:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 461, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2791:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 464, "mutability": "mutable", "name": "b", "nameLocation": "2810:1:1", "nodeType": "VariableDeclaration", "scope": 482, "src": "2802:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 463, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2802:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "2790:22:1" }, "returnParameters": { "id": 468, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 467, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 482, "src": "2836:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 466, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2836:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "2835:9:1" }, "scope": 1308, "src": "2774:153:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 515, "nodeType": "Block", "src": "3219:260:1", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 494, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 492, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 487, "src": "3233:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "30", "id": 493, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3238:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "3233:6:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 500, "nodeType": "IfStatement", "src": "3229:127:1", "trueBody": { "id": 499, "nodeType": "Block", "src": "3241:115:1", "statements": [ { "expression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 497, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 495, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 485, "src": "3340:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { "id": 496, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 487, "src": "3344:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "3340:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 491, "id": 498, "nodeType": "Return", "src": "3333:12:1" } ] } }, { "expression": { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 503, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 501, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 485, "src": "3444:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "30", "id": 502, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3449:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "3444:6:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 512, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 510, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "components": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 507, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 505, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 485, "src": "3458:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "hexValue": "31", "id": 506, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3462:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "3458:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 508, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "3457:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { "id": 509, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 487, "src": "3467:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "3457:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "hexValue": "31", "id": 511, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3471:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "3457:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 513, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", "src": "3444:28:1", "trueExpression": { "hexValue": "30", "id": 504, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3453:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 491, "id": 514, "nodeType": "Return", "src": "3437:35:1" } ] }, "documentation": { "id": 483, "nodeType": "StructuredDocumentation", "src": "2933:210:1", "text": " @dev Returns the ceiling of the division of two numbers.\n This differs from standard division with `/` in that it rounds towards infinity instead\n of rounding towards zero." }, "id": 516, "implemented": true, "kind": "function", "modifiers": [], "name": "ceilDiv", "nameLocation": "3157:7:1", "nodeType": "FunctionDefinition", "parameters": { "id": 488, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 485, "mutability": "mutable", "name": "a", "nameLocation": "3173:1:1", "nodeType": "VariableDeclaration", "scope": 516, "src": "3165:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 484, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3165:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 487, "mutability": "mutable", "name": "b", "nameLocation": "3184:1:1", "nodeType": "VariableDeclaration", "scope": 516, "src": "3176:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 486, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3176:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "3164:22:1" }, "returnParameters": { "id": 491, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 490, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 516, "src": "3210:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 489, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3210:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "3209:9:1" }, "scope": 1308, "src": "3148:331:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 641, "nodeType": "Block", "src": "3901:4018:1", "statements": [ { "id": 640, "nodeType": "UncheckedBlock", "src": "3911:4002:1", "statements": [ { "assignments": [ 529 ], "declarations": [ { "constant": false, "id": 529, "mutability": "mutable", "name": "prod0", "nameLocation": "4240:5:1", "nodeType": "VariableDeclaration", "scope": 640, "src": "4232:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 528, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4232:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 533, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 532, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 530, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 519, "src": "4248:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "id": 531, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 521, "src": "4252:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "4248:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "4232:21:1" }, { "assignments": [ 535 ], "declarations": [ { "constant": false, "id": 535, "mutability": "mutable", "name": "prod1", "nameLocation": "4320:5:1", "nodeType": "VariableDeclaration", "scope": 640, "src": "4312:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 534, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4312:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 536, "nodeType": "VariableDeclarationStatement", "src": "4312:13:1" }, { "AST": { "nodeType": "YulBlock", "src": "4392:122:1", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "4410:30:1", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", "src": "4427:1:1" }, { "name": "y", "nodeType": "YulIdentifier", "src": "4430:1:1" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "4437:1:1", "type": "", "value": "0" } ], "functionName": { "name": "not", "nodeType": "YulIdentifier", "src": "4433:3:1" }, "nodeType": "YulFunctionCall", "src": "4433:6:1" } ], "functionName": { "name": "mulmod", "nodeType": "YulIdentifier", "src": "4420:6:1" }, "nodeType": "YulFunctionCall", "src": "4420:20:1" }, "variables": [ { "name": "mm", "nodeType": "YulTypedName", "src": "4414:2:1", "type": "" } ] }, { "nodeType": "YulAssignment", "src": "4457:43:1", "value": { "arguments": [ { "arguments": [ { "name": "mm", "nodeType": "YulIdentifier", "src": "4474:2:1" }, { "name": "prod0", "nodeType": "YulIdentifier", "src": "4478:5:1" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "4470:3:1" }, "nodeType": "YulFunctionCall", "src": "4470:14:1" }, { "arguments": [ { "name": "mm", "nodeType": "YulIdentifier", "src": "4489:2:1" }, { "name": "prod0", "nodeType": "YulIdentifier", "src": "4493:5:1" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", "src": "4486:2:1" }, "nodeType": "YulFunctionCall", "src": "4486:13:1" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "4466:3:1" }, "nodeType": "YulFunctionCall", "src": "4466:34:1" }, "variableNames": [ { "name": "prod1", "nodeType": "YulIdentifier", "src": "4457:5:1" } ] } ] }, "evmVersion": "shanghai", "externalReferences": [ { "declaration": 529, "isOffset": false, "isSlot": false, "src": "4478:5:1", "valueSize": 1 }, { "declaration": 529, "isOffset": false, "isSlot": false, "src": "4493:5:1", "valueSize": 1 }, { "declaration": 535, "isOffset": false, "isSlot": false, "src": "4457:5:1", "valueSize": 1 }, { "declaration": 519, "isOffset": false, "isSlot": false, "src": "4427:1:1", "valueSize": 1 }, { "declaration": 521, "isOffset": false, "isSlot": false, "src": "4430:1:1", "valueSize": 1 } ], "id": 537, "nodeType": "InlineAssembly", "src": "4383:131:1" }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 540, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 538, "name": "prod1", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 535, "src": "4595:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "30", "id": 539, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "4604:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "4595:10:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 546, "nodeType": "IfStatement", "src": "4591:368:1", "trueBody": { "id": 545, "nodeType": "Block", "src": "4607:352:1", "statements": [ { "expression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 543, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 541, "name": "prod0", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 529, "src": "4925:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { "id": 542, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 523, "src": "4933:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "4925:19:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 527, "id": 544, "nodeType": "Return", "src": "4918:26:1" } ] } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 549, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 547, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 523, "src": "5065:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "id": 548, "name": "prod1", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 535, "src": "5080:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "5065:20:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 554, "nodeType": "IfStatement", "src": "5061:88:1", "trueBody": { "id": 553, "nodeType": "Block", "src": "5087:62:1", "statements": [ { "errorCall": { "arguments": [], "expression": { "argumentTypes": [], "id": 550, "name": "MathOverflowedMulDiv", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 260, "src": "5112:20:1", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$__$", "typeString": "function () pure" } }, "id": 551, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5112:22:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 552, "nodeType": "RevertStatement", "src": "5105:29:1" } ] } }, { "assignments": [ 556 ], "declarations": [ { "constant": false, "id": 556, "mutability": "mutable", "name": "remainder", "nameLocation": "5412:9:1", "nodeType": "VariableDeclaration", "scope": 640, "src": "5404:17:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 555, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5404:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 557, "nodeType": "VariableDeclarationStatement", "src": "5404:17:1" }, { "AST": { "nodeType": "YulBlock", "src": "5444:291:1", "statements": [ { "nodeType": "YulAssignment", "src": "5513:38:1", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", "src": "5533:1:1" }, { "name": "y", "nodeType": "YulIdentifier", "src": "5536:1:1" }, { "name": "denominator", "nodeType": "YulIdentifier", "src": "5539:11:1" } ], "functionName": { "name": "mulmod", "nodeType": "YulIdentifier", "src": "5526:6:1" }, "nodeType": "YulFunctionCall", "src": "5526:25:1" }, "variableNames": [ { "name": "remainder", "nodeType": "YulIdentifier", "src": "5513:9:1" } ] }, { "nodeType": "YulAssignment", "src": "5633:41:1", "value": { "arguments": [ { "name": "prod1", "nodeType": "YulIdentifier", "src": "5646:5:1" }, { "arguments": [ { "name": "remainder", "nodeType": "YulIdentifier", "src": "5656:9:1" }, { "name": "prod0", "nodeType": "YulIdentifier", "src": "5667:5:1" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", "src": "5653:2:1" }, "nodeType": "YulFunctionCall", "src": "5653:20:1" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "5642:3:1" }, "nodeType": "YulFunctionCall", "src": "5642:32:1" }, "variableNames": [ { "name": "prod1", "nodeType": "YulIdentifier", "src": "5633:5:1" } ] }, { "nodeType": "YulAssignment", "src": "5691:30:1", "value": { "arguments": [ { "name": "prod0", "nodeType": "YulIdentifier", "src": "5704:5:1" }, { "name": "remainder", "nodeType": "YulIdentifier", "src": "5711:9:1" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "5700:3:1" }, "nodeType": "YulFunctionCall", "src": "5700:21:1" }, "variableNames": [ { "name": "prod0", "nodeType": "YulIdentifier", "src": "5691:5:1" } ] } ] }, "evmVersion": "shanghai", "externalReferences": [ { "declaration": 523, "isOffset": false, "isSlot": false, "src": "5539:11:1", "valueSize": 1 }, { "declaration": 529, "isOffset": false, "isSlot": false, "src": "5667:5:1", "valueSize": 1 }, { "declaration": 529, "isOffset": false, "isSlot": false, "src": "5691:5:1", "valueSize": 1 }, { "declaration": 529, "isOffset": false, "isSlot": false, "src": "5704:5:1", "valueSize": 1 }, { "declaration": 535, "isOffset": false, "isSlot": false, "src": "5633:5:1", "valueSize": 1 }, { "declaration": 535, "isOffset": false, "isSlot": false, "src": "5646:5:1", "valueSize": 1 }, { "declaration": 556, "isOffset": false, "isSlot": false, "src": "5513:9:1", "valueSize": 1 }, { "declaration": 556, "isOffset": false, "isSlot": false, "src": "5656:9:1", "valueSize": 1 }, { "declaration": 556, "isOffset": false, "isSlot": false, "src": "5711:9:1", "valueSize": 1 }, { "declaration": 519, "isOffset": false, "isSlot": false, "src": "5533:1:1", "valueSize": 1 }, { "declaration": 521, "isOffset": false, "isSlot": false, "src": "5536:1:1", "valueSize": 1 } ], "id": 558, "nodeType": "InlineAssembly", "src": "5435:300:1" }, { "assignments": [ 560 ], "declarations": [ { "constant": false, "id": 560, "mutability": "mutable", "name": "twos", "nameLocation": "5947:4:1", "nodeType": "VariableDeclaration", "scope": 640, "src": "5939:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 559, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5939:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 567, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 566, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 561, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 523, "src": "5954:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "&", "rightExpression": { "components": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 564, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "30", "id": 562, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "5969:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "id": 563, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 523, "src": "5973:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "5969:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 565, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "5968:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "5954:31:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "5939:46:1" }, { "AST": { "nodeType": "YulBlock", "src": "6008:362:1", "statements": [ { "nodeType": "YulAssignment", "src": "6073:37:1", "value": { "arguments": [ { "name": "denominator", "nodeType": "YulIdentifier", "src": "6092:11:1" }, { "name": "twos", "nodeType": "YulIdentifier", "src": "6105:4:1" } ], "functionName": { "name": "div", "nodeType": "YulIdentifier", "src": "6088:3:1" }, "nodeType": "YulFunctionCall", "src": "6088:22:1" }, "variableNames": [ { "name": "denominator", "nodeType": "YulIdentifier", "src": "6073:11:1" } ] }, { "nodeType": "YulAssignment", "src": "6177:25:1", "value": { "arguments": [ { "name": "prod0", "nodeType": "YulIdentifier", "src": "6190:5:1" }, { "name": "twos", "nodeType": "YulIdentifier", "src": "6197:4:1" } ], "functionName": { "name": "div", "nodeType": "YulIdentifier", "src": "6186:3:1" }, "nodeType": "YulFunctionCall", "src": "6186:16:1" }, "variableNames": [ { "name": "prod0", "nodeType": "YulIdentifier", "src": "6177:5:1" } ] }, { "nodeType": "YulAssignment", "src": "6317:39:1", "value": { "arguments": [ { "arguments": [ { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "6337:1:1", "type": "", "value": "0" }, { "name": "twos", "nodeType": "YulIdentifier", "src": "6340:4:1" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "6333:3:1" }, "nodeType": "YulFunctionCall", "src": "6333:12:1" }, { "name": "twos", "nodeType": "YulIdentifier", "src": "6347:4:1" } ], "functionName": { "name": "div", "nodeType": "YulIdentifier", "src": "6329:3:1" }, "nodeType": "YulFunctionCall", "src": "6329:23:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "6354:1:1", "type": "", "value": "1" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "6325:3:1" }, "nodeType": "YulFunctionCall", "src": "6325:31:1" }, "variableNames": [ { "name": "twos", "nodeType": "YulIdentifier", "src": "6317:4:1" } ] } ] }, "evmVersion": "shanghai", "externalReferences": [ { "declaration": 523, "isOffset": false, "isSlot": false, "src": "6073:11:1", "valueSize": 1 }, { "declaration": 523, "isOffset": false, "isSlot": false, "src": "6092:11:1", "valueSize": 1 }, { "declaration": 529, "isOffset": false, "isSlot": false, "src": "6177:5:1", "valueSize": 1 }, { "declaration": 529, "isOffset": false, "isSlot": false, "src": "6190:5:1", "valueSize": 1 }, { "declaration": 560, "isOffset": false, "isSlot": false, "src": "6105:4:1", "valueSize": 1 }, { "declaration": 560, "isOffset": false, "isSlot": false, "src": "6197:4:1", "valueSize": 1 }, { "declaration": 560, "isOffset": false, "isSlot": false, "src": "6317:4:1", "valueSize": 1 }, { "declaration": 560, "isOffset": false, "isSlot": false, "src": "6340:4:1", "valueSize": 1 }, { "declaration": 560, "isOffset": false, "isSlot": false, "src": "6347:4:1", "valueSize": 1 } ], "id": 568, "nodeType": "InlineAssembly", "src": "5999:371:1" }, { "expression": { "id": 573, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 569, "name": "prod0", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 529, "src": "6436:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "|=", "rightHandSide": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 572, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 570, "name": "prod1", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 535, "src": "6445:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "id": 571, "name": "twos", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 560, "src": "6453:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "6445:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "6436:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 574, "nodeType": "ExpressionStatement", "src": "6436:21:1" }, { "assignments": [ 576 ], "declarations": [ { "constant": false, "id": 576, "mutability": "mutable", "name": "inverse", "nameLocation": "6783:7:1", "nodeType": "VariableDeclaration", "scope": 640, "src": "6775:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 575, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6775:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 583, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 582, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "components": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 579, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "33", "id": 577, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "6794:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" }, "value": "3" }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "id": 578, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 523, "src": "6798:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "6794:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 580, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "6793:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "^", "rightExpression": { "hexValue": "32", "id": 581, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "6813:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "src": "6793:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "6775:39:1" }, { "expression": { "id": 590, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 584, "name": "inverse", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 576, "src": "7031:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "*=", "rightHandSide": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 589, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "32", "id": 585, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "7042:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 588, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 586, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 523, "src": "7046:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "id": 587, "name": "inverse", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 576, "src": "7060:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7046:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7042:25:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7031:36:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 591, "nodeType": "ExpressionStatement", "src": "7031:36:1" }, { "expression": { "id": 598, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 592, "name": "inverse", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 576, "src": "7100:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "*=", "rightHandSide": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 597, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "32", "id": 593, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "7111:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 596, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 594, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 523, "src": "7115:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "id": 595, "name": "inverse", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 576, "src": "7129:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7115:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7111:25:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7100:36:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 599, "nodeType": "ExpressionStatement", "src": "7100:36:1" }, { "expression": { "id": 606, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 600, "name": "inverse", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 576, "src": "7170:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "*=", "rightHandSide": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 605, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "32", "id": 601, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "7181:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 604, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 602, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 523, "src": "7185:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "id": 603, "name": "inverse", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 576, "src": "7199:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7185:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7181:25:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7170:36:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 607, "nodeType": "ExpressionStatement", "src": "7170:36:1" }, { "expression": { "id": 614, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 608, "name": "inverse", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 576, "src": "7240:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "*=", "rightHandSide": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 613, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "32", "id": 609, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "7251:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 612, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 610, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 523, "src": "7255:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "id": 611, "name": "inverse", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 576, "src": "7269:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7255:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7251:25:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7240:36:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 615, "nodeType": "ExpressionStatement", "src": "7240:36:1" }, { "expression": { "id": 622, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 616, "name": "inverse", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 576, "src": "7310:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "*=", "rightHandSide": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 621, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "32", "id": 617, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "7321:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 620, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 618, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 523, "src": "7325:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "id": 619, "name": "inverse", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 576, "src": "7339:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7325:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7321:25:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7310:36:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 623, "nodeType": "ExpressionStatement", "src": "7310:36:1" }, { "expression": { "id": 630, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 624, "name": "inverse", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 576, "src": "7381:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "*=", "rightHandSide": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 629, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "32", "id": 625, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "7392:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 628, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 626, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 523, "src": "7396:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "id": 627, "name": "inverse", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 576, "src": "7410:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7396:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7392:25:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7381:36:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 631, "nodeType": "ExpressionStatement", "src": "7381:36:1" }, { "expression": { "id": 636, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 632, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 526, "src": "7851:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 635, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 633, "name": "prod0", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 529, "src": "7860:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "id": 634, "name": "inverse", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 576, "src": "7868:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7860:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7851:24:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 637, "nodeType": "ExpressionStatement", "src": "7851:24:1" }, { "expression": { "id": 638, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 526, "src": "7896:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 527, "id": 639, "nodeType": "Return", "src": "7889:13:1" } ] } ] }, "documentation": { "id": 517, "nodeType": "StructuredDocumentation", "src": "3485:313:1", "text": " @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or\n denominator == 0.\n @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv) with further edits by\n Uniswap Labs also under MIT license." }, "id": 642, "implemented": true, "kind": "function", "modifiers": [], "name": "mulDiv", "nameLocation": "3812:6:1", "nodeType": "FunctionDefinition", "parameters": { "id": 524, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 519, "mutability": "mutable", "name": "x", "nameLocation": "3827:1:1", "nodeType": "VariableDeclaration", "scope": 642, "src": "3819:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 518, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3819:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 521, "mutability": "mutable", "name": "y", "nameLocation": "3838:1:1", "nodeType": "VariableDeclaration", "scope": 642, "src": "3830:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 520, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3830:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 523, "mutability": "mutable", "name": "denominator", "nameLocation": "3849:11:1", "nodeType": "VariableDeclaration", "scope": 642, "src": "3841:19:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 522, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3841:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "3818:43:1" }, "returnParameters": { "id": 527, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 526, "mutability": "mutable", "name": "result", "nameLocation": "3893:6:1", "nodeType": "VariableDeclaration", "scope": 642, "src": "3885:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 525, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3885:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "3884:16:1" }, "scope": 1308, "src": "3803:4116:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 684, "nodeType": "Block", "src": "8161:192:1", "statements": [ { "assignments": [ 658 ], "declarations": [ { "constant": false, "id": 658, "mutability": "mutable", "name": "result", "nameLocation": "8179:6:1", "nodeType": "VariableDeclaration", "scope": 684, "src": "8171:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 657, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8171:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 664, "initialValue": { "arguments": [ { "id": 660, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 645, "src": "8195:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 661, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 647, "src": "8198:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 662, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 649, "src": "8201:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 659, "name": "mulDiv", "nodeType": "Identifier", "overloadedDeclarations": [ 642, 685 ], "referencedDeclaration": 642, "src": "8188:6:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, "id": 663, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8188:25:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "8171:42:1" }, { "condition": { "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 675, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [ { "id": 666, "name": "rounding", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 652, "src": "8244:8:1", "typeDescriptions": { "typeIdentifier": "t_enum$_Rounding_$265", "typeString": "enum Math.Rounding" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_Rounding_$265", "typeString": "enum Math.Rounding" } ], "id": 665, "name": "unsignedRoundsUp", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1307, "src": "8227:16:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_enum$_Rounding_$265_$returns$_t_bool_$", "typeString": "function (enum Math.Rounding) pure returns (bool)" } }, "id": 667, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8227:26:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 674, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [ { "id": 669, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 645, "src": "8264:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 670, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 647, "src": "8267:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 671, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 649, "src": "8270:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 668, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967280, "src": "8257:6:1", "typeDescriptions": { "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, "id": 672, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8257:25:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "hexValue": "30", "id": 673, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "8285:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "8257:29:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "8227:59:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 681, "nodeType": "IfStatement", "src": "8223:101:1", "trueBody": { "id": 680, "nodeType": "Block", "src": "8288:36:1", "statements": [ { "expression": { "id": 678, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 676, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 658, "src": "8302:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "+=", "rightHandSide": { "hexValue": "31", "id": 677, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "8312:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "8302:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 679, "nodeType": "ExpressionStatement", "src": "8302:11:1" } ] } }, { "expression": { "id": 682, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 658, "src": "8340:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 656, "id": 683, "nodeType": "Return", "src": "8333:13:1" } ] }, "documentation": { "id": 643, "nodeType": "StructuredDocumentation", "src": "7925:121:1", "text": " @notice Calculates x * y / denominator with full precision, following the selected rounding direction." }, "id": 685, "implemented": true, "kind": "function", "modifiers": [], "name": "mulDiv", "nameLocation": "8060:6:1", "nodeType": "FunctionDefinition", "parameters": { "id": 653, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 645, "mutability": "mutable", "name": "x", "nameLocation": "8075:1:1", "nodeType": "VariableDeclaration", "scope": 685, "src": "8067:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 644, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8067:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 647, "mutability": "mutable", "name": "y", "nameLocation": "8086:1:1", "nodeType": "VariableDeclaration", "scope": 685, "src": "8078:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 646, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8078:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 649, "mutability": "mutable", "name": "denominator", "nameLocation": "8097:11:1", "nodeType": "VariableDeclaration", "scope": 685, "src": "8089:19:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 648, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8089:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 652, "mutability": "mutable", "name": "rounding", "nameLocation": "8119:8:1", "nodeType": "VariableDeclaration", "scope": 685, "src": "8110:17:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_enum$_Rounding_$265", "typeString": "enum Math.Rounding" }, "typeName": { "id": 651, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 650, "name": "Rounding", "nameLocations": [ "8110:8:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 265, "src": "8110:8:1" }, "referencedDeclaration": 265, "src": "8110:8:1", "typeDescriptions": { "typeIdentifier": "t_enum$_Rounding_$265", "typeString": "enum Math.Rounding" } }, "visibility": "internal" } ], "src": "8066:62:1" }, "returnParameters": { "id": 656, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 655, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 685, "src": "8152:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 654, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8152:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "8151:9:1" }, "scope": 1308, "src": "8051:302:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 796, "nodeType": "Block", "src": "8644:1585:1", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 695, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 693, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 688, "src": "8658:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "30", "id": 694, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "8663:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "8658:6:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 699, "nodeType": "IfStatement", "src": "8654:45:1", "trueBody": { "id": 698, "nodeType": "Block", "src": "8666:33:1", "statements": [ { "expression": { "hexValue": "30", "id": 696, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "8687:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "functionReturnParameters": 692, "id": 697, "nodeType": "Return", "src": "8680:8:1" } ] } }, { "assignments": [ 701 ], "declarations": [ { "constant": false, "id": 701, "mutability": "mutable", "name": "result", "nameLocation": "9386:6:1", "nodeType": "VariableDeclaration", "scope": 796, "src": "9378:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 700, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "9378:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 710, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 709, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "31", "id": 702, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "9395:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "nodeType": "BinaryOperation", "operator": "<<", "rightExpression": { "components": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 707, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [ { "id": 704, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 688, "src": "9406:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 703, "name": "log2", "nodeType": "Identifier", "overloadedDeclarations": [ 964, 999 ], "referencedDeclaration": 964, "src": "9401:4:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) pure returns (uint256)" } }, "id": 705, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9401:7:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { "hexValue": "31", "id": 706, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "9412:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "9401:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 708, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "9400:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "9395:19:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "9378:36:1" }, { "id": 795, "nodeType": "UncheckedBlock", "src": "9815:408:1", "statements": [ { "expression": { "id": 720, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 711, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 701, "src": "9839:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 719, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "components": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 716, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 712, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 701, "src": "9849:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 715, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 713, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 688, "src": "9858:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { "id": 714, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 701, "src": "9862:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "9858:10:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "9849:19:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 717, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "9848:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { "hexValue": "31", "id": 718, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "9873:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "9848:26:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "9839:35:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 721, "nodeType": "ExpressionStatement", "src": "9839:35:1" }, { "expression": { "id": 731, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 722, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 701, "src": "9888:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 730, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "components": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 727, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 723, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 701, "src": "9898:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 726, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 724, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 688, "src": "9907:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { "id": 725, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 701, "src": "9911:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "9907:10:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "9898:19:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 728, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "9897:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { "hexValue": "31", "id": 729, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "9922:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "9897:26:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "9888:35:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 732, "nodeType": "ExpressionStatement", "src": "9888:35:1" }, { "expression": { "id": 742, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 733, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 701, "src": "9937:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 741, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "components": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 738, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 734, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 701, "src": "9947:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 737, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 735, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 688, "src": "9956:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { "id": 736, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 701, "src": "9960:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "9956:10:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "9947:19:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 739, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "9946:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { "hexValue": "31", "id": 740, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "9971:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "9946:26:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "9937:35:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 743, "nodeType": "ExpressionStatement", "src": "9937:35:1" }, { "expression": { "id": 753, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 744, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 701, "src": "9986:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 752, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "components": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 749, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 745, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 701, "src": "9996:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 748, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 746, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 688, "src": "10005:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { "id": 747, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 701, "src": "10009:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "10005:10:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "9996:19:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 750, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "9995:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { "hexValue": "31", "id": 751, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10020:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "9995:26:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "9986:35:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 754, "nodeType": "ExpressionStatement", "src": "9986:35:1" }, { "expression": { "id": 764, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 755, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 701, "src": "10035:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 763, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "components": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 760, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 756, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 701, "src": "10045:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 759, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 757, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 688, "src": "10054:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { "id": 758, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 701, "src": "10058:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "10054:10:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "10045:19:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 761, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "10044:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { "hexValue": "31", "id": 762, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10069:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "10044:26:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "10035:35:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 765, "nodeType": "ExpressionStatement", "src": "10035:35:1" }, { "expression": { "id": 775, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 766, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 701, "src": "10084:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 774, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "components": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 771, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 767, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 701, "src": "10094:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 770, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 768, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 688, "src": "10103:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { "id": 769, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 701, "src": "10107:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "10103:10:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "10094:19:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 772, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "10093:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { "hexValue": "31", "id": 773, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10118:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "10093:26:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "10084:35:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 776, "nodeType": "ExpressionStatement", "src": "10084:35:1" }, { "expression": { "id": 786, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 777, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 701, "src": "10133:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 785, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "components": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 782, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 778, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 701, "src": "10143:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 781, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 779, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 688, "src": "10152:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { "id": 780, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 701, "src": "10156:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "10152:10:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "10143:19:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 783, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "10142:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { "hexValue": "31", "id": 784, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10167:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "10142:26:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "10133:35:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 787, "nodeType": "ExpressionStatement", "src": "10133:35:1" }, { "expression": { "arguments": [ { "id": 789, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 701, "src": "10193:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 792, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 790, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 688, "src": "10201:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { "id": 791, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 701, "src": "10205:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "10201:10:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 788, "name": "min", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 459, "src": "10189:3:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 793, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10189:23:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 692, "id": 794, "nodeType": "Return", "src": "10182:30:1" } ] } ] }, "documentation": { "id": 686, "nodeType": "StructuredDocumentation", "src": "8359:223:1", "text": " @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded\n towards zero.\n Inspired by Henry S. Warren, Jr.'s \"Hacker's Delight\" (Chapter 11)." }, "id": 797, "implemented": true, "kind": "function", "modifiers": [], "name": "sqrt", "nameLocation": "8596:4:1", "nodeType": "FunctionDefinition", "parameters": { "id": 689, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 688, "mutability": "mutable", "name": "a", "nameLocation": "8609:1:1", "nodeType": "VariableDeclaration", "scope": 797, "src": "8601:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 687, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8601:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "8600:11:1" }, "returnParameters": { "id": 692, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 691, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 797, "src": "8635:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 690, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8635:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "8634:9:1" }, "scope": 1308, "src": "8587:1642:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 831, "nodeType": "Block", "src": "10405:164:1", "statements": [ { "id": 830, "nodeType": "UncheckedBlock", "src": "10415:148:1", "statements": [ { "assignments": [ 809 ], "declarations": [ { "constant": false, "id": 809, "mutability": "mutable", "name": "result", "nameLocation": "10447:6:1", "nodeType": "VariableDeclaration", "scope": 830, "src": "10439:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 808, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "10439:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 813, "initialValue": { "arguments": [ { "id": 811, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 800, "src": "10461:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 810, "name": "sqrt", "nodeType": "Identifier", "overloadedDeclarations": [ 797, 832 ], "referencedDeclaration": 797, "src": "10456:4:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) pure returns (uint256)" } }, "id": 812, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10456:7:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "10439:24:1" }, { "expression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 828, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 814, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 809, "src": "10484:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "components": [ { "condition": { "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 823, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [ { "id": 816, "name": "rounding", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 803, "src": "10511:8:1", "typeDescriptions": { "typeIdentifier": "t_enum$_Rounding_$265", "typeString": "enum Math.Rounding" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_Rounding_$265", "typeString": "enum Math.Rounding" } ], "id": 815, "name": "unsignedRoundsUp", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1307, "src": "10494:16:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_enum$_Rounding_$265_$returns$_t_bool_$", "typeString": "function (enum Math.Rounding) pure returns (bool)" } }, "id": 817, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10494:26:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 822, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 820, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 818, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 809, "src": "10524:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "id": 819, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 809, "src": "10533:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "10524:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "id": 821, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 800, "src": "10542:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "10524:19:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "10494:49:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseExpression": { "hexValue": "30", "id": 825, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10550:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "id": 826, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", "src": "10494:57:1", "trueExpression": { "hexValue": "31", "id": 824, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10546:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } } ], "id": 827, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "10493:59:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "10484:68:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 807, "id": 829, "nodeType": "Return", "src": "10477:75:1" } ] } ] }, "documentation": { "id": 798, "nodeType": "StructuredDocumentation", "src": "10235:89:1", "text": " @notice Calculates sqrt(a), following the selected rounding direction." }, "id": 832, "implemented": true, "kind": "function", "modifiers": [], "name": "sqrt", "nameLocation": "10338:4:1", "nodeType": "FunctionDefinition", "parameters": { "id": 804, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 800, "mutability": "mutable", "name": "a", "nameLocation": "10351:1:1", "nodeType": "VariableDeclaration", "scope": 832, "src": "10343:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 799, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "10343:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 803, "mutability": "mutable", "name": "rounding", "nameLocation": "10363:8:1", "nodeType": "VariableDeclaration", "scope": 832, "src": "10354:17:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_enum$_Rounding_$265", "typeString": "enum Math.Rounding" }, "typeName": { "id": 802, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 801, "name": "Rounding", "nameLocations": [ "10354:8:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 265, "src": "10354:8:1" }, "referencedDeclaration": 265, "src": "10354:8:1", "typeDescriptions": { "typeIdentifier": "t_enum$_Rounding_$265", "typeString": "enum Math.Rounding" } }, "visibility": "internal" } ], "src": "10342:30:1" }, "returnParameters": { "id": 807, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 806, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 832, "src": "10396:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 805, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "10396:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "10395:9:1" }, "scope": 1308, "src": "10329:240:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 963, "nodeType": "Block", "src": "10760:922:1", "statements": [ { "assignments": [ 841 ], "declarations": [ { "constant": false, "id": 841, "mutability": "mutable", "name": "result", "nameLocation": "10778:6:1", "nodeType": "VariableDeclaration", "scope": 963, "src": "10770:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 840, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "10770:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 843, "initialValue": { "hexValue": "30", "id": 842, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10787:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "VariableDeclarationStatement", "src": "10770:18:1" }, { "id": 960, "nodeType": "UncheckedBlock", "src": "10798:855:1", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 848, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 846, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 844, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 835, "src": "10826:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { "hexValue": "313238", "id": 845, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10835:3:1", "typeDescriptions": { "typeIdentifier": "t_rational_128_by_1", "typeString": "int_const 128" }, "value": "128" }, "src": "10826:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "hexValue": "30", "id": 847, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10841:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "10826:16:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 858, "nodeType": "IfStatement", "src": "10822:99:1", "trueBody": { "id": 857, "nodeType": "Block", "src": "10844:77:1", "statements": [ { "expression": { "id": 851, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 849, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 835, "src": "10862:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": ">>=", "rightHandSide": { "hexValue": "313238", "id": 850, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10872:3:1", "typeDescriptions": { "typeIdentifier": "t_rational_128_by_1", "typeString": "int_const 128" }, "value": "128" }, "src": "10862:13:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 852, "nodeType": "ExpressionStatement", "src": "10862:13:1" }, { "expression": { "id": 855, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 853, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 841, "src": "10893:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "+=", "rightHandSide": { "hexValue": "313238", "id": 854, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10903:3:1", "typeDescriptions": { "typeIdentifier": "t_rational_128_by_1", "typeString": "int_const 128" }, "value": "128" }, "src": "10893:13:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 856, "nodeType": "ExpressionStatement", "src": "10893:13:1" } ] } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 863, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 861, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 859, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 835, "src": "10938:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { "hexValue": "3634", "id": 860, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10947:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" }, "value": "64" }, "src": "10938:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "hexValue": "30", "id": 862, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10952:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "10938:15:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 873, "nodeType": "IfStatement", "src": "10934:96:1", "trueBody": { "id": 872, "nodeType": "Block", "src": "10955:75:1", "statements": [ { "expression": { "id": 866, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 864, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 835, "src": "10973:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": ">>=", "rightHandSide": { "hexValue": "3634", "id": 865, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10983:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" }, "value": "64" }, "src": "10973:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 867, "nodeType": "ExpressionStatement", "src": "10973:12:1" }, { "expression": { "id": 870, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 868, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 841, "src": "11003:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "+=", "rightHandSide": { "hexValue": "3634", "id": 869, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11013:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" }, "value": "64" }, "src": "11003:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 871, "nodeType": "ExpressionStatement", "src": "11003:12:1" } ] } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 878, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 876, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 874, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 835, "src": "11047:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { "hexValue": "3332", "id": 875, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11056:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "src": "11047:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "hexValue": "30", "id": 877, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11061:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "11047:15:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 888, "nodeType": "IfStatement", "src": "11043:96:1", "trueBody": { "id": 887, "nodeType": "Block", "src": "11064:75:1", "statements": [ { "expression": { "id": 881, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 879, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 835, "src": "11082:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": ">>=", "rightHandSide": { "hexValue": "3332", "id": 880, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11092:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "src": "11082:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 882, "nodeType": "ExpressionStatement", "src": "11082:12:1" }, { "expression": { "id": 885, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 883, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 841, "src": "11112:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "+=", "rightHandSide": { "hexValue": "3332", "id": 884, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11122:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "src": "11112:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 886, "nodeType": "ExpressionStatement", "src": "11112:12:1" } ] } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 893, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 891, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 889, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 835, "src": "11156:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { "hexValue": "3136", "id": 890, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11165:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", "typeString": "int_const 16" }, "value": "16" }, "src": "11156:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "hexValue": "30", "id": 892, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11170:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "11156:15:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 903, "nodeType": "IfStatement", "src": "11152:96:1", "trueBody": { "id": 902, "nodeType": "Block", "src": "11173:75:1", "statements": [ { "expression": { "id": 896, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 894, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 835, "src": "11191:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": ">>=", "rightHandSide": { "hexValue": "3136", "id": 895, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11201:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", "typeString": "int_const 16" }, "value": "16" }, "src": "11191:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 897, "nodeType": "ExpressionStatement", "src": "11191:12:1" }, { "expression": { "id": 900, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 898, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 841, "src": "11221:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "+=", "rightHandSide": { "hexValue": "3136", "id": 899, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11231:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", "typeString": "int_const 16" }, "value": "16" }, "src": "11221:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 901, "nodeType": "ExpressionStatement", "src": "11221:12:1" } ] } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 908, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 906, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 904, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 835, "src": "11265:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { "hexValue": "38", "id": 905, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11274:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" }, "value": "8" }, "src": "11265:10:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "hexValue": "30", "id": 907, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11278:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "11265:14:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 918, "nodeType": "IfStatement", "src": "11261:93:1", "trueBody": { "id": 917, "nodeType": "Block", "src": "11281:73:1", "statements": [ { "expression": { "id": 911, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 909, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 835, "src": "11299:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": ">>=", "rightHandSide": { "hexValue": "38", "id": 910, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11309:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" }, "value": "8" }, "src": "11299:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 912, "nodeType": "ExpressionStatement", "src": "11299:11:1" }, { "expression": { "id": 915, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 913, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 841, "src": "11328:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "+=", "rightHandSide": { "hexValue": "38", "id": 914, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11338:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" }, "value": "8" }, "src": "11328:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 916, "nodeType": "ExpressionStatement", "src": "11328:11:1" } ] } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 923, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 921, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 919, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 835, "src": "11371:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { "hexValue": "34", "id": 920, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11380:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" }, "value": "4" }, "src": "11371:10:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "hexValue": "30", "id": 922, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11384:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "11371:14:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 933, "nodeType": "IfStatement", "src": "11367:93:1", "trueBody": { "id": 932, "nodeType": "Block", "src": "11387:73:1", "statements": [ { "expression": { "id": 926, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 924, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 835, "src": "11405:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": ">>=", "rightHandSide": { "hexValue": "34", "id": 925, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11415:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" }, "value": "4" }, "src": "11405:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 927, "nodeType": "ExpressionStatement", "src": "11405:11:1" }, { "expression": { "id": 930, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 928, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 841, "src": "11434:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "+=", "rightHandSide": { "hexValue": "34", "id": 929, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11444:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" }, "value": "4" }, "src": "11434:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 931, "nodeType": "ExpressionStatement", "src": "11434:11:1" } ] } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 938, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 936, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 934, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 835, "src": "11477:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { "hexValue": "32", "id": 935, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11486:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "src": "11477:10:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "hexValue": "30", "id": 937, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11490:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "11477:14:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 948, "nodeType": "IfStatement", "src": "11473:93:1", "trueBody": { "id": 947, "nodeType": "Block", "src": "11493:73:1", "statements": [ { "expression": { "id": 941, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 939, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 835, "src": "11511:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": ">>=", "rightHandSide": { "hexValue": "32", "id": 940, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11521:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "src": "11511:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 942, "nodeType": "ExpressionStatement", "src": "11511:11:1" }, { "expression": { "id": 945, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 943, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 841, "src": "11540:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "+=", "rightHandSide": { "hexValue": "32", "id": 944, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11550:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "src": "11540:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 946, "nodeType": "ExpressionStatement", "src": "11540:11:1" } ] } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 953, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 951, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 949, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 835, "src": "11583:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { "hexValue": "31", "id": 950, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11592:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "11583:10:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "hexValue": "30", "id": 952, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11596:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "11583:14:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 959, "nodeType": "IfStatement", "src": "11579:64:1", "trueBody": { "id": 958, "nodeType": "Block", "src": "11599:44:1", "statements": [ { "expression": { "id": 956, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 954, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 841, "src": "11617:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "+=", "rightHandSide": { "hexValue": "31", "id": 955, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11627:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "11617:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 957, "nodeType": "ExpressionStatement", "src": "11617:11:1" } ] } } ] }, { "expression": { "id": 961, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 841, "src": "11669:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 839, "id": 962, "nodeType": "Return", "src": "11662:13:1" } ] }, "documentation": { "id": 833, "nodeType": "StructuredDocumentation", "src": "10575:119:1", "text": " @dev Return the log in base 2 of a positive value rounded towards zero.\n Returns 0 if given 0." }, "id": 964, "implemented": true, "kind": "function", "modifiers": [], "name": "log2", "nameLocation": "10708:4:1", "nodeType": "FunctionDefinition", "parameters": { "id": 836, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 835, "mutability": "mutable", "name": "value", "nameLocation": "10721:5:1", "nodeType": "VariableDeclaration", "scope": 964, "src": "10713:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 834, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "10713:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "10712:15:1" }, "returnParameters": { "id": 839, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 838, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 964, "src": "10751:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 837, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "10751:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "10750:9:1" }, "scope": 1308, "src": "10699:983:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 998, "nodeType": "Block", "src": "11915:168:1", "statements": [ { "id": 997, "nodeType": "UncheckedBlock", "src": "11925:152:1", "statements": [ { "assignments": [ 976 ], "declarations": [ { "constant": false, "id": 976, "mutability": "mutable", "name": "result", "nameLocation": "11957:6:1", "nodeType": "VariableDeclaration", "scope": 997, "src": "11949:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 975, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11949:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 980, "initialValue": { "arguments": [ { "id": 978, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 967, "src": "11971:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 977, "name": "log2", "nodeType": "Identifier", "overloadedDeclarations": [ 964, 999 ], "referencedDeclaration": 964, "src": "11966:4:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) pure returns (uint256)" } }, "id": 979, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "11966:11:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "11949:28:1" }, { "expression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 995, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 981, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 976, "src": "11998:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "components": [ { "condition": { "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 990, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [ { "id": 983, "name": "rounding", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 970, "src": "12025:8:1", "typeDescriptions": { "typeIdentifier": "t_enum$_Rounding_$265", "typeString": "enum Math.Rounding" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_Rounding_$265", "typeString": "enum Math.Rounding" } ], "id": 982, "name": "unsignedRoundsUp", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1307, "src": "12008:16:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_enum$_Rounding_$265_$returns$_t_bool_$", "typeString": "function (enum Math.Rounding) pure returns (bool)" } }, "id": 984, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "12008:26:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 989, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 987, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "31", "id": 985, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12038:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "nodeType": "BinaryOperation", "operator": "<<", "rightExpression": { "id": 986, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 976, "src": "12043:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "12038:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "id": 988, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 967, "src": "12052:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "12038:19:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "12008:49:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseExpression": { "hexValue": "30", "id": 992, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12064:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "id": 993, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", "src": "12008:57:1", "trueExpression": { "hexValue": "31", "id": 991, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12060:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } } ], "id": 994, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "12007:59:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "11998:68:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 974, "id": 996, "nodeType": "Return", "src": "11991:75:1" } ] } ] }, "documentation": { "id": 965, "nodeType": "StructuredDocumentation", "src": "11688:142:1", "text": " @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n Returns 0 if given 0." }, "id": 999, "implemented": true, "kind": "function", "modifiers": [], "name": "log2", "nameLocation": "11844:4:1", "nodeType": "FunctionDefinition", "parameters": { "id": 971, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 967, "mutability": "mutable", "name": "value", "nameLocation": "11857:5:1", "nodeType": "VariableDeclaration", "scope": 999, "src": "11849:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 966, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11849:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 970, "mutability": "mutable", "name": "rounding", "nameLocation": "11873:8:1", "nodeType": "VariableDeclaration", "scope": 999, "src": "11864:17:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_enum$_Rounding_$265", "typeString": "enum Math.Rounding" }, "typeName": { "id": 969, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 968, "name": "Rounding", "nameLocations": [ "11864:8:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 265, "src": "11864:8:1" }, "referencedDeclaration": 265, "src": "11864:8:1", "typeDescriptions": { "typeIdentifier": "t_enum$_Rounding_$265", "typeString": "enum Math.Rounding" } }, "visibility": "internal" } ], "src": "11848:34:1" }, "returnParameters": { "id": 974, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 973, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 999, "src": "11906:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 972, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11906:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "11905:9:1" }, "scope": 1308, "src": "11835:248:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 1127, "nodeType": "Block", "src": "12276:854:1", "statements": [ { "assignments": [ 1008 ], "declarations": [ { "constant": false, "id": 1008, "mutability": "mutable", "name": "result", "nameLocation": "12294:6:1", "nodeType": "VariableDeclaration", "scope": 1127, "src": "12286:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1007, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "12286:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 1010, "initialValue": { "hexValue": "30", "id": 1009, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12303:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "VariableDeclarationStatement", "src": "12286:18:1" }, { "id": 1124, "nodeType": "UncheckedBlock", "src": "12314:787:1", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1015, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1011, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1002, "src": "12342:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "commonType": { "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", "typeString": "int_const 1000...(57 digits omitted)...0000" }, "id": 1014, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "3130", "id": 1012, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12351:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "nodeType": "BinaryOperation", "operator": "**", "rightExpression": { "hexValue": "3634", "id": 1013, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12357:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" }, "value": "64" }, "src": "12351:8:1", "typeDescriptions": { "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", "typeString": "int_const 1000...(57 digits omitted)...0000" } }, "src": "12342:17:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1027, "nodeType": "IfStatement", "src": "12338:103:1", "trueBody": { "id": 1026, "nodeType": "Block", "src": "12361:80:1", "statements": [ { "expression": { "id": 1020, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 1016, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1002, "src": "12379:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "/=", "rightHandSide": { "commonType": { "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", "typeString": "int_const 1000...(57 digits omitted)...0000" }, "id": 1019, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "3130", "id": 1017, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12388:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "nodeType": "BinaryOperation", "operator": "**", "rightExpression": { "hexValue": "3634", "id": 1018, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12394:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" }, "value": "64" }, "src": "12388:8:1", "typeDescriptions": { "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", "typeString": "int_const 1000...(57 digits omitted)...0000" } }, "src": "12379:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1021, "nodeType": "ExpressionStatement", "src": "12379:17:1" }, { "expression": { "id": 1024, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 1022, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1008, "src": "12414:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "+=", "rightHandSide": { "hexValue": "3634", "id": 1023, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12424:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" }, "value": "64" }, "src": "12414:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1025, "nodeType": "ExpressionStatement", "src": "12414:12:1" } ] } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1032, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1028, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1002, "src": "12458:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "commonType": { "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", "typeString": "int_const 1000...(25 digits omitted)...0000" }, "id": 1031, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "3130", "id": 1029, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12467:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "nodeType": "BinaryOperation", "operator": "**", "rightExpression": { "hexValue": "3332", "id": 1030, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12473:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "src": "12467:8:1", "typeDescriptions": { "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", "typeString": "int_const 1000...(25 digits omitted)...0000" } }, "src": "12458:17:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1044, "nodeType": "IfStatement", "src": "12454:103:1", "trueBody": { "id": 1043, "nodeType": "Block", "src": "12477:80:1", "statements": [ { "expression": { "id": 1037, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 1033, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1002, "src": "12495:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "/=", "rightHandSide": { "commonType": { "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", "typeString": "int_const 1000...(25 digits omitted)...0000" }, "id": 1036, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "3130", "id": 1034, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12504:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "nodeType": "BinaryOperation", "operator": "**", "rightExpression": { "hexValue": "3332", "id": 1035, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12510:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "src": "12504:8:1", "typeDescriptions": { "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", "typeString": "int_const 1000...(25 digits omitted)...0000" } }, "src": "12495:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1038, "nodeType": "ExpressionStatement", "src": "12495:17:1" }, { "expression": { "id": 1041, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 1039, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1008, "src": "12530:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "+=", "rightHandSide": { "hexValue": "3332", "id": 1040, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12540:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "src": "12530:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1042, "nodeType": "ExpressionStatement", "src": "12530:12:1" } ] } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1049, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1045, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1002, "src": "12574:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "commonType": { "typeIdentifier": "t_rational_10000000000000000_by_1", "typeString": "int_const 10000000000000000" }, "id": 1048, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "3130", "id": 1046, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12583:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "nodeType": "BinaryOperation", "operator": "**", "rightExpression": { "hexValue": "3136", "id": 1047, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12589:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", "typeString": "int_const 16" }, "value": "16" }, "src": "12583:8:1", "typeDescriptions": { "typeIdentifier": "t_rational_10000000000000000_by_1", "typeString": "int_const 10000000000000000" } }, "src": "12574:17:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1061, "nodeType": "IfStatement", "src": "12570:103:1", "trueBody": { "id": 1060, "nodeType": "Block", "src": "12593:80:1", "statements": [ { "expression": { "id": 1054, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 1050, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1002, "src": "12611:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "/=", "rightHandSide": { "commonType": { "typeIdentifier": "t_rational_10000000000000000_by_1", "typeString": "int_const 10000000000000000" }, "id": 1053, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "3130", "id": 1051, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12620:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "nodeType": "BinaryOperation", "operator": "**", "rightExpression": { "hexValue": "3136", "id": 1052, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12626:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", "typeString": "int_const 16" }, "value": "16" }, "src": "12620:8:1", "typeDescriptions": { "typeIdentifier": "t_rational_10000000000000000_by_1", "typeString": "int_const 10000000000000000" } }, "src": "12611:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1055, "nodeType": "ExpressionStatement", "src": "12611:17:1" }, { "expression": { "id": 1058, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 1056, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1008, "src": "12646:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "+=", "rightHandSide": { "hexValue": "3136", "id": 1057, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12656:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", "typeString": "int_const 16" }, "value": "16" }, "src": "12646:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1059, "nodeType": "ExpressionStatement", "src": "12646:12:1" } ] } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1066, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1062, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1002, "src": "12690:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "commonType": { "typeIdentifier": "t_rational_100000000_by_1", "typeString": "int_const 100000000" }, "id": 1065, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "3130", "id": 1063, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12699:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "nodeType": "BinaryOperation", "operator": "**", "rightExpression": { "hexValue": "38", "id": 1064, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12705:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" }, "value": "8" }, "src": "12699:7:1", "typeDescriptions": { "typeIdentifier": "t_rational_100000000_by_1", "typeString": "int_const 100000000" } }, "src": "12690:16:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1078, "nodeType": "IfStatement", "src": "12686:100:1", "trueBody": { "id": 1077, "nodeType": "Block", "src": "12708:78:1", "statements": [ { "expression": { "id": 1071, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 1067, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1002, "src": "12726:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "/=", "rightHandSide": { "commonType": { "typeIdentifier": "t_rational_100000000_by_1", "typeString": "int_const 100000000" }, "id": 1070, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "3130", "id": 1068, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12735:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "nodeType": "BinaryOperation", "operator": "**", "rightExpression": { "hexValue": "38", "id": 1069, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12741:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" }, "value": "8" }, "src": "12735:7:1", "typeDescriptions": { "typeIdentifier": "t_rational_100000000_by_1", "typeString": "int_const 100000000" } }, "src": "12726:16:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1072, "nodeType": "ExpressionStatement", "src": "12726:16:1" }, { "expression": { "id": 1075, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 1073, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1008, "src": "12760:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "+=", "rightHandSide": { "hexValue": "38", "id": 1074, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12770:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" }, "value": "8" }, "src": "12760:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1076, "nodeType": "ExpressionStatement", "src": "12760:11:1" } ] } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1083, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1079, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1002, "src": "12803:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "commonType": { "typeIdentifier": "t_rational_10000_by_1", "typeString": "int_const 10000" }, "id": 1082, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "3130", "id": 1080, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12812:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "nodeType": "BinaryOperation", "operator": "**", "rightExpression": { "hexValue": "34", "id": 1081, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12818:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" }, "value": "4" }, "src": "12812:7:1", "typeDescriptions": { "typeIdentifier": "t_rational_10000_by_1", "typeString": "int_const 10000" } }, "src": "12803:16:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1095, "nodeType": "IfStatement", "src": "12799:100:1", "trueBody": { "id": 1094, "nodeType": "Block", "src": "12821:78:1", "statements": [ { "expression": { "id": 1088, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 1084, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1002, "src": "12839:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "/=", "rightHandSide": { "commonType": { "typeIdentifier": "t_rational_10000_by_1", "typeString": "int_const 10000" }, "id": 1087, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "3130", "id": 1085, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12848:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "nodeType": "BinaryOperation", "operator": "**", "rightExpression": { "hexValue": "34", "id": 1086, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12854:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" }, "value": "4" }, "src": "12848:7:1", "typeDescriptions": { "typeIdentifier": "t_rational_10000_by_1", "typeString": "int_const 10000" } }, "src": "12839:16:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1089, "nodeType": "ExpressionStatement", "src": "12839:16:1" }, { "expression": { "id": 1092, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 1090, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1008, "src": "12873:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "+=", "rightHandSide": { "hexValue": "34", "id": 1091, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12883:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" }, "value": "4" }, "src": "12873:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1093, "nodeType": "ExpressionStatement", "src": "12873:11:1" } ] } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1100, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1096, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1002, "src": "12916:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "commonType": { "typeIdentifier": "t_rational_100_by_1", "typeString": "int_const 100" }, "id": 1099, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "3130", "id": 1097, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12925:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "nodeType": "BinaryOperation", "operator": "**", "rightExpression": { "hexValue": "32", "id": 1098, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12931:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "src": "12925:7:1", "typeDescriptions": { "typeIdentifier": "t_rational_100_by_1", "typeString": "int_const 100" } }, "src": "12916:16:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1112, "nodeType": "IfStatement", "src": "12912:100:1", "trueBody": { "id": 1111, "nodeType": "Block", "src": "12934:78:1", "statements": [ { "expression": { "id": 1105, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 1101, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1002, "src": "12952:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "/=", "rightHandSide": { "commonType": { "typeIdentifier": "t_rational_100_by_1", "typeString": "int_const 100" }, "id": 1104, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "3130", "id": 1102, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12961:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "nodeType": "BinaryOperation", "operator": "**", "rightExpression": { "hexValue": "32", "id": 1103, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12967:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "src": "12961:7:1", "typeDescriptions": { "typeIdentifier": "t_rational_100_by_1", "typeString": "int_const 100" } }, "src": "12952:16:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1106, "nodeType": "ExpressionStatement", "src": "12952:16:1" }, { "expression": { "id": 1109, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 1107, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1008, "src": "12986:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "+=", "rightHandSide": { "hexValue": "32", "id": 1108, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12996:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "src": "12986:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1110, "nodeType": "ExpressionStatement", "src": "12986:11:1" } ] } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1117, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1113, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1002, "src": "13029:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "commonType": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "id": 1116, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "3130", "id": 1114, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "13038:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "nodeType": "BinaryOperation", "operator": "**", "rightExpression": { "hexValue": "31", "id": 1115, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "13044:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "13038:7:1", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" } }, "src": "13029:16:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1123, "nodeType": "IfStatement", "src": "13025:66:1", "trueBody": { "id": 1122, "nodeType": "Block", "src": "13047:44:1", "statements": [ { "expression": { "id": 1120, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 1118, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1008, "src": "13065:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "+=", "rightHandSide": { "hexValue": "31", "id": 1119, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "13075:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "13065:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1121, "nodeType": "ExpressionStatement", "src": "13065:11:1" } ] } } ] }, { "expression": { "id": 1125, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1008, "src": "13117:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 1006, "id": 1126, "nodeType": "Return", "src": "13110:13:1" } ] }, "documentation": { "id": 1000, "nodeType": "StructuredDocumentation", "src": "12089:120:1", "text": " @dev Return the log in base 10 of a positive value rounded towards zero.\n Returns 0 if given 0." }, "id": 1128, "implemented": true, "kind": "function", "modifiers": [], "name": "log10", "nameLocation": "12223:5:1", "nodeType": "FunctionDefinition", "parameters": { "id": 1003, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1002, "mutability": "mutable", "name": "value", "nameLocation": "12237:5:1", "nodeType": "VariableDeclaration", "scope": 1128, "src": "12229:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1001, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "12229:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "12228:15:1" }, "returnParameters": { "id": 1006, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1005, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 1128, "src": "12267:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1004, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "12267:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "12266:9:1" }, "scope": 1308, "src": "12214:916:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 1162, "nodeType": "Block", "src": "13365:170:1", "statements": [ { "id": 1161, "nodeType": "UncheckedBlock", "src": "13375:154:1", "statements": [ { "assignments": [ 1140 ], "declarations": [ { "constant": false, "id": 1140, "mutability": "mutable", "name": "result", "nameLocation": "13407:6:1", "nodeType": "VariableDeclaration", "scope": 1161, "src": "13399:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1139, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "13399:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 1144, "initialValue": { "arguments": [ { "id": 1142, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1131, "src": "13422:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1141, "name": "log10", "nodeType": "Identifier", "overloadedDeclarations": [ 1128, 1163 ], "referencedDeclaration": 1128, "src": "13416:5:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) pure returns (uint256)" } }, "id": 1143, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "13416:12:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "13399:29:1" }, { "expression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1159, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1145, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1140, "src": "13449:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "components": [ { "condition": { "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 1154, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [ { "id": 1147, "name": "rounding", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1134, "src": "13476:8:1", "typeDescriptions": { "typeIdentifier": "t_enum$_Rounding_$265", "typeString": "enum Math.Rounding" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_Rounding_$265", "typeString": "enum Math.Rounding" } ], "id": 1146, "name": "unsignedRoundsUp", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1307, "src": "13459:16:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_enum$_Rounding_$265_$returns$_t_bool_$", "typeString": "function (enum Math.Rounding) pure returns (bool)" } }, "id": 1148, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "13459:26:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1153, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1151, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3130", "id": 1149, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "13489:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "nodeType": "BinaryOperation", "operator": "**", "rightExpression": { "id": 1150, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1140, "src": "13495:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "13489:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "id": 1152, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1131, "src": "13504:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "13489:20:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "13459:50:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseExpression": { "hexValue": "30", "id": 1156, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "13516:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "id": 1157, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", "src": "13459:58:1", "trueExpression": { "hexValue": "31", "id": 1155, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "13512:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } } ], "id": 1158, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "13458:60:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "13449:69:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 1138, "id": 1160, "nodeType": "Return", "src": "13442:76:1" } ] } ] }, "documentation": { "id": 1129, "nodeType": "StructuredDocumentation", "src": "13136:143:1", "text": " @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n Returns 0 if given 0." }, "id": 1163, "implemented": true, "kind": "function", "modifiers": [], "name": "log10", "nameLocation": "13293:5:1", "nodeType": "FunctionDefinition", "parameters": { "id": 1135, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1131, "mutability": "mutable", "name": "value", "nameLocation": "13307:5:1", "nodeType": "VariableDeclaration", "scope": 1163, "src": "13299:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1130, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "13299:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 1134, "mutability": "mutable", "name": "rounding", "nameLocation": "13323:8:1", "nodeType": "VariableDeclaration", "scope": 1163, "src": "13314:17:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_enum$_Rounding_$265", "typeString": "enum Math.Rounding" }, "typeName": { "id": 1133, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 1132, "name": "Rounding", "nameLocations": [ "13314:8:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 265, "src": "13314:8:1" }, "referencedDeclaration": 265, "src": "13314:8:1", "typeDescriptions": { "typeIdentifier": "t_enum$_Rounding_$265", "typeString": "enum Math.Rounding" } }, "visibility": "internal" } ], "src": "13298:34:1" }, "returnParameters": { "id": 1138, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1137, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 1163, "src": "13356:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1136, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "13356:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "13355:9:1" }, "scope": 1308, "src": "13284:251:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 1249, "nodeType": "Block", "src": "13855:600:1", "statements": [ { "assignments": [ 1172 ], "declarations": [ { "constant": false, "id": 1172, "mutability": "mutable", "name": "result", "nameLocation": "13873:6:1", "nodeType": "VariableDeclaration", "scope": 1249, "src": "13865:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1171, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "13865:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 1174, "initialValue": { "hexValue": "30", "id": 1173, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "13882:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "VariableDeclarationStatement", "src": "13865:18:1" }, { "id": 1246, "nodeType": "UncheckedBlock", "src": "13893:533:1", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1179, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1177, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1175, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1166, "src": "13921:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { "hexValue": "313238", "id": 1176, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "13930:3:1", "typeDescriptions": { "typeIdentifier": "t_rational_128_by_1", "typeString": "int_const 128" }, "value": "128" }, "src": "13921:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "hexValue": "30", "id": 1178, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "13936:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "13921:16:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1189, "nodeType": "IfStatement", "src": "13917:98:1", "trueBody": { "id": 1188, "nodeType": "Block", "src": "13939:76:1", "statements": [ { "expression": { "id": 1182, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 1180, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1166, "src": "13957:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": ">>=", "rightHandSide": { "hexValue": "313238", "id": 1181, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "13967:3:1", "typeDescriptions": { "typeIdentifier": "t_rational_128_by_1", "typeString": "int_const 128" }, "value": "128" }, "src": "13957:13:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1183, "nodeType": "ExpressionStatement", "src": "13957:13:1" }, { "expression": { "id": 1186, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 1184, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1172, "src": "13988:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "+=", "rightHandSide": { "hexValue": "3136", "id": 1185, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "13998:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", "typeString": "int_const 16" }, "value": "16" }, "src": "13988:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1187, "nodeType": "ExpressionStatement", "src": "13988:12:1" } ] } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1194, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1192, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1190, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1166, "src": "14032:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { "hexValue": "3634", "id": 1191, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14041:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" }, "value": "64" }, "src": "14032:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "hexValue": "30", "id": 1193, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14046:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "14032:15:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1204, "nodeType": "IfStatement", "src": "14028:95:1", "trueBody": { "id": 1203, "nodeType": "Block", "src": "14049:74:1", "statements": [ { "expression": { "id": 1197, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 1195, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1166, "src": "14067:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": ">>=", "rightHandSide": { "hexValue": "3634", "id": 1196, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14077:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" }, "value": "64" }, "src": "14067:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1198, "nodeType": "ExpressionStatement", "src": "14067:12:1" }, { "expression": { "id": 1201, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 1199, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1172, "src": "14097:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "+=", "rightHandSide": { "hexValue": "38", "id": 1200, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14107:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" }, "value": "8" }, "src": "14097:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1202, "nodeType": "ExpressionStatement", "src": "14097:11:1" } ] } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1209, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1207, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1205, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1166, "src": "14140:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { "hexValue": "3332", "id": 1206, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14149:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "src": "14140:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "hexValue": "30", "id": 1208, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14154:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "14140:15:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1219, "nodeType": "IfStatement", "src": "14136:95:1", "trueBody": { "id": 1218, "nodeType": "Block", "src": "14157:74:1", "statements": [ { "expression": { "id": 1212, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 1210, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1166, "src": "14175:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": ">>=", "rightHandSide": { "hexValue": "3332", "id": 1211, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14185:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "src": "14175:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1213, "nodeType": "ExpressionStatement", "src": "14175:12:1" }, { "expression": { "id": 1216, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 1214, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1172, "src": "14205:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "+=", "rightHandSide": { "hexValue": "34", "id": 1215, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14215:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" }, "value": "4" }, "src": "14205:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1217, "nodeType": "ExpressionStatement", "src": "14205:11:1" } ] } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1224, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1222, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1220, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1166, "src": "14248:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { "hexValue": "3136", "id": 1221, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14257:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", "typeString": "int_const 16" }, "value": "16" }, "src": "14248:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "hexValue": "30", "id": 1223, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14262:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "14248:15:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1234, "nodeType": "IfStatement", "src": "14244:95:1", "trueBody": { "id": 1233, "nodeType": "Block", "src": "14265:74:1", "statements": [ { "expression": { "id": 1227, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 1225, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1166, "src": "14283:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": ">>=", "rightHandSide": { "hexValue": "3136", "id": 1226, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14293:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", "typeString": "int_const 16" }, "value": "16" }, "src": "14283:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1228, "nodeType": "ExpressionStatement", "src": "14283:12:1" }, { "expression": { "id": 1231, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 1229, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1172, "src": "14313:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "+=", "rightHandSide": { "hexValue": "32", "id": 1230, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14323:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "src": "14313:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1232, "nodeType": "ExpressionStatement", "src": "14313:11:1" } ] } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1239, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1237, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1235, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1166, "src": "14356:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { "hexValue": "38", "id": 1236, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14365:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" }, "value": "8" }, "src": "14356:10:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "hexValue": "30", "id": 1238, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14369:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "14356:14:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1245, "nodeType": "IfStatement", "src": "14352:64:1", "trueBody": { "id": 1244, "nodeType": "Block", "src": "14372:44:1", "statements": [ { "expression": { "id": 1242, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 1240, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1172, "src": "14390:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "+=", "rightHandSide": { "hexValue": "31", "id": 1241, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14400:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "14390:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1243, "nodeType": "ExpressionStatement", "src": "14390:11:1" } ] } } ] }, { "expression": { "id": 1247, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1172, "src": "14442:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 1170, "id": 1248, "nodeType": "Return", "src": "14435:13:1" } ] }, "documentation": { "id": 1164, "nodeType": "StructuredDocumentation", "src": "13541:246:1", "text": " @dev Return the log in base 256 of a positive value rounded towards zero.\n Returns 0 if given 0.\n Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string." }, "id": 1250, "implemented": true, "kind": "function", "modifiers": [], "name": "log256", "nameLocation": "13801:6:1", "nodeType": "FunctionDefinition", "parameters": { "id": 1167, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1166, "mutability": "mutable", "name": "value", "nameLocation": "13816:5:1", "nodeType": "VariableDeclaration", "scope": 1250, "src": "13808:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1165, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "13808:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "13807:15:1" }, "returnParameters": { "id": 1170, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1169, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 1250, "src": "13846:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1168, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "13846:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "13845:9:1" }, "scope": 1308, "src": "13792:663:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 1287, "nodeType": "Block", "src": "14692:177:1", "statements": [ { "id": 1286, "nodeType": "UncheckedBlock", "src": "14702:161:1", "statements": [ { "assignments": [ 1262 ], "declarations": [ { "constant": false, "id": 1262, "mutability": "mutable", "name": "result", "nameLocation": "14734:6:1", "nodeType": "VariableDeclaration", "scope": 1286, "src": "14726:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1261, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "14726:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 1266, "initialValue": { "arguments": [ { "id": 1264, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1253, "src": "14750:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1263, "name": "log256", "nodeType": "Identifier", "overloadedDeclarations": [ 1250, 1288 ], "referencedDeclaration": 1250, "src": "14743:6:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) pure returns (uint256)" } }, "id": 1265, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "14743:13:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "14726:30:1" }, { "expression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1284, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1267, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1262, "src": "14777:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "components": [ { "condition": { "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 1279, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [ { "id": 1269, "name": "rounding", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1256, "src": "14804:8:1", "typeDescriptions": { "typeIdentifier": "t_enum$_Rounding_$265", "typeString": "enum Math.Rounding" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_Rounding_$265", "typeString": "enum Math.Rounding" } ], "id": 1268, "name": "unsignedRoundsUp", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1307, "src": "14787:16:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_enum$_Rounding_$265_$returns$_t_bool_$", "typeString": "function (enum Math.Rounding) pure returns (bool)" } }, "id": 1270, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "14787:26:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1278, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1276, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "31", "id": 1271, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14817:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "nodeType": "BinaryOperation", "operator": "<<", "rightExpression": { "components": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1274, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1272, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1262, "src": "14823:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<<", "rightExpression": { "hexValue": "33", "id": 1273, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14833:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" }, "value": "3" }, "src": "14823:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 1275, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "14822:13:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "14817:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "id": 1277, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1253, "src": "14838:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "14817:26:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "14787:56:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseExpression": { "hexValue": "30", "id": 1281, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14850:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "id": 1282, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", "src": "14787:64:1", "trueExpression": { "hexValue": "31", "id": 1280, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14846:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } } ], "id": 1283, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "14786:66:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "14777:75:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 1260, "id": 1285, "nodeType": "Return", "src": "14770:82:1" } ] } ] }, "documentation": { "id": 1251, "nodeType": "StructuredDocumentation", "src": "14461:144:1", "text": " @dev Return the log in base 256, following the selected rounding direction, of a positive value.\n Returns 0 if given 0." }, "id": 1288, "implemented": true, "kind": "function", "modifiers": [], "name": "log256", "nameLocation": "14619:6:1", "nodeType": "FunctionDefinition", "parameters": { "id": 1257, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1253, "mutability": "mutable", "name": "value", "nameLocation": "14634:5:1", "nodeType": "VariableDeclaration", "scope": 1288, "src": "14626:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1252, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "14626:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 1256, "mutability": "mutable", "name": "rounding", "nameLocation": "14650:8:1", "nodeType": "VariableDeclaration", "scope": 1288, "src": "14641:17:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_enum$_Rounding_$265", "typeString": "enum Math.Rounding" }, "typeName": { "id": 1255, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 1254, "name": "Rounding", "nameLocations": [ "14641:8:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 265, "src": "14641:8:1" }, "referencedDeclaration": 265, "src": "14641:8:1", "typeDescriptions": { "typeIdentifier": "t_enum$_Rounding_$265", "typeString": "enum Math.Rounding" } }, "visibility": "internal" } ], "src": "14625:34:1" }, "returnParameters": { "id": 1260, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1259, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 1288, "src": "14683:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1258, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "14683:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "14682:9:1" }, "scope": 1308, "src": "14610:259:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 1306, "nodeType": "Block", "src": "15067:48:1", "statements": [ { "expression": { "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 1304, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 1302, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [ { "id": 1299, "name": "rounding", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1292, "src": "15090:8:1", "typeDescriptions": { "typeIdentifier": "t_enum$_Rounding_$265", "typeString": "enum Math.Rounding" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_Rounding_$265", "typeString": "enum Math.Rounding" } ], "id": 1298, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "15084:5:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": { "id": 1297, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "15084:5:1", "typeDescriptions": {} } }, "id": 1300, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "15084:15:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "%", "rightExpression": { "hexValue": "32", "id": 1301, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "15102:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "src": "15084:19:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "31", "id": 1303, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "15107:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "15084:24:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 1296, "id": 1305, "nodeType": "Return", "src": "15077:31:1" } ] }, "documentation": { "id": 1289, "nodeType": "StructuredDocumentation", "src": "14875:113:1", "text": " @dev Returns whether a provided rounding mode is considered rounding up for unsigned integers." }, "id": 1307, "implemented": true, "kind": "function", "modifiers": [], "name": "unsignedRoundsUp", "nameLocation": "15002:16:1", "nodeType": "FunctionDefinition", "parameters": { "id": 1293, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1292, "mutability": "mutable", "name": "rounding", "nameLocation": "15028:8:1", "nodeType": "VariableDeclaration", "scope": 1307, "src": "15019:17:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_enum$_Rounding_$265", "typeString": "enum Math.Rounding" }, "typeName": { "id": 1291, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 1290, "name": "Rounding", "nameLocations": [ "15019:8:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 265, "src": "15019:8:1" }, "referencedDeclaration": 265, "src": "15019:8:1", "typeDescriptions": { "typeIdentifier": "t_enum$_Rounding_$265", "typeString": "enum Math.Rounding" } }, "visibility": "internal" } ], "src": "15018:19:1" }, "returnParameters": { "id": 1296, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1295, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 1307, "src": "15061:4:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 1294, "name": "bool", "nodeType": "ElementaryTypeName", "src": "15061:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "15060:6:1" }, "scope": 1308, "src": "14993:122:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], "scope": 1309, "src": "203:14914:1", "usedErrors": [ 260 ], "usedEvents": [] } ], "src": "103:15015:1" }, "id": 1 }, "@openzeppelin/contracts/utils/math/SignedMath.sol": { "ast": { "absolutePath": "@openzeppelin/contracts/utils/math/SignedMath.sol", "exportedSymbols": { "SignedMath": [ 1413 ] }, "id": 1414, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 1310, "literals": [ "solidity", "^", "0.8", ".20" ], "nodeType": "PragmaDirective", "src": "109:24:2" }, { "abstract": false, "baseContracts": [], "canonicalName": "SignedMath", "contractDependencies": [], "contractKind": "library", "documentation": { "id": 1311, "nodeType": "StructuredDocumentation", "src": "135:80:2", "text": " @dev Standard signed math utilities missing in the Solidity language." }, "fullyImplemented": true, "id": 1413, "linearizedBaseContracts": [ 1413 ], "name": "SignedMath", "nameLocation": "224:10:2", "nodeType": "ContractDefinition", "nodes": [ { "body": { "id": 1328, "nodeType": "Block", "src": "376:37:2", "statements": [ { "expression": { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 1323, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1321, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1314, "src": "393:1:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "id": 1322, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1316, "src": "397:1:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "393:5:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseExpression": { "id": 1325, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1316, "src": "405:1:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "id": 1326, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", "src": "393:13:2", "trueExpression": { "id": 1324, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1314, "src": "401:1:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "functionReturnParameters": 1320, "id": 1327, "nodeType": "Return", "src": "386:20:2" } ] }, "documentation": { "id": 1312, "nodeType": "StructuredDocumentation", "src": "241:66:2", "text": " @dev Returns the largest of two signed numbers." }, "id": 1329, "implemented": true, "kind": "function", "modifiers": [], "name": "max", "nameLocation": "321:3:2", "nodeType": "FunctionDefinition", "parameters": { "id": 1317, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1314, "mutability": "mutable", "name": "a", "nameLocation": "332:1:2", "nodeType": "VariableDeclaration", "scope": 1329, "src": "325:8:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1313, "name": "int256", "nodeType": "ElementaryTypeName", "src": "325:6:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 1316, "mutability": "mutable", "name": "b", "nameLocation": "342:1:2", "nodeType": "VariableDeclaration", "scope": 1329, "src": "335:8:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1315, "name": "int256", "nodeType": "ElementaryTypeName", "src": "335:6:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" } ], "src": "324:20:2" }, "returnParameters": { "id": 1320, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1319, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 1329, "src": "368:6:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1318, "name": "int256", "nodeType": "ElementaryTypeName", "src": "368:6:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" } ], "src": "367:8:2" }, "scope": 1413, "src": "312:101:2", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 1346, "nodeType": "Block", "src": "555:37:2", "statements": [ { "expression": { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 1341, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1339, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1332, "src": "572:1:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "id": 1340, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1334, "src": "576:1:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "572:5:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseExpression": { "id": 1343, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1334, "src": "584:1:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "id": 1344, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", "src": "572:13:2", "trueExpression": { "id": 1342, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1332, "src": "580:1:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "functionReturnParameters": 1338, "id": 1345, "nodeType": "Return", "src": "565:20:2" } ] }, "documentation": { "id": 1330, "nodeType": "StructuredDocumentation", "src": "419:67:2", "text": " @dev Returns the smallest of two signed numbers." }, "id": 1347, "implemented": true, "kind": "function", "modifiers": [], "name": "min", "nameLocation": "500:3:2", "nodeType": "FunctionDefinition", "parameters": { "id": 1335, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1332, "mutability": "mutable", "name": "a", "nameLocation": "511:1:2", "nodeType": "VariableDeclaration", "scope": 1347, "src": "504:8:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1331, "name": "int256", "nodeType": "ElementaryTypeName", "src": "504:6:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 1334, "mutability": "mutable", "name": "b", "nameLocation": "521:1:2", "nodeType": "VariableDeclaration", "scope": 1347, "src": "514:8:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1333, "name": "int256", "nodeType": "ElementaryTypeName", "src": "514:6:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" } ], "src": "503:20:2" }, "returnParameters": { "id": 1338, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1337, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 1347, "src": "547:6:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1336, "name": "int256", "nodeType": "ElementaryTypeName", "src": "547:6:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" } ], "src": "546:8:2" }, "scope": 1413, "src": "491:101:2", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 1390, "nodeType": "Block", "src": "797:162:2", "statements": [ { "assignments": [ 1358 ], "declarations": [ { "constant": false, "id": 1358, "mutability": "mutable", "name": "x", "nameLocation": "866:1:2", "nodeType": "VariableDeclaration", "scope": 1390, "src": "859:8:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1357, "name": "int256", "nodeType": "ElementaryTypeName", "src": "859:6:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" } ], "id": 1371, "initialValue": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 1370, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "components": [ { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 1361, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1359, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1350, "src": "871:1:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": "&", "rightExpression": { "id": 1360, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1352, "src": "875:1:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "871:5:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], "id": 1362, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "870:7:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "components": [ { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 1368, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "components": [ { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 1365, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1363, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1350, "src": "882:1:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": "^", "rightExpression": { "id": 1364, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1352, "src": "886:1:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "882:5:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], "id": 1366, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "881:7:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { "hexValue": "31", "id": 1367, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "892:1:2", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "881:12:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], "id": 1369, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "880:14:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "870:24:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "VariableDeclarationStatement", "src": "859:35:2" }, { "expression": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 1388, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1372, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1358, "src": "911:1:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "components": [ { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 1386, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1380, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [ { "id": 1377, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1358, "src": "931:1:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_int256", "typeString": "int256" } ], "id": 1376, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "923:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 1375, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "923:7:2", "typeDescriptions": {} } }, "id": 1378, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "923:10:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { "hexValue": "323535", "id": 1379, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "937:3:2", "typeDescriptions": { "typeIdentifier": "t_rational_255_by_1", "typeString": "int_const 255" }, "value": "255" }, "src": "923:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1374, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "916:6:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_int256_$", "typeString": "type(int256)" }, "typeName": { "id": 1373, "name": "int256", "nodeType": "ElementaryTypeName", "src": "916:6:2", "typeDescriptions": {} } }, "id": 1381, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "916:25:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": "&", "rightExpression": { "components": [ { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 1384, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1382, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1350, "src": "945:1:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": "^", "rightExpression": { "id": 1383, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1352, "src": "949:1:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "945:5:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], "id": 1385, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "944:7:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "916:35:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], "id": 1387, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "915:37:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "911:41:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "functionReturnParameters": 1356, "id": 1389, "nodeType": "Return", "src": "904:48:2" } ] }, "documentation": { "id": 1348, "nodeType": "StructuredDocumentation", "src": "598:126:2", "text": " @dev Returns the average of two signed numbers without overflow.\n The result is rounded towards zero." }, "id": 1391, "implemented": true, "kind": "function", "modifiers": [], "name": "average", "nameLocation": "738:7:2", "nodeType": "FunctionDefinition", "parameters": { "id": 1353, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1350, "mutability": "mutable", "name": "a", "nameLocation": "753:1:2", "nodeType": "VariableDeclaration", "scope": 1391, "src": "746:8:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1349, "name": "int256", "nodeType": "ElementaryTypeName", "src": "746:6:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 1352, "mutability": "mutable", "name": "b", "nameLocation": "763:1:2", "nodeType": "VariableDeclaration", "scope": 1391, "src": "756:8:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1351, "name": "int256", "nodeType": "ElementaryTypeName", "src": "756:6:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" } ], "src": "745:20:2" }, "returnParameters": { "id": 1356, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1355, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 1391, "src": "789:6:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1354, "name": "int256", "nodeType": "ElementaryTypeName", "src": "789:6:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" } ], "src": "788:8:2" }, "scope": 1413, "src": "729:230:2", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 1411, "nodeType": "Block", "src": "1103:158:2", "statements": [ { "id": 1410, "nodeType": "UncheckedBlock", "src": "1113:142:2", "statements": [ { "expression": { "arguments": [ { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 1403, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1401, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1394, "src": "1228:1:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "hexValue": "30", "id": 1402, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1233:1:2", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "1228:6:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseExpression": { "id": 1406, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "-", "prefix": true, "src": "1241:2:2", "subExpression": { "id": 1405, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1394, "src": "1242:1:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "id": 1407, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", "src": "1228:15:2", "trueExpression": { "id": 1404, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1394, "src": "1237:1:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_int256", "typeString": "int256" } ], "id": 1400, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1220:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 1399, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1220:7:2", "typeDescriptions": {} } }, "id": 1408, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1220:24:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 1398, "id": 1409, "nodeType": "Return", "src": "1213:31:2" } ] } ] }, "documentation": { "id": 1392, "nodeType": "StructuredDocumentation", "src": "965:78:2", "text": " @dev Returns the absolute unsigned value of a signed value." }, "id": 1412, "implemented": true, "kind": "function", "modifiers": [], "name": "abs", "nameLocation": "1057:3:2", "nodeType": "FunctionDefinition", "parameters": { "id": 1395, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1394, "mutability": "mutable", "name": "n", "nameLocation": "1068:1:2", "nodeType": "VariableDeclaration", "scope": 1412, "src": "1061:8:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1393, "name": "int256", "nodeType": "ElementaryTypeName", "src": "1061:6:2", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" } ], "src": "1060:10:2" }, "returnParameters": { "id": 1398, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1397, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 1412, "src": "1094:7:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1396, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1094:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1093:9:2" }, "scope": 1413, "src": "1048:213:2", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], "scope": 1414, "src": "216:1047:2", "usedErrors": [], "usedEvents": [] } ], "src": "109:1155:2" }, "id": 2 }, "contracts/1inch/ImagePicker.sol": { "ast": { "absolutePath": "contracts/1inch/ImagePicker.sol", "exportedSymbols": { "ImagePicker": [ 1606 ], "Strings": [ 254 ] }, "id": 1607, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 1415, "literals": [ "solidity", "0.8", ".20" ], "nodeType": "PragmaDirective", "src": "32:23:3" }, { "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", "file": "@openzeppelin/contracts/utils/Strings.sol", "id": 1417, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 1607, "sourceUnit": 255, "src": "56:68:3", "symbolAliases": [ { "foreign": { "id": 1416, "name": "Strings", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 254, "src": "65:7:3", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" } ], "unitAlias": "" }, { "abstract": false, "baseContracts": [], "canonicalName": "ImagePicker", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, "id": 1606, "linearizedBaseContracts": [ 1606 ], "name": "ImagePicker", "nameLocation": "136:11:3", "nodeType": "ContractDefinition", "nodes": [ { "anonymous": false, "eventSelector": "7fde52b30dbd1db215825aec23d9610bee601572500c998f76036e3530bb6319", "id": 1421, "name": "accountHexEvent", "nameLocation": "160:15:3", "nodeType": "EventDefinition", "parameters": { "id": 1420, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1419, "indexed": false, "mutability": "mutable", "name": "accountHex", "nameLocation": "182:10:3", "nodeType": "VariableDeclaration", "scope": 1421, "src": "176:16:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 1418, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "176:5:3", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "src": "175:18:3" }, "src": "154:40:3" }, { "anonymous": false, "eventSelector": "d91fc460bbb5bb96a03f1769d71b477f1cda07a38a73470d5fd35ffafca0ba50", "id": 1425, "name": "shortAddressProgressEvent", "nameLocation": "205:25:3", "nodeType": "EventDefinition", "parameters": { "id": 1424, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1423, "indexed": false, "mutability": "mutable", "name": "shortAddress", "nameLocation": "237:12:3", "nodeType": "VariableDeclaration", "scope": 1425, "src": "231:18:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 1422, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "231:5:3", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "src": "230:20:3" }, "src": "199:52:3" }, { "anonymous": false, "eventSelector": "601fb544b04d4019de94b9fb8f6f32cd2cc915b9b3863af7a51521a11a7cd55f", "id": 1429, "name": "shortAddressEvent", "nameLocation": "262:17:3", "nodeType": "EventDefinition", "parameters": { "id": 1428, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1427, "indexed": false, "mutability": "mutable", "name": "shortAddress", "nameLocation": "287:12:3", "nodeType": "VariableDeclaration", "scope": 1429, "src": "280:19:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1426, "name": "string", "nodeType": "ElementaryTypeName", "src": "280:6:3", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "279:21:3" }, "src": "256:45:3" }, { "anonymous": false, "eventSelector": "9ed284f10dcef6d370d5bb3c39db10ea57a8620cd282fc203f395eea902da1e9", "id": 1433, "name": "shortAddressBytesEvent", "nameLocation": "312:22:3", "nodeType": "EventDefinition", "parameters": { "id": 1432, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1431, "indexed": false, "mutability": "mutable", "name": "shortAddressBytes", "nameLocation": "343:17:3", "nodeType": "VariableDeclaration", "scope": 1433, "src": "335:25:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 1430, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "335:7:3", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "334:27:3" }, "src": "306:56:3" }, { "anonymous": false, "eventSelector": "37fba0479bc2dbb6b8603c36a8e620375c2418d659e0660912d574950668a9d1", "id": 1437, "name": "numberEvent", "nameLocation": "373:11:3", "nodeType": "EventDefinition", "parameters": { "id": 1436, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1435, "indexed": false, "mutability": "mutable", "name": "number", "nameLocation": "393:6:3", "nodeType": "VariableDeclaration", "scope": 1437, "src": "385:14:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1434, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "385:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "384:16:3" }, "src": "367:34:3" }, { "anonymous": false, "eventSelector": "2cb4b384dae1141632b5a62fce93206b758ca98900757d914473707933b0dea5", "id": 1441, "name": "imageIndexEvent", "nameLocation": "412:15:3", "nodeType": "EventDefinition", "parameters": { "id": 1440, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1439, "indexed": false, "mutability": "mutable", "name": "imageIndex", "nameLocation": "436:10:3", "nodeType": "VariableDeclaration", "scope": 1441, "src": "428:18:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1438, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "428:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "427:20:3" }, "src": "406:42:3" }, { "body": { "id": 1554, "nodeType": "Block", "src": "675:1621:3", "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1452, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 1449, "name": "accountHex", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1443, "src": "770:10:3", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 1450, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "781:6:3", "memberName": "length", "nodeType": "MemberAccess", "src": "770:17:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "3432", "id": 1451, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "791:2:3", "typeDescriptions": { "typeIdentifier": "t_rational_42_by_1", "typeString": "int_const 42" }, "value": "42" }, "src": "770:23:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "6163636f756e74486578206c656e6774682073686f756c642062652034322063686172616374657273", "id": 1453, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "795:43:3", "typeDescriptions": { "typeIdentifier": "t_stringliteral_67cc5665ab53fef3c88ed1607202de597fc3d7d8d336fab95f7d7059074affcf", "typeString": "literal_string \"accountHex length should be 42 characters\"" }, "value": "accountHex length should be 42 characters" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_67cc5665ab53fef3c88ed1607202de597fc3d7d8d336fab95f7d7059074affcf", "typeString": "literal_string \"accountHex length should be 42 characters\"" } ], "id": 1448, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4294967278, 4294967278 ], "referencedDeclaration": 4294967278, "src": "762:7:3", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 1454, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "762:77:3", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1455, "nodeType": "ExpressionStatement", "src": "762:77:3" }, { "assignments": [ 1457 ], "declarations": [ { "constant": false, "id": 1457, "mutability": "mutable", "name": "_shortAddressBytes", "nameLocation": "947:18:3", "nodeType": "VariableDeclaration", "scope": 1554, "src": "934:31:3", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 1456, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "934:5:3", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "id": 1462, "initialValue": { "arguments": [ { "hexValue": "3132", "id": 1460, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "978:2:3", "typeDescriptions": { "typeIdentifier": "t_rational_12_by_1", "typeString": "int_const 12" }, "value": "12" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_12_by_1", "typeString": "int_const 12" } ], "id": 1459, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "968:9:3", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", "typeString": "function (uint256) pure returns (bytes memory)" }, "typeName": { "id": 1458, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "972:5:3", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } } }, "id": 1461, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "968:13:3", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "nodeType": "VariableDeclarationStatement", "src": "934:47:3" }, { "body": { "id": 1497, "nodeType": "Block", "src": "1025:340:3", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1475, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1473, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1464, "src": "1043:1:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "hexValue": "37", "id": 1474, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1048:1:3", "typeDescriptions": { "typeIdentifier": "t_rational_7_by_1", "typeString": "int_const 7" }, "value": "7" }, "src": "1043:6:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "id": 1495, "nodeType": "Block", "src": "1160:128:3", "statements": [ { "expression": { "id": 1493, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "id": 1485, "name": "_shortAddressBytes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1457, "src": "1231:18:3", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 1487, "indexExpression": { "id": 1486, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1464, "src": "1250:1:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "1231:21:3", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "baseExpression": { "id": 1488, "name": "accountHex", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1443, "src": "1255:10:3", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 1492, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1491, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3238", "id": 1489, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1266:2:3", "typeDescriptions": { "typeIdentifier": "t_rational_28_by_1", "typeString": "int_const 28" }, "value": "28" }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "id": 1490, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1464, "src": "1271:1:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1266:6:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1255:18:3", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "src": "1231:42:3", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "id": 1494, "nodeType": "ExpressionStatement", "src": "1231:42:3" } ] }, "id": 1496, "nodeType": "IfStatement", "src": "1039:249:3", "trueBody": { "id": 1484, "nodeType": "Block", "src": "1051:103:3", "statements": [ { "expression": { "id": 1482, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "id": 1476, "name": "_shortAddressBytes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1457, "src": "1102:18:3", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 1478, "indexExpression": { "id": 1477, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1464, "src": "1121:1:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "1102:21:3", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "baseExpression": { "id": 1479, "name": "accountHex", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1443, "src": "1126:10:3", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 1481, "indexExpression": { "id": 1480, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1464, "src": "1137:1:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1126:13:3", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "src": "1102:37:3", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "id": 1483, "nodeType": "ExpressionStatement", "src": "1102:37:3" } ] } } ] }, "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1469, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1467, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1464, "src": "1012:1:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "hexValue": "3132", "id": 1468, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1016:2:3", "typeDescriptions": { "typeIdentifier": "t_rational_12_by_1", "typeString": "int_const 12" }, "value": "12" }, "src": "1012:6:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1498, "initializationExpression": { "assignments": [ 1464 ], "declarations": [ { "constant": false, "id": 1464, "mutability": "mutable", "name": "i", "nameLocation": "1005:1:3", "nodeType": "VariableDeclaration", "scope": 1498, "src": "997:9:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1463, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "997:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 1466, "initialValue": { "hexValue": "30", "id": 1465, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1009:1:3", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "VariableDeclarationStatement", "src": "997:13:3" }, "loopExpression": { "expression": { "id": 1471, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "1020:3:3", "subExpression": { "id": 1470, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1464, "src": "1020:1:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1472, "nodeType": "ExpressionStatement", "src": "1020:3:3" }, "nodeType": "ForStatement", "src": "992:373:3" }, { "assignments": [ 1500 ], "declarations": [ { "constant": false, "id": 1500, "mutability": "mutable", "name": "shortAddress", "nameLocation": "1440:12:3", "nodeType": "VariableDeclaration", "scope": 1554, "src": "1426:26:3", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1499, "name": "string", "nodeType": "ElementaryTypeName", "src": "1426:6:3", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "id": 1505, "initialValue": { "arguments": [ { "id": 1503, "name": "_shortAddressBytes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1457, "src": "1462:18:3", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 1502, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1455:6:3", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { "id": 1501, "name": "string", "nodeType": "ElementaryTypeName", "src": "1455:6:3", "typeDescriptions": {} } }, "id": 1504, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1455:26:3", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "nodeType": "VariableDeclarationStatement", "src": "1426:55:3" }, { "assignments": [ 1507 ], "declarations": [ { "constant": false, "id": 1507, "mutability": "mutable", "name": "shortAddressBytes", "nameLocation": "1591:17:3", "nodeType": "VariableDeclaration", "scope": 1554, "src": "1583:25:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 1506, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1583:7:3", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "id": 1517, "initialValue": { "arguments": [ { "arguments": [ { "arguments": [ { "id": 1513, "name": "shortAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1500, "src": "1646:12:3", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "id": 1511, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967295, "src": "1629:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 1512, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "1633:12:3", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "1629:16:3", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 1514, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1629:30:3", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 1510, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967288, "src": "1619:9:3", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 1515, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1619:41:3", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 1509, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1611:7:3", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 1508, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1611:7:3", "typeDescriptions": {} } }, "id": 1516, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1611:50:3", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", "src": "1583:78:3" }, { "assignments": [ 1519 ], "declarations": [ { "constant": false, "id": 1519, "mutability": "mutable", "name": "number", "nameLocation": "1746:6:3", "nodeType": "VariableDeclaration", "scope": 1554, "src": "1738:14:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1518, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1738:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 1524, "initialValue": { "arguments": [ { "id": 1522, "name": "shortAddressBytes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1507, "src": "1763:17:3", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 1521, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1755:7:3", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 1520, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1755:7:3", "typeDescriptions": {} } }, "id": 1523, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1755:26:3", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "1738:43:3" }, { "assignments": [ 1530 ], "declarations": [ { "constant": false, "id": 1530, "mutability": "mutable", "name": "images", "nameLocation": "1848:6:3", "nodeType": "VariableDeclaration", "scope": 1554, "src": "1830:24:3", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$10_memory_ptr", "typeString": "string[10]" }, "typeName": { "baseType": { "id": 1528, "name": "string", "nodeType": "ElementaryTypeName", "src": "1830:6:3", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "id": 1529, "length": { "hexValue": "3130", "id": 1527, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1837:2:3", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "nodeType": "ArrayTypeName", "src": "1830:10:3", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$10_storage_ptr", "typeString": "string[10]" } }, "visibility": "internal" } ], "id": 1542, "initialValue": { "components": [ { "hexValue": "626c756520303031", "id": 1531, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1871:10:3", "typeDescriptions": { "typeIdentifier": "t_stringliteral_be451d2156399c0f88590de84515d6b9bb25feec272ade3d7adba28a008a4d3f", "typeString": "literal_string \"blue 001\"" }, "value": "blue 001" }, { "hexValue": "70696e6b20303032", "id": 1532, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1895:10:3", "typeDescriptions": { "typeIdentifier": "t_stringliteral_7c2ad491e4e134eeac267abaa351600a1e5cffe972cf31afd8b1c5aa3c138a00", "typeString": "literal_string \"pink 002\"" }, "value": "pink 002" }, { "hexValue": "677265656e20303033", "id": 1533, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1919:11:3", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4d806cbde38f1498400c31f0c4e3d718392312f79eba7bace521adef06f092c7", "typeString": "literal_string \"green 003\"" }, "value": "green 003" }, { "hexValue": "72656420303034", "id": 1534, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1944:9:3", "typeDescriptions": { "typeIdentifier": "t_stringliteral_36a03e62336b78eb6cf69fe01e0e46e1ee8fad8daa228976cd3a91d9c10f3d6c", "typeString": "literal_string \"red 004\"" }, "value": "red 004" }, { "hexValue": "6f72616e676520303035", "id": 1535, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1967:12:3", "typeDescriptions": { "typeIdentifier": "t_stringliteral_17cef1cc0e9100c959740a49f617e19d09fd1d700a3820556eafbfebb4defb07", "typeString": "literal_string \"orange 005\"" }, "value": "orange 005" }, { "hexValue": "677265656e20303036", "id": 1536, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1993:11:3", "typeDescriptions": { "typeIdentifier": "t_stringliteral_a4dd772f871e662aae53a62b8c2a6752cabb550bea34167c19984f08c9bb0bc7", "typeString": "literal_string \"green 006\"" }, "value": "green 006" }, { "hexValue": "70696e6720303037", "id": 1537, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2018:10:3", "typeDescriptions": { "typeIdentifier": "t_stringliteral_f7d5d64ac38cb42756fe93e75eb29a3bb863d0165396f278e5bed59eb71459cd", "typeString": "literal_string \"ping 007\"" }, "value": "ping 007" }, { "hexValue": "72656420303038", "id": 1538, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2042:9:3", "typeDescriptions": { "typeIdentifier": "t_stringliteral_1e294da164ef8f481d2e955fa883344e65412d03f554e9ff97dd4322b9472bd8", "typeString": "literal_string \"red 008\"" }, "value": "red 008" }, { "hexValue": "6d6574616c20303039", "id": 1539, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2065:11:3", "typeDescriptions": { "typeIdentifier": "t_stringliteral_83d93ad45efbdababda3a1ad2bcf9e67c1c0176a9fbc6a30281ed3cf2f17608b", "typeString": "literal_string \"metal 009\"" }, "value": "metal 009" }, { "hexValue": "6c69676874206d6574616c20303130", "id": 1540, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2090:17:3", "typeDescriptions": { "typeIdentifier": "t_stringliteral_1a1dd090abbdc2ccf3566af7ccb22c788bf94ab5844facf1f8d8f8f2de28e721", "typeString": "literal_string \"light metal 010\"" }, "value": "light metal 010" } ], "id": 1541, "isConstant": false, "isInlineArray": true, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", "src": "1857:260:3", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$10_memory_ptr", "typeString": "string memory[10] memory" } }, "nodeType": "VariableDeclarationStatement", "src": "1830:287:3" }, { "assignments": [ 1544 ], "declarations": [ { "constant": false, "id": 1544, "mutability": "mutable", "name": "imageIndex", "nameLocation": "2173:10:3", "nodeType": "VariableDeclaration", "scope": 1554, "src": "2165:18:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1543, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2165:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 1549, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1548, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1545, "name": "number", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1519, "src": "2186:6:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "%", "rightExpression": { "expression": { "id": 1546, "name": "images", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1530, "src": "2195:6:3", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$10_memory_ptr", "typeString": "string memory[10] memory" } }, "id": 1547, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "2202:6:3", "memberName": "length", "nodeType": "MemberAccess", "src": "2195:13:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "2186:22:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "2165:43:3" }, { "expression": { "baseExpression": { "id": 1550, "name": "images", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1530, "src": "2271:6:3", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$10_memory_ptr", "typeString": "string memory[10] memory" } }, "id": 1552, "indexExpression": { "id": 1551, "name": "imageIndex", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1544, "src": "2278:10:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2271:18:3", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "functionReturnParameters": 1447, "id": 1553, "nodeType": "Return", "src": "2264:25:3" } ] }, "functionSelector": "c445b362", "id": 1555, "implemented": true, "kind": "function", "modifiers": [], "name": "getImageByAccountHex", "nameLocation": "593:20:3", "nodeType": "FunctionDefinition", "parameters": { "id": 1444, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1443, "mutability": "mutable", "name": "accountHex", "nameLocation": "627:10:3", "nodeType": "VariableDeclaration", "scope": 1555, "src": "614:23:3", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 1442, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "614:5:3", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "src": "613:25:3" }, "returnParameters": { "id": 1447, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1446, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 1555, "src": "660:13:3", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1445, "name": "string", "nodeType": "ElementaryTypeName", "src": "660:6:3", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "659:15:3" }, "scope": 1606, "src": "584:1712:3", "stateMutability": "pure", "virtual": false, "visibility": "public" }, { "body": { "id": 1604, "nodeType": "Block", "src": "2503:540:3", "statements": [ { "assignments": [ 1563 ], "declarations": [ { "constant": false, "id": 1563, "mutability": "mutable", "name": "accountHex", "nameLocation": "2527:10:3", "nodeType": "VariableDeclaration", "scope": 1604, "src": "2514:23:3", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 1562, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "2514:5:3", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "id": 1572, "initialValue": { "arguments": [ { "arguments": [ { "id": 1568, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1557, "src": "2566:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "hexValue": "3230", "id": 1569, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2575:2:3", "typeDescriptions": { "typeIdentifier": "t_rational_20_by_1", "typeString": "int_const 20" }, "value": "20" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_rational_20_by_1", "typeString": "int_const 20" } ], "expression": { "id": 1566, "name": "Strings", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 254, "src": "2546:7:3", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_Strings_$254_$", "typeString": "type(library Strings)" } }, "id": 1567, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "2554:11:3", "memberName": "toHexString", "nodeType": "MemberAccess", "referencedDeclaration": 196, "src": "2546:19:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256,uint256) pure returns (string memory)" } }, "id": 1570, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2546:32:3", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 1565, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2540:5:3", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { "id": 1564, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "2540:5:3", "typeDescriptions": {} } }, "id": 1571, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2540:39:3", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "nodeType": "VariableDeclarationStatement", "src": "2514:65:3" }, { "assignments": [ 1578 ], "declarations": [ { "constant": false, "id": 1578, "mutability": "mutable", "name": "images", "nameLocation": "2608:6:3", "nodeType": "VariableDeclaration", "scope": 1604, "src": "2590:24:3", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$10_memory_ptr", "typeString": "string[10]" }, "typeName": { "baseType": { "id": 1576, "name": "string", "nodeType": "ElementaryTypeName", "src": "2590:6:3", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "id": 1577, "length": { "hexValue": "3130", "id": 1575, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2597:2:3", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "nodeType": "ArrayTypeName", "src": "2590:10:3", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$10_storage_ptr", "typeString": "string[10]" } }, "visibility": "internal" } ], "id": 1590, "initialValue": { "components": [ { "hexValue": "626c756520303031", "id": 1579, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2631:10:3", "typeDescriptions": { "typeIdentifier": "t_stringliteral_be451d2156399c0f88590de84515d6b9bb25feec272ade3d7adba28a008a4d3f", "typeString": "literal_string \"blue 001\"" }, "value": "blue 001" }, { "hexValue": "70696e6b20303032", "id": 1580, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2655:10:3", "typeDescriptions": { "typeIdentifier": "t_stringliteral_7c2ad491e4e134eeac267abaa351600a1e5cffe972cf31afd8b1c5aa3c138a00", "typeString": "literal_string \"pink 002\"" }, "value": "pink 002" }, { "hexValue": "677265656e20303033", "id": 1581, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2679:11:3", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4d806cbde38f1498400c31f0c4e3d718392312f79eba7bace521adef06f092c7", "typeString": "literal_string \"green 003\"" }, "value": "green 003" }, { "hexValue": "72656420303034", "id": 1582, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2704:9:3", "typeDescriptions": { "typeIdentifier": "t_stringliteral_36a03e62336b78eb6cf69fe01e0e46e1ee8fad8daa228976cd3a91d9c10f3d6c", "typeString": "literal_string \"red 004\"" }, "value": "red 004" }, { "hexValue": "6f72616e676520303035", "id": 1583, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2727:12:3", "typeDescriptions": { "typeIdentifier": "t_stringliteral_17cef1cc0e9100c959740a49f617e19d09fd1d700a3820556eafbfebb4defb07", "typeString": "literal_string \"orange 005\"" }, "value": "orange 005" }, { "hexValue": "677265656e20303036", "id": 1584, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2753:11:3", "typeDescriptions": { "typeIdentifier": "t_stringliteral_a4dd772f871e662aae53a62b8c2a6752cabb550bea34167c19984f08c9bb0bc7", "typeString": "literal_string \"green 006\"" }, "value": "green 006" }, { "hexValue": "70696e6720303037", "id": 1585, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2778:10:3", "typeDescriptions": { "typeIdentifier": "t_stringliteral_f7d5d64ac38cb42756fe93e75eb29a3bb863d0165396f278e5bed59eb71459cd", "typeString": "literal_string \"ping 007\"" }, "value": "ping 007" }, { "hexValue": "72656420303038", "id": 1586, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2802:9:3", "typeDescriptions": { "typeIdentifier": "t_stringliteral_1e294da164ef8f481d2e955fa883344e65412d03f554e9ff97dd4322b9472bd8", "typeString": "literal_string \"red 008\"" }, "value": "red 008" }, { "hexValue": "6d6574616c20303039", "id": 1587, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2825:11:3", "typeDescriptions": { "typeIdentifier": "t_stringliteral_83d93ad45efbdababda3a1ad2bcf9e67c1c0176a9fbc6a30281ed3cf2f17608b", "typeString": "literal_string \"metal 009\"" }, "value": "metal 009" }, { "hexValue": "6c69676874206d6574616c20303130", "id": 1588, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2850:17:3", "typeDescriptions": { "typeIdentifier": "t_stringliteral_1a1dd090abbdc2ccf3566af7ccb22c788bf94ab5844facf1f8d8f8f2de28e721", "typeString": "literal_string \"light metal 010\"" }, "value": "light metal 010" } ], "id": 1589, "isConstant": false, "isInlineArray": true, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", "src": "2617:260:3", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$10_memory_ptr", "typeString": "string memory[10] memory" } }, "nodeType": "VariableDeclarationStatement", "src": "2590:287:3" }, { "assignments": [ 1592 ], "declarations": [ { "constant": false, "id": 1592, "mutability": "mutable", "name": "image", "nameLocation": "2901:5:3", "nodeType": "VariableDeclaration", "scope": 1604, "src": "2887:19:3", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1591, "name": "string", "nodeType": "ElementaryTypeName", "src": "2887:6:3", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "id": 1599, "initialValue": { "baseExpression": { "id": 1593, "name": "images", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1578, "src": "2909:6:3", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$10_memory_ptr", "typeString": "string memory[10] memory" } }, "id": 1598, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1597, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1594, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1557, "src": "2916:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "%", "rightExpression": { "expression": { "id": 1595, "name": "images", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1578, "src": "2926:6:3", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$10_memory_ptr", "typeString": "string memory[10] memory" } }, "id": 1596, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "2933:6:3", "memberName": "length", "nodeType": "MemberAccess", "src": "2926:13:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "2916:23:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2909:31:3", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "nodeType": "VariableDeclarationStatement", "src": "2887:53:3" }, { "expression": { "arguments": [ { "id": 1601, "name": "accountHex", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1563, "src": "3025:10:3", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 1600, "name": "getImageByAccountHex", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1555, "src": "3004:20:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (bytes memory) pure returns (string memory)" } }, "id": 1602, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3004:32:3", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "functionReturnParameters": 1561, "id": 1603, "nodeType": "Return", "src": "2997:39:3" } ] }, "functionSelector": "a6e3d38c", "id": 1605, "implemented": true, "kind": "function", "modifiers": [], "name": "getImageByTokenID", "nameLocation": "2431:17:3", "nodeType": "FunctionDefinition", "parameters": { "id": 1558, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1557, "mutability": "mutable", "name": "tokenId", "nameLocation": "2457:7:3", "nodeType": "VariableDeclaration", "scope": 1605, "src": "2449:15:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1556, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2449:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "2448:17:3" }, "returnParameters": { "id": 1561, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1560, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 1605, "src": "2488:13:3", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1559, "name": "string", "nodeType": "ElementaryTypeName", "src": "2488:6:3", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "2487:15:3" }, "scope": 1606, "src": "2422:621:3", "stateMutability": "pure", "virtual": false, "visibility": "external" } ], "scope": 1607, "src": "127:2918:3", "usedErrors": [ 19 ], "usedEvents": [ 1421, 1425, 1429, 1433, 1437, 1441 ] } ], "src": "32:3014:3" }, "id": 3 } } } }