{ "id": "ca0caa065bb9451f527f5035348a7c46", "_format": "hh-sol-build-info-1", "solcVersion": "0.8.20", "solcLongVersion": "0.8.20+commit.a1b79de6", "input": { "language": "Solidity", "sources": { "contracts/ethernaut/fallout.sol": { "content": "// SPDX-License-Identifier: MIT\n// pragma solidity ^0.6.0;\npragma solidity >=0.7.0 <0.9.0;\n\n// import 'openzeppelin-contracts-06/math/SafeMath.sol';\n/**\n * @title SafeMath\n * @dev Math operations with safety checks that throw on error\n */\nlibrary SafeMath {\n\n /**\n * @dev Multiplies two numbers, throws on overflow.\n */\n function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {\n if (a == 0) {\n return 0;\n }\n c = a * b;\n assert(c / a == b);\n return c;\n }\n\n /**\n * @dev Integer division of two numbers, truncating the quotient.\n */\n function div(uint256 a, uint256 b) internal pure returns (uint256) {\n // assert(b > 0); // Solidity automatically throws when dividing by 0\n // uint256 c = a / b;\n // assert(a == b * c + a % b); // There is no case in which this doesn't hold\n return a / b;\n }\n\n /**\n * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).\n */\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n assert(b <= a);\n return a - b;\n }\n\n /**\n * @dev Adds two numbers, throws on overflow.\n */\n function add(uint256 a, uint256 b) internal pure returns (uint256 c) {\n c = a + b;\n assert(c >= a);\n return c;\n }\n}\n\ncontract Fallout {\n \n using SafeMath for uint256;\n mapping (address => uint) allocations;\n address payable public owner;\n\n\n /* constructor */\n function Fal1out() public payable {\n // owner = msg.sender;\n owner = payable(msg.sender);\n allocations[owner] = msg.value;\n }\n\n modifier onlyOwner {\n\t require(\n\t msg.sender == owner,\n\t \"caller is not the owner\"\n\t );\n\t _;\n\t }\n\n function allocate() public payable {\n allocations[msg.sender] = allocations[msg.sender].add(msg.value);\n }\n\n function sendAllocation(address payable allocator) public {\n require(allocations[allocator] > 0);\n allocator.transfer(allocations[allocator]);\n }\n\n function collectAllocations() public onlyOwner {\n // msg.sender.transfer(address(this).balance);\n payable(msg.sender).transfer(address(this).balance);\n }\n\n function allocatorBalance(address allocator) public view returns (uint) {\n return allocations[allocator];\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" ] } }, "remappings": [] } }, "output": { "contracts": { "contracts/ethernaut/fallout.sol": { "Fallout": { "abi": [ { "inputs": [], "name": "Fal1out", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "allocate", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "allocator", "type": "address" } ], "name": "allocatorBalance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "collectAllocations", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address payable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "allocator", "type": "address" } ], "name": "sendAllocation", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "evm": { "assembly": " /* \"contracts/ethernaut/fallout.sol\":1257:2239 contract Fallout {... */\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/ethernaut/fallout.sol\":1257:2239 contract Fallout {... */\n mstore(0x40, 0x80)\n jumpi(tag_1, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x6fab5ddf\n eq\n tag_2\n jumpi\n dup1\n 0x8aa96f38\n eq\n tag_3\n jumpi\n dup1\n 0x8da5cb5b\n eq\n tag_4\n jumpi\n dup1\n 0xa2dea26f\n eq\n tag_5\n jumpi\n dup1\n 0xabaa9916\n eq\n tag_6\n jumpi\n dup1\n 0xffd40b56\n eq\n tag_7\n jumpi\n tag_1:\n 0x00\n dup1\n revert\n /* \"contracts/ethernaut/fallout.sol\":1406:1541 function Fal1out() public payable {... */\n tag_2:\n tag_8\n tag_9\n jump\t// in\n tag_8:\n stop\n /* \"contracts/ethernaut/fallout.sol\":1961:2121 function collectAllocations() public onlyOwner {... */\n tag_3:\n callvalue\n dup1\n iszero\n tag_10\n jumpi\n 0x00\n dup1\n revert\n tag_10:\n pop\n tag_11\n tag_12\n jump\t// in\n tag_11:\n stop\n /* \"contracts/ethernaut/fallout.sol\":1352:1380 address payable public owner */\n tag_4:\n callvalue\n dup1\n iszero\n tag_13\n jumpi\n 0x00\n dup1\n revert\n tag_13:\n pop\n tag_14\n tag_15\n jump\t// in\n tag_14:\n mload(0x40)\n tag_16\n swap2\n swap1\n tag_17\n jump\t// in\n tag_16:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/ethernaut/fallout.sol\":1805:1957 function sendAllocation(address payable allocator) public {... */\n tag_5:\n callvalue\n dup1\n iszero\n tag_18\n jumpi\n 0x00\n dup1\n revert\n tag_18:\n pop\n tag_19\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_20\n swap2\n swap1\n tag_21\n jump\t// in\n tag_20:\n tag_22\n jump\t// in\n tag_19:\n stop\n /* \"contracts/ethernaut/fallout.sol\":1691:1801 function allocate() public payable {... */\n tag_6:\n tag_23\n tag_24\n jump\t// in\n tag_23:\n stop\n /* \"contracts/ethernaut/fallout.sol\":2125:2237 function allocatorBalance(address allocator) public view returns (uint) {... */\n tag_7:\n callvalue\n dup1\n iszero\n tag_25\n jumpi\n 0x00\n dup1\n revert\n tag_25:\n pop\n tag_26\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_27\n swap2\n swap1\n tag_28\n jump\t// in\n tag_27:\n tag_29\n jump\t// in\n tag_26:\n mload(0x40)\n tag_30\n swap2\n swap1\n tag_31\n jump\t// in\n tag_30:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/ethernaut/fallout.sol\":1406:1541 function Fal1out() public payable {... */\n tag_9:\n /* \"contracts/ethernaut/fallout.sol\":1489:1499 msg.sender */\n caller\n /* \"contracts/ethernaut/fallout.sol\":1473:1478 owner */\n 0x01\n 0x00\n /* \"contracts/ethernaut/fallout.sol\":1473:1500 owner = payable(msg.sender) */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/ethernaut/fallout.sol\":1527:1536 msg.value */\n callvalue\n /* \"contracts/ethernaut/fallout.sol\":1506:1517 allocations */\n 0x00\n /* \"contracts/ethernaut/fallout.sol\":1506:1524 allocations[owner] */\n dup1\n /* \"contracts/ethernaut/fallout.sol\":1518:1523 owner */\n 0x01\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/ethernaut/fallout.sol\":1506:1524 allocations[owner] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/ethernaut/fallout.sol\":1506:1536 allocations[owner] = msg.value */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/ethernaut/fallout.sol\":1406:1541 function Fal1out() public payable {... */\n jump\t// out\n /* \"contracts/ethernaut/fallout.sol\":1961:2121 function collectAllocations() public onlyOwner {... */\n tag_12:\n /* \"contracts/ethernaut/fallout.sol\":1611:1616 owner */\n 0x01\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/ethernaut/fallout.sol\":1597:1616 msg.sender == owner */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/ethernaut/fallout.sol\":1597:1607 msg.sender */\n caller\n /* \"contracts/ethernaut/fallout.sol\":1597:1616 msg.sender == owner */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"contracts/ethernaut/fallout.sol\":1575:1667 require(... */\n tag_34\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_35\n swap1\n tag_36\n jump\t// in\n tag_35:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_34:\n /* \"contracts/ethernaut/fallout.sol\":2073:2083 msg.sender */\n caller\n /* \"contracts/ethernaut/fallout.sol\":2065:2093 payable(msg.sender).transfer */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/ethernaut/fallout.sol\":2065:2116 payable(msg.sender).transfer(address(this).balance) */\n 0x08fc\n /* \"contracts/ethernaut/fallout.sol\":2094:2115 address(this).balance */\n selfbalance\n /* \"contracts/ethernaut/fallout.sol\":2065:2116 payable(msg.sender).transfer(address(this).balance) */\n swap1\n dup2\n iszero\n mul\n swap1\n mload(0x40)\n 0x00\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n dup6\n dup9\n dup9\n call\n swap4\n pop\n pop\n pop\n pop\n iszero\n dup1\n iszero\n tag_39\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_39:\n pop\n /* \"contracts/ethernaut/fallout.sol\":1961:2121 function collectAllocations() public onlyOwner {... */\n jump\t// out\n /* \"contracts/ethernaut/fallout.sol\":1352:1380 address payable public owner */\n tag_15:\n 0x01\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n jump\t// out\n /* \"contracts/ethernaut/fallout.sol\":1805:1957 function sendAllocation(address payable allocator) public {... */\n tag_22:\n /* \"contracts/ethernaut/fallout.sol\":1902:1903 0 */\n 0x00\n /* \"contracts/ethernaut/fallout.sol\":1877:1888 allocations */\n dup1\n /* \"contracts/ethernaut/fallout.sol\":1877:1899 allocations[allocator] */\n 0x00\n /* \"contracts/ethernaut/fallout.sol\":1889:1898 allocator */\n dup4\n /* \"contracts/ethernaut/fallout.sol\":1877:1899 allocations[allocator] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contracts/ethernaut/fallout.sol\":1877:1903 allocations[allocator] > 0 */\n gt\n /* \"contracts/ethernaut/fallout.sol\":1869:1904 require(allocations[allocator] > 0) */\n tag_41\n jumpi\n 0x00\n dup1\n revert\n tag_41:\n /* \"contracts/ethernaut/fallout.sol\":1910:1919 allocator */\n dup1\n /* \"contracts/ethernaut/fallout.sol\":1910:1928 allocator.transfer */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/ethernaut/fallout.sol\":1910:1952 allocator.transfer(allocations[allocator]) */\n 0x08fc\n /* \"contracts/ethernaut/fallout.sol\":1929:1940 allocations */\n 0x00\n /* \"contracts/ethernaut/fallout.sol\":1929:1951 allocations[allocator] */\n dup1\n /* \"contracts/ethernaut/fallout.sol\":1941:1950 allocator */\n dup5\n /* \"contracts/ethernaut/fallout.sol\":1929:1951 allocations[allocator] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contracts/ethernaut/fallout.sol\":1910:1952 allocator.transfer(allocations[allocator]) */\n swap1\n dup2\n iszero\n mul\n swap1\n mload(0x40)\n 0x00\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n dup6\n dup9\n dup9\n call\n swap4\n pop\n pop\n pop\n pop\n iszero\n dup1\n iszero\n tag_43\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_43:\n pop\n /* \"contracts/ethernaut/fallout.sol\":1805:1957 function sendAllocation(address payable allocator) public {... */\n pop\n jump\t// out\n /* \"contracts/ethernaut/fallout.sol\":1691:1801 function allocate() public payable {... */\n tag_24:\n /* \"contracts/ethernaut/fallout.sol\":1758:1796 allocations[msg.sender].add(msg.value) */\n tag_45\n /* \"contracts/ethernaut/fallout.sol\":1786:1795 msg.value */\n callvalue\n /* \"contracts/ethernaut/fallout.sol\":1758:1769 allocations */\n 0x00\n /* \"contracts/ethernaut/fallout.sol\":1758:1781 allocations[msg.sender] */\n dup1\n /* \"contracts/ethernaut/fallout.sol\":1770:1780 msg.sender */\n caller\n /* \"contracts/ethernaut/fallout.sol\":1758:1781 allocations[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contracts/ethernaut/fallout.sol\":1758:1785 allocations[msg.sender].add */\n tag_46\n swap1\n /* \"contracts/ethernaut/fallout.sol\":1758:1796 allocations[msg.sender].add(msg.value) */\n swap2\n swap1\n 0xffffffff\n and\n jump\t// in\n tag_45:\n /* \"contracts/ethernaut/fallout.sol\":1732:1743 allocations */\n 0x00\n /* \"contracts/ethernaut/fallout.sol\":1732:1755 allocations[msg.sender] */\n dup1\n /* \"contracts/ethernaut/fallout.sol\":1744:1754 msg.sender */\n caller\n /* \"contracts/ethernaut/fallout.sol\":1732:1755 allocations[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/ethernaut/fallout.sol\":1732:1796 allocations[msg.sender] = allocations[msg.sender].add(msg.value) */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/ethernaut/fallout.sol\":1691:1801 function allocate() public payable {... */\n jump\t// out\n /* \"contracts/ethernaut/fallout.sol\":2125:2237 function allocatorBalance(address allocator) public view returns (uint) {... */\n tag_29:\n /* \"contracts/ethernaut/fallout.sol\":2191:2195 uint */\n 0x00\n /* \"contracts/ethernaut/fallout.sol\":2210:2221 allocations */\n dup1\n /* \"contracts/ethernaut/fallout.sol\":2210:2232 allocations[allocator] */\n 0x00\n /* \"contracts/ethernaut/fallout.sol\":2222:2231 allocator */\n dup4\n /* \"contracts/ethernaut/fallout.sol\":2210:2232 allocations[allocator] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contracts/ethernaut/fallout.sol\":2203:2232 return allocations[allocator] */\n swap1\n pop\n /* \"contracts/ethernaut/fallout.sol\":2125:2237 function allocatorBalance(address allocator) public view returns (uint) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"contracts/ethernaut/fallout.sol\":1130:1253 function add(uint256 a, uint256 b) internal pure returns (uint256 c) {... */\n tag_46:\n /* \"contracts/ethernaut/fallout.sol\":1188:1197 uint256 c */\n 0x00\n /* \"contracts/ethernaut/fallout.sol\":1213:1214 b */\n dup2\n /* \"contracts/ethernaut/fallout.sol\":1209:1210 a */\n dup4\n /* \"contracts/ethernaut/fallout.sol\":1209:1214 a + b */\n tag_49\n swap2\n swap1\n tag_50\n jump\t// in\n tag_49:\n /* \"contracts/ethernaut/fallout.sol\":1205:1214 c = a + b */\n swap1\n pop\n /* \"contracts/ethernaut/fallout.sol\":1232:1233 a */\n dup3\n /* \"contracts/ethernaut/fallout.sol\":1227:1228 c */\n dup2\n /* \"contracts/ethernaut/fallout.sol\":1227:1233 c >= a */\n lt\n iszero\n /* \"contracts/ethernaut/fallout.sol\":1220:1234 assert(c >= a) */\n tag_51\n jumpi\n tag_52\n tag_53\n jump\t// in\n tag_52:\n tag_51:\n /* \"contracts/ethernaut/fallout.sol\":1130:1253 function add(uint256 a, uint256 b) internal pure returns (uint256 c) {... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7:133 */\n tag_54:\n /* \"#utility.yul\":44:51 */\n 0x00\n /* \"#utility.yul\":84:126 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":77:82 */\n dup3\n /* \"#utility.yul\":73:127 */\n and\n /* \"#utility.yul\":62:127 */\n swap1\n pop\n /* \"#utility.yul\":7:133 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":139:243 */\n tag_55:\n /* \"#utility.yul\":184:191 */\n 0x00\n /* \"#utility.yul\":213:237 */\n tag_74\n /* \"#utility.yul\":231:236 */\n dup3\n /* \"#utility.yul\":213:237 */\n tag_54\n jump\t// in\n tag_74:\n /* \"#utility.yul\":202:237 */\n swap1\n pop\n /* \"#utility.yul\":139:243 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":249:391 */\n tag_56:\n /* \"#utility.yul\":352:384 */\n tag_76\n /* \"#utility.yul\":378:383 */\n dup2\n /* \"#utility.yul\":352:384 */\n tag_55\n jump\t// in\n tag_76:\n /* \"#utility.yul\":347:350 */\n dup3\n /* \"#utility.yul\":340:385 */\n mstore\n /* \"#utility.yul\":249:391 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":397:651 */\n tag_17:\n /* \"#utility.yul\":506:510 */\n 0x00\n /* \"#utility.yul\":544:546 */\n 0x20\n /* \"#utility.yul\":533:542 */\n dup3\n /* \"#utility.yul\":529:547 */\n add\n /* \"#utility.yul\":521:547 */\n swap1\n pop\n /* \"#utility.yul\":557:644 */\n tag_78\n /* \"#utility.yul\":641:642 */\n 0x00\n /* \"#utility.yul\":630:639 */\n dup4\n /* \"#utility.yul\":626:643 */\n add\n /* \"#utility.yul\":617:623 */\n dup5\n /* \"#utility.yul\":557:644 */\n tag_56\n jump\t// in\n tag_78:\n /* \"#utility.yul\":397:651 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":738:855 */\n tag_58:\n /* \"#utility.yul\":847:848 */\n 0x00\n /* \"#utility.yul\":844:845 */\n dup1\n /* \"#utility.yul\":837:849 */\n revert\n /* \"#utility.yul\":984:1122 */\n tag_60:\n /* \"#utility.yul\":1065:1097 */\n tag_83\n /* \"#utility.yul\":1091:1096 */\n dup2\n /* \"#utility.yul\":1065:1097 */\n tag_55\n jump\t// in\n tag_83:\n /* \"#utility.yul\":1058:1063 */\n dup2\n /* \"#utility.yul\":1055:1098 */\n eq\n /* \"#utility.yul\":1045:1116 */\n tag_84\n jumpi\n /* \"#utility.yul\":1112:1113 */\n 0x00\n /* \"#utility.yul\":1109:1110 */\n dup1\n /* \"#utility.yul\":1102:1114 */\n revert\n /* \"#utility.yul\":1045:1116 */\n tag_84:\n /* \"#utility.yul\":984:1122 */\n pop\n jump\t// out\n /* \"#utility.yul\":1128:1283 */\n tag_61:\n /* \"#utility.yul\":1182:1187 */\n 0x00\n /* \"#utility.yul\":1220:1226 */\n dup2\n /* \"#utility.yul\":1207:1227 */\n calldataload\n /* \"#utility.yul\":1198:1227 */\n swap1\n pop\n /* \"#utility.yul\":1236:1277 */\n tag_86\n /* \"#utility.yul\":1271:1276 */\n dup2\n /* \"#utility.yul\":1236:1277 */\n tag_60\n jump\t// in\n tag_86:\n /* \"#utility.yul\":1128:1283 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1289:1634 */\n tag_21:\n /* \"#utility.yul\":1356:1362 */\n 0x00\n /* \"#utility.yul\":1405:1407 */\n 0x20\n /* \"#utility.yul\":1393:1402 */\n dup3\n /* \"#utility.yul\":1384:1391 */\n dup5\n /* \"#utility.yul\":1380:1403 */\n sub\n /* \"#utility.yul\":1376:1408 */\n slt\n /* \"#utility.yul\":1373:1492 */\n iszero\n tag_88\n jumpi\n /* \"#utility.yul\":1411:1490 */\n tag_89\n tag_58\n jump\t// in\n tag_89:\n /* \"#utility.yul\":1373:1492 */\n tag_88:\n /* \"#utility.yul\":1531:1532 */\n 0x00\n /* \"#utility.yul\":1556:1617 */\n tag_90\n /* \"#utility.yul\":1609:1616 */\n dup5\n /* \"#utility.yul\":1600:1606 */\n dup3\n /* \"#utility.yul\":1589:1598 */\n dup6\n /* \"#utility.yul\":1585:1607 */\n add\n /* \"#utility.yul\":1556:1617 */\n tag_61\n jump\t// in\n tag_90:\n /* \"#utility.yul\":1546:1617 */\n swap2\n pop\n /* \"#utility.yul\":1502:1627 */\n pop\n /* \"#utility.yul\":1289:1634 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1640:1736 */\n tag_62:\n /* \"#utility.yul\":1677:1684 */\n 0x00\n /* \"#utility.yul\":1706:1730 */\n tag_92\n /* \"#utility.yul\":1724:1729 */\n dup3\n /* \"#utility.yul\":1706:1730 */\n tag_54\n jump\t// in\n tag_92:\n /* \"#utility.yul\":1695:1730 */\n swap1\n pop\n /* \"#utility.yul\":1640:1736 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1742:1864 */\n tag_63:\n /* \"#utility.yul\":1815:1839 */\n tag_94\n /* \"#utility.yul\":1833:1838 */\n dup2\n /* \"#utility.yul\":1815:1839 */\n tag_62\n jump\t// in\n tag_94:\n /* \"#utility.yul\":1808:1813 */\n dup2\n /* \"#utility.yul\":1805:1840 */\n eq\n /* \"#utility.yul\":1795:1858 */\n tag_95\n jumpi\n /* \"#utility.yul\":1854:1855 */\n 0x00\n /* \"#utility.yul\":1851:1852 */\n dup1\n /* \"#utility.yul\":1844:1856 */\n revert\n /* \"#utility.yul\":1795:1858 */\n tag_95:\n /* \"#utility.yul\":1742:1864 */\n pop\n jump\t// out\n /* \"#utility.yul\":1870:2009 */\n tag_64:\n /* \"#utility.yul\":1916:1921 */\n 0x00\n /* \"#utility.yul\":1954:1960 */\n dup2\n /* \"#utility.yul\":1941:1961 */\n calldataload\n /* \"#utility.yul\":1932:1961 */\n swap1\n pop\n /* \"#utility.yul\":1970:2003 */\n tag_97\n /* \"#utility.yul\":1997:2002 */\n dup2\n /* \"#utility.yul\":1970:2003 */\n tag_63\n jump\t// in\n tag_97:\n /* \"#utility.yul\":1870:2009 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2015:2344 */\n tag_28:\n /* \"#utility.yul\":2074:2080 */\n 0x00\n /* \"#utility.yul\":2123:2125 */\n 0x20\n /* \"#utility.yul\":2111:2120 */\n dup3\n /* \"#utility.yul\":2102:2109 */\n dup5\n /* \"#utility.yul\":2098:2121 */\n sub\n /* \"#utility.yul\":2094:2126 */\n slt\n /* \"#utility.yul\":2091:2210 */\n iszero\n tag_99\n jumpi\n /* \"#utility.yul\":2129:2208 */\n tag_100\n tag_58\n jump\t// in\n tag_100:\n /* \"#utility.yul\":2091:2210 */\n tag_99:\n /* \"#utility.yul\":2249:2250 */\n 0x00\n /* \"#utility.yul\":2274:2327 */\n tag_101\n /* \"#utility.yul\":2319:2326 */\n dup5\n /* \"#utility.yul\":2310:2316 */\n dup3\n /* \"#utility.yul\":2299:2308 */\n dup6\n /* \"#utility.yul\":2295:2317 */\n add\n /* \"#utility.yul\":2274:2327 */\n tag_64\n jump\t// in\n tag_101:\n /* \"#utility.yul\":2264:2327 */\n swap2\n pop\n /* \"#utility.yul\":2220:2337 */\n pop\n /* \"#utility.yul\":2015:2344 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2350:2427 */\n tag_65:\n /* \"#utility.yul\":2387:2394 */\n 0x00\n /* \"#utility.yul\":2416:2421 */\n dup2\n /* \"#utility.yul\":2405:2421 */\n swap1\n pop\n /* \"#utility.yul\":2350:2427 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2433:2551 */\n tag_66:\n /* \"#utility.yul\":2520:2544 */\n tag_104\n /* \"#utility.yul\":2538:2543 */\n dup2\n /* \"#utility.yul\":2520:2544 */\n tag_65\n jump\t// in\n tag_104:\n /* \"#utility.yul\":2515:2518 */\n dup3\n /* \"#utility.yul\":2508:2545 */\n mstore\n /* \"#utility.yul\":2433:2551 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2557:2779 */\n tag_31:\n /* \"#utility.yul\":2650:2654 */\n 0x00\n /* \"#utility.yul\":2688:2690 */\n 0x20\n /* \"#utility.yul\":2677:2686 */\n dup3\n /* \"#utility.yul\":2673:2691 */\n add\n /* \"#utility.yul\":2665:2691 */\n swap1\n pop\n /* \"#utility.yul\":2701:2772 */\n tag_106\n /* \"#utility.yul\":2769:2770 */\n 0x00\n /* \"#utility.yul\":2758:2767 */\n dup4\n /* \"#utility.yul\":2754:2771 */\n add\n /* \"#utility.yul\":2745:2751 */\n dup5\n /* \"#utility.yul\":2701:2772 */\n tag_66\n jump\t// in\n tag_106:\n /* \"#utility.yul\":2557:2779 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2785:2954 */\n tag_67:\n /* \"#utility.yul\":2869:2880 */\n 0x00\n /* \"#utility.yul\":2903:2909 */\n dup3\n /* \"#utility.yul\":2898:2901 */\n dup3\n /* \"#utility.yul\":2891:2910 */\n mstore\n /* \"#utility.yul\":2943:2947 */\n 0x20\n /* \"#utility.yul\":2938:2941 */\n dup3\n /* \"#utility.yul\":2934:2948 */\n add\n /* \"#utility.yul\":2919:2948 */\n swap1\n pop\n /* \"#utility.yul\":2785:2954 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2960:3133 */\n tag_68:\n /* \"#utility.yul\":3100:3125 */\n 0x63616c6c6572206973206e6f7420746865206f776e6572000000000000000000\n /* \"#utility.yul\":3096:3097 */\n 0x00\n /* \"#utility.yul\":3088:3094 */\n dup3\n /* \"#utility.yul\":3084:3098 */\n add\n /* \"#utility.yul\":3077:3126 */\n mstore\n /* \"#utility.yul\":2960:3133 */\n pop\n jump\t// out\n /* \"#utility.yul\":3139:3505 */\n tag_69:\n /* \"#utility.yul\":3281:3284 */\n 0x00\n /* \"#utility.yul\":3302:3369 */\n tag_110\n /* \"#utility.yul\":3366:3368 */\n 0x17\n /* \"#utility.yul\":3361:3364 */\n dup4\n /* \"#utility.yul\":3302:3369 */\n tag_67\n jump\t// in\n tag_110:\n /* \"#utility.yul\":3295:3369 */\n swap2\n pop\n /* \"#utility.yul\":3378:3471 */\n tag_111\n /* \"#utility.yul\":3467:3470 */\n dup3\n /* \"#utility.yul\":3378:3471 */\n tag_68\n jump\t// in\n tag_111:\n /* \"#utility.yul\":3496:3498 */\n 0x20\n /* \"#utility.yul\":3491:3494 */\n dup3\n /* \"#utility.yul\":3487:3499 */\n add\n /* \"#utility.yul\":3480:3499 */\n swap1\n pop\n /* \"#utility.yul\":3139:3505 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3511:3930 */\n tag_36:\n /* \"#utility.yul\":3677:3681 */\n 0x00\n /* \"#utility.yul\":3715:3717 */\n 0x20\n /* \"#utility.yul\":3704:3713 */\n dup3\n /* \"#utility.yul\":3700:3718 */\n add\n /* \"#utility.yul\":3692:3718 */\n swap1\n pop\n /* \"#utility.yul\":3764:3773 */\n dup2\n /* \"#utility.yul\":3758:3762 */\n dup2\n /* \"#utility.yul\":3754:3774 */\n sub\n /* \"#utility.yul\":3750:3751 */\n 0x00\n /* \"#utility.yul\":3739:3748 */\n dup4\n /* \"#utility.yul\":3735:3752 */\n add\n /* \"#utility.yul\":3728:3775 */\n mstore\n /* \"#utility.yul\":3792:3923 */\n tag_113\n /* \"#utility.yul\":3918:3922 */\n dup2\n /* \"#utility.yul\":3792:3923 */\n tag_69\n jump\t// in\n tag_113:\n /* \"#utility.yul\":3784:3923 */\n swap1\n pop\n /* \"#utility.yul\":3511:3930 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3936:4116 */\n tag_70:\n /* \"#utility.yul\":3984:4061 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":3981:3982 */\n 0x00\n /* \"#utility.yul\":3974:4062 */\n mstore\n /* \"#utility.yul\":4081:4085 */\n 0x11\n /* \"#utility.yul\":4078:4079 */\n 0x04\n /* \"#utility.yul\":4071:4086 */\n mstore\n /* \"#utility.yul\":4105:4109 */\n 0x24\n /* \"#utility.yul\":4102:4103 */\n 0x00\n /* \"#utility.yul\":4095:4110 */\n revert\n /* \"#utility.yul\":4122:4313 */\n tag_50:\n /* \"#utility.yul\":4162:4165 */\n 0x00\n /* \"#utility.yul\":4181:4201 */\n tag_116\n /* \"#utility.yul\":4199:4200 */\n dup3\n /* \"#utility.yul\":4181:4201 */\n tag_65\n jump\t// in\n tag_116:\n /* \"#utility.yul\":4176:4201 */\n swap2\n pop\n /* \"#utility.yul\":4215:4235 */\n tag_117\n /* \"#utility.yul\":4233:4234 */\n dup4\n /* \"#utility.yul\":4215:4235 */\n tag_65\n jump\t// in\n tag_117:\n /* \"#utility.yul\":4210:4235 */\n swap3\n pop\n /* \"#utility.yul\":4258:4259 */\n dup3\n /* \"#utility.yul\":4255:4256 */\n dup3\n /* \"#utility.yul\":4251:4260 */\n add\n /* \"#utility.yul\":4244:4260 */\n swap1\n pop\n /* \"#utility.yul\":4279:4282 */\n dup1\n /* \"#utility.yul\":4276:4277 */\n dup3\n /* \"#utility.yul\":4273:4283 */\n gt\n /* \"#utility.yul\":4270:4306 */\n iszero\n tag_118\n jumpi\n /* \"#utility.yul\":4286:4304 */\n tag_119\n tag_70\n jump\t// in\n tag_119:\n /* \"#utility.yul\":4270:4306 */\n tag_118:\n /* \"#utility.yul\":4122:4313 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4319:4499 */\n tag_53:\n /* \"#utility.yul\":4367:4444 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":4364:4365 */\n 0x00\n /* \"#utility.yul\":4357:4445 */\n mstore\n /* \"#utility.yul\":4464:4468 */\n 0x01\n /* \"#utility.yul\":4461:4462 */\n 0x04\n /* \"#utility.yul\":4454:4469 */\n mstore\n /* \"#utility.yul\":4488:4492 */\n 0x24\n /* \"#utility.yul\":4485:4486 */\n 0x00\n /* \"#utility.yul\":4478:4493 */\n revert\n\n auxdata: 0xa264697066735822122072291569606d967398d7cbc8bde98132a2ad4b25ea5994b7ec261ae69147cc7864736f6c63430008140033\n}\n", "bytecode": { "functionDebugData": {}, "generatedSources": [], "linkReferences": {}, "object": "608060405234801561000f575f80fd5b506106f78061001d5f395ff3fe608060405260043610610054575f3560e01c80636fab5ddf146100585780638aa96f38146100625780638da5cb5b14610078578063a2dea26f146100a2578063abaa9916146100ca578063ffd40b56146100d4575b5f80fd5b610060610110565b005b34801561006d575f80fd5b506100766101b4565b005b348015610083575f80fd5b5061008c610289565b60405161009991906104b3565b60405180910390f35b3480156100ad575f80fd5b506100c860048036038101906100c391906104fa565b6102ae565b005b6100d2610378565b005b3480156100df575f80fd5b506100fa60048036038101906100f59190610560565b610409565b60405161010791906105a3565b60405180910390f35b3360015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550345f8060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023a90610616565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610286573d5f803e3d5ffd5b50565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054116102f5575f80fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490811502906040515f60405180830381858888f19350505050158015610374573d5f803e3d5ffd5b5050565b6103c7345f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461044e90919063ffffffff16565b5f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f818361045b9190610661565b90508281101561046e5761046d610694565b5b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61049d82610474565b9050919050565b6104ad81610493565b82525050565b5f6020820190506104c65f8301846104a4565b92915050565b5f80fd5b6104d981610493565b81146104e3575f80fd5b50565b5f813590506104f4816104d0565b92915050565b5f6020828403121561050f5761050e6104cc565b5b5f61051c848285016104e6565b91505092915050565b5f61052f82610474565b9050919050565b61053f81610525565b8114610549575f80fd5b50565b5f8135905061055a81610536565b92915050565b5f60208284031215610575576105746104cc565b5b5f6105828482850161054c565b91505092915050565b5f819050919050565b61059d8161058b565b82525050565b5f6020820190506105b65f830184610594565b92915050565b5f82825260208201905092915050565b7f63616c6c6572206973206e6f7420746865206f776e65720000000000000000005f82015250565b5f6106006017836105bc565b915061060b826105cc565b602082019050919050565b5f6020820190508181035f83015261062d816105f4565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61066b8261058b565b91506106768361058b565b925082820190508082111561068e5761068d610634565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52600160045260245ffdfea264697066735822122072291569606d967398d7cbc8bde98132a2ad4b25ea5994b7ec261ae69147cc7864736f6c63430008140033", "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x6F7 DUP1 PUSH2 0x1D PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x54 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6FAB5DDF EQ PUSH2 0x58 JUMPI DUP1 PUSH4 0x8AA96F38 EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x78 JUMPI DUP1 PUSH4 0xA2DEA26F EQ PUSH2 0xA2 JUMPI DUP1 PUSH4 0xABAA9916 EQ PUSH2 0xCA JUMPI DUP1 PUSH4 0xFFD40B56 EQ PUSH2 0xD4 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x60 PUSH2 0x110 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6D JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x76 PUSH2 0x1B4 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x83 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x8C PUSH2 0x289 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x99 SWAP2 SWAP1 PUSH2 0x4B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAD JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0xC8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC3 SWAP2 SWAP1 PUSH2 0x4FA JUMP JUMPDEST PUSH2 0x2AE JUMP JUMPDEST STOP JUMPDEST PUSH2 0xD2 PUSH2 0x378 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0xFA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xF5 SWAP2 SWAP1 PUSH2 0x560 JUMP JUMPDEST PUSH2 0x409 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x107 SWAP2 SWAP1 PUSH2 0x5A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLER PUSH1 0x1 PUSH0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLVALUE PUSH0 DUP1 PUSH1 0x1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x243 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x23A SWAP1 PUSH2 0x616 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC SELFBALANCE SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x286 JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH0 DUP1 PUSH0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD GT PUSH2 0x2F5 JUMPI PUSH0 DUP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC PUSH0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x374 JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x3C7 CALLVALUE PUSH0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD PUSH2 0x44E SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 DUP4 PUSH2 0x45B SWAP2 SWAP1 PUSH2 0x661 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 LT ISZERO PUSH2 0x46E JUMPI PUSH2 0x46D PUSH2 0x694 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x49D DUP3 PUSH2 0x474 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x4AD DUP2 PUSH2 0x493 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x4C6 PUSH0 DUP4 ADD DUP5 PUSH2 0x4A4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x4D9 DUP2 PUSH2 0x493 JUMP JUMPDEST DUP2 EQ PUSH2 0x4E3 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4F4 DUP2 PUSH2 0x4D0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x50F JUMPI PUSH2 0x50E PUSH2 0x4CC JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x51C DUP5 DUP3 DUP6 ADD PUSH2 0x4E6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x52F DUP3 PUSH2 0x474 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x53F DUP2 PUSH2 0x525 JUMP JUMPDEST DUP2 EQ PUSH2 0x549 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x55A DUP2 PUSH2 0x536 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x575 JUMPI PUSH2 0x574 PUSH2 0x4CC JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x582 DUP5 DUP3 DUP6 ADD PUSH2 0x54C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x59D DUP2 PUSH2 0x58B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x5B6 PUSH0 DUP4 ADD DUP5 PUSH2 0x594 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x63616C6C6572206973206E6F7420746865206F776E6572000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x600 PUSH1 0x17 DUP4 PUSH2 0x5BC JUMP JUMPDEST SWAP2 POP PUSH2 0x60B DUP3 PUSH2 0x5CC JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x62D DUP2 PUSH2 0x5F4 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 0x66B DUP3 PUSH2 0x58B JUMP JUMPDEST SWAP2 POP PUSH2 0x676 DUP4 PUSH2 0x58B JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x68E JUMPI PUSH2 0x68D PUSH2 0x634 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH19 0x291569606D967398D7CBC8BDE98132A2AD4B25 0xEA MSIZE SWAP5 0xB7 0xEC 0x26 BYTE 0xE6 SWAP2 SELFBALANCE 0xCC PUSH25 0x64736F6C634300081400330000000000000000000000000000 ", "sourceMap": "1257:982:0:-:0;;;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": { "@Fal1out_126": { "entryPoint": 272, "id": 126, "parameterSlots": 0, "returnSlots": 0 }, "@add_97": { "entryPoint": 1102, "id": 97, "parameterSlots": 2, "returnSlots": 1 }, "@allocate_156": { "entryPoint": 888, "id": 156, "parameterSlots": 0, "returnSlots": 0 }, "@allocatorBalance_209": { "entryPoint": 1033, "id": 209, "parameterSlots": 1, "returnSlots": 1 }, "@collectAllocations_197": { "entryPoint": 436, "id": 197, "parameterSlots": 0, "returnSlots": 0 }, "@owner_107": { "entryPoint": 649, "id": 107, "parameterSlots": 0, "returnSlots": 0 }, "@sendAllocation_178": { "entryPoint": 686, "id": 178, "parameterSlots": 1, "returnSlots": 0 }, "abi_decode_t_address": { "entryPoint": 1356, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_t_address_payable": { "entryPoint": 1254, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_address": { "entryPoint": 1376, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_address_payable": { "entryPoint": 1274, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_t_address_payable_to_t_address_payable_fromStack": { "entryPoint": 1188, "id": null, "parameterSlots": 2, "returnSlots": 0 }, "abi_encode_t_stringliteral_98821890c044d63947a93cf48b7df1f5a42f89e719dd7abbb581002b013b02f4_to_t_string_memory_ptr_fromStack": { "entryPoint": 1524, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "abi_encode_t_uint256_to_t_uint256_fromStack": { "entryPoint": 1428, "id": null, "parameterSlots": 2, "returnSlots": 0 }, "abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed": { "entryPoint": 1203, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_tuple_t_stringliteral_98821890c044d63947a93cf48b7df1f5a42f89e719dd7abbb581002b013b02f4__to_t_string_memory_ptr__fromStack_reversed": { "entryPoint": 1558, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { "entryPoint": 1443, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "allocate_unbounded": { "entryPoint": null, "id": null, "parameterSlots": 0, "returnSlots": 1 }, "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { "entryPoint": 1468, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "checked_add_t_uint256": { "entryPoint": 1633, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "cleanup_t_address": { "entryPoint": 1317, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "cleanup_t_address_payable": { "entryPoint": 1171, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "cleanup_t_uint160": { "entryPoint": 1140, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "cleanup_t_uint256": { "entryPoint": 1419, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "panic_error_0x01": { "entryPoint": 1684, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "panic_error_0x11": { "entryPoint": 1588, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { "entryPoint": null, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { "entryPoint": 1228, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "store_literal_in_memory_98821890c044d63947a93cf48b7df1f5a42f89e719dd7abbb581002b013b02f4": { "entryPoint": 1484, "id": null, "parameterSlots": 1, "returnSlots": 0 }, "validator_revert_t_address": { "entryPoint": 1334, "id": null, "parameterSlots": 1, "returnSlots": 0 }, "validator_revert_t_address_payable": { "entryPoint": 1232, "id": null, "parameterSlots": 1, "returnSlots": 0 } }, "generatedSources": [ { "ast": { "nodeType": "YulBlock", "src": "0:4502:1", "statements": [ { "body": { "nodeType": "YulBlock", "src": "52:81:1", "statements": [ { "nodeType": "YulAssignment", "src": "62:65:1", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "77:5:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "84:42:1", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffff" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", "src": "73:3:1" }, "nodeType": "YulFunctionCall", "src": "73:54:1" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", "src": "62:7:1" } ] } ] }, "name": "cleanup_t_uint160", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "34:5:1", "type": "" } ], "returnVariables": [ { "name": "cleaned", "nodeType": "YulTypedName", "src": "44:7:1", "type": "" } ], "src": "7:126:1" }, { "body": { "nodeType": "YulBlock", "src": "192:51:1", "statements": [ { "nodeType": "YulAssignment", "src": "202:35:1", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "231:5:1" } ], "functionName": { "name": "cleanup_t_uint160", "nodeType": "YulIdentifier", "src": "213:17:1" }, "nodeType": "YulFunctionCall", "src": "213:24:1" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", "src": "202:7:1" } ] } ] }, "name": "cleanup_t_address_payable", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "174:5:1", "type": "" } ], "returnVariables": [ { "name": "cleaned", "nodeType": "YulTypedName", "src": "184:7:1", "type": "" } ], "src": "139:104:1" }, { "body": { "nodeType": "YulBlock", "src": "330:61:1", "statements": [ { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "347:3:1" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "378:5:1" } ], "functionName": { "name": "cleanup_t_address_payable", "nodeType": "YulIdentifier", "src": "352:25:1" }, "nodeType": "YulFunctionCall", "src": "352:32:1" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "340:6:1" }, "nodeType": "YulFunctionCall", "src": "340:45:1" }, "nodeType": "YulExpressionStatement", "src": "340:45:1" } ] }, "name": "abi_encode_t_address_payable_to_t_address_payable_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "318:5:1", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", "src": "325:3:1", "type": "" } ], "src": "249:142:1" }, { "body": { "nodeType": "YulBlock", "src": "511:140:1", "statements": [ { "nodeType": "YulAssignment", "src": "521:26:1", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "533:9:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "544:2:1", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "529:3:1" }, "nodeType": "YulFunctionCall", "src": "529:18:1" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "521:4:1" } ] }, { "expression": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "617:6:1" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "630:9:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "641:1:1", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "626:3:1" }, "nodeType": "YulFunctionCall", "src": "626:17:1" } ], "functionName": { "name": "abi_encode_t_address_payable_to_t_address_payable_fromStack", "nodeType": "YulIdentifier", "src": "557:59:1" }, "nodeType": "YulFunctionCall", "src": "557:87:1" }, "nodeType": "YulExpressionStatement", "src": "557:87:1" } ] }, "name": "abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "483:9:1", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", "src": "495:6:1", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "506:4:1", "type": "" } ], "src": "397:254:1" }, { "body": { "nodeType": "YulBlock", "src": "697:35:1", "statements": [ { "nodeType": "YulAssignment", "src": "707:19:1", "value": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "723:2:1", "type": "", "value": "64" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", "src": "717:5:1" }, "nodeType": "YulFunctionCall", "src": "717:9:1" }, "variableNames": [ { "name": "memPtr", "nodeType": "YulIdentifier", "src": "707:6:1" } ] } ] }, "name": "allocate_unbounded", "nodeType": "YulFunctionDefinition", "returnVariables": [ { "name": "memPtr", "nodeType": "YulTypedName", "src": "690:6:1", "type": "" } ], "src": "657:75:1" }, { "body": { "nodeType": "YulBlock", "src": "827:28:1", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "844:1:1", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "847:1:1", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "837:6:1" }, "nodeType": "YulFunctionCall", "src": "837:12:1" }, "nodeType": "YulExpressionStatement", "src": "837:12:1" } ] }, "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulFunctionDefinition", "src": "738:117:1" }, { "body": { "nodeType": "YulBlock", "src": "950:28:1", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "967:1:1", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "970:1:1", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "960:6:1" }, "nodeType": "YulFunctionCall", "src": "960:12:1" }, "nodeType": "YulExpressionStatement", "src": "960:12:1" } ] }, "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulFunctionDefinition", "src": "861:117:1" }, { "body": { "nodeType": "YulBlock", "src": "1035:87:1", "statements": [ { "body": { "nodeType": "YulBlock", "src": "1100:16:1", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "1109:1:1", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1112:1:1", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "1102:6:1" }, "nodeType": "YulFunctionCall", "src": "1102:12:1" }, "nodeType": "YulExpressionStatement", "src": "1102:12:1" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "1058:5:1" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "1091:5:1" } ], "functionName": { "name": "cleanup_t_address_payable", "nodeType": "YulIdentifier", "src": "1065:25:1" }, "nodeType": "YulFunctionCall", "src": "1065:32:1" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", "src": "1055:2:1" }, "nodeType": "YulFunctionCall", "src": "1055:43:1" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", "src": "1048:6:1" }, "nodeType": "YulFunctionCall", "src": "1048:51:1" }, "nodeType": "YulIf", "src": "1045:71:1" } ] }, "name": "validator_revert_t_address_payable", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "1028:5:1", "type": "" } ], "src": "984:138:1" }, { "body": { "nodeType": "YulBlock", "src": "1188:95:1", "statements": [ { "nodeType": "YulAssignment", "src": "1198:29:1", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", "src": "1220:6:1" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", "src": "1207:12:1" }, "nodeType": "YulFunctionCall", "src": "1207:20:1" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", "src": "1198:5:1" } ] }, { "expression": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "1271:5:1" } ], "functionName": { "name": "validator_revert_t_address_payable", "nodeType": "YulIdentifier", "src": "1236:34:1" }, "nodeType": "YulFunctionCall", "src": "1236:41:1" }, "nodeType": "YulExpressionStatement", "src": "1236:41:1" } ] }, "name": "abi_decode_t_address_payable", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "offset", "nodeType": "YulTypedName", "src": "1166:6:1", "type": "" }, { "name": "end", "nodeType": "YulTypedName", "src": "1174:3:1", "type": "" } ], "returnVariables": [ { "name": "value", "nodeType": "YulTypedName", "src": "1182:5:1", "type": "" } ], "src": "1128:155:1" }, { "body": { "nodeType": "YulBlock", "src": "1363:271:1", "statements": [ { "body": { "nodeType": "YulBlock", "src": "1409:83:1", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", "src": "1411:77:1" }, "nodeType": "YulFunctionCall", "src": "1411:79:1" }, "nodeType": "YulExpressionStatement", "src": "1411:79:1" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "1384:7:1" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "1393:9:1" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "1380:3:1" }, "nodeType": "YulFunctionCall", "src": "1380:23:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1405:2:1", "type": "", "value": "32" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", "src": "1376:3:1" }, "nodeType": "YulFunctionCall", "src": "1376:32:1" }, "nodeType": "YulIf", "src": "1373:119:1" }, { "nodeType": "YulBlock", "src": "1502:125:1", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "1517:15:1", "value": { "kind": "number", "nodeType": "YulLiteral", "src": "1531:1:1", "type": "", "value": "0" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", "src": "1521:6:1", "type": "" } ] }, { "nodeType": "YulAssignment", "src": "1546:71:1", "value": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "1589:9:1" }, { "name": "offset", "nodeType": "YulIdentifier", "src": "1600:6:1" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1585:3:1" }, "nodeType": "YulFunctionCall", "src": "1585:22:1" }, { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "1609:7:1" } ], "functionName": { "name": "abi_decode_t_address_payable", "nodeType": "YulIdentifier", "src": "1556:28:1" }, "nodeType": "YulFunctionCall", "src": "1556:61:1" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "1546:6:1" } ] } ] } ] }, "name": "abi_decode_tuple_t_address_payable", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "1333:9:1", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", "src": "1344:7:1", "type": "" } ], "returnVariables": [ { "name": "value0", "nodeType": "YulTypedName", "src": "1356:6:1", "type": "" } ], "src": "1289:345:1" }, { "body": { "nodeType": "YulBlock", "src": "1685:51:1", "statements": [ { "nodeType": "YulAssignment", "src": "1695:35:1", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "1724:5:1" } ], "functionName": { "name": "cleanup_t_uint160", "nodeType": "YulIdentifier", "src": "1706:17:1" }, "nodeType": "YulFunctionCall", "src": "1706:24:1" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", "src": "1695:7:1" } ] } ] }, "name": "cleanup_t_address", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "1667:5:1", "type": "" } ], "returnVariables": [ { "name": "cleaned", "nodeType": "YulTypedName", "src": "1677:7:1", "type": "" } ], "src": "1640:96:1" }, { "body": { "nodeType": "YulBlock", "src": "1785:79:1", "statements": [ { "body": { "nodeType": "YulBlock", "src": "1842:16:1", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "1851:1:1", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1854:1:1", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "1844:6:1" }, "nodeType": "YulFunctionCall", "src": "1844:12:1" }, "nodeType": "YulExpressionStatement", "src": "1844:12:1" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "1808:5:1" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "1833:5:1" } ], "functionName": { "name": "cleanup_t_address", "nodeType": "YulIdentifier", "src": "1815:17:1" }, "nodeType": "YulFunctionCall", "src": "1815:24:1" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", "src": "1805:2:1" }, "nodeType": "YulFunctionCall", "src": "1805:35:1" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", "src": "1798:6:1" }, "nodeType": "YulFunctionCall", "src": "1798:43:1" }, "nodeType": "YulIf", "src": "1795:63:1" } ] }, "name": "validator_revert_t_address", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "1778:5:1", "type": "" } ], "src": "1742:122:1" }, { "body": { "nodeType": "YulBlock", "src": "1922:87:1", "statements": [ { "nodeType": "YulAssignment", "src": "1932:29:1", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", "src": "1954:6:1" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", "src": "1941:12:1" }, "nodeType": "YulFunctionCall", "src": "1941:20:1" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", "src": "1932:5:1" } ] }, { "expression": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "1997:5:1" } ], "functionName": { "name": "validator_revert_t_address", "nodeType": "YulIdentifier", "src": "1970:26:1" }, "nodeType": "YulFunctionCall", "src": "1970:33:1" }, "nodeType": "YulExpressionStatement", "src": "1970:33:1" } ] }, "name": "abi_decode_t_address", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "offset", "nodeType": "YulTypedName", "src": "1900:6:1", "type": "" }, { "name": "end", "nodeType": "YulTypedName", "src": "1908:3:1", "type": "" } ], "returnVariables": [ { "name": "value", "nodeType": "YulTypedName", "src": "1916:5:1", "type": "" } ], "src": "1870:139:1" }, { "body": { "nodeType": "YulBlock", "src": "2081:263:1", "statements": [ { "body": { "nodeType": "YulBlock", "src": "2127:83:1", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", "src": "2129:77:1" }, "nodeType": "YulFunctionCall", "src": "2129:79:1" }, "nodeType": "YulExpressionStatement", "src": "2129:79:1" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "2102:7:1" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "2111:9:1" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "2098:3:1" }, "nodeType": "YulFunctionCall", "src": "2098:23:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2123:2:1", "type": "", "value": "32" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", "src": "2094:3:1" }, "nodeType": "YulFunctionCall", "src": "2094:32:1" }, "nodeType": "YulIf", "src": "2091:119:1" }, { "nodeType": "YulBlock", "src": "2220:117:1", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "2235:15:1", "value": { "kind": "number", "nodeType": "YulLiteral", "src": "2249:1:1", "type": "", "value": "0" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", "src": "2239:6:1", "type": "" } ] }, { "nodeType": "YulAssignment", "src": "2264:63:1", "value": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "2299:9:1" }, { "name": "offset", "nodeType": "YulIdentifier", "src": "2310:6:1" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "2295:3:1" }, "nodeType": "YulFunctionCall", "src": "2295:22:1" }, { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "2319:7:1" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", "src": "2274:20:1" }, "nodeType": "YulFunctionCall", "src": "2274:53:1" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "2264:6:1" } ] } ] } ] }, "name": "abi_decode_tuple_t_address", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "2051:9:1", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", "src": "2062:7:1", "type": "" } ], "returnVariables": [ { "name": "value0", "nodeType": "YulTypedName", "src": "2074:6:1", "type": "" } ], "src": "2015:329:1" }, { "body": { "nodeType": "YulBlock", "src": "2395:32:1", "statements": [ { "nodeType": "YulAssignment", "src": "2405:16:1", "value": { "name": "value", "nodeType": "YulIdentifier", "src": "2416:5:1" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", "src": "2405:7:1" } ] } ] }, "name": "cleanup_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "2377:5:1", "type": "" } ], "returnVariables": [ { "name": "cleaned", "nodeType": "YulTypedName", "src": "2387:7:1", "type": "" } ], "src": "2350:77:1" }, { "body": { "nodeType": "YulBlock", "src": "2498:53:1", "statements": [ { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "2515:3:1" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "2538:5:1" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "2520:17:1" }, "nodeType": "YulFunctionCall", "src": "2520:24:1" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "2508:6:1" }, "nodeType": "YulFunctionCall", "src": "2508:37:1" }, "nodeType": "YulExpressionStatement", "src": "2508:37:1" } ] }, "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "2486:5:1", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", "src": "2493:3:1", "type": "" } ], "src": "2433:118:1" }, { "body": { "nodeType": "YulBlock", "src": "2655:124:1", "statements": [ { "nodeType": "YulAssignment", "src": "2665:26:1", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "2677:9:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2688:2:1", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "2673:3:1" }, "nodeType": "YulFunctionCall", "src": "2673:18:1" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "2665:4:1" } ] }, { "expression": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "2745:6:1" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "2758:9:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2769:1:1", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "2754:3:1" }, "nodeType": "YulFunctionCall", "src": "2754:17:1" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", "src": "2701:43:1" }, "nodeType": "YulFunctionCall", "src": "2701:71:1" }, "nodeType": "YulExpressionStatement", "src": "2701:71:1" } ] }, "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "2627:9:1", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", "src": "2639:6:1", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "2650:4:1", "type": "" } ], "src": "2557:222:1" }, { "body": { "nodeType": "YulBlock", "src": "2881:73:1", "statements": [ { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "2898:3:1" }, { "name": "length", "nodeType": "YulIdentifier", "src": "2903:6:1" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "2891:6:1" }, "nodeType": "YulFunctionCall", "src": "2891:19:1" }, "nodeType": "YulExpressionStatement", "src": "2891:19:1" }, { "nodeType": "YulAssignment", "src": "2919:29:1", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "2938:3:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2943:4:1", "type": "", "value": "0x20" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "2934:3:1" }, "nodeType": "YulFunctionCall", "src": "2934:14:1" }, "variableNames": [ { "name": "updated_pos", "nodeType": "YulIdentifier", "src": "2919:11:1" } ] } ] }, "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", "src": "2853:3:1", "type": "" }, { "name": "length", "nodeType": "YulTypedName", "src": "2858:6:1", "type": "" } ], "returnVariables": [ { "name": "updated_pos", "nodeType": "YulTypedName", "src": "2869:11:1", "type": "" } ], "src": "2785:169:1" }, { "body": { "nodeType": "YulBlock", "src": "3066:67:1", "statements": [ { "expression": { "arguments": [ { "arguments": [ { "name": "memPtr", "nodeType": "YulIdentifier", "src": "3088:6:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3096:1:1", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "3084:3:1" }, "nodeType": "YulFunctionCall", "src": "3084:14:1" }, { "hexValue": "63616c6c6572206973206e6f7420746865206f776e6572", "kind": "string", "nodeType": "YulLiteral", "src": "3100:25:1", "type": "", "value": "caller is not the owner" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "3077:6:1" }, "nodeType": "YulFunctionCall", "src": "3077:49:1" }, "nodeType": "YulExpressionStatement", "src": "3077:49:1" } ] }, "name": "store_literal_in_memory_98821890c044d63947a93cf48b7df1f5a42f89e719dd7abbb581002b013b02f4", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", "src": "3058:6:1", "type": "" } ], "src": "2960:173:1" }, { "body": { "nodeType": "YulBlock", "src": "3285:220:1", "statements": [ { "nodeType": "YulAssignment", "src": "3295:74:1", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "3361:3:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3366:2:1", "type": "", "value": "23" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", "src": "3302:58:1" }, "nodeType": "YulFunctionCall", "src": "3302:67:1" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "3295:3:1" } ] }, { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "3467:3:1" } ], "functionName": { "name": "store_literal_in_memory_98821890c044d63947a93cf48b7df1f5a42f89e719dd7abbb581002b013b02f4", "nodeType": "YulIdentifier", "src": "3378:88:1" }, "nodeType": "YulFunctionCall", "src": "3378:93:1" }, "nodeType": "YulExpressionStatement", "src": "3378:93:1" }, { "nodeType": "YulAssignment", "src": "3480:19:1", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "3491:3:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3496:2:1", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "3487:3:1" }, "nodeType": "YulFunctionCall", "src": "3487:12:1" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", "src": "3480:3:1" } ] } ] }, "name": "abi_encode_t_stringliteral_98821890c044d63947a93cf48b7df1f5a42f89e719dd7abbb581002b013b02f4_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", "src": "3273:3:1", "type": "" } ], "returnVariables": [ { "name": "end", "nodeType": "YulTypedName", "src": "3281:3:1", "type": "" } ], "src": "3139:366:1" }, { "body": { "nodeType": "YulBlock", "src": "3682:248:1", "statements": [ { "nodeType": "YulAssignment", "src": "3692:26:1", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "3704:9:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3715:2:1", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "3700:3:1" }, "nodeType": "YulFunctionCall", "src": "3700:18:1" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "3692:4:1" } ] }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "3739:9:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3750:1:1", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "3735:3:1" }, "nodeType": "YulFunctionCall", "src": "3735:17:1" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "3758:4:1" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "3764:9:1" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "3754:3:1" }, "nodeType": "YulFunctionCall", "src": "3754:20:1" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "3728:6:1" }, "nodeType": "YulFunctionCall", "src": "3728:47:1" }, "nodeType": "YulExpressionStatement", "src": "3728:47:1" }, { "nodeType": "YulAssignment", "src": "3784:139:1", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "3918:4:1" } ], "functionName": { "name": "abi_encode_t_stringliteral_98821890c044d63947a93cf48b7df1f5a42f89e719dd7abbb581002b013b02f4_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", "src": "3792:124:1" }, "nodeType": "YulFunctionCall", "src": "3792:131:1" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "3784:4:1" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_98821890c044d63947a93cf48b7df1f5a42f89e719dd7abbb581002b013b02f4__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "3662:9:1", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "3677:4:1", "type": "" } ], "src": "3511:419:1" }, { "body": { "nodeType": "YulBlock", "src": "3964:152:1", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "3981:1:1", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3984:77:1", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "3974:6:1" }, "nodeType": "YulFunctionCall", "src": "3974:88:1" }, "nodeType": "YulExpressionStatement", "src": "3974:88:1" }, { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "4078:1:1", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "4081:4:1", "type": "", "value": "0x11" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "4071:6:1" }, "nodeType": "YulFunctionCall", "src": "4071:15:1" }, "nodeType": "YulExpressionStatement", "src": "4071:15:1" }, { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "4102:1:1", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "4105:4:1", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "4095:6:1" }, "nodeType": "YulFunctionCall", "src": "4095:15:1" }, "nodeType": "YulExpressionStatement", "src": "4095:15:1" } ] }, "name": "panic_error_0x11", "nodeType": "YulFunctionDefinition", "src": "3936:180:1" }, { "body": { "nodeType": "YulBlock", "src": "4166:147:1", "statements": [ { "nodeType": "YulAssignment", "src": "4176:25:1", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", "src": "4199:1:1" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "4181:17:1" }, "nodeType": "YulFunctionCall", "src": "4181:20:1" }, "variableNames": [ { "name": "x", "nodeType": "YulIdentifier", "src": "4176:1:1" } ] }, { "nodeType": "YulAssignment", "src": "4210:25:1", "value": { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", "src": "4233:1:1" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "4215:17:1" }, "nodeType": "YulFunctionCall", "src": "4215:20:1" }, "variableNames": [ { "name": "y", "nodeType": "YulIdentifier", "src": "4210:1:1" } ] }, { "nodeType": "YulAssignment", "src": "4244:16:1", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", "src": "4255:1:1" }, { "name": "y", "nodeType": "YulIdentifier", "src": "4258:1:1" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "4251:3:1" }, "nodeType": "YulFunctionCall", "src": "4251:9:1" }, "variableNames": [ { "name": "sum", "nodeType": "YulIdentifier", "src": "4244:3:1" } ] }, { "body": { "nodeType": "YulBlock", "src": "4284:22:1", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", "src": "4286:16:1" }, "nodeType": "YulFunctionCall", "src": "4286:18:1" }, "nodeType": "YulExpressionStatement", "src": "4286:18:1" } ] }, "condition": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", "src": "4276:1:1" }, { "name": "sum", "nodeType": "YulIdentifier", "src": "4279:3:1" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", "src": "4273:2:1" }, "nodeType": "YulFunctionCall", "src": "4273:10:1" }, "nodeType": "YulIf", "src": "4270:36:1" } ] }, "name": "checked_add_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "x", "nodeType": "YulTypedName", "src": "4153:1:1", "type": "" }, { "name": "y", "nodeType": "YulTypedName", "src": "4156:1:1", "type": "" } ], "returnVariables": [ { "name": "sum", "nodeType": "YulTypedName", "src": "4162:3:1", "type": "" } ], "src": "4122:191:1" }, { "body": { "nodeType": "YulBlock", "src": "4347:152:1", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "4364:1:1", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "4367:77:1", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "4357:6:1" }, "nodeType": "YulFunctionCall", "src": "4357:88:1" }, "nodeType": "YulExpressionStatement", "src": "4357:88:1" }, { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "4461:1:1", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "4464:4:1", "type": "", "value": "0x01" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "4454:6:1" }, "nodeType": "YulFunctionCall", "src": "4454:15:1" }, "nodeType": "YulExpressionStatement", "src": "4454:15:1" }, { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "4485:1:1", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "4488:4:1", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "4478:6:1" }, "nodeType": "YulFunctionCall", "src": "4478:15:1" }, "nodeType": "YulExpressionStatement", "src": "4478:15:1" } ] }, "name": "panic_error_0x01", "nodeType": "YulFunctionDefinition", "src": "4319:180:1" } ] }, "contents": "{\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address_payable(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_payable_to_t_address_payable_fromStack(value, pos) {\n mstore(pos, cleanup_t_address_payable(value))\n }\n\n function abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_payable_to_t_address_payable_fromStack(value0, add(headStart, 0))\n\n }\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 validator_revert_t_address_payable(value) {\n if iszero(eq(value, cleanup_t_address_payable(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_payable(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address_payable(value)\n }\n\n function abi_decode_tuple_t_address_payable(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_address_payable(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(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_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\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__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\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 store_literal_in_memory_98821890c044d63947a93cf48b7df1f5a42f89e719dd7abbb581002b013b02f4(memPtr) {\n\n mstore(add(memPtr, 0), \"caller is not the owner\")\n\n }\n\n function abi_encode_t_stringliteral_98821890c044d63947a93cf48b7df1f5a42f89e719dd7abbb581002b013b02f4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 23)\n store_literal_in_memory_98821890c044d63947a93cf48b7df1f5a42f89e719dd7abbb581002b013b02f4(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_98821890c044d63947a93cf48b7df1f5a42f89e719dd7abbb581002b013b02f4__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_98821890c044d63947a93cf48b7df1f5a42f89e719dd7abbb581002b013b02f4_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 panic_error_0x01() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x01)\n revert(0, 0x24)\n }\n\n}\n", "id": 1, "language": "Yul", "name": "#utility.yul" } ], "immutableReferences": {}, "linkReferences": {}, "object": "608060405260043610610054575f3560e01c80636fab5ddf146100585780638aa96f38146100625780638da5cb5b14610078578063a2dea26f146100a2578063abaa9916146100ca578063ffd40b56146100d4575b5f80fd5b610060610110565b005b34801561006d575f80fd5b506100766101b4565b005b348015610083575f80fd5b5061008c610289565b60405161009991906104b3565b60405180910390f35b3480156100ad575f80fd5b506100c860048036038101906100c391906104fa565b6102ae565b005b6100d2610378565b005b3480156100df575f80fd5b506100fa60048036038101906100f59190610560565b610409565b60405161010791906105a3565b60405180910390f35b3360015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550345f8060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023a90610616565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610286573d5f803e3d5ffd5b50565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054116102f5575f80fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490811502906040515f60405180830381858888f19350505050158015610374573d5f803e3d5ffd5b5050565b6103c7345f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461044e90919063ffffffff16565b5f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f818361045b9190610661565b90508281101561046e5761046d610694565b5b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61049d82610474565b9050919050565b6104ad81610493565b82525050565b5f6020820190506104c65f8301846104a4565b92915050565b5f80fd5b6104d981610493565b81146104e3575f80fd5b50565b5f813590506104f4816104d0565b92915050565b5f6020828403121561050f5761050e6104cc565b5b5f61051c848285016104e6565b91505092915050565b5f61052f82610474565b9050919050565b61053f81610525565b8114610549575f80fd5b50565b5f8135905061055a81610536565b92915050565b5f60208284031215610575576105746104cc565b5b5f6105828482850161054c565b91505092915050565b5f819050919050565b61059d8161058b565b82525050565b5f6020820190506105b65f830184610594565b92915050565b5f82825260208201905092915050565b7f63616c6c6572206973206e6f7420746865206f776e65720000000000000000005f82015250565b5f6106006017836105bc565b915061060b826105cc565b602082019050919050565b5f6020820190508181035f83015261062d816105f4565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61066b8261058b565b91506106768361058b565b925082820190508082111561068e5761068d610634565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52600160045260245ffdfea264697066735822122072291569606d967398d7cbc8bde98132a2ad4b25ea5994b7ec261ae69147cc7864736f6c63430008140033", "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x54 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6FAB5DDF EQ PUSH2 0x58 JUMPI DUP1 PUSH4 0x8AA96F38 EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x78 JUMPI DUP1 PUSH4 0xA2DEA26F EQ PUSH2 0xA2 JUMPI DUP1 PUSH4 0xABAA9916 EQ PUSH2 0xCA JUMPI DUP1 PUSH4 0xFFD40B56 EQ PUSH2 0xD4 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x60 PUSH2 0x110 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6D JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x76 PUSH2 0x1B4 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x83 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x8C PUSH2 0x289 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x99 SWAP2 SWAP1 PUSH2 0x4B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAD JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0xC8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC3 SWAP2 SWAP1 PUSH2 0x4FA JUMP JUMPDEST PUSH2 0x2AE JUMP JUMPDEST STOP JUMPDEST PUSH2 0xD2 PUSH2 0x378 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0xFA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xF5 SWAP2 SWAP1 PUSH2 0x560 JUMP JUMPDEST PUSH2 0x409 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x107 SWAP2 SWAP1 PUSH2 0x5A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLER PUSH1 0x1 PUSH0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLVALUE PUSH0 DUP1 PUSH1 0x1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x243 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x23A SWAP1 PUSH2 0x616 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC SELFBALANCE SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x286 JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH0 DUP1 PUSH0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD GT PUSH2 0x2F5 JUMPI PUSH0 DUP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC PUSH0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x374 JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x3C7 CALLVALUE PUSH0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD PUSH2 0x44E SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 DUP4 PUSH2 0x45B SWAP2 SWAP1 PUSH2 0x661 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 LT ISZERO PUSH2 0x46E JUMPI PUSH2 0x46D PUSH2 0x694 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x49D DUP3 PUSH2 0x474 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x4AD DUP2 PUSH2 0x493 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x4C6 PUSH0 DUP4 ADD DUP5 PUSH2 0x4A4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x4D9 DUP2 PUSH2 0x493 JUMP JUMPDEST DUP2 EQ PUSH2 0x4E3 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4F4 DUP2 PUSH2 0x4D0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x50F JUMPI PUSH2 0x50E PUSH2 0x4CC JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x51C DUP5 DUP3 DUP6 ADD PUSH2 0x4E6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x52F DUP3 PUSH2 0x474 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x53F DUP2 PUSH2 0x525 JUMP JUMPDEST DUP2 EQ PUSH2 0x549 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x55A DUP2 PUSH2 0x536 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x575 JUMPI PUSH2 0x574 PUSH2 0x4CC JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x582 DUP5 DUP3 DUP6 ADD PUSH2 0x54C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x59D DUP2 PUSH2 0x58B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x5B6 PUSH0 DUP4 ADD DUP5 PUSH2 0x594 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x63616C6C6572206973206E6F7420746865206F776E6572000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x600 PUSH1 0x17 DUP4 PUSH2 0x5BC JUMP JUMPDEST SWAP2 POP PUSH2 0x60B DUP3 PUSH2 0x5CC JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x62D DUP2 PUSH2 0x5F4 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 0x66B DUP3 PUSH2 0x58B JUMP JUMPDEST SWAP2 POP PUSH2 0x676 DUP4 PUSH2 0x58B JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x68E JUMPI PUSH2 0x68D PUSH2 0x634 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH19 0x291569606D967398D7CBC8BDE98132A2AD4B25 0xEA MSIZE SWAP5 0xB7 0xEC 0x26 BYTE 0xE6 SWAP2 SELFBALANCE 0xCC PUSH25 0x64736F6C634300081400330000000000000000000000000000 ", "sourceMap": "1257:982:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1406:135;;;:::i;:::-;;1961:160;;;;;;;;;;;;;:::i;:::-;;1352:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1805:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1691:110;;;:::i;:::-;;2125:112;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1406:135;1489:10;1473:5;;:27;;;;;;;;;;;;;;;;;;1527:9;1506:11;:18;1518:5;;;;;;;;;;;1506:18;;;;;;;;;;;;;;;:30;;;;1406:135::o;1961:160::-;1611:5;;;;;;;;;;;1597:19;;:10;:19;;;1575:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;2073:10:::1;2065:28;;:51;2094:21;2065:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;1961:160::o:0;1352:28::-;;;;;;;;;;;;;:::o;1805:152::-;1902:1;1877:11;:22;1889:9;1877:22;;;;;;;;;;;;;;;;:26;1869:35;;;;;;1910:9;:18;;:42;1929:11;:22;1941:9;1929:22;;;;;;;;;;;;;;;;1910:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1805:152;:::o;1691:110::-;1758:38;1786:9;1758:11;:23;1770:10;1758:23;;;;;;;;;;;;;;;;:27;;:38;;;;:::i;:::-;1732:11;:23;1744:10;1732:23;;;;;;;;;;;;;;;:64;;;;1691:110::o;2125:112::-;2191:4;2210:11;:22;2222:9;2210:22;;;;;;;;;;;;;;;;2203:29;;2125:112;;;:::o;1130:123::-;1188:9;1213:1;1209;:5;;;;:::i;:::-;1205:9;;1232:1;1227;:6;;1220:14;;;;:::i;:::-;;1130:123;;;;:::o;7:126:1:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:104::-;184:7;213:24;231:5;213:24;:::i;:::-;202:35;;139:104;;;:::o;249:142::-;352:32;378:5;352:32;:::i;:::-;347:3;340:45;249:142;;:::o;397:254::-;506:4;544:2;533:9;529:18;521:26;;557:87;641:1;630:9;626:17;617:6;557:87;:::i;:::-;397:254;;;;:::o;738:117::-;847:1;844;837:12;984:138;1065:32;1091:5;1065:32;:::i;:::-;1058:5;1055:43;1045:71;;1112:1;1109;1102:12;1045:71;984:138;:::o;1128:155::-;1182:5;1220:6;1207:20;1198:29;;1236:41;1271:5;1236:41;:::i;:::-;1128:155;;;;:::o;1289:345::-;1356:6;1405:2;1393:9;1384:7;1380:23;1376:32;1373:119;;;1411:79;;:::i;:::-;1373:119;1531:1;1556:61;1609:7;1600:6;1589:9;1585:22;1556:61;:::i;:::-;1546:71;;1502:125;1289:345;;;;:::o;1640:96::-;1677:7;1706:24;1724:5;1706:24;:::i;:::-;1695:35;;1640:96;;;:::o;1742:122::-;1815:24;1833:5;1815:24;:::i;:::-;1808:5;1805:35;1795:63;;1854:1;1851;1844:12;1795:63;1742:122;:::o;1870:139::-;1916:5;1954:6;1941:20;1932:29;;1970:33;1997:5;1970:33;:::i;:::-;1870:139;;;;:::o;2015:329::-;2074:6;2123:2;2111:9;2102:7;2098:23;2094:32;2091:119;;;2129:79;;:::i;:::-;2091:119;2249:1;2274:53;2319:7;2310:6;2299:9;2295:22;2274:53;:::i;:::-;2264:63;;2220:117;2015:329;;;;:::o;2350:77::-;2387:7;2416:5;2405:16;;2350:77;;;:::o;2433:118::-;2520:24;2538:5;2520:24;:::i;:::-;2515:3;2508:37;2433:118;;:::o;2557:222::-;2650:4;2688:2;2677:9;2673:18;2665:26;;2701:71;2769:1;2758:9;2754:17;2745:6;2701:71;:::i;:::-;2557:222;;;;:::o;2785:169::-;2869:11;2903:6;2898:3;2891:19;2943:4;2938:3;2934:14;2919:29;;2785:169;;;;:::o;2960:173::-;3100:25;3096:1;3088:6;3084:14;3077:49;2960:173;:::o;3139:366::-;3281:3;3302:67;3366:2;3361:3;3302:67;:::i;:::-;3295:74;;3378:93;3467:3;3378:93;:::i;:::-;3496:2;3491:3;3487:12;3480:19;;3139:366;;;:::o;3511:419::-;3677:4;3715:2;3704:9;3700:18;3692:26;;3764:9;3758:4;3754:20;3750:1;3739:9;3735:17;3728:47;3792:131;3918:4;3792:131;:::i;:::-;3784:139;;3511:419;;;:::o;3936:180::-;3984:77;3981:1;3974:88;4081:4;4078:1;4071:15;4105:4;4102:1;4095:15;4122:191;4162:3;4181:20;4199:1;4181:20;:::i;:::-;4176:25;;4215:20;4233:1;4215:20;:::i;:::-;4210:25;;4258:1;4255;4251:9;4244:16;;4279:3;4276:1;4273:10;4270:36;;;4286:18;;:::i;:::-;4270:36;4122:191;;;;:::o;4319:180::-;4367:77;4364:1;4357:88;4464:4;4461:1;4454:15;4488:4;4485:1;4478:15" }, "gasEstimates": { "creation": { "codeDepositCost": "356600", "executionCost": "391", "totalCost": "356991" }, "external": { "Fal1out()": "48698", "allocate()": "infinite", "allocatorBalance(address)": "2917", "collectAllocations()": "infinite", "owner()": "2530", "sendAllocation(address)": "infinite" } }, "legacyAssembly": { ".code": [ { "begin": 1257, "end": 2239, "name": "PUSH", "source": 0, "value": "80" }, { "begin": 1257, "end": 2239, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1257, "end": 2239, "name": "MSTORE", "source": 0 }, { "begin": 1257, "end": 2239, "name": "CALLVALUE", "source": 0 }, { "begin": 1257, "end": 2239, "name": "DUP1", "source": 0 }, { "begin": 1257, "end": 2239, "name": "ISZERO", "source": 0 }, { "begin": 1257, "end": 2239, "name": "PUSH [tag]", "source": 0, "value": "1" }, { "begin": 1257, "end": 2239, "name": "JUMPI", "source": 0 }, { "begin": 1257, "end": 2239, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1257, "end": 2239, "name": "DUP1", "source": 0 }, { "begin": 1257, "end": 2239, "name": "REVERT", "source": 0 }, { "begin": 1257, "end": 2239, "name": "tag", "source": 0, "value": "1" }, { "begin": 1257, "end": 2239, "name": "JUMPDEST", "source": 0 }, { "begin": 1257, "end": 2239, "name": "POP", "source": 0 }, { "begin": 1257, "end": 2239, "name": "PUSH #[$]", "source": 0, "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { "begin": 1257, "end": 2239, "name": "DUP1", "source": 0 }, { "begin": 1257, "end": 2239, "name": "PUSH [$]", "source": 0, "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { "begin": 1257, "end": 2239, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1257, "end": 2239, "name": "CODECOPY", "source": 0 }, { "begin": 1257, "end": 2239, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1257, "end": 2239, "name": "RETURN", "source": 0 } ], ".data": { "0": { ".auxdata": "a264697066735822122072291569606d967398d7cbc8bde98132a2ad4b25ea5994b7ec261ae69147cc7864736f6c63430008140033", ".code": [ { "begin": 1257, "end": 2239, "name": "PUSH", "source": 0, "value": "80" }, { "begin": 1257, "end": 2239, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1257, "end": 2239, "name": "MSTORE", "source": 0 }, { "begin": 1257, "end": 2239, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 1257, "end": 2239, "name": "CALLDATASIZE", "source": 0 }, { "begin": 1257, "end": 2239, "name": "LT", "source": 0 }, { "begin": 1257, "end": 2239, "name": "PUSH [tag]", "source": 0, "value": "1" }, { "begin": 1257, "end": 2239, "name": "JUMPI", "source": 0 }, { "begin": 1257, "end": 2239, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1257, "end": 2239, "name": "CALLDATALOAD", "source": 0 }, { "begin": 1257, "end": 2239, "name": "PUSH", "source": 0, "value": "E0" }, { "begin": 1257, "end": 2239, "name": "SHR", "source": 0 }, { "begin": 1257, "end": 2239, "name": "DUP1", "source": 0 }, { "begin": 1257, "end": 2239, "name": "PUSH", "source": 0, "value": "6FAB5DDF" }, { "begin": 1257, "end": 2239, "name": "EQ", "source": 0 }, { "begin": 1257, "end": 2239, "name": "PUSH [tag]", "source": 0, "value": "2" }, { "begin": 1257, "end": 2239, "name": "JUMPI", "source": 0 }, { "begin": 1257, "end": 2239, "name": "DUP1", "source": 0 }, { "begin": 1257, "end": 2239, "name": "PUSH", "source": 0, "value": "8AA96F38" }, { "begin": 1257, "end": 2239, "name": "EQ", "source": 0 }, { "begin": 1257, "end": 2239, "name": "PUSH [tag]", "source": 0, "value": "3" }, { "begin": 1257, "end": 2239, "name": "JUMPI", "source": 0 }, { "begin": 1257, "end": 2239, "name": "DUP1", "source": 0 }, { "begin": 1257, "end": 2239, "name": "PUSH", "source": 0, "value": "8DA5CB5B" }, { "begin": 1257, "end": 2239, "name": "EQ", "source": 0 }, { "begin": 1257, "end": 2239, "name": "PUSH [tag]", "source": 0, "value": "4" }, { "begin": 1257, "end": 2239, "name": "JUMPI", "source": 0 }, { "begin": 1257, "end": 2239, "name": "DUP1", "source": 0 }, { "begin": 1257, "end": 2239, "name": "PUSH", "source": 0, "value": "A2DEA26F" }, { "begin": 1257, "end": 2239, "name": "EQ", "source": 0 }, { "begin": 1257, "end": 2239, "name": "PUSH [tag]", "source": 0, "value": "5" }, { "begin": 1257, "end": 2239, "name": "JUMPI", "source": 0 }, { "begin": 1257, "end": 2239, "name": "DUP1", "source": 0 }, { "begin": 1257, "end": 2239, "name": "PUSH", "source": 0, "value": "ABAA9916" }, { "begin": 1257, "end": 2239, "name": "EQ", "source": 0 }, { "begin": 1257, "end": 2239, "name": "PUSH [tag]", "source": 0, "value": "6" }, { "begin": 1257, "end": 2239, "name": "JUMPI", "source": 0 }, { "begin": 1257, "end": 2239, "name": "DUP1", "source": 0 }, { "begin": 1257, "end": 2239, "name": "PUSH", "source": 0, "value": "FFD40B56" }, { "begin": 1257, "end": 2239, "name": "EQ", "source": 0 }, { "begin": 1257, "end": 2239, "name": "PUSH [tag]", "source": 0, "value": "7" }, { "begin": 1257, "end": 2239, "name": "JUMPI", "source": 0 }, { "begin": 1257, "end": 2239, "name": "tag", "source": 0, "value": "1" }, { "begin": 1257, "end": 2239, "name": "JUMPDEST", "source": 0 }, { "begin": 1257, "end": 2239, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1257, "end": 2239, "name": "DUP1", "source": 0 }, { "begin": 1257, "end": 2239, "name": "REVERT", "source": 0 }, { "begin": 1406, "end": 1541, "name": "tag", "source": 0, "value": "2" }, { "begin": 1406, "end": 1541, "name": "JUMPDEST", "source": 0 }, { "begin": 1406, "end": 1541, "name": "PUSH [tag]", "source": 0, "value": "8" }, { "begin": 1406, "end": 1541, "name": "PUSH [tag]", "source": 0, "value": "9" }, { "begin": 1406, "end": 1541, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { "begin": 1406, "end": 1541, "name": "tag", "source": 0, "value": "8" }, { "begin": 1406, "end": 1541, "name": "JUMPDEST", "source": 0 }, { "begin": 1406, "end": 1541, "name": "STOP", "source": 0 }, { "begin": 1961, "end": 2121, "name": "tag", "source": 0, "value": "3" }, { "begin": 1961, "end": 2121, "name": "JUMPDEST", "source": 0 }, { "begin": 1961, "end": 2121, "name": "CALLVALUE", "source": 0 }, { "begin": 1961, "end": 2121, "name": "DUP1", "source": 0 }, { "begin": 1961, "end": 2121, "name": "ISZERO", "source": 0 }, { "begin": 1961, "end": 2121, "name": "PUSH [tag]", "source": 0, "value": "10" }, { "begin": 1961, "end": 2121, "name": "JUMPI", "source": 0 }, { "begin": 1961, "end": 2121, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1961, "end": 2121, "name": "DUP1", "source": 0 }, { "begin": 1961, "end": 2121, "name": "REVERT", "source": 0 }, { "begin": 1961, "end": 2121, "name": "tag", "source": 0, "value": "10" }, { "begin": 1961, "end": 2121, "name": "JUMPDEST", "source": 0 }, { "begin": 1961, "end": 2121, "name": "POP", "source": 0 }, { "begin": 1961, "end": 2121, "name": "PUSH [tag]", "source": 0, "value": "11" }, { "begin": 1961, "end": 2121, "name": "PUSH [tag]", "source": 0, "value": "12" }, { "begin": 1961, "end": 2121, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { "begin": 1961, "end": 2121, "name": "tag", "source": 0, "value": "11" }, { "begin": 1961, "end": 2121, "name": "JUMPDEST", "source": 0 }, { "begin": 1961, "end": 2121, "name": "STOP", "source": 0 }, { "begin": 1352, "end": 1380, "name": "tag", "source": 0, "value": "4" }, { "begin": 1352, "end": 1380, "name": "JUMPDEST", "source": 0 }, { "begin": 1352, "end": 1380, "name": "CALLVALUE", "source": 0 }, { "begin": 1352, "end": 1380, "name": "DUP1", "source": 0 }, { "begin": 1352, "end": 1380, "name": "ISZERO", "source": 0 }, { "begin": 1352, "end": 1380, "name": "PUSH [tag]", "source": 0, "value": "13" }, { "begin": 1352, "end": 1380, "name": "JUMPI", "source": 0 }, { "begin": 1352, "end": 1380, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1352, "end": 1380, "name": "DUP1", "source": 0 }, { "begin": 1352, "end": 1380, "name": "REVERT", "source": 0 }, { "begin": 1352, "end": 1380, "name": "tag", "source": 0, "value": "13" }, { "begin": 1352, "end": 1380, "name": "JUMPDEST", "source": 0 }, { "begin": 1352, "end": 1380, "name": "POP", "source": 0 }, { "begin": 1352, "end": 1380, "name": "PUSH [tag]", "source": 0, "value": "14" }, { "begin": 1352, "end": 1380, "name": "PUSH [tag]", "source": 0, "value": "15" }, { "begin": 1352, "end": 1380, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { "begin": 1352, "end": 1380, "name": "tag", "source": 0, "value": "14" }, { "begin": 1352, "end": 1380, "name": "JUMPDEST", "source": 0 }, { "begin": 1352, "end": 1380, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1352, "end": 1380, "name": "MLOAD", "source": 0 }, { "begin": 1352, "end": 1380, "name": "PUSH [tag]", "source": 0, "value": "16" }, { "begin": 1352, "end": 1380, "name": "SWAP2", "source": 0 }, { "begin": 1352, "end": 1380, "name": "SWAP1", "source": 0 }, { "begin": 1352, "end": 1380, "name": "PUSH [tag]", "source": 0, "value": "17" }, { "begin": 1352, "end": 1380, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { "begin": 1352, "end": 1380, "name": "tag", "source": 0, "value": "16" }, { "begin": 1352, "end": 1380, "name": "JUMPDEST", "source": 0 }, { "begin": 1352, "end": 1380, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1352, "end": 1380, "name": "MLOAD", "source": 0 }, { "begin": 1352, "end": 1380, "name": "DUP1", "source": 0 }, { "begin": 1352, "end": 1380, "name": "SWAP2", "source": 0 }, { "begin": 1352, "end": 1380, "name": "SUB", "source": 0 }, { "begin": 1352, "end": 1380, "name": "SWAP1", "source": 0 }, { "begin": 1352, "end": 1380, "name": "RETURN", "source": 0 }, { "begin": 1805, "end": 1957, "name": "tag", "source": 0, "value": "5" }, { "begin": 1805, "end": 1957, "name": "JUMPDEST", "source": 0 }, { "begin": 1805, "end": 1957, "name": "CALLVALUE", "source": 0 }, { "begin": 1805, "end": 1957, "name": "DUP1", "source": 0 }, { "begin": 1805, "end": 1957, "name": "ISZERO", "source": 0 }, { "begin": 1805, "end": 1957, "name": "PUSH [tag]", "source": 0, "value": "18" }, { "begin": 1805, "end": 1957, "name": "JUMPI", "source": 0 }, { "begin": 1805, "end": 1957, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1805, "end": 1957, "name": "DUP1", "source": 0 }, { "begin": 1805, "end": 1957, "name": "REVERT", "source": 0 }, { "begin": 1805, "end": 1957, "name": "tag", "source": 0, "value": "18" }, { "begin": 1805, "end": 1957, "name": "JUMPDEST", "source": 0 }, { "begin": 1805, "end": 1957, "name": "POP", "source": 0 }, { "begin": 1805, "end": 1957, "name": "PUSH [tag]", "source": 0, "value": "19" }, { "begin": 1805, "end": 1957, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 1805, "end": 1957, "name": "DUP1", "source": 0 }, { "begin": 1805, "end": 1957, "name": "CALLDATASIZE", "source": 0 }, { "begin": 1805, "end": 1957, "name": "SUB", "source": 0 }, { "begin": 1805, "end": 1957, "name": "DUP2", "source": 0 }, { "begin": 1805, "end": 1957, "name": "ADD", "source": 0 }, { "begin": 1805, "end": 1957, "name": "SWAP1", "source": 0 }, { "begin": 1805, "end": 1957, "name": "PUSH [tag]", "source": 0, "value": "20" }, { "begin": 1805, "end": 1957, "name": "SWAP2", "source": 0 }, { "begin": 1805, "end": 1957, "name": "SWAP1", "source": 0 }, { "begin": 1805, "end": 1957, "name": "PUSH [tag]", "source": 0, "value": "21" }, { "begin": 1805, "end": 1957, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { "begin": 1805, "end": 1957, "name": "tag", "source": 0, "value": "20" }, { "begin": 1805, "end": 1957, "name": "JUMPDEST", "source": 0 }, { "begin": 1805, "end": 1957, "name": "PUSH [tag]", "source": 0, "value": "22" }, { "begin": 1805, "end": 1957, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { "begin": 1805, "end": 1957, "name": "tag", "source": 0, "value": "19" }, { "begin": 1805, "end": 1957, "name": "JUMPDEST", "source": 0 }, { "begin": 1805, "end": 1957, "name": "STOP", "source": 0 }, { "begin": 1691, "end": 1801, "name": "tag", "source": 0, "value": "6" }, { "begin": 1691, "end": 1801, "name": "JUMPDEST", "source": 0 }, { "begin": 1691, "end": 1801, "name": "PUSH [tag]", "source": 0, "value": "23" }, { "begin": 1691, "end": 1801, "name": "PUSH [tag]", "source": 0, "value": "24" }, { "begin": 1691, "end": 1801, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { "begin": 1691, "end": 1801, "name": "tag", "source": 0, "value": "23" }, { "begin": 1691, "end": 1801, "name": "JUMPDEST", "source": 0 }, { "begin": 1691, "end": 1801, "name": "STOP", "source": 0 }, { "begin": 2125, "end": 2237, "name": "tag", "source": 0, "value": "7" }, { "begin": 2125, "end": 2237, "name": "JUMPDEST", "source": 0 }, { "begin": 2125, "end": 2237, "name": "CALLVALUE", "source": 0 }, { "begin": 2125, "end": 2237, "name": "DUP1", "source": 0 }, { "begin": 2125, "end": 2237, "name": "ISZERO", "source": 0 }, { "begin": 2125, "end": 2237, "name": "PUSH [tag]", "source": 0, "value": "25" }, { "begin": 2125, "end": 2237, "name": "JUMPI", "source": 0 }, { "begin": 2125, "end": 2237, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2125, "end": 2237, "name": "DUP1", "source": 0 }, { "begin": 2125, "end": 2237, "name": "REVERT", "source": 0 }, { "begin": 2125, "end": 2237, "name": "tag", "source": 0, "value": "25" }, { "begin": 2125, "end": 2237, "name": "JUMPDEST", "source": 0 }, { "begin": 2125, "end": 2237, "name": "POP", "source": 0 }, { "begin": 2125, "end": 2237, "name": "PUSH [tag]", "source": 0, "value": "26" }, { "begin": 2125, "end": 2237, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 2125, "end": 2237, "name": "DUP1", "source": 0 }, { "begin": 2125, "end": 2237, "name": "CALLDATASIZE", "source": 0 }, { "begin": 2125, "end": 2237, "name": "SUB", "source": 0 }, { "begin": 2125, "end": 2237, "name": "DUP2", "source": 0 }, { "begin": 2125, "end": 2237, "name": "ADD", "source": 0 }, { "begin": 2125, "end": 2237, "name": "SWAP1", "source": 0 }, { "begin": 2125, "end": 2237, "name": "PUSH [tag]", "source": 0, "value": "27" }, { "begin": 2125, "end": 2237, "name": "SWAP2", "source": 0 }, { "begin": 2125, "end": 2237, "name": "SWAP1", "source": 0 }, { "begin": 2125, "end": 2237, "name": "PUSH [tag]", "source": 0, "value": "28" }, { "begin": 2125, "end": 2237, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { "begin": 2125, "end": 2237, "name": "tag", "source": 0, "value": "27" }, { "begin": 2125, "end": 2237, "name": "JUMPDEST", "source": 0 }, { "begin": 2125, "end": 2237, "name": "PUSH [tag]", "source": 0, "value": "29" }, { "begin": 2125, "end": 2237, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { "begin": 2125, "end": 2237, "name": "tag", "source": 0, "value": "26" }, { "begin": 2125, "end": 2237, "name": "JUMPDEST", "source": 0 }, { "begin": 2125, "end": 2237, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 2125, "end": 2237, "name": "MLOAD", "source": 0 }, { "begin": 2125, "end": 2237, "name": "PUSH [tag]", "source": 0, "value": "30" }, { "begin": 2125, "end": 2237, "name": "SWAP2", "source": 0 }, { "begin": 2125, "end": 2237, "name": "SWAP1", "source": 0 }, { "begin": 2125, "end": 2237, "name": "PUSH [tag]", "source": 0, "value": "31" }, { "begin": 2125, "end": 2237, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { "begin": 2125, "end": 2237, "name": "tag", "source": 0, "value": "30" }, { "begin": 2125, "end": 2237, "name": "JUMPDEST", "source": 0 }, { "begin": 2125, "end": 2237, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 2125, "end": 2237, "name": "MLOAD", "source": 0 }, { "begin": 2125, "end": 2237, "name": "DUP1", "source": 0 }, { "begin": 2125, "end": 2237, "name": "SWAP2", "source": 0 }, { "begin": 2125, "end": 2237, "name": "SUB", "source": 0 }, { "begin": 2125, "end": 2237, "name": "SWAP1", "source": 0 }, { "begin": 2125, "end": 2237, "name": "RETURN", "source": 0 }, { "begin": 1406, "end": 1541, "name": "tag", "source": 0, "value": "9" }, { "begin": 1406, "end": 1541, "name": "JUMPDEST", "source": 0 }, { "begin": 1489, "end": 1499, "name": "CALLER", "source": 0 }, { "begin": 1473, "end": 1478, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 1473, "end": 1478, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1473, "end": 1500, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 1473, "end": 1500, "name": "EXP", "source": 0 }, { "begin": 1473, "end": 1500, "name": "DUP2", "source": 0 }, { "begin": 1473, "end": 1500, "name": "SLOAD", "source": 0 }, { "begin": 1473, "end": 1500, "name": "DUP2", "source": 0 }, { "begin": 1473, "end": 1500, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1473, "end": 1500, "name": "MUL", "source": 0 }, { "begin": 1473, "end": 1500, "name": "NOT", "source": 0 }, { "begin": 1473, "end": 1500, "name": "AND", "source": 0 }, { "begin": 1473, "end": 1500, "name": "SWAP1", "source": 0 }, { "begin": 1473, "end": 1500, "name": "DUP4", "source": 0 }, { "begin": 1473, "end": 1500, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1473, "end": 1500, "name": "AND", "source": 0 }, { "begin": 1473, "end": 1500, "name": "MUL", "source": 0 }, { "begin": 1473, "end": 1500, "name": "OR", "source": 0 }, { "begin": 1473, "end": 1500, "name": "SWAP1", "source": 0 }, { "begin": 1473, "end": 1500, "name": "SSTORE", "source": 0 }, { "begin": 1473, "end": 1500, "name": "POP", "source": 0 }, { "begin": 1527, "end": 1536, "name": "CALLVALUE", "source": 0 }, { "begin": 1506, "end": 1517, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1506, "end": 1524, "name": "DUP1", "source": 0 }, { "begin": 1518, "end": 1523, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 1518, "end": 1523, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1518, "end": 1523, "name": "SWAP1", "source": 0 }, { "begin": 1518, "end": 1523, "name": "SLOAD", "source": 0 }, { "begin": 1518, "end": 1523, "name": "SWAP1", "source": 0 }, { "begin": 1518, "end": 1523, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 1518, "end": 1523, "name": "EXP", "source": 0 }, { "begin": 1518, "end": 1523, "name": "SWAP1", "source": 0 }, { "begin": 1518, "end": 1523, "name": "DIV", "source": 0 }, { "begin": 1518, "end": 1523, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1518, "end": 1523, "name": "AND", "source": 0 }, { "begin": 1506, "end": 1524, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1506, "end": 1524, "name": "AND", "source": 0 }, { "begin": 1506, "end": 1524, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1506, "end": 1524, "name": "AND", "source": 0 }, { "begin": 1506, "end": 1524, "name": "DUP2", "source": 0 }, { "begin": 1506, "end": 1524, "name": "MSTORE", "source": 0 }, { "begin": 1506, "end": 1524, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1506, "end": 1524, "name": "ADD", "source": 0 }, { "begin": 1506, "end": 1524, "name": "SWAP1", "source": 0 }, { "begin": 1506, "end": 1524, "name": "DUP2", "source": 0 }, { "begin": 1506, "end": 1524, "name": "MSTORE", "source": 0 }, { "begin": 1506, "end": 1524, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1506, "end": 1524, "name": "ADD", "source": 0 }, { "begin": 1506, "end": 1524, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1506, "end": 1524, "name": "KECCAK256", "source": 0 }, { "begin": 1506, "end": 1536, "name": "DUP2", "source": 0 }, { "begin": 1506, "end": 1536, "name": "SWAP1", "source": 0 }, { "begin": 1506, "end": 1536, "name": "SSTORE", "source": 0 }, { "begin": 1506, "end": 1536, "name": "POP", "source": 0 }, { "begin": 1406, "end": 1541, "jumpType": "[out]", "name": "JUMP", "source": 0 }, { "begin": 1961, "end": 2121, "name": "tag", "source": 0, "value": "12" }, { "begin": 1961, "end": 2121, "name": "JUMPDEST", "source": 0 }, { "begin": 1611, "end": 1616, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 1611, "end": 1616, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1611, "end": 1616, "name": "SWAP1", "source": 0 }, { "begin": 1611, "end": 1616, "name": "SLOAD", "source": 0 }, { "begin": 1611, "end": 1616, "name": "SWAP1", "source": 0 }, { "begin": 1611, "end": 1616, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 1611, "end": 1616, "name": "EXP", "source": 0 }, { "begin": 1611, "end": 1616, "name": "SWAP1", "source": 0 }, { "begin": 1611, "end": 1616, "name": "DIV", "source": 0 }, { "begin": 1611, "end": 1616, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1611, "end": 1616, "name": "AND", "source": 0 }, { "begin": 1597, "end": 1616, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1597, "end": 1616, "name": "AND", "source": 0 }, { "begin": 1597, "end": 1607, "name": "CALLER", "source": 0 }, { "begin": 1597, "end": 1616, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1597, "end": 1616, "name": "AND", "source": 0 }, { "begin": 1597, "end": 1616, "name": "EQ", "source": 0 }, { "begin": 1575, "end": 1667, "name": "PUSH [tag]", "source": 0, "value": "34" }, { "begin": 1575, "end": 1667, "name": "JUMPI", "source": 0 }, { "begin": 1575, "end": 1667, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1575, "end": 1667, "name": "MLOAD", "source": 0 }, { "begin": 1575, "end": 1667, "name": "PUSH", "source": 0, "value": "8C379A000000000000000000000000000000000000000000000000000000000" }, { "begin": 1575, "end": 1667, "name": "DUP2", "source": 0 }, { "begin": 1575, "end": 1667, "name": "MSTORE", "source": 0 }, { "begin": 1575, "end": 1667, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 1575, "end": 1667, "name": "ADD", "source": 0 }, { "begin": 1575, "end": 1667, "name": "PUSH [tag]", "source": 0, "value": "35" }, { "begin": 1575, "end": 1667, "name": "SWAP1", "source": 0 }, { "begin": 1575, "end": 1667, "name": "PUSH [tag]", "source": 0, "value": "36" }, { "begin": 1575, "end": 1667, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { "begin": 1575, "end": 1667, "name": "tag", "source": 0, "value": "35" }, { "begin": 1575, "end": 1667, "name": "JUMPDEST", "source": 0 }, { "begin": 1575, "end": 1667, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1575, "end": 1667, "name": "MLOAD", "source": 0 }, { "begin": 1575, "end": 1667, "name": "DUP1", "source": 0 }, { "begin": 1575, "end": 1667, "name": "SWAP2", "source": 0 }, { "begin": 1575, "end": 1667, "name": "SUB", "source": 0 }, { "begin": 1575, "end": 1667, "name": "SWAP1", "source": 0 }, { "begin": 1575, "end": 1667, "name": "REVERT", "source": 0 }, { "begin": 1575, "end": 1667, "name": "tag", "source": 0, "value": "34" }, { "begin": 1575, "end": 1667, "name": "JUMPDEST", "source": 0 }, { "begin": 2073, "end": 2083, "modifierDepth": 1, "name": "CALLER", "source": 0 }, { "begin": 2065, "end": 2093, "modifierDepth": 1, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2065, "end": 2093, "modifierDepth": 1, "name": "AND", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "PUSH", "source": 0, "value": "8FC" }, { "begin": 2094, "end": 2115, "modifierDepth": 1, "name": "SELFBALANCE", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "SWAP1", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "DUP2", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "ISZERO", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "MUL", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "SWAP1", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "MLOAD", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "MLOAD", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "DUP1", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "DUP4", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "SUB", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "DUP2", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "DUP6", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "DUP9", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "DUP9", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "CALL", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "SWAP4", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "POP", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "POP", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "POP", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "POP", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "ISZERO", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "DUP1", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "ISZERO", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "PUSH [tag]", "source": 0, "value": "39" }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "JUMPI", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "RETURNDATASIZE", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2065, "end": 2116, "name": "DUP1", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "RETURNDATACOPY", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "RETURNDATASIZE", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "REVERT", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "tag", "source": 0, "value": "39" }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "JUMPDEST", "source": 0 }, { "begin": 2065, "end": 2116, "modifierDepth": 1, "name": "POP", "source": 0 }, { "begin": 1961, "end": 2121, "jumpType": "[out]", "name": "JUMP", "source": 0 }, { "begin": 1352, "end": 1380, "name": "tag", "source": 0, "value": "15" }, { "begin": 1352, "end": 1380, "name": "JUMPDEST", "source": 0 }, { "begin": 1352, "end": 1380, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 1352, "end": 1380, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1352, "end": 1380, "name": "SWAP1", "source": 0 }, { "begin": 1352, "end": 1380, "name": "SLOAD", "source": 0 }, { "begin": 1352, "end": 1380, "name": "SWAP1", "source": 0 }, { "begin": 1352, "end": 1380, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 1352, "end": 1380, "name": "EXP", "source": 0 }, { "begin": 1352, "end": 1380, "name": "SWAP1", "source": 0 }, { "begin": 1352, "end": 1380, "name": "DIV", "source": 0 }, { "begin": 1352, "end": 1380, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1352, "end": 1380, "name": "AND", "source": 0 }, { "begin": 1352, "end": 1380, "name": "DUP2", "source": 0 }, { "begin": 1352, "end": 1380, "jumpType": "[out]", "name": "JUMP", "source": 0 }, { "begin": 1805, "end": 1957, "name": "tag", "source": 0, "value": "22" }, { "begin": 1805, "end": 1957, "name": "JUMPDEST", "source": 0 }, { "begin": 1902, "end": 1903, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1877, "end": 1888, "name": "DUP1", "source": 0 }, { "begin": 1877, "end": 1899, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1889, "end": 1898, "name": "DUP4", "source": 0 }, { "begin": 1877, "end": 1899, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1877, "end": 1899, "name": "AND", "source": 0 }, { "begin": 1877, "end": 1899, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1877, "end": 1899, "name": "AND", "source": 0 }, { "begin": 1877, "end": 1899, "name": "DUP2", "source": 0 }, { "begin": 1877, "end": 1899, "name": "MSTORE", "source": 0 }, { "begin": 1877, "end": 1899, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1877, "end": 1899, "name": "ADD", "source": 0 }, { "begin": 1877, "end": 1899, "name": "SWAP1", "source": 0 }, { "begin": 1877, "end": 1899, "name": "DUP2", "source": 0 }, { "begin": 1877, "end": 1899, "name": "MSTORE", "source": 0 }, { "begin": 1877, "end": 1899, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1877, "end": 1899, "name": "ADD", "source": 0 }, { "begin": 1877, "end": 1899, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1877, "end": 1899, "name": "KECCAK256", "source": 0 }, { "begin": 1877, "end": 1899, "name": "SLOAD", "source": 0 }, { "begin": 1877, "end": 1903, "name": "GT", "source": 0 }, { "begin": 1869, "end": 1904, "name": "PUSH [tag]", "source": 0, "value": "41" }, { "begin": 1869, "end": 1904, "name": "JUMPI", "source": 0 }, { "begin": 1869, "end": 1904, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1869, "end": 1904, "name": "DUP1", "source": 0 }, { "begin": 1869, "end": 1904, "name": "REVERT", "source": 0 }, { "begin": 1869, "end": 1904, "name": "tag", "source": 0, "value": "41" }, { "begin": 1869, "end": 1904, "name": "JUMPDEST", "source": 0 }, { "begin": 1910, "end": 1919, "name": "DUP1", "source": 0 }, { "begin": 1910, "end": 1928, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1910, "end": 1928, "name": "AND", "source": 0 }, { "begin": 1910, "end": 1952, "name": "PUSH", "source": 0, "value": "8FC" }, { "begin": 1929, "end": 1940, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1929, "end": 1951, "name": "DUP1", "source": 0 }, { "begin": 1941, "end": 1950, "name": "DUP5", "source": 0 }, { "begin": 1929, "end": 1951, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1929, "end": 1951, "name": "AND", "source": 0 }, { "begin": 1929, "end": 1951, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1929, "end": 1951, "name": "AND", "source": 0 }, { "begin": 1929, "end": 1951, "name": "DUP2", "source": 0 }, { "begin": 1929, "end": 1951, "name": "MSTORE", "source": 0 }, { "begin": 1929, "end": 1951, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1929, "end": 1951, "name": "ADD", "source": 0 }, { "begin": 1929, "end": 1951, "name": "SWAP1", "source": 0 }, { "begin": 1929, "end": 1951, "name": "DUP2", "source": 0 }, { "begin": 1929, "end": 1951, "name": "MSTORE", "source": 0 }, { "begin": 1929, "end": 1951, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1929, "end": 1951, "name": "ADD", "source": 0 }, { "begin": 1929, "end": 1951, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1929, "end": 1951, "name": "KECCAK256", "source": 0 }, { "begin": 1929, "end": 1951, "name": "SLOAD", "source": 0 }, { "begin": 1910, "end": 1952, "name": "SWAP1", "source": 0 }, { "begin": 1910, "end": 1952, "name": "DUP2", "source": 0 }, { "begin": 1910, "end": 1952, "name": "ISZERO", "source": 0 }, { "begin": 1910, "end": 1952, "name": "MUL", "source": 0 }, { "begin": 1910, "end": 1952, "name": "SWAP1", "source": 0 }, { "begin": 1910, "end": 1952, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1910, "end": 1952, "name": "MLOAD", "source": 0 }, { "begin": 1910, "end": 1952, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1910, "end": 1952, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1910, "end": 1952, "name": "MLOAD", "source": 0 }, { "begin": 1910, "end": 1952, "name": "DUP1", "source": 0 }, { "begin": 1910, "end": 1952, "name": "DUP4", "source": 0 }, { "begin": 1910, "end": 1952, "name": "SUB", "source": 0 }, { "begin": 1910, "end": 1952, "name": "DUP2", "source": 0 }, { "begin": 1910, "end": 1952, "name": "DUP6", "source": 0 }, { "begin": 1910, "end": 1952, "name": "DUP9", "source": 0 }, { "begin": 1910, "end": 1952, "name": "DUP9", "source": 0 }, { "begin": 1910, "end": 1952, "name": "CALL", "source": 0 }, { "begin": 1910, "end": 1952, "name": "SWAP4", "source": 0 }, { "begin": 1910, "end": 1952, "name": "POP", "source": 0 }, { "begin": 1910, "end": 1952, "name": "POP", "source": 0 }, { "begin": 1910, "end": 1952, "name": "POP", "source": 0 }, { "begin": 1910, "end": 1952, "name": "POP", "source": 0 }, { "begin": 1910, "end": 1952, "name": "ISZERO", "source": 0 }, { "begin": 1910, "end": 1952, "name": "DUP1", "source": 0 }, { "begin": 1910, "end": 1952, "name": "ISZERO", "source": 0 }, { "begin": 1910, "end": 1952, "name": "PUSH [tag]", "source": 0, "value": "43" }, { "begin": 1910, "end": 1952, "name": "JUMPI", "source": 0 }, { "begin": 1910, "end": 1952, "name": "RETURNDATASIZE", "source": 0 }, { "begin": 1910, "end": 1952, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1910, "end": 1952, "name": "DUP1", "source": 0 }, { "begin": 1910, "end": 1952, "name": "RETURNDATACOPY", "source": 0 }, { "begin": 1910, "end": 1952, "name": "RETURNDATASIZE", "source": 0 }, { "begin": 1910, "end": 1952, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1910, "end": 1952, "name": "REVERT", "source": 0 }, { "begin": 1910, "end": 1952, "name": "tag", "source": 0, "value": "43" }, { "begin": 1910, "end": 1952, "name": "JUMPDEST", "source": 0 }, { "begin": 1910, "end": 1952, "name": "POP", "source": 0 }, { "begin": 1805, "end": 1957, "name": "POP", "source": 0 }, { "begin": 1805, "end": 1957, "jumpType": "[out]", "name": "JUMP", "source": 0 }, { "begin": 1691, "end": 1801, "name": "tag", "source": 0, "value": "24" }, { "begin": 1691, "end": 1801, "name": "JUMPDEST", "source": 0 }, { "begin": 1758, "end": 1796, "name": "PUSH [tag]", "source": 0, "value": "45" }, { "begin": 1786, "end": 1795, "name": "CALLVALUE", "source": 0 }, { "begin": 1758, "end": 1769, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1758, "end": 1781, "name": "DUP1", "source": 0 }, { "begin": 1770, "end": 1780, "name": "CALLER", "source": 0 }, { "begin": 1758, "end": 1781, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1758, "end": 1781, "name": "AND", "source": 0 }, { "begin": 1758, "end": 1781, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1758, "end": 1781, "name": "AND", "source": 0 }, { "begin": 1758, "end": 1781, "name": "DUP2", "source": 0 }, { "begin": 1758, "end": 1781, "name": "MSTORE", "source": 0 }, { "begin": 1758, "end": 1781, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1758, "end": 1781, "name": "ADD", "source": 0 }, { "begin": 1758, "end": 1781, "name": "SWAP1", "source": 0 }, { "begin": 1758, "end": 1781, "name": "DUP2", "source": 0 }, { "begin": 1758, "end": 1781, "name": "MSTORE", "source": 0 }, { "begin": 1758, "end": 1781, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1758, "end": 1781, "name": "ADD", "source": 0 }, { "begin": 1758, "end": 1781, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1758, "end": 1781, "name": "KECCAK256", "source": 0 }, { "begin": 1758, "end": 1781, "name": "SLOAD", "source": 0 }, { "begin": 1758, "end": 1785, "name": "PUSH [tag]", "source": 0, "value": "46" }, { "begin": 1758, "end": 1785, "name": "SWAP1", "source": 0 }, { "begin": 1758, "end": 1796, "name": "SWAP2", "source": 0 }, { "begin": 1758, "end": 1796, "name": "SWAP1", "source": 0 }, { "begin": 1758, "end": 1796, "name": "PUSH", "source": 0, "value": "FFFFFFFF" }, { "begin": 1758, "end": 1796, "name": "AND", "source": 0 }, { "begin": 1758, "end": 1796, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { "begin": 1758, "end": 1796, "name": "tag", "source": 0, "value": "45" }, { "begin": 1758, "end": 1796, "name": "JUMPDEST", "source": 0 }, { "begin": 1732, "end": 1743, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1732, "end": 1755, "name": "DUP1", "source": 0 }, { "begin": 1744, "end": 1754, "name": "CALLER", "source": 0 }, { "begin": 1732, "end": 1755, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1732, "end": 1755, "name": "AND", "source": 0 }, { "begin": 1732, "end": 1755, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1732, "end": 1755, "name": "AND", "source": 0 }, { "begin": 1732, "end": 1755, "name": "DUP2", "source": 0 }, { "begin": 1732, "end": 1755, "name": "MSTORE", "source": 0 }, { "begin": 1732, "end": 1755, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1732, "end": 1755, "name": "ADD", "source": 0 }, { "begin": 1732, "end": 1755, "name": "SWAP1", "source": 0 }, { "begin": 1732, "end": 1755, "name": "DUP2", "source": 0 }, { "begin": 1732, "end": 1755, "name": "MSTORE", "source": 0 }, { "begin": 1732, "end": 1755, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1732, "end": 1755, "name": "ADD", "source": 0 }, { "begin": 1732, "end": 1755, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1732, "end": 1755, "name": "KECCAK256", "source": 0 }, { "begin": 1732, "end": 1796, "name": "DUP2", "source": 0 }, { "begin": 1732, "end": 1796, "name": "SWAP1", "source": 0 }, { "begin": 1732, "end": 1796, "name": "SSTORE", "source": 0 }, { "begin": 1732, "end": 1796, "name": "POP", "source": 0 }, { "begin": 1691, "end": 1801, "jumpType": "[out]", "name": "JUMP", "source": 0 }, { "begin": 2125, "end": 2237, "name": "tag", "source": 0, "value": "29" }, { "begin": 2125, "end": 2237, "name": "JUMPDEST", "source": 0 }, { "begin": 2191, "end": 2195, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2210, "end": 2221, "name": "DUP1", "source": 0 }, { "begin": 2210, "end": 2232, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2222, "end": 2231, "name": "DUP4", "source": 0 }, { "begin": 2210, "end": 2232, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2210, "end": 2232, "name": "AND", "source": 0 }, { "begin": 2210, "end": 2232, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2210, "end": 2232, "name": "AND", "source": 0 }, { "begin": 2210, "end": 2232, "name": "DUP2", "source": 0 }, { "begin": 2210, "end": 2232, "name": "MSTORE", "source": 0 }, { "begin": 2210, "end": 2232, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2210, "end": 2232, "name": "ADD", "source": 0 }, { "begin": 2210, "end": 2232, "name": "SWAP1", "source": 0 }, { "begin": 2210, "end": 2232, "name": "DUP2", "source": 0 }, { "begin": 2210, "end": 2232, "name": "MSTORE", "source": 0 }, { "begin": 2210, "end": 2232, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2210, "end": 2232, "name": "ADD", "source": 0 }, { "begin": 2210, "end": 2232, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2210, "end": 2232, "name": "KECCAK256", "source": 0 }, { "begin": 2210, "end": 2232, "name": "SLOAD", "source": 0 }, { "begin": 2203, "end": 2232, "name": "SWAP1", "source": 0 }, { "begin": 2203, "end": 2232, "name": "POP", "source": 0 }, { "begin": 2125, "end": 2237, "name": "SWAP2", "source": 0 }, { "begin": 2125, "end": 2237, "name": "SWAP1", "source": 0 }, { "begin": 2125, "end": 2237, "name": "POP", "source": 0 }, { "begin": 2125, "end": 2237, "jumpType": "[out]", "name": "JUMP", "source": 0 }, { "begin": 1130, "end": 1253, "name": "tag", "source": 0, "value": "46" }, { "begin": 1130, "end": 1253, "name": "JUMPDEST", "source": 0 }, { "begin": 1188, "end": 1197, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1213, "end": 1214, "name": "DUP2", "source": 0 }, { "begin": 1209, "end": 1210, "name": "DUP4", "source": 0 }, { "begin": 1209, "end": 1214, "name": "PUSH [tag]", "source": 0, "value": "49" }, { "begin": 1209, "end": 1214, "name": "SWAP2", "source": 0 }, { "begin": 1209, "end": 1214, "name": "SWAP1", "source": 0 }, { "begin": 1209, "end": 1214, "name": "PUSH [tag]", "source": 0, "value": "50" }, { "begin": 1209, "end": 1214, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { "begin": 1209, "end": 1214, "name": "tag", "source": 0, "value": "49" }, { "begin": 1209, "end": 1214, "name": "JUMPDEST", "source": 0 }, { "begin": 1205, "end": 1214, "name": "SWAP1", "source": 0 }, { "begin": 1205, "end": 1214, "name": "POP", "source": 0 }, { "begin": 1232, "end": 1233, "name": "DUP3", "source": 0 }, { "begin": 1227, "end": 1228, "name": "DUP2", "source": 0 }, { "begin": 1227, "end": 1233, "name": "LT", "source": 0 }, { "begin": 1227, "end": 1233, "name": "ISZERO", "source": 0 }, { "begin": 1220, "end": 1234, "name": "PUSH [tag]", "source": 0, "value": "51" }, { "begin": 1220, "end": 1234, "name": "JUMPI", "source": 0 }, { "begin": 1220, "end": 1234, "name": "PUSH [tag]", "source": 0, "value": "52" }, { "begin": 1220, "end": 1234, "name": "PUSH [tag]", "source": 0, "value": "53" }, { "begin": 1220, "end": 1234, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { "begin": 1220, "end": 1234, "name": "tag", "source": 0, "value": "52" }, { "begin": 1220, "end": 1234, "name": "JUMPDEST", "source": 0 }, { "begin": 1220, "end": 1234, "name": "tag", "source": 0, "value": "51" }, { "begin": 1220, "end": 1234, "name": "JUMPDEST", "source": 0 }, { "begin": 1130, "end": 1253, "name": "SWAP3", "source": 0 }, { "begin": 1130, "end": 1253, "name": "SWAP2", "source": 0 }, { "begin": 1130, "end": 1253, "name": "POP", "source": 0 }, { "begin": 1130, "end": 1253, "name": "POP", "source": 0 }, { "begin": 1130, "end": 1253, "jumpType": "[out]", "name": "JUMP", "source": 0 }, { "begin": 7, "end": 133, "name": "tag", "source": 1, "value": "54" }, { "begin": 7, "end": 133, "name": "JUMPDEST", "source": 1 }, { "begin": 44, "end": 51, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 84, "end": 126, "name": "PUSH", "source": 1, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 77, "end": 82, "name": "DUP3", "source": 1 }, { "begin": 73, "end": 127, "name": "AND", "source": 1 }, { "begin": 62, "end": 127, "name": "SWAP1", "source": 1 }, { "begin": 62, "end": 127, "name": "POP", "source": 1 }, { "begin": 7, "end": 133, "name": "SWAP2", "source": 1 }, { "begin": 7, "end": 133, "name": "SWAP1", "source": 1 }, { "begin": 7, "end": 133, "name": "POP", "source": 1 }, { "begin": 7, "end": 133, "jumpType": "[out]", "name": "JUMP", "source": 1 }, { "begin": 139, "end": 243, "name": "tag", "source": 1, "value": "55" }, { "begin": 139, "end": 243, "name": "JUMPDEST", "source": 1 }, { "begin": 184, "end": 191, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 213, "end": 237, "name": "PUSH [tag]", "source": 1, "value": "74" }, { "begin": 231, "end": 236, "name": "DUP3", "source": 1 }, { "begin": 213, "end": 237, "name": "PUSH [tag]", "source": 1, "value": "54" }, { "begin": 213, "end": 237, "jumpType": "[in]", "name": "JUMP", "source": 1 }, { "begin": 213, "end": 237, "name": "tag", "source": 1, "value": "74" }, { "begin": 213, "end": 237, "name": "JUMPDEST", "source": 1 }, { "begin": 202, "end": 237, "name": "SWAP1", "source": 1 }, { "begin": 202, "end": 237, "name": "POP", "source": 1 }, { "begin": 139, "end": 243, "name": "SWAP2", "source": 1 }, { "begin": 139, "end": 243, "name": "SWAP1", "source": 1 }, { "begin": 139, "end": 243, "name": "POP", "source": 1 }, { "begin": 139, "end": 243, "jumpType": "[out]", "name": "JUMP", "source": 1 }, { "begin": 249, "end": 391, "name": "tag", "source": 1, "value": "56" }, { "begin": 249, "end": 391, "name": "JUMPDEST", "source": 1 }, { "begin": 352, "end": 384, "name": "PUSH [tag]", "source": 1, "value": "76" }, { "begin": 378, "end": 383, "name": "DUP2", "source": 1 }, { "begin": 352, "end": 384, "name": "PUSH [tag]", "source": 1, "value": "55" }, { "begin": 352, "end": 384, "jumpType": "[in]", "name": "JUMP", "source": 1 }, { "begin": 352, "end": 384, "name": "tag", "source": 1, "value": "76" }, { "begin": 352, "end": 384, "name": "JUMPDEST", "source": 1 }, { "begin": 347, "end": 350, "name": "DUP3", "source": 1 }, { "begin": 340, "end": 385, "name": "MSTORE", "source": 1 }, { "begin": 249, "end": 391, "name": "POP", "source": 1 }, { "begin": 249, "end": 391, "name": "POP", "source": 1 }, { "begin": 249, "end": 391, "jumpType": "[out]", "name": "JUMP", "source": 1 }, { "begin": 397, "end": 651, "name": "tag", "source": 1, "value": "17" }, { "begin": 397, "end": 651, "name": "JUMPDEST", "source": 1 }, { "begin": 506, "end": 510, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 544, "end": 546, "name": "PUSH", "source": 1, "value": "20" }, { "begin": 533, "end": 542, "name": "DUP3", "source": 1 }, { "begin": 529, "end": 547, "name": "ADD", "source": 1 }, { "begin": 521, "end": 547, "name": "SWAP1", "source": 1 }, { "begin": 521, "end": 547, "name": "POP", "source": 1 }, { "begin": 557, "end": 644, "name": "PUSH [tag]", "source": 1, "value": "78" }, { "begin": 641, "end": 642, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 630, "end": 639, "name": "DUP4", "source": 1 }, { "begin": 626, "end": 643, "name": "ADD", "source": 1 }, { "begin": 617, "end": 623, "name": "DUP5", "source": 1 }, { "begin": 557, "end": 644, "name": "PUSH [tag]", "source": 1, "value": "56" }, { "begin": 557, "end": 644, "jumpType": "[in]", "name": "JUMP", "source": 1 }, { "begin": 557, "end": 644, "name": "tag", "source": 1, "value": "78" }, { "begin": 557, "end": 644, "name": "JUMPDEST", "source": 1 }, { "begin": 397, "end": 651, "name": "SWAP3", "source": 1 }, { "begin": 397, "end": 651, "name": "SWAP2", "source": 1 }, { "begin": 397, "end": 651, "name": "POP", "source": 1 }, { "begin": 397, "end": 651, "name": "POP", "source": 1 }, { "begin": 397, "end": 651, "jumpType": "[out]", "name": "JUMP", "source": 1 }, { "begin": 738, "end": 855, "name": "tag", "source": 1, "value": "58" }, { "begin": 738, "end": 855, "name": "JUMPDEST", "source": 1 }, { "begin": 847, "end": 848, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 844, "end": 845, "name": "DUP1", "source": 1 }, { "begin": 837, "end": 849, "name": "REVERT", "source": 1 }, { "begin": 984, "end": 1122, "name": "tag", "source": 1, "value": "60" }, { "begin": 984, "end": 1122, "name": "JUMPDEST", "source": 1 }, { "begin": 1065, "end": 1097, "name": "PUSH [tag]", "source": 1, "value": "83" }, { "begin": 1091, "end": 1096, "name": "DUP2", "source": 1 }, { "begin": 1065, "end": 1097, "name": "PUSH [tag]", "source": 1, "value": "55" }, { "begin": 1065, "end": 1097, "jumpType": "[in]", "name": "JUMP", "source": 1 }, { "begin": 1065, "end": 1097, "name": "tag", "source": 1, "value": "83" }, { "begin": 1065, "end": 1097, "name": "JUMPDEST", "source": 1 }, { "begin": 1058, "end": 1063, "name": "DUP2", "source": 1 }, { "begin": 1055, "end": 1098, "name": "EQ", "source": 1 }, { "begin": 1045, "end": 1116, "name": "PUSH [tag]", "source": 1, "value": "84" }, { "begin": 1045, "end": 1116, "name": "JUMPI", "source": 1 }, { "begin": 1112, "end": 1113, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 1109, "end": 1110, "name": "DUP1", "source": 1 }, { "begin": 1102, "end": 1114, "name": "REVERT", "source": 1 }, { "begin": 1045, "end": 1116, "name": "tag", "source": 1, "value": "84" }, { "begin": 1045, "end": 1116, "name": "JUMPDEST", "source": 1 }, { "begin": 984, "end": 1122, "name": "POP", "source": 1 }, { "begin": 984, "end": 1122, "jumpType": "[out]", "name": "JUMP", "source": 1 }, { "begin": 1128, "end": 1283, "name": "tag", "source": 1, "value": "61" }, { "begin": 1128, "end": 1283, "name": "JUMPDEST", "source": 1 }, { "begin": 1182, "end": 1187, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 1220, "end": 1226, "name": "DUP2", "source": 1 }, { "begin": 1207, "end": 1227, "name": "CALLDATALOAD", "source": 1 }, { "begin": 1198, "end": 1227, "name": "SWAP1", "source": 1 }, { "begin": 1198, "end": 1227, "name": "POP", "source": 1 }, { "begin": 1236, "end": 1277, "name": "PUSH [tag]", "source": 1, "value": "86" }, { "begin": 1271, "end": 1276, "name": "DUP2", "source": 1 }, { "begin": 1236, "end": 1277, "name": "PUSH [tag]", "source": 1, "value": "60" }, { "begin": 1236, "end": 1277, "jumpType": "[in]", "name": "JUMP", "source": 1 }, { "begin": 1236, "end": 1277, "name": "tag", "source": 1, "value": "86" }, { "begin": 1236, "end": 1277, "name": "JUMPDEST", "source": 1 }, { "begin": 1128, "end": 1283, "name": "SWAP3", "source": 1 }, { "begin": 1128, "end": 1283, "name": "SWAP2", "source": 1 }, { "begin": 1128, "end": 1283, "name": "POP", "source": 1 }, { "begin": 1128, "end": 1283, "name": "POP", "source": 1 }, { "begin": 1128, "end": 1283, "jumpType": "[out]", "name": "JUMP", "source": 1 }, { "begin": 1289, "end": 1634, "name": "tag", "source": 1, "value": "21" }, { "begin": 1289, "end": 1634, "name": "JUMPDEST", "source": 1 }, { "begin": 1356, "end": 1362, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 1405, "end": 1407, "name": "PUSH", "source": 1, "value": "20" }, { "begin": 1393, "end": 1402, "name": "DUP3", "source": 1 }, { "begin": 1384, "end": 1391, "name": "DUP5", "source": 1 }, { "begin": 1380, "end": 1403, "name": "SUB", "source": 1 }, { "begin": 1376, "end": 1408, "name": "SLT", "source": 1 }, { "begin": 1373, "end": 1492, "name": "ISZERO", "source": 1 }, { "begin": 1373, "end": 1492, "name": "PUSH [tag]", "source": 1, "value": "88" }, { "begin": 1373, "end": 1492, "name": "JUMPI", "source": 1 }, { "begin": 1411, "end": 1490, "name": "PUSH [tag]", "source": 1, "value": "89" }, { "begin": 1411, "end": 1490, "name": "PUSH [tag]", "source": 1, "value": "58" }, { "begin": 1411, "end": 1490, "jumpType": "[in]", "name": "JUMP", "source": 1 }, { "begin": 1411, "end": 1490, "name": "tag", "source": 1, "value": "89" }, { "begin": 1411, "end": 1490, "name": "JUMPDEST", "source": 1 }, { "begin": 1373, "end": 1492, "name": "tag", "source": 1, "value": "88" }, { "begin": 1373, "end": 1492, "name": "JUMPDEST", "source": 1 }, { "begin": 1531, "end": 1532, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 1556, "end": 1617, "name": "PUSH [tag]", "source": 1, "value": "90" }, { "begin": 1609, "end": 1616, "name": "DUP5", "source": 1 }, { "begin": 1600, "end": 1606, "name": "DUP3", "source": 1 }, { "begin": 1589, "end": 1598, "name": "DUP6", "source": 1 }, { "begin": 1585, "end": 1607, "name": "ADD", "source": 1 }, { "begin": 1556, "end": 1617, "name": "PUSH [tag]", "source": 1, "value": "61" }, { "begin": 1556, "end": 1617, "jumpType": "[in]", "name": "JUMP", "source": 1 }, { "begin": 1556, "end": 1617, "name": "tag", "source": 1, "value": "90" }, { "begin": 1556, "end": 1617, "name": "JUMPDEST", "source": 1 }, { "begin": 1546, "end": 1617, "name": "SWAP2", "source": 1 }, { "begin": 1546, "end": 1617, "name": "POP", "source": 1 }, { "begin": 1502, "end": 1627, "name": "POP", "source": 1 }, { "begin": 1289, "end": 1634, "name": "SWAP3", "source": 1 }, { "begin": 1289, "end": 1634, "name": "SWAP2", "source": 1 }, { "begin": 1289, "end": 1634, "name": "POP", "source": 1 }, { "begin": 1289, "end": 1634, "name": "POP", "source": 1 }, { "begin": 1289, "end": 1634, "jumpType": "[out]", "name": "JUMP", "source": 1 }, { "begin": 1640, "end": 1736, "name": "tag", "source": 1, "value": "62" }, { "begin": 1640, "end": 1736, "name": "JUMPDEST", "source": 1 }, { "begin": 1677, "end": 1684, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 1706, "end": 1730, "name": "PUSH [tag]", "source": 1, "value": "92" }, { "begin": 1724, "end": 1729, "name": "DUP3", "source": 1 }, { "begin": 1706, "end": 1730, "name": "PUSH [tag]", "source": 1, "value": "54" }, { "begin": 1706, "end": 1730, "jumpType": "[in]", "name": "JUMP", "source": 1 }, { "begin": 1706, "end": 1730, "name": "tag", "source": 1, "value": "92" }, { "begin": 1706, "end": 1730, "name": "JUMPDEST", "source": 1 }, { "begin": 1695, "end": 1730, "name": "SWAP1", "source": 1 }, { "begin": 1695, "end": 1730, "name": "POP", "source": 1 }, { "begin": 1640, "end": 1736, "name": "SWAP2", "source": 1 }, { "begin": 1640, "end": 1736, "name": "SWAP1", "source": 1 }, { "begin": 1640, "end": 1736, "name": "POP", "source": 1 }, { "begin": 1640, "end": 1736, "jumpType": "[out]", "name": "JUMP", "source": 1 }, { "begin": 1742, "end": 1864, "name": "tag", "source": 1, "value": "63" }, { "begin": 1742, "end": 1864, "name": "JUMPDEST", "source": 1 }, { "begin": 1815, "end": 1839, "name": "PUSH [tag]", "source": 1, "value": "94" }, { "begin": 1833, "end": 1838, "name": "DUP2", "source": 1 }, { "begin": 1815, "end": 1839, "name": "PUSH [tag]", "source": 1, "value": "62" }, { "begin": 1815, "end": 1839, "jumpType": "[in]", "name": "JUMP", "source": 1 }, { "begin": 1815, "end": 1839, "name": "tag", "source": 1, "value": "94" }, { "begin": 1815, "end": 1839, "name": "JUMPDEST", "source": 1 }, { "begin": 1808, "end": 1813, "name": "DUP2", "source": 1 }, { "begin": 1805, "end": 1840, "name": "EQ", "source": 1 }, { "begin": 1795, "end": 1858, "name": "PUSH [tag]", "source": 1, "value": "95" }, { "begin": 1795, "end": 1858, "name": "JUMPI", "source": 1 }, { "begin": 1854, "end": 1855, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 1851, "end": 1852, "name": "DUP1", "source": 1 }, { "begin": 1844, "end": 1856, "name": "REVERT", "source": 1 }, { "begin": 1795, "end": 1858, "name": "tag", "source": 1, "value": "95" }, { "begin": 1795, "end": 1858, "name": "JUMPDEST", "source": 1 }, { "begin": 1742, "end": 1864, "name": "POP", "source": 1 }, { "begin": 1742, "end": 1864, "jumpType": "[out]", "name": "JUMP", "source": 1 }, { "begin": 1870, "end": 2009, "name": "tag", "source": 1, "value": "64" }, { "begin": 1870, "end": 2009, "name": "JUMPDEST", "source": 1 }, { "begin": 1916, "end": 1921, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 1954, "end": 1960, "name": "DUP2", "source": 1 }, { "begin": 1941, "end": 1961, "name": "CALLDATALOAD", "source": 1 }, { "begin": 1932, "end": 1961, "name": "SWAP1", "source": 1 }, { "begin": 1932, "end": 1961, "name": "POP", "source": 1 }, { "begin": 1970, "end": 2003, "name": "PUSH [tag]", "source": 1, "value": "97" }, { "begin": 1997, "end": 2002, "name": "DUP2", "source": 1 }, { "begin": 1970, "end": 2003, "name": "PUSH [tag]", "source": 1, "value": "63" }, { "begin": 1970, "end": 2003, "jumpType": "[in]", "name": "JUMP", "source": 1 }, { "begin": 1970, "end": 2003, "name": "tag", "source": 1, "value": "97" }, { "begin": 1970, "end": 2003, "name": "JUMPDEST", "source": 1 }, { "begin": 1870, "end": 2009, "name": "SWAP3", "source": 1 }, { "begin": 1870, "end": 2009, "name": "SWAP2", "source": 1 }, { "begin": 1870, "end": 2009, "name": "POP", "source": 1 }, { "begin": 1870, "end": 2009, "name": "POP", "source": 1 }, { "begin": 1870, "end": 2009, "jumpType": "[out]", "name": "JUMP", "source": 1 }, { "begin": 2015, "end": 2344, "name": "tag", "source": 1, "value": "28" }, { "begin": 2015, "end": 2344, "name": "JUMPDEST", "source": 1 }, { "begin": 2074, "end": 2080, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 2123, "end": 2125, "name": "PUSH", "source": 1, "value": "20" }, { "begin": 2111, "end": 2120, "name": "DUP3", "source": 1 }, { "begin": 2102, "end": 2109, "name": "DUP5", "source": 1 }, { "begin": 2098, "end": 2121, "name": "SUB", "source": 1 }, { "begin": 2094, "end": 2126, "name": "SLT", "source": 1 }, { "begin": 2091, "end": 2210, "name": "ISZERO", "source": 1 }, { "begin": 2091, "end": 2210, "name": "PUSH [tag]", "source": 1, "value": "99" }, { "begin": 2091, "end": 2210, "name": "JUMPI", "source": 1 }, { "begin": 2129, "end": 2208, "name": "PUSH [tag]", "source": 1, "value": "100" }, { "begin": 2129, "end": 2208, "name": "PUSH [tag]", "source": 1, "value": "58" }, { "begin": 2129, "end": 2208, "jumpType": "[in]", "name": "JUMP", "source": 1 }, { "begin": 2129, "end": 2208, "name": "tag", "source": 1, "value": "100" }, { "begin": 2129, "end": 2208, "name": "JUMPDEST", "source": 1 }, { "begin": 2091, "end": 2210, "name": "tag", "source": 1, "value": "99" }, { "begin": 2091, "end": 2210, "name": "JUMPDEST", "source": 1 }, { "begin": 2249, "end": 2250, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 2274, "end": 2327, "name": "PUSH [tag]", "source": 1, "value": "101" }, { "begin": 2319, "end": 2326, "name": "DUP5", "source": 1 }, { "begin": 2310, "end": 2316, "name": "DUP3", "source": 1 }, { "begin": 2299, "end": 2308, "name": "DUP6", "source": 1 }, { "begin": 2295, "end": 2317, "name": "ADD", "source": 1 }, { "begin": 2274, "end": 2327, "name": "PUSH [tag]", "source": 1, "value": "64" }, { "begin": 2274, "end": 2327, "jumpType": "[in]", "name": "JUMP", "source": 1 }, { "begin": 2274, "end": 2327, "name": "tag", "source": 1, "value": "101" }, { "begin": 2274, "end": 2327, "name": "JUMPDEST", "source": 1 }, { "begin": 2264, "end": 2327, "name": "SWAP2", "source": 1 }, { "begin": 2264, "end": 2327, "name": "POP", "source": 1 }, { "begin": 2220, "end": 2337, "name": "POP", "source": 1 }, { "begin": 2015, "end": 2344, "name": "SWAP3", "source": 1 }, { "begin": 2015, "end": 2344, "name": "SWAP2", "source": 1 }, { "begin": 2015, "end": 2344, "name": "POP", "source": 1 }, { "begin": 2015, "end": 2344, "name": "POP", "source": 1 }, { "begin": 2015, "end": 2344, "jumpType": "[out]", "name": "JUMP", "source": 1 }, { "begin": 2350, "end": 2427, "name": "tag", "source": 1, "value": "65" }, { "begin": 2350, "end": 2427, "name": "JUMPDEST", "source": 1 }, { "begin": 2387, "end": 2394, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 2416, "end": 2421, "name": "DUP2", "source": 1 }, { "begin": 2405, "end": 2421, "name": "SWAP1", "source": 1 }, { "begin": 2405, "end": 2421, "name": "POP", "source": 1 }, { "begin": 2350, "end": 2427, "name": "SWAP2", "source": 1 }, { "begin": 2350, "end": 2427, "name": "SWAP1", "source": 1 }, { "begin": 2350, "end": 2427, "name": "POP", "source": 1 }, { "begin": 2350, "end": 2427, "jumpType": "[out]", "name": "JUMP", "source": 1 }, { "begin": 2433, "end": 2551, "name": "tag", "source": 1, "value": "66" }, { "begin": 2433, "end": 2551, "name": "JUMPDEST", "source": 1 }, { "begin": 2520, "end": 2544, "name": "PUSH [tag]", "source": 1, "value": "104" }, { "begin": 2538, "end": 2543, "name": "DUP2", "source": 1 }, { "begin": 2520, "end": 2544, "name": "PUSH [tag]", "source": 1, "value": "65" }, { "begin": 2520, "end": 2544, "jumpType": "[in]", "name": "JUMP", "source": 1 }, { "begin": 2520, "end": 2544, "name": "tag", "source": 1, "value": "104" }, { "begin": 2520, "end": 2544, "name": "JUMPDEST", "source": 1 }, { "begin": 2515, "end": 2518, "name": "DUP3", "source": 1 }, { "begin": 2508, "end": 2545, "name": "MSTORE", "source": 1 }, { "begin": 2433, "end": 2551, "name": "POP", "source": 1 }, { "begin": 2433, "end": 2551, "name": "POP", "source": 1 }, { "begin": 2433, "end": 2551, "jumpType": "[out]", "name": "JUMP", "source": 1 }, { "begin": 2557, "end": 2779, "name": "tag", "source": 1, "value": "31" }, { "begin": 2557, "end": 2779, "name": "JUMPDEST", "source": 1 }, { "begin": 2650, "end": 2654, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 2688, "end": 2690, "name": "PUSH", "source": 1, "value": "20" }, { "begin": 2677, "end": 2686, "name": "DUP3", "source": 1 }, { "begin": 2673, "end": 2691, "name": "ADD", "source": 1 }, { "begin": 2665, "end": 2691, "name": "SWAP1", "source": 1 }, { "begin": 2665, "end": 2691, "name": "POP", "source": 1 }, { "begin": 2701, "end": 2772, "name": "PUSH [tag]", "source": 1, "value": "106" }, { "begin": 2769, "end": 2770, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 2758, "end": 2767, "name": "DUP4", "source": 1 }, { "begin": 2754, "end": 2771, "name": "ADD", "source": 1 }, { "begin": 2745, "end": 2751, "name": "DUP5", "source": 1 }, { "begin": 2701, "end": 2772, "name": "PUSH [tag]", "source": 1, "value": "66" }, { "begin": 2701, "end": 2772, "jumpType": "[in]", "name": "JUMP", "source": 1 }, { "begin": 2701, "end": 2772, "name": "tag", "source": 1, "value": "106" }, { "begin": 2701, "end": 2772, "name": "JUMPDEST", "source": 1 }, { "begin": 2557, "end": 2779, "name": "SWAP3", "source": 1 }, { "begin": 2557, "end": 2779, "name": "SWAP2", "source": 1 }, { "begin": 2557, "end": 2779, "name": "POP", "source": 1 }, { "begin": 2557, "end": 2779, "name": "POP", "source": 1 }, { "begin": 2557, "end": 2779, "jumpType": "[out]", "name": "JUMP", "source": 1 }, { "begin": 2785, "end": 2954, "name": "tag", "source": 1, "value": "67" }, { "begin": 2785, "end": 2954, "name": "JUMPDEST", "source": 1 }, { "begin": 2869, "end": 2880, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 2903, "end": 2909, "name": "DUP3", "source": 1 }, { "begin": 2898, "end": 2901, "name": "DUP3", "source": 1 }, { "begin": 2891, "end": 2910, "name": "MSTORE", "source": 1 }, { "begin": 2943, "end": 2947, "name": "PUSH", "source": 1, "value": "20" }, { "begin": 2938, "end": 2941, "name": "DUP3", "source": 1 }, { "begin": 2934, "end": 2948, "name": "ADD", "source": 1 }, { "begin": 2919, "end": 2948, "name": "SWAP1", "source": 1 }, { "begin": 2919, "end": 2948, "name": "POP", "source": 1 }, { "begin": 2785, "end": 2954, "name": "SWAP3", "source": 1 }, { "begin": 2785, "end": 2954, "name": "SWAP2", "source": 1 }, { "begin": 2785, "end": 2954, "name": "POP", "source": 1 }, { "begin": 2785, "end": 2954, "name": "POP", "source": 1 }, { "begin": 2785, "end": 2954, "jumpType": "[out]", "name": "JUMP", "source": 1 }, { "begin": 2960, "end": 3133, "name": "tag", "source": 1, "value": "68" }, { "begin": 2960, "end": 3133, "name": "JUMPDEST", "source": 1 }, { "begin": 3100, "end": 3125, "name": "PUSH", "source": 1, "value": "63616C6C6572206973206E6F7420746865206F776E6572000000000000000000" }, { "begin": 3096, "end": 3097, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 3088, "end": 3094, "name": "DUP3", "source": 1 }, { "begin": 3084, "end": 3098, "name": "ADD", "source": 1 }, { "begin": 3077, "end": 3126, "name": "MSTORE", "source": 1 }, { "begin": 2960, "end": 3133, "name": "POP", "source": 1 }, { "begin": 2960, "end": 3133, "jumpType": "[out]", "name": "JUMP", "source": 1 }, { "begin": 3139, "end": 3505, "name": "tag", "source": 1, "value": "69" }, { "begin": 3139, "end": 3505, "name": "JUMPDEST", "source": 1 }, { "begin": 3281, "end": 3284, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 3302, "end": 3369, "name": "PUSH [tag]", "source": 1, "value": "110" }, { "begin": 3366, "end": 3368, "name": "PUSH", "source": 1, "value": "17" }, { "begin": 3361, "end": 3364, "name": "DUP4", "source": 1 }, { "begin": 3302, "end": 3369, "name": "PUSH [tag]", "source": 1, "value": "67" }, { "begin": 3302, "end": 3369, "jumpType": "[in]", "name": "JUMP", "source": 1 }, { "begin": 3302, "end": 3369, "name": "tag", "source": 1, "value": "110" }, { "begin": 3302, "end": 3369, "name": "JUMPDEST", "source": 1 }, { "begin": 3295, "end": 3369, "name": "SWAP2", "source": 1 }, { "begin": 3295, "end": 3369, "name": "POP", "source": 1 }, { "begin": 3378, "end": 3471, "name": "PUSH [tag]", "source": 1, "value": "111" }, { "begin": 3467, "end": 3470, "name": "DUP3", "source": 1 }, { "begin": 3378, "end": 3471, "name": "PUSH [tag]", "source": 1, "value": "68" }, { "begin": 3378, "end": 3471, "jumpType": "[in]", "name": "JUMP", "source": 1 }, { "begin": 3378, "end": 3471, "name": "tag", "source": 1, "value": "111" }, { "begin": 3378, "end": 3471, "name": "JUMPDEST", "source": 1 }, { "begin": 3496, "end": 3498, "name": "PUSH", "source": 1, "value": "20" }, { "begin": 3491, "end": 3494, "name": "DUP3", "source": 1 }, { "begin": 3487, "end": 3499, "name": "ADD", "source": 1 }, { "begin": 3480, "end": 3499, "name": "SWAP1", "source": 1 }, { "begin": 3480, "end": 3499, "name": "POP", "source": 1 }, { "begin": 3139, "end": 3505, "name": "SWAP2", "source": 1 }, { "begin": 3139, "end": 3505, "name": "SWAP1", "source": 1 }, { "begin": 3139, "end": 3505, "name": "POP", "source": 1 }, { "begin": 3139, "end": 3505, "jumpType": "[out]", "name": "JUMP", "source": 1 }, { "begin": 3511, "end": 3930, "name": "tag", "source": 1, "value": "36" }, { "begin": 3511, "end": 3930, "name": "JUMPDEST", "source": 1 }, { "begin": 3677, "end": 3681, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 3715, "end": 3717, "name": "PUSH", "source": 1, "value": "20" }, { "begin": 3704, "end": 3713, "name": "DUP3", "source": 1 }, { "begin": 3700, "end": 3718, "name": "ADD", "source": 1 }, { "begin": 3692, "end": 3718, "name": "SWAP1", "source": 1 }, { "begin": 3692, "end": 3718, "name": "POP", "source": 1 }, { "begin": 3764, "end": 3773, "name": "DUP2", "source": 1 }, { "begin": 3758, "end": 3762, "name": "DUP2", "source": 1 }, { "begin": 3754, "end": 3774, "name": "SUB", "source": 1 }, { "begin": 3750, "end": 3751, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 3739, "end": 3748, "name": "DUP4", "source": 1 }, { "begin": 3735, "end": 3752, "name": "ADD", "source": 1 }, { "begin": 3728, "end": 3775, "name": "MSTORE", "source": 1 }, { "begin": 3792, "end": 3923, "name": "PUSH [tag]", "source": 1, "value": "113" }, { "begin": 3918, "end": 3922, "name": "DUP2", "source": 1 }, { "begin": 3792, "end": 3923, "name": "PUSH [tag]", "source": 1, "value": "69" }, { "begin": 3792, "end": 3923, "jumpType": "[in]", "name": "JUMP", "source": 1 }, { "begin": 3792, "end": 3923, "name": "tag", "source": 1, "value": "113" }, { "begin": 3792, "end": 3923, "name": "JUMPDEST", "source": 1 }, { "begin": 3784, "end": 3923, "name": "SWAP1", "source": 1 }, { "begin": 3784, "end": 3923, "name": "POP", "source": 1 }, { "begin": 3511, "end": 3930, "name": "SWAP2", "source": 1 }, { "begin": 3511, "end": 3930, "name": "SWAP1", "source": 1 }, { "begin": 3511, "end": 3930, "name": "POP", "source": 1 }, { "begin": 3511, "end": 3930, "jumpType": "[out]", "name": "JUMP", "source": 1 }, { "begin": 3936, "end": 4116, "name": "tag", "source": 1, "value": "70" }, { "begin": 3936, "end": 4116, "name": "JUMPDEST", "source": 1 }, { "begin": 3984, "end": 4061, "name": "PUSH", "source": 1, "value": "4E487B7100000000000000000000000000000000000000000000000000000000" }, { "begin": 3981, "end": 3982, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 3974, "end": 4062, "name": "MSTORE", "source": 1 }, { "begin": 4081, "end": 4085, "name": "PUSH", "source": 1, "value": "11" }, { "begin": 4078, "end": 4079, "name": "PUSH", "source": 1, "value": "4" }, { "begin": 4071, "end": 4086, "name": "MSTORE", "source": 1 }, { "begin": 4105, "end": 4109, "name": "PUSH", "source": 1, "value": "24" }, { "begin": 4102, "end": 4103, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 4095, "end": 4110, "name": "REVERT", "source": 1 }, { "begin": 4122, "end": 4313, "name": "tag", "source": 1, "value": "50" }, { "begin": 4122, "end": 4313, "name": "JUMPDEST", "source": 1 }, { "begin": 4162, "end": 4165, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 4181, "end": 4201, "name": "PUSH [tag]", "source": 1, "value": "116" }, { "begin": 4199, "end": 4200, "name": "DUP3", "source": 1 }, { "begin": 4181, "end": 4201, "name": "PUSH [tag]", "source": 1, "value": "65" }, { "begin": 4181, "end": 4201, "jumpType": "[in]", "name": "JUMP", "source": 1 }, { "begin": 4181, "end": 4201, "name": "tag", "source": 1, "value": "116" }, { "begin": 4181, "end": 4201, "name": "JUMPDEST", "source": 1 }, { "begin": 4176, "end": 4201, "name": "SWAP2", "source": 1 }, { "begin": 4176, "end": 4201, "name": "POP", "source": 1 }, { "begin": 4215, "end": 4235, "name": "PUSH [tag]", "source": 1, "value": "117" }, { "begin": 4233, "end": 4234, "name": "DUP4", "source": 1 }, { "begin": 4215, "end": 4235, "name": "PUSH [tag]", "source": 1, "value": "65" }, { "begin": 4215, "end": 4235, "jumpType": "[in]", "name": "JUMP", "source": 1 }, { "begin": 4215, "end": 4235, "name": "tag", "source": 1, "value": "117" }, { "begin": 4215, "end": 4235, "name": "JUMPDEST", "source": 1 }, { "begin": 4210, "end": 4235, "name": "SWAP3", "source": 1 }, { "begin": 4210, "end": 4235, "name": "POP", "source": 1 }, { "begin": 4258, "end": 4259, "name": "DUP3", "source": 1 }, { "begin": 4255, "end": 4256, "name": "DUP3", "source": 1 }, { "begin": 4251, "end": 4260, "name": "ADD", "source": 1 }, { "begin": 4244, "end": 4260, "name": "SWAP1", "source": 1 }, { "begin": 4244, "end": 4260, "name": "POP", "source": 1 }, { "begin": 4279, "end": 4282, "name": "DUP1", "source": 1 }, { "begin": 4276, "end": 4277, "name": "DUP3", "source": 1 }, { "begin": 4273, "end": 4283, "name": "GT", "source": 1 }, { "begin": 4270, "end": 4306, "name": "ISZERO", "source": 1 }, { "begin": 4270, "end": 4306, "name": "PUSH [tag]", "source": 1, "value": "118" }, { "begin": 4270, "end": 4306, "name": "JUMPI", "source": 1 }, { "begin": 4286, "end": 4304, "name": "PUSH [tag]", "source": 1, "value": "119" }, { "begin": 4286, "end": 4304, "name": "PUSH [tag]", "source": 1, "value": "70" }, { "begin": 4286, "end": 4304, "jumpType": "[in]", "name": "JUMP", "source": 1 }, { "begin": 4286, "end": 4304, "name": "tag", "source": 1, "value": "119" }, { "begin": 4286, "end": 4304, "name": "JUMPDEST", "source": 1 }, { "begin": 4270, "end": 4306, "name": "tag", "source": 1, "value": "118" }, { "begin": 4270, "end": 4306, "name": "JUMPDEST", "source": 1 }, { "begin": 4122, "end": 4313, "name": "SWAP3", "source": 1 }, { "begin": 4122, "end": 4313, "name": "SWAP2", "source": 1 }, { "begin": 4122, "end": 4313, "name": "POP", "source": 1 }, { "begin": 4122, "end": 4313, "name": "POP", "source": 1 }, { "begin": 4122, "end": 4313, "jumpType": "[out]", "name": "JUMP", "source": 1 }, { "begin": 4319, "end": 4499, "name": "tag", "source": 1, "value": "53" }, { "begin": 4319, "end": 4499, "name": "JUMPDEST", "source": 1 }, { "begin": 4367, "end": 4444, "name": "PUSH", "source": 1, "value": "4E487B7100000000000000000000000000000000000000000000000000000000" }, { "begin": 4364, "end": 4365, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 4357, "end": 4445, "name": "MSTORE", "source": 1 }, { "begin": 4464, "end": 4468, "name": "PUSH", "source": 1, "value": "1" }, { "begin": 4461, "end": 4462, "name": "PUSH", "source": 1, "value": "4" }, { "begin": 4454, "end": 4469, "name": "MSTORE", "source": 1 }, { "begin": 4488, "end": 4492, "name": "PUSH", "source": 1, "value": "24" }, { "begin": 4485, "end": 4486, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 4478, "end": 4493, "name": "REVERT", "source": 1 } ] } }, "sourceList": [ "contracts/ethernaut/fallout.sol", "#utility.yul" ] }, "methodIdentifiers": { "Fal1out()": "6fab5ddf", "allocate()": "abaa9916", "allocatorBalance(address)": "ffd40b56", "collectAllocations()": "8aa96f38", "owner()": "8da5cb5b", "sendAllocation(address)": "a2dea26f" } }, "metadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Fal1out\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"allocator\",\"type\":\"address\"}],\"name\":\"allocatorBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collectAllocations\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"allocator\",\"type\":\"address\"}],\"name\":\"sendAllocation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/ethernaut/fallout.sol\":\"Fallout\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/ethernaut/fallout.sol\":{\"keccak256\":\"0xbf92c7464b7474306756bc0e733523a37e9c6fb1aae441efef8eee7a5f4a0aad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://43f684b27151db139802ffd51ad44042bcb8a42f69a18866d79443220d325301\",\"dweb:/ipfs/QmWGobJbwrjm6FX8SxuxmJNgtzx5RqxfzfMogWQDGBjQUE\"]}},\"version\":1}", "storageLayout": { "storage": [ { "astId": 105, "contract": "contracts/ethernaut/fallout.sol:Fallout", "label": "allocations", "offset": 0, "slot": "0", "type": "t_mapping(t_address,t_uint256)" }, { "astId": 107, "contract": "contracts/ethernaut/fallout.sol:Fallout", "label": "owner", "offset": 0, "slot": "1", "type": "t_address_payable" } ], "types": { "t_address": { "encoding": "inplace", "label": "address", "numberOfBytes": "20" }, "t_address_payable": { "encoding": "inplace", "label": "address payable", "numberOfBytes": "20" }, "t_mapping(t_address,t_uint256)": { "encoding": "mapping", "key": "t_address", "label": "mapping(address => uint256)", "numberOfBytes": "32", "value": "t_uint256" }, "t_uint256": { "encoding": "inplace", "label": "uint256", "numberOfBytes": "32" } } }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "SafeMath": { "abi": [], "devdoc": { "details": "Math operations with safety checks that throw on error", "kind": "dev", "methods": {}, "title": "SafeMath", "version": 1 }, "evm": { "assembly": " /* \"contracts/ethernaut/fallout.sol\":239:1255 library SafeMath {... */\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 /* \"contracts/ethernaut/fallout.sol\":239:1255 library SafeMath {... */\n eq(address, deployTimeAddress())\n mstore(0x40, 0x80)\n 0x00\n dup1\n revert\n\n auxdata: 0xa2646970667358221220c5121d88e63a33ab0c540201ce7c2796e37be8d0dcffb9c90b6bba7af1f6bc2c64736f6c63430008140033\n}\n", "bytecode": { "functionDebugData": {}, "generatedSources": [], "linkReferences": {}, "object": "6055604b600b8282823980515f1a607314603f577f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220c5121d88e63a33ab0c540201ce7c2796e37be8d0dcffb9c90b6bba7af1f6bc2c64736f6c63430008140033", "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 0xC5 SLT SAR DUP9 0xE6 GASPRICE CALLER 0xAB 0xC SLOAD MUL ADD 0xCE PUSH29 0x2796E37BE8D0DCFFB9C90B6BBA7AF1F6BC2C64736F6C63430008140033 ", "sourceMap": "239:1016:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": {}, "generatedSources": [], "immutableReferences": {}, "linkReferences": {}, "object": "730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220c5121d88e63a33ab0c540201ce7c2796e37be8d0dcffb9c90b6bba7af1f6bc2c64736f6c63430008140033", "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC5 SLT SAR DUP9 0xE6 GASPRICE CALLER 0xAB 0xC SLOAD MUL ADD 0xCE PUSH29 0x2796E37BE8D0DCFFB9C90B6BBA7AF1F6BC2C64736F6C63430008140033 ", "sourceMap": "239:1016:0:-:0;;;;;;;;" }, "gasEstimates": { "creation": { "codeDepositCost": "17000", "executionCost": "92", "totalCost": "17092" }, "internal": { "add(uint256,uint256)": "infinite", "div(uint256,uint256)": "infinite", "mul(uint256,uint256)": "infinite", "sub(uint256,uint256)": "infinite" } }, "legacyAssembly": { ".code": [ { "begin": 239, "end": 1255, "name": "PUSH #[$]", "source": 0, "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { "begin": 239, "end": 1255, "name": "PUSH [$]", "source": 0, "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { "begin": 239, "end": 1255, "name": "PUSH", "source": 0, "value": "B" }, { "begin": 239, "end": 1255, "name": "DUP3", "source": 0 }, { "begin": 239, "end": 1255, "name": "DUP3", "source": 0 }, { "begin": 239, "end": 1255, "name": "DUP3", "source": 0 }, { "begin": 239, "end": 1255, "name": "CODECOPY", "source": 0 }, { "begin": 239, "end": 1255, "name": "DUP1", "source": 0 }, { "begin": 239, "end": 1255, "name": "MLOAD", "source": 0 }, { "begin": 239, "end": 1255, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 239, "end": 1255, "name": "BYTE", "source": 0 }, { "begin": 239, "end": 1255, "name": "PUSH", "source": 0, "value": "73" }, { "begin": 239, "end": 1255, "name": "EQ", "source": 0 }, { "begin": 239, "end": 1255, "name": "PUSH [tag]", "source": 0, "value": "1" }, { "begin": 239, "end": 1255, "name": "JUMPI", "source": 0 }, { "begin": 239, "end": 1255, "name": "PUSH", "source": 0, "value": "4E487B7100000000000000000000000000000000000000000000000000000000" }, { "begin": 239, "end": 1255, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 239, "end": 1255, "name": "MSTORE", "source": 0 }, { "begin": 239, "end": 1255, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 239, "end": 1255, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 239, "end": 1255, "name": "MSTORE", "source": 0 }, { "begin": 239, "end": 1255, "name": "PUSH", "source": 0, "value": "24" }, { "begin": 239, "end": 1255, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 239, "end": 1255, "name": "REVERT", "source": 0 }, { "begin": 239, "end": 1255, "name": "tag", "source": 0, "value": "1" }, { "begin": 239, "end": 1255, "name": "JUMPDEST", "source": 0 }, { "begin": 239, "end": 1255, "name": "ADDRESS", "source": 0 }, { "begin": 239, "end": 1255, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 239, "end": 1255, "name": "MSTORE", "source": 0 }, { "begin": 239, "end": 1255, "name": "PUSH", "source": 0, "value": "73" }, { "begin": 239, "end": 1255, "name": "DUP2", "source": 0 }, { "begin": 239, "end": 1255, "name": "MSTORE8", "source": 0 }, { "begin": 239, "end": 1255, "name": "DUP3", "source": 0 }, { "begin": 239, "end": 1255, "name": "DUP2", "source": 0 }, { "begin": 239, "end": 1255, "name": "RETURN", "source": 0 } ], ".data": { "0": { ".auxdata": "a2646970667358221220c5121d88e63a33ab0c540201ce7c2796e37be8d0dcffb9c90b6bba7af1f6bc2c64736f6c63430008140033", ".code": [ { "begin": 239, "end": 1255, "name": "PUSHDEPLOYADDRESS", "source": 0 }, { "begin": 239, "end": 1255, "name": "ADDRESS", "source": 0 }, { "begin": 239, "end": 1255, "name": "EQ", "source": 0 }, { "begin": 239, "end": 1255, "name": "PUSH", "source": 0, "value": "80" }, { "begin": 239, "end": 1255, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 239, "end": 1255, "name": "MSTORE", "source": 0 }, { "begin": 239, "end": 1255, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 239, "end": 1255, "name": "DUP1", "source": 0 }, { "begin": 239, "end": 1255, "name": "REVERT", "source": 0 } ] } }, "sourceList": [ "contracts/ethernaut/fallout.sol", "#utility.yul" ] }, "methodIdentifiers": {} }, "metadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Math operations with safety checks that throw on error\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SafeMath\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/ethernaut/fallout.sol\":\"SafeMath\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/ethernaut/fallout.sol\":{\"keccak256\":\"0xbf92c7464b7474306756bc0e733523a37e9c6fb1aae441efef8eee7a5f4a0aad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://43f684b27151db139802ffd51ad44042bcb8a42f69a18866d79443220d325301\",\"dweb:/ipfs/QmWGobJbwrjm6FX8SxuxmJNgtzx5RqxfzfMogWQDGBjQUE\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } } } }, "sources": { "contracts/ethernaut/fallout.sol": { "ast": { "absolutePath": "contracts/ethernaut/fallout.sol", "exportedSymbols": { "Fallout": [ 210 ], "SafeMath": [ 98 ] }, "id": 211, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 1, "literals": [ "solidity", ">=", "0.7", ".0", "<", "0.9", ".0" ], "nodeType": "PragmaDirective", "src": "59:31:0" }, { "abstract": false, "baseContracts": [], "canonicalName": "SafeMath", "contractDependencies": [], "contractKind": "library", "documentation": { "id": 2, "nodeType": "StructuredDocumentation", "src": "149:89:0", "text": " @title SafeMath\n @dev Math operations with safety checks that throw on error" }, "fullyImplemented": true, "id": 98, "linearizedBaseContracts": [ 98 ], "name": "SafeMath", "nameLocation": "247:8:0", "nodeType": "ContractDefinition", "nodes": [ { "body": { "id": 35, "nodeType": "Block", "src": "394:98:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 14, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 12, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "404:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "30", "id": 13, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "409:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "404:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 18, "nodeType": "IfStatement", "src": "400:35:0", "trueBody": { "id": 17, "nodeType": "Block", "src": "412:23:0", "statements": [ { "expression": { "hexValue": "30", "id": 15, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "427:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "functionReturnParameters": 11, "id": 16, "nodeType": "Return", "src": "420:8:0" } ] } }, { "expression": { "id": 23, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 19, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10, "src": "440:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 22, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 20, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "444:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "id": 21, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7, "src": "448:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "444:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "440:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 24, "nodeType": "ExpressionStatement", "src": "440:9:0" }, { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 30, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 28, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 26, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10, "src": "462:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { "id": 27, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "466:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "462:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "id": 29, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7, "src": "471:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "462:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 25, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967293, "src": "455:6:0", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 31, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "455:18:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 32, "nodeType": "ExpressionStatement", "src": "455:18:0" }, { "expression": { "id": 33, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10, "src": "486:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 11, "id": 34, "nodeType": "Return", "src": "479:8:0" } ] }, "documentation": { "id": 3, "nodeType": "StructuredDocumentation", "src": "261:61:0", "text": " @dev Multiplies two numbers, throws on overflow." }, "id": 36, "implemented": true, "kind": "function", "modifiers": [], "name": "mul", "nameLocation": "334:3:0", "nodeType": "FunctionDefinition", "parameters": { "id": 8, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 5, "mutability": "mutable", "name": "a", "nameLocation": "346:1:0", "nodeType": "VariableDeclaration", "scope": 36, "src": "338:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 4, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "338:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 7, "mutability": "mutable", "name": "b", "nameLocation": "357:1:0", "nodeType": "VariableDeclaration", "scope": 36, "src": "349:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 6, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "349:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "337:22:0" }, "returnParameters": { "id": 11, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 10, "mutability": "mutable", "name": "c", "nameLocation": "391:1:0", "nodeType": "VariableDeclaration", "scope": 36, "src": "383:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 9, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "383:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "382:11:0" }, "scope": 98, "src": "325:167:0", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 50, "nodeType": "Block", "src": "641:205:0", "statements": [ { "expression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 48, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 46, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 39, "src": "836:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { "id": 47, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 41, "src": "840:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "836:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 45, "id": 49, "nodeType": "Return", "src": "829:12:0" } ] }, "documentation": { "id": 37, "nodeType": "StructuredDocumentation", "src": "496:75:0", "text": " @dev Integer division of two numbers, truncating the quotient." }, "id": 51, "implemented": true, "kind": "function", "modifiers": [], "name": "div", "nameLocation": "583:3:0", "nodeType": "FunctionDefinition", "parameters": { "id": 42, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 39, "mutability": "mutable", "name": "a", "nameLocation": "595:1:0", "nodeType": "VariableDeclaration", "scope": 51, "src": "587:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 38, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "587:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 41, "mutability": "mutable", "name": "b", "nameLocation": "606:1:0", "nodeType": "VariableDeclaration", "scope": 51, "src": "598:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 40, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "598:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "586:22:0" }, "returnParameters": { "id": 45, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 44, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 51, "src": "632:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 43, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "632:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "631:9:0" }, "scope": 98, "src": "574:272:0", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 71, "nodeType": "Block", "src": "1025:43:0", "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 64, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 62, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 56, "src": "1038:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "id": 63, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 54, "src": "1043:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1038:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 61, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967293, "src": "1031:6:0", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 65, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1031:14:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 66, "nodeType": "ExpressionStatement", "src": "1031:14:0" }, { "expression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 69, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 67, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 54, "src": "1058:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "id": 68, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 56, "src": "1062:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1058:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 60, "id": 70, "nodeType": "Return", "src": "1051:12:0" } ] }, "documentation": { "id": 52, "nodeType": "StructuredDocumentation", "src": "850:105:0", "text": " @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend)." }, "id": 72, "implemented": true, "kind": "function", "modifiers": [], "name": "sub", "nameLocation": "967:3:0", "nodeType": "FunctionDefinition", "parameters": { "id": 57, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 54, "mutability": "mutable", "name": "a", "nameLocation": "979:1:0", "nodeType": "VariableDeclaration", "scope": 72, "src": "971:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 53, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "971:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 56, "mutability": "mutable", "name": "b", "nameLocation": "990:1:0", "nodeType": "VariableDeclaration", "scope": 72, "src": "982:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 55, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "982:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "970:22:0" }, "returnParameters": { "id": 60, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 59, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 72, "src": "1016:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 58, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1016:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1015:9:0" }, "scope": 98, "src": "958:110:0", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 96, "nodeType": "Block", "src": "1199:54:0", "statements": [ { "expression": { "id": 86, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 82, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 80, "src": "1205:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 85, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 83, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, "src": "1209:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "id": 84, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, "src": "1213:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1209:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1205:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 87, "nodeType": "ExpressionStatement", "src": "1205:9:0" }, { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 91, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 89, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 80, "src": "1227:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "id": 90, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, "src": "1232:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1227:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 88, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967293, "src": "1220:6:0", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 92, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1220:14:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 93, "nodeType": "ExpressionStatement", "src": "1220:14:0" }, { "expression": { "id": 94, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 80, "src": "1247:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 81, "id": 95, "nodeType": "Return", "src": "1240:8:0" } ] }, "documentation": { "id": 73, "nodeType": "StructuredDocumentation", "src": "1072:55:0", "text": " @dev Adds two numbers, throws on overflow." }, "id": 97, "implemented": true, "kind": "function", "modifiers": [], "name": "add", "nameLocation": "1139:3:0", "nodeType": "FunctionDefinition", "parameters": { "id": 78, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 75, "mutability": "mutable", "name": "a", "nameLocation": "1151:1:0", "nodeType": "VariableDeclaration", "scope": 97, "src": "1143:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 74, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1143:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 77, "mutability": "mutable", "name": "b", "nameLocation": "1162:1:0", "nodeType": "VariableDeclaration", "scope": 97, "src": "1154:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 76, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1154:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1142:22:0" }, "returnParameters": { "id": 81, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 80, "mutability": "mutable", "name": "c", "nameLocation": "1196:1:0", "nodeType": "VariableDeclaration", "scope": 97, "src": "1188:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 79, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1188:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1187:11:0" }, "scope": 98, "src": "1130:123:0", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], "scope": 211, "src": "239:1016:0", "usedErrors": [], "usedEvents": [] }, { "abstract": false, "baseContracts": [], "canonicalName": "Fallout", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, "id": 210, "linearizedBaseContracts": [ 210 ], "name": "Fallout", "nameLocation": "1266:7:0", "nodeType": "ContractDefinition", "nodes": [ { "global": false, "id": 101, "libraryName": { "id": 99, "name": "SafeMath", "nameLocations": [ "1287:8:0" ], "nodeType": "IdentifierPath", "referencedDeclaration": 98, "src": "1287:8:0" }, "nodeType": "UsingForDirective", "src": "1281:27:0", "typeName": { "id": 100, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1300:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, { "constant": false, "id": 105, "mutability": "mutable", "name": "allocations", "nameLocation": "1337:11:0", "nodeType": "VariableDeclaration", "scope": 210, "src": "1311:37:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "typeName": { "id": 104, "keyName": "", "keyNameLocation": "-1:-1:-1", "keyType": { "id": 102, "name": "address", "nodeType": "ElementaryTypeName", "src": "1320:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "1311:25:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { "id": 103, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1331:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, "visibility": "internal" }, { "constant": false, "functionSelector": "8da5cb5b", "id": 107, "mutability": "mutable", "name": "owner", "nameLocation": "1375:5:0", "nodeType": "VariableDeclaration", "scope": 210, "src": "1352:28:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" }, "typeName": { "id": 106, "name": "address", "nodeType": "ElementaryTypeName", "src": "1352:15:0", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "visibility": "public" }, { "body": { "id": 125, "nodeType": "Block", "src": "1440:101:0", "statements": [ { "expression": { "id": 116, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 110, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 107, "src": "1473:5:0", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "arguments": [ { "expression": { "id": 113, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "1489:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 114, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1493:6:0", "memberName": "sender", "nodeType": "MemberAccess", "src": "1489:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 112, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1481:8:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_payable_$", "typeString": "type(address payable)" }, "typeName": { "id": 111, "name": "address", "nodeType": "ElementaryTypeName", "src": "1481:8:0", "stateMutability": "payable", "typeDescriptions": {} } }, "id": 115, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1481:19:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "src": "1473:27:0", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "id": 117, "nodeType": "ExpressionStatement", "src": "1473:27:0" }, { "expression": { "id": 123, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "id": 118, "name": "allocations", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 105, "src": "1506:11:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 120, "indexExpression": { "id": 119, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 107, "src": "1518:5:0", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "1506:18:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "expression": { "id": 121, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "1527:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 122, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1531:5:0", "memberName": "value", "nodeType": "MemberAccess", "src": "1527:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1506:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 124, "nodeType": "ExpressionStatement", "src": "1506:30:0" } ] }, "functionSelector": "6fab5ddf", "id": 126, "implemented": true, "kind": "function", "modifiers": [], "name": "Fal1out", "nameLocation": "1415:7:0", "nodeType": "FunctionDefinition", "parameters": { "id": 108, "nodeType": "ParameterList", "parameters": [], "src": "1422:2:0" }, "returnParameters": { "id": 109, "nodeType": "ParameterList", "parameters": [], "src": "1440:0:0" }, "scope": 210, "src": "1406:135:0", "stateMutability": "payable", "virtual": false, "visibility": "public" }, { "body": { "id": 137, "nodeType": "Block", "src": "1564:123:0", "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 132, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 129, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "1597:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 130, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1601:6:0", "memberName": "sender", "nodeType": "MemberAccess", "src": "1597:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "id": 131, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 107, "src": "1611:5:0", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "src": "1597:19:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "63616c6c6572206973206e6f7420746865206f776e6572", "id": 133, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1631:25:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_98821890c044d63947a93cf48b7df1f5a42f89e719dd7abbb581002b013b02f4", "typeString": "literal_string \"caller is not the owner\"" }, "value": "caller is not the owner" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_98821890c044d63947a93cf48b7df1f5a42f89e719dd7abbb581002b013b02f4", "typeString": "literal_string \"caller is not the owner\"" } ], "id": 128, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4294967278, 4294967278 ], "referencedDeclaration": 4294967278, "src": "1575:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 134, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1575:92:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 135, "nodeType": "ExpressionStatement", "src": "1575:92:0" }, { "id": 136, "nodeType": "PlaceholderStatement", "src": "1678:1:0" } ] }, "id": 138, "name": "onlyOwner", "nameLocation": "1554:9:0", "nodeType": "ModifierDefinition", "parameters": { "id": 127, "nodeType": "ParameterList", "parameters": [], "src": "1564:0:0" }, "src": "1545:142:0", "virtual": false, "visibility": "internal" }, { "body": { "id": 155, "nodeType": "Block", "src": "1726:75:0", "statements": [ { "expression": { "id": 153, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "id": 141, "name": "allocations", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 105, "src": "1732:11:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 144, "indexExpression": { "expression": { "id": 142, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "1744:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 143, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1748:6:0", "memberName": "sender", "nodeType": "MemberAccess", "src": "1744:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "1732:23:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "arguments": [ { "expression": { "id": 150, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "1786:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 151, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1790:5:0", "memberName": "value", "nodeType": "MemberAccess", "src": "1786:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "baseExpression": { "id": 145, "name": "allocations", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 105, "src": "1758:11:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 148, "indexExpression": { "expression": { "id": 146, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "1770:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 147, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1774:6:0", "memberName": "sender", "nodeType": "MemberAccess", "src": "1770:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1758:23:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 149, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1782:3:0", "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 97, "src": "1758:27:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 152, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1758:38:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1732:64:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 154, "nodeType": "ExpressionStatement", "src": "1732:64:0" } ] }, "functionSelector": "abaa9916", "id": 156, "implemented": true, "kind": "function", "modifiers": [], "name": "allocate", "nameLocation": "1700:8:0", "nodeType": "FunctionDefinition", "parameters": { "id": 139, "nodeType": "ParameterList", "parameters": [], "src": "1708:2:0" }, "returnParameters": { "id": 140, "nodeType": "ParameterList", "parameters": [], "src": "1726:0:0" }, "scope": 210, "src": "1691:110:0", "stateMutability": "payable", "virtual": false, "visibility": "public" }, { "body": { "id": 177, "nodeType": "Block", "src": "1863:94:0", "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 166, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { "id": 162, "name": "allocations", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 105, "src": "1877:11:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 164, "indexExpression": { "id": 163, "name": "allocator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 158, "src": "1889:9:0", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1877:22:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "hexValue": "30", "id": 165, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1902:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "1877:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 161, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4294967278, 4294967278 ], "referencedDeclaration": 4294967278, "src": "1869:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 167, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1869:35:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 168, "nodeType": "ExpressionStatement", "src": "1869:35:0" }, { "expression": { "arguments": [ { "baseExpression": { "id": 172, "name": "allocations", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 105, "src": "1929:11:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 174, "indexExpression": { "id": 173, "name": "allocator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 158, "src": "1941:9:0", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1929:22:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "id": 169, "name": "allocator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 158, "src": "1910:9:0", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "id": 171, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1920:8:0", "memberName": "transfer", "nodeType": "MemberAccess", "src": "1910:18:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, "id": 175, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1910:42:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 176, "nodeType": "ExpressionStatement", "src": "1910:42:0" } ] }, "functionSelector": "a2dea26f", "id": 178, "implemented": true, "kind": "function", "modifiers": [], "name": "sendAllocation", "nameLocation": "1814:14:0", "nodeType": "FunctionDefinition", "parameters": { "id": 159, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 158, "mutability": "mutable", "name": "allocator", "nameLocation": "1845:9:0", "nodeType": "VariableDeclaration", "scope": 178, "src": "1829:25:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" }, "typeName": { "id": 157, "name": "address", "nodeType": "ElementaryTypeName", "src": "1829:15:0", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "visibility": "internal" } ], "src": "1828:27:0" }, "returnParameters": { "id": 160, "nodeType": "ParameterList", "parameters": [], "src": "1863:0:0" }, "scope": 210, "src": "1805:152:0", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 196, "nodeType": "Block", "src": "2008:113:0", "statements": [ { "expression": { "arguments": [ { "expression": { "arguments": [ { "id": 191, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967268, "src": "2102:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Fallout_$210", "typeString": "contract Fallout" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_contract$_Fallout_$210", "typeString": "contract Fallout" } ], "id": 190, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2094:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 189, "name": "address", "nodeType": "ElementaryTypeName", "src": "2094:7:0", "typeDescriptions": {} } }, "id": 192, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2094:13:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 193, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "2108:7:0", "memberName": "balance", "nodeType": "MemberAccess", "src": "2094:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "arguments": [ { "expression": { "id": 185, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "2073:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 186, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "2077:6:0", "memberName": "sender", "nodeType": "MemberAccess", "src": "2073:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 184, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2065:8:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_payable_$", "typeString": "type(address payable)" }, "typeName": { "id": 183, "name": "address", "nodeType": "ElementaryTypeName", "src": "2065:8:0", "stateMutability": "payable", "typeDescriptions": {} } }, "id": 187, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2065:19:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "id": 188, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "2085:8:0", "memberName": "transfer", "nodeType": "MemberAccess", "src": "2065:28:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, "id": 194, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2065:51:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 195, "nodeType": "ExpressionStatement", "src": "2065:51:0" } ] }, "functionSelector": "8aa96f38", "id": 197, "implemented": true, "kind": "function", "modifiers": [ { "id": 181, "kind": "modifierInvocation", "modifierName": { "id": 180, "name": "onlyOwner", "nameLocations": [ "1998:9:0" ], "nodeType": "IdentifierPath", "referencedDeclaration": 138, "src": "1998:9:0" }, "nodeType": "ModifierInvocation", "src": "1998:9:0" } ], "name": "collectAllocations", "nameLocation": "1970:18:0", "nodeType": "FunctionDefinition", "parameters": { "id": 179, "nodeType": "ParameterList", "parameters": [], "src": "1988:2:0" }, "returnParameters": { "id": 182, "nodeType": "ParameterList", "parameters": [], "src": "2008:0:0" }, "scope": 210, "src": "1961:160:0", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 208, "nodeType": "Block", "src": "2197:40:0", "statements": [ { "expression": { "baseExpression": { "id": 204, "name": "allocations", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 105, "src": "2210:11:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 206, "indexExpression": { "id": 205, "name": "allocator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 199, "src": "2222:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2210:22:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 203, "id": 207, "nodeType": "Return", "src": "2203:29:0" } ] }, "functionSelector": "ffd40b56", "id": 209, "implemented": true, "kind": "function", "modifiers": [], "name": "allocatorBalance", "nameLocation": "2134:16:0", "nodeType": "FunctionDefinition", "parameters": { "id": 200, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 199, "mutability": "mutable", "name": "allocator", "nameLocation": "2159:9:0", "nodeType": "VariableDeclaration", "scope": 209, "src": "2151:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 198, "name": "address", "nodeType": "ElementaryTypeName", "src": "2151:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "2150:19:0" }, "returnParameters": { "id": 203, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 202, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 209, "src": "2191:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 201, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2191:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "2190:6:0" }, "scope": 210, "src": "2125:112:0", "stateMutability": "view", "virtual": false, "visibility": "public" } ], "scope": 211, "src": "1257:982:0", "usedErrors": [], "usedEvents": [] } ], "src": "59:2180:0" }, "id": 0 } } } }