Skip to content

Instantly share code, notes, and snippets.

@jrihan
Created August 9, 2022 23:19
Show Gist options
  • Save jrihan/6a19780f45d5b085b8695791a5b20e82 to your computer and use it in GitHub Desktop.
Save jrihan/6a19780f45d5b085b8695791a5b20e82 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.7+commit.e28d00a7.js&optimize=false&runs=200&gist=
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"görli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052601960005534801561001557600080fd5b50610385806100256000396000f3fe60806040526004361061001e5760003560e01c806398d049be14610023575b600080fd5b61003d60048036038101906100389190610172565b610053565b60405161004a9190610238565b60405180910390f35b606060005434101561009a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610091906102a6565b60405180910390fd5b60026000808282546100ac91906102f5565b9250508190555060058211156100f9576040518060400160405280601281526020017f45206d61696f72207175652063696e636f2100000000000000000000000000008152509050610132565b6040518060400160405280601981526020017f45206d656e6f72206f7520696775616c20612063696e636f210000000000000081525090505b919050565b600080fd5b6000819050919050565b61014f8161013c565b811461015a57600080fd5b50565b60008135905061016c81610146565b92915050565b60006020828403121561018857610187610137565b5b60006101968482850161015d565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156101d95780820151818401526020810190506101be565b838111156101e8576000848401525b50505050565b6000601f19601f8301169050919050565b600061020a8261019f565b61021481856101aa565b93506102248185602086016101bb565b61022d816101ee565b840191505092915050565b6000602082019050818103600083015261025281846101ff565b905092915050565b7f496e73756666696369656e74204554482073656e742e00000000000000000000600082015250565b60006102906016836101aa565b915061029b8261025a565b602082019050919050565b600060208201905081810360008301526102bf81610283565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006103008261013c565b915061030b8361013c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610344576103436102c6565b5b82820290509291505056fea2646970667358221220d6a33456f7855264531ca43767f0c359a1d21dbeb3b929b05042ea29b84912b864736f6c634300080e0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x19 PUSH1 0x0 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x385 DUP1 PUSH2 0x25 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x1E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x98D049BE EQ PUSH2 0x23 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x38 SWAP2 SWAP1 PUSH2 0x172 JUMP JUMPDEST PUSH2 0x53 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4A SWAP2 SWAP1 PUSH2 0x238 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x0 SLOAD CALLVALUE LT ISZERO PUSH2 0x9A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x91 SWAP1 PUSH2 0x2A6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0xAC SWAP2 SWAP1 PUSH2 0x2F5 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x5 DUP3 GT ISZERO PUSH2 0xF9 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x45206D61696F72207175652063696E636F210000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP PUSH2 0x132 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x45206D656E6F72206F7520696775616C20612063696E636F2100000000000000 DUP2 MSTORE POP SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x14F DUP2 PUSH2 0x13C JUMP JUMPDEST DUP2 EQ PUSH2 0x15A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x16C DUP2 PUSH2 0x146 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x188 JUMPI PUSH2 0x187 PUSH2 0x137 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x196 DUP5 DUP3 DUP6 ADD PUSH2 0x15D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1D9 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1BE JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x1E8 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x20A DUP3 PUSH2 0x19F JUMP JUMPDEST PUSH2 0x214 DUP2 DUP6 PUSH2 0x1AA JUMP JUMPDEST SWAP4 POP PUSH2 0x224 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1BB JUMP JUMPDEST PUSH2 0x22D DUP2 PUSH2 0x1EE JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x252 DUP2 DUP5 PUSH2 0x1FF JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x496E73756666696369656E74204554482073656E742E00000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x290 PUSH1 0x16 DUP4 PUSH2 0x1AA JUMP JUMPDEST SWAP2 POP PUSH2 0x29B DUP3 PUSH2 0x25A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2BF DUP2 PUSH2 0x283 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x300 DUP3 PUSH2 0x13C JUMP JUMPDEST SWAP2 POP PUSH2 0x30B DUP4 PUSH2 0x13C JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x344 JUMPI PUSH2 0x343 PUSH2 0x2C6 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD6 LOG3 CALLVALUE JUMP 0xF7 DUP6 MSTORE PUSH5 0x531CA43767 CREATE 0xC3 MSIZE LOG1 0xD2 SAR 0xBE 0xB3 0xB9 0x29 0xB0 POP TIMESTAMP 0xEA 0x29 0xB8 0x49 SLT 0xB8 PUSH5 0x736F6C6343 STOP ADDMOD 0xE STOP CALLER ",
"sourceMap": "60:401:0:-:0;;;110:2;89:23;;60:401;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@recive_number_34": {
"entryPoint": 83,
"id": 34,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 349,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 370,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 511,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_stringliteral_315e62c18c7aeb62d0d4d7f919eb0affd2b069b203e678610b5ee95cf2d22098_to_t_string_memory_ptr_fromStack": {
"entryPoint": 643,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 568,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_315e62c18c7aeb62d0d4d7f919eb0affd2b069b203e678610b5ee95cf2d22098__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 678,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 415,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 426,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_mul_t_uint256": {
"entryPoint": 757,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 316,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory": {
"entryPoint": 443,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"panic_error_0x11": {
"entryPoint": 710,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 311,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 494,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"store_literal_in_memory_315e62c18c7aeb62d0d4d7f919eb0affd2b069b203e678610b5ee95cf2d22098": {
"entryPoint": 602,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 326,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:3927:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "400:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "460:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "517:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "526:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "529:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "519:6:1"
},
"nodeType": "YulFunctionCall",
"src": "519:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "519:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "483:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "508:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "490:17:1"
},
"nodeType": "YulFunctionCall",
"src": "490:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "480:2:1"
},
"nodeType": "YulFunctionCall",
"src": "480:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "473:6:1"
},
"nodeType": "YulFunctionCall",
"src": "473:43:1"
},
"nodeType": "YulIf",
"src": "470:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "453:5:1",
"type": ""
}
],
"src": "417:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "597:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "607:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "629:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "616:12:1"
},
"nodeType": "YulFunctionCall",
"src": "616:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "607:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "672:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "645:26:1"
},
"nodeType": "YulFunctionCall",
"src": "645:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "645:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "575:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "583:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "591:5:1",
"type": ""
}
],
"src": "545:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "756:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "802:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "804:77:1"
},
"nodeType": "YulFunctionCall",
"src": "804:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "804:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "777:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "786:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "773:3:1"
},
"nodeType": "YulFunctionCall",
"src": "773:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "798:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "769:3:1"
},
"nodeType": "YulFunctionCall",
"src": "769:32:1"
},
"nodeType": "YulIf",
"src": "766:119:1"
},
{
"nodeType": "YulBlock",
"src": "895:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "910:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "924:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "914:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "939:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "974:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "985:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "970:3:1"
},
"nodeType": "YulFunctionCall",
"src": "970:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "994:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "949:20:1"
},
"nodeType": "YulFunctionCall",
"src": "949:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "939:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "726:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "737:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "749:6:1",
"type": ""
}
],
"src": "690:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1084:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1095:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1111:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1105:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1105:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1095:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1067:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1077:6:1",
"type": ""
}
],
"src": "1025:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1226:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1243:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1248:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1236:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1236:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "1236:19:1"
},
{
"nodeType": "YulAssignment",
"src": "1264:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1283:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1288:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1279:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1279:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "1264:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1198:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1203:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "1214:11:1",
"type": ""
}
],
"src": "1130:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1354:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1364:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1373:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "1368:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1433:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1458:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1463:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1454:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1454:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "1477:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1482:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1473:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1473:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1467:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1467:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1447:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1447:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "1447:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1394:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1397:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1391:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1391:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "1405:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1407:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1416:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1419:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1412:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1412:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1407:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "1387:3:1",
"statements": []
},
"src": "1383:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1530:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1580:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1585:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1576:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1576:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1594:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1569:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1569:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "1569:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1511:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1514:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1508:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1508:13:1"
},
"nodeType": "YulIf",
"src": "1505:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "1336:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "1341:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1346:6:1",
"type": ""
}
],
"src": "1305:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1666:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1676:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1694:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1701:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1690:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1690:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1710:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "1706:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1706:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1686:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1686:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1676:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1649:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "1659:6:1",
"type": ""
}
],
"src": "1618:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1818:272:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1828:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1875:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1842:32:1"
},
"nodeType": "YulFunctionCall",
"src": "1842:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1832:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1890:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1956:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1961:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "1897:58:1"
},
"nodeType": "YulFunctionCall",
"src": "1897:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1890:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2003:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2010:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1999:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1999:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2017:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2022:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "1977:21:1"
},
"nodeType": "YulFunctionCall",
"src": "1977:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "1977:52:1"
},
{
"nodeType": "YulAssignment",
"src": "2038:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2049:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2076:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2054:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2054:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2045:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2045:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2038:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1799:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1806:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1814:3:1",
"type": ""
}
],
"src": "1726:364:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2214:195:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2224:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2236:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2247:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2232:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2232:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2224:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2271:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2282:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2267:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2267:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2290:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2296:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2286:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2286:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2260:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2260:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "2260:47:1"
},
{
"nodeType": "YulAssignment",
"src": "2316:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2388:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2397:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2324:63:1"
},
"nodeType": "YulFunctionCall",
"src": "2324:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2316:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2186:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2198:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2209:4:1",
"type": ""
}
],
"src": "2096:313:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2521:66:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2543:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2551:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2539:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2539:14:1"
},
{
"hexValue": "496e73756666696369656e74204554482073656e742e",
"kind": "string",
"nodeType": "YulLiteral",
"src": "2555:24:1",
"type": "",
"value": "Insufficient ETH sent."
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2532:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2532:48:1"
},
"nodeType": "YulExpressionStatement",
"src": "2532:48:1"
}
]
},
"name": "store_literal_in_memory_315e62c18c7aeb62d0d4d7f919eb0affd2b069b203e678610b5ee95cf2d22098",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "2513:6:1",
"type": ""
}
],
"src": "2415:172:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2739:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2749:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2815:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2820:2:1",
"type": "",
"value": "22"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2756:58:1"
},
"nodeType": "YulFunctionCall",
"src": "2756:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2749:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2921:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_315e62c18c7aeb62d0d4d7f919eb0affd2b069b203e678610b5ee95cf2d22098",
"nodeType": "YulIdentifier",
"src": "2832:88:1"
},
"nodeType": "YulFunctionCall",
"src": "2832:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "2832:93:1"
},
{
"nodeType": "YulAssignment",
"src": "2934:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2945:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2950:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2941:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2941:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2934:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_315e62c18c7aeb62d0d4d7f919eb0affd2b069b203e678610b5ee95cf2d22098_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2727:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2735:3:1",
"type": ""
}
],
"src": "2593:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3136:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3146:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3158:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3169:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3154:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3154:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3146:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3193:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3204:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3189:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3189:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3212:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3218:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3208:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3208:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3182:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3182:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "3182:47:1"
},
{
"nodeType": "YulAssignment",
"src": "3238:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3372:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_315e62c18c7aeb62d0d4d7f919eb0affd2b069b203e678610b5ee95cf2d22098_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3246:124:1"
},
"nodeType": "YulFunctionCall",
"src": "3246:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3238:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_315e62c18c7aeb62d0d4d7f919eb0affd2b069b203e678610b5ee95cf2d22098__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3116:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3131:4:1",
"type": ""
}
],
"src": "2965:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3418:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3435:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3438:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3428:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3428:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "3428:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3532:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3535:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3525:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3525:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3525:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3556:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3559:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3549:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3549:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3549:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "3390:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3624:300:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3634:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "3657:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3639:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3639:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "3634:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3668:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "3691:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3673:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3673:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "3668:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3866:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "3868:16:1"
},
"nodeType": "YulFunctionCall",
"src": "3868:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "3868:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "3778:1:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3771:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3771:9:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3764:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3764:17:1"
},
{
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "3786:1:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3793:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "3861:1:1"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "3789:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3789:74:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "3783:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3783:81:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3760:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3760:105:1"
},
"nodeType": "YulIf",
"src": "3757:131:1"
},
{
"nodeType": "YulAssignment",
"src": "3898:20:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "3913:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "3916:1:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "3909:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3909:9:1"
},
"variableNames": [
{
"name": "product",
"nodeType": "YulIdentifier",
"src": "3898:7:1"
}
]
}
]
},
"name": "checked_mul_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "3607:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "3610:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "product",
"nodeType": "YulTypedName",
"src": "3616:7:1",
"type": ""
}
],
"src": "3576:348:1"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function store_literal_in_memory_315e62c18c7aeb62d0d4d7f919eb0affd2b069b203e678610b5ee95cf2d22098(memPtr) {\n\n mstore(add(memPtr, 0), \"Insufficient ETH sent.\")\n\n }\n\n function abi_encode_t_stringliteral_315e62c18c7aeb62d0d4d7f919eb0affd2b069b203e678610b5ee95cf2d22098_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_315e62c18c7aeb62d0d4d7f919eb0affd2b069b203e678610b5ee95cf2d22098(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_315e62c18c7aeb62d0d4d7f919eb0affd2b069b203e678610b5ee95cf2d22098__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_315e62c18c7aeb62d0d4d7f919eb0affd2b069b203e678610b5ee95cf2d22098_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_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x != 0 and y > (maxValue / x)\n if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n product := mul(x, y)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "60806040526004361061001e5760003560e01c806398d049be14610023575b600080fd5b61003d60048036038101906100389190610172565b610053565b60405161004a9190610238565b60405180910390f35b606060005434101561009a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610091906102a6565b60405180910390fd5b60026000808282546100ac91906102f5565b9250508190555060058211156100f9576040518060400160405280601281526020017f45206d61696f72207175652063696e636f2100000000000000000000000000008152509050610132565b6040518060400160405280601981526020017f45206d656e6f72206f7520696775616c20612063696e636f210000000000000081525090505b919050565b600080fd5b6000819050919050565b61014f8161013c565b811461015a57600080fd5b50565b60008135905061016c81610146565b92915050565b60006020828403121561018857610187610137565b5b60006101968482850161015d565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156101d95780820151818401526020810190506101be565b838111156101e8576000848401525b50505050565b6000601f19601f8301169050919050565b600061020a8261019f565b61021481856101aa565b93506102248185602086016101bb565b61022d816101ee565b840191505092915050565b6000602082019050818103600083015261025281846101ff565b905092915050565b7f496e73756666696369656e74204554482073656e742e00000000000000000000600082015250565b60006102906016836101aa565b915061029b8261025a565b602082019050919050565b600060208201905081810360008301526102bf81610283565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006103008261013c565b915061030b8361013c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610344576103436102c6565b5b82820290509291505056fea2646970667358221220d6a33456f7855264531ca43767f0c359a1d21dbeb3b929b05042ea29b84912b864736f6c634300080e0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x1E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x98D049BE EQ PUSH2 0x23 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x38 SWAP2 SWAP1 PUSH2 0x172 JUMP JUMPDEST PUSH2 0x53 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4A SWAP2 SWAP1 PUSH2 0x238 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x0 SLOAD CALLVALUE LT ISZERO PUSH2 0x9A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x91 SWAP1 PUSH2 0x2A6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0xAC SWAP2 SWAP1 PUSH2 0x2F5 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x5 DUP3 GT ISZERO PUSH2 0xF9 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x45206D61696F72207175652063696E636F210000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP PUSH2 0x132 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x45206D656E6F72206F7520696775616C20612063696E636F2100000000000000 DUP2 MSTORE POP SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x14F DUP2 PUSH2 0x13C JUMP JUMPDEST DUP2 EQ PUSH2 0x15A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x16C DUP2 PUSH2 0x146 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x188 JUMPI PUSH2 0x187 PUSH2 0x137 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x196 DUP5 DUP3 DUP6 ADD PUSH2 0x15D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1D9 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1BE JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x1E8 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x20A DUP3 PUSH2 0x19F JUMP JUMPDEST PUSH2 0x214 DUP2 DUP6 PUSH2 0x1AA JUMP JUMPDEST SWAP4 POP PUSH2 0x224 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1BB JUMP JUMPDEST PUSH2 0x22D DUP2 PUSH2 0x1EE JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x252 DUP2 DUP5 PUSH2 0x1FF JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x496E73756666696369656E74204554482073656E742E00000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x290 PUSH1 0x16 DUP4 PUSH2 0x1AA JUMP JUMPDEST SWAP2 POP PUSH2 0x29B DUP3 PUSH2 0x25A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2BF DUP2 PUSH2 0x283 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x300 DUP3 PUSH2 0x13C JUMP JUMPDEST SWAP2 POP PUSH2 0x30B DUP4 PUSH2 0x13C JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x344 JUMPI PUSH2 0x343 PUSH2 0x2C6 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD6 LOG3 CALLVALUE JUMP 0xF7 DUP6 MSTORE PUSH5 0x531CA43767 CREATE 0xC3 MSIZE LOG1 0xD2 SAR 0xBE 0xB3 0xB9 0x29 0xB0 POP TIMESTAMP 0xEA 0x29 0xB8 0x49 SLT 0xB8 PUSH5 0x736F6C6343 STOP ADDMOD 0xE STOP CALLER ",
"sourceMap": "60:401:0:-:0;;;;;;;;;;;;;;;;;;;;;121:337;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;180:13;229:5;;216:9;:18;;208:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;281:1;272:5;;:10;;;;;;;:::i;:::-;;;;;;;;307:1;298:6;:10;295:144;;;324:27;;;;;;;;;;;;;;;;;;;;;295:144;393:34;;;;;;;;;;;;;;;;;;;121:337;;;;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:99::-;1077:6;1111:5;1105:12;1095:22;;1025:99;;;:::o;1130:169::-;1214:11;1248:6;1243:3;1236:19;1288:4;1283:3;1279:14;1264:29;;1130:169;;;;:::o;1305:307::-;1373:1;1383:113;1397:6;1394:1;1391:13;1383:113;;;1482:1;1477:3;1473:11;1467:18;1463:1;1458:3;1454:11;1447:39;1419:2;1416:1;1412:10;1407:15;;1383:113;;;1514:6;1511:1;1508:13;1505:101;;;1594:1;1585:6;1580:3;1576:16;1569:27;1505:101;1354:258;1305:307;;;:::o;1618:102::-;1659:6;1710:2;1706:7;1701:2;1694:5;1690:14;1686:28;1676:38;;1618:102;;;:::o;1726:364::-;1814:3;1842:39;1875:5;1842:39;:::i;:::-;1897:71;1961:6;1956:3;1897:71;:::i;:::-;1890:78;;1977:52;2022:6;2017:3;2010:4;2003:5;1999:16;1977:52;:::i;:::-;2054:29;2076:6;2054:29;:::i;:::-;2049:3;2045:39;2038:46;;1818:272;1726:364;;;;:::o;2096:313::-;2209:4;2247:2;2236:9;2232:18;2224:26;;2296:9;2290:4;2286:20;2282:1;2271:9;2267:17;2260:47;2324:78;2397:4;2388:6;2324:78;:::i;:::-;2316:86;;2096:313;;;;:::o;2415:172::-;2555:24;2551:1;2543:6;2539:14;2532:48;2415:172;:::o;2593:366::-;2735:3;2756:67;2820:2;2815:3;2756:67;:::i;:::-;2749:74;;2832:93;2921:3;2832:93;:::i;:::-;2950:2;2945:3;2941:12;2934:19;;2593:366;;;:::o;2965:419::-;3131:4;3169:2;3158:9;3154:18;3146:26;;3218:9;3212:4;3208:20;3204:1;3193:9;3189:17;3182:47;3246:131;3372:4;3246:131;:::i;:::-;3238:139;;2965:419;;;:::o;3390:180::-;3438:77;3435:1;3428:88;3535:4;3532:1;3525:15;3559:4;3556:1;3549:15;3576:348;3616:7;3639:20;3657:1;3639:20;:::i;:::-;3634:25;;3673:20;3691:1;3673:20;:::i;:::-;3668:25;;3861:1;3793:66;3789:74;3786:1;3783:81;3778:1;3771:9;3764:17;3760:105;3757:131;;;3868:18;;:::i;:::-;3757:131;3916:1;3913;3909:9;3898:20;;3576:348;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "180200",
"executionCost": "22332",
"totalCost": "202532"
},
"external": {
"recive_number(uint256)": "infinite"
}
},
"methodIdentifiers": {
"recive_number(uint256)": "98d049be"
}
},
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "number",
"type": "uint256"
}
],
"name": "recive_number",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "payable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.14+commit.80d49f37"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "number",
"type": "uint256"
}
],
"name": "recive_number",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "payable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"capitulo_8.sol": "Capitulo_8"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"capitulo_8.sol": {
"keccak256": "0x1501fc95db6151e93bb7175418a7765191597b560d1d74497988927ed6a0bf59",
"license": "MIT",
"urls": [
"bzz-raw://55ea303103fda631ca1f097a4ee8a5770b6f19773c995f3410013b21513a69cc",
"dweb:/ipfs/QmSQ5mRNPndY5ctrPjnpozeym1qXA7YD4fqMa2UpUDTR4S"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"görli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_16": {
"entryPoint": null,
"id": 16,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611594806100606000396000f3fe60806040526004361061011f5760003560e01c80638381f58a116100a0578063b67d77c511610064578063b67d77c5146103cd578063cad0899b1461040a578063e4128fb314610447578063f01b7dd214610472578063f2fde38b1461049b5761011f565b80638381f58a146102d257806385bb7d69146102fd5780638da5cb5b146103285780639aa727f614610353578063a391c15b146103905761011f565b80633fb5c1cb116100e75780633fb5c1cb146101fc5780635d3a1f9d1461021857806362dd45541461024157806377954162146102585780638187f846146102955761011f565b80631f1bd6921461012457806321b1e5f81461014f57806327e235e31461016b5780632e4c697f146101a85780633ccfd60b146101e5575b600080fd5b34801561013057600080fd5b506101396104c4565b6040516101469190610c99565b60405180910390f35b61016960048036038101906101649190610d2d565b610552565b005b34801561017757600080fd5b50610192600480360381019061018d9190610d98565b61059c565b60405161019f9190610dde565b60405180910390f35b3480156101b457600080fd5b506101cf60048036038101906101ca9190610e25565b6105b4565b6040516101dc9190610dde565b60405180910390f35b3480156101f157600080fd5b506101fa6105ca565b005b61021660048036038101906102119190610e65565b61071f565b005b34801561022457600080fd5b5061023f600480360381019061023a9190610fc7565b6107d2565b005b34801561024d57600080fd5b50610256610882565b005b34801561026457600080fd5b5061027f600480360381019061027a9190610e65565b6108cd565b60405161028c9190610dde565b60405180910390f35b3480156102a157600080fd5b506102bc60048036038101906102b79190610d98565b6108e4565b6040516102c99190610dde565b60405180910390f35b3480156102de57600080fd5b506102e76108fc565b6040516102f49190610dde565b60405180910390f35b34801561030957600080fd5b50610312610902565b60405161031f919061102b565b60405180910390f35b34801561033457600080fd5b5061033d610915565b60405161034a9190611055565b60405180910390f35b34801561035f57600080fd5b5061037a60048036038101906103759190610e25565b610939565b6040516103879190610dde565b60405180910390f35b34801561039c57600080fd5b506103b760048036038101906103b29190610e25565b61094f565b6040516103c49190610dde565b60405180910390f35b3480156103d957600080fd5b506103f460048036038101906103ef9190610e25565b610965565b6040516104019190610dde565b60405180910390f35b34801561041657600080fd5b50610431600480360381019061042c9190610e25565b61097b565b60405161043e9190610dde565b60405180910390f35b34801561045357600080fd5b5061045c610991565b6040516104699190611055565b60405180910390f35b34801561047e57600080fd5b506104996004803603810190610494919061109c565b6109b7565b005b3480156104a757600080fd5b506104c260048036038101906104bd9190610d2d565b6109dc565b005b600180546104d1906110f8565b80601f01602080910402602001604051908101604052809291908181526020018280546104fd906110f8565b801561054a5780601f1061051f5761010080835404028352916020019161054a565b820191906000526020600020905b81548152906001019060200180831161052d57829003601f168201915b505050505081565b8073ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610598573d6000803e3d6000fd5b5050565b60056020528060005260406000206000915090505481565b600081836105c2919061128b565b905092915050565b6000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541161064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064390611322565b60405180910390fd5b6000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561071b573d6000803e3d6000fd5b5050565b670de0b6b3a764000034101561076a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107619061138e565b60405180910390fd5b34600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107b991906113ae565b92505081905550806002819055506107cf610b04565b50565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610860576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085790611450565b60405180910390fd5b8060019080519060200190610876929190610b5d565b5061087f610b04565b50565b33600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506108cb610b04565b565b6000600254826108dd91906113ae565b9050919050565b60046020528060005260406000206000915090505481565b60025481565b600360149054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081836109479190611470565b905092915050565b6000818361095d91906114f9565b905092915050565b60008183610973919061152a565b905092915050565b6000818361098991906113ae565b905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b80600360146101000a81548160ff0219169083151502179055506109d9610b04565b50565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6190611450565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610af99190611055565b60405180910390a150565b6001600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b5491906113ae565b92505081905550565b828054610b69906110f8565b90600052602060002090601f016020900481019282610b8b5760008555610bd2565b82601f10610ba457805160ff1916838001178555610bd2565b82800160010185558215610bd2579182015b82811115610bd1578251825591602001919060010190610bb6565b5b509050610bdf9190610be3565b5090565b5b80821115610bfc576000816000905550600101610be4565b5090565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c3a578082015181840152602081019050610c1f565b83811115610c49576000848401525b50505050565b6000601f19601f8301169050919050565b6000610c6b82610c00565b610c758185610c0b565b9350610c85818560208601610c1c565b610c8e81610c4f565b840191505092915050565b60006020820190508181036000830152610cb38184610c60565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610cfa82610ccf565b9050919050565b610d0a81610cef565b8114610d1557600080fd5b50565b600081359050610d2781610d01565b92915050565b600060208284031215610d4357610d42610cc5565b5b6000610d5184828501610d18565b91505092915050565b6000610d6582610ccf565b9050919050565b610d7581610d5a565b8114610d8057600080fd5b50565b600081359050610d9281610d6c565b92915050565b600060208284031215610dae57610dad610cc5565b5b6000610dbc84828501610d83565b91505092915050565b6000819050919050565b610dd881610dc5565b82525050565b6000602082019050610df36000830184610dcf565b92915050565b610e0281610dc5565b8114610e0d57600080fd5b50565b600081359050610e1f81610df9565b92915050565b60008060408385031215610e3c57610e3b610cc5565b5b6000610e4a85828601610e10565b9250506020610e5b85828601610e10565b9150509250929050565b600060208284031215610e7b57610e7a610cc5565b5b6000610e8984828501610e10565b91505092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610ed482610c4f565b810181811067ffffffffffffffff82111715610ef357610ef2610e9c565b5b80604052505050565b6000610f06610cbb565b9050610f128282610ecb565b919050565b600067ffffffffffffffff821115610f3257610f31610e9c565b5b610f3b82610c4f565b9050602081019050919050565b82818337600083830152505050565b6000610f6a610f6584610f17565b610efc565b905082815260208101848484011115610f8657610f85610e97565b5b610f91848285610f48565b509392505050565b600082601f830112610fae57610fad610e92565b5b8135610fbe848260208601610f57565b91505092915050565b600060208284031215610fdd57610fdc610cc5565b5b600082013567ffffffffffffffff811115610ffb57610ffa610cca565b5b61100784828501610f99565b91505092915050565b60008115159050919050565b61102581611010565b82525050565b6000602082019050611040600083018461101c565b92915050565b61104f81610d5a565b82525050565b600060208201905061106a6000830184611046565b92915050565b61107981611010565b811461108457600080fd5b50565b60008135905061109681611070565b92915050565b6000602082840312156110b2576110b1610cc5565b5b60006110c084828501611087565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061111057607f821691505b602082108103611123576111226110c9565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156111af5780860481111561118b5761118a611129565b5b600185161561119a5780820291505b80810290506111a885611158565b945061116f565b94509492505050565b6000826111c85760019050611284565b816111d65760009050611284565b81600181146111ec57600281146111f657611225565b6001915050611284565b60ff84111561120857611207611129565b5b8360020a91508482111561121f5761121e611129565b5b50611284565b5060208310610133831016604e8410600b841016171561125a5782820a90508381111561125557611254611129565b5b611284565b6112678484846001611165565b9250905081840481111561127e5761127d611129565b5b81810290505b9392505050565b600061129682610dc5565b91506112a183610dc5565b92506112ce7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846111b8565b905092915050565b7f496e73756666696369656e742066756e64732e00000000000000000000000000600082015250565b600061130c601383610c0b565b9150611317826112d6565b602082019050919050565b6000602082019050818103600083015261133b816112ff565b9050919050565b7f496e73756666696369656e74204554482073656e742e00000000000000000000600082015250565b6000611378601683610c0b565b915061138382611342565b602082019050919050565b600060208201905081810360008301526113a78161136b565b9050919050565b60006113b982610dc5565b91506113c483610dc5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156113f9576113f8611129565b5b828201905092915050565b7f596f7520617265206e6f7420746865206f776e65722100000000000000000000600082015250565b600061143a601683610c0b565b915061144582611404565b602082019050919050565b600060208201905081810360008301526114698161142d565b9050919050565b600061147b82610dc5565b915061148683610dc5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156114bf576114be611129565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061150482610dc5565b915061150f83610dc5565b92508261151f5761151e6114ca565b5b828204905092915050565b600061153582610dc5565b915061154083610dc5565b92508282101561155357611552611129565b5b82820390509291505056fea264697066735822122037c3e21f229edbcffe39c8c8deea7f0f99c3cdad49bbf3c54ee77989101cec7264736f6c634300080e0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x1594 DUP1 PUSH2 0x60 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x11F JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8381F58A GT PUSH2 0xA0 JUMPI DUP1 PUSH4 0xB67D77C5 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xB67D77C5 EQ PUSH2 0x3CD JUMPI DUP1 PUSH4 0xCAD0899B EQ PUSH2 0x40A JUMPI DUP1 PUSH4 0xE4128FB3 EQ PUSH2 0x447 JUMPI DUP1 PUSH4 0xF01B7DD2 EQ PUSH2 0x472 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x49B JUMPI PUSH2 0x11F JUMP JUMPDEST DUP1 PUSH4 0x8381F58A EQ PUSH2 0x2D2 JUMPI DUP1 PUSH4 0x85BB7D69 EQ PUSH2 0x2FD JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x328 JUMPI DUP1 PUSH4 0x9AA727F6 EQ PUSH2 0x353 JUMPI DUP1 PUSH4 0xA391C15B EQ PUSH2 0x390 JUMPI PUSH2 0x11F JUMP JUMPDEST DUP1 PUSH4 0x3FB5C1CB GT PUSH2 0xE7 JUMPI DUP1 PUSH4 0x3FB5C1CB EQ PUSH2 0x1FC JUMPI DUP1 PUSH4 0x5D3A1F9D EQ PUSH2 0x218 JUMPI DUP1 PUSH4 0x62DD4554 EQ PUSH2 0x241 JUMPI DUP1 PUSH4 0x77954162 EQ PUSH2 0x258 JUMPI DUP1 PUSH4 0x8187F846 EQ PUSH2 0x295 JUMPI PUSH2 0x11F JUMP JUMPDEST DUP1 PUSH4 0x1F1BD692 EQ PUSH2 0x124 JUMPI DUP1 PUSH4 0x21B1E5F8 EQ PUSH2 0x14F JUMPI DUP1 PUSH4 0x27E235E3 EQ PUSH2 0x16B JUMPI DUP1 PUSH4 0x2E4C697F EQ PUSH2 0x1A8 JUMPI DUP1 PUSH4 0x3CCFD60B EQ PUSH2 0x1E5 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x130 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x139 PUSH2 0x4C4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x146 SWAP2 SWAP1 PUSH2 0xC99 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x169 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x164 SWAP2 SWAP1 PUSH2 0xD2D JUMP JUMPDEST PUSH2 0x552 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x177 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x192 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x18D SWAP2 SWAP1 PUSH2 0xD98 JUMP JUMPDEST PUSH2 0x59C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x19F SWAP2 SWAP1 PUSH2 0xDDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1CA SWAP2 SWAP1 PUSH2 0xE25 JUMP JUMPDEST PUSH2 0x5B4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1DC SWAP2 SWAP1 PUSH2 0xDDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1FA PUSH2 0x5CA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x216 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x211 SWAP2 SWAP1 PUSH2 0xE65 JUMP JUMPDEST PUSH2 0x71F JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x224 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x23F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x23A SWAP2 SWAP1 PUSH2 0xFC7 JUMP JUMPDEST PUSH2 0x7D2 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x24D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x256 PUSH2 0x882 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x264 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x27F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x27A SWAP2 SWAP1 PUSH2 0xE65 JUMP JUMPDEST PUSH2 0x8CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x28C SWAP2 SWAP1 PUSH2 0xDDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2B7 SWAP2 SWAP1 PUSH2 0xD98 JUMP JUMPDEST PUSH2 0x8E4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2C9 SWAP2 SWAP1 PUSH2 0xDDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2E7 PUSH2 0x8FC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2F4 SWAP2 SWAP1 PUSH2 0xDDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x309 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x312 PUSH2 0x902 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x31F SWAP2 SWAP1 PUSH2 0x102B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x334 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33D PUSH2 0x915 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x34A SWAP2 SWAP1 PUSH2 0x1055 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x35F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x37A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x375 SWAP2 SWAP1 PUSH2 0xE25 JUMP JUMPDEST PUSH2 0x939 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x387 SWAP2 SWAP1 PUSH2 0xDDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x39C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3B7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3B2 SWAP2 SWAP1 PUSH2 0xE25 JUMP JUMPDEST PUSH2 0x94F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3C4 SWAP2 SWAP1 PUSH2 0xDDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F4 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3EF SWAP2 SWAP1 PUSH2 0xE25 JUMP JUMPDEST PUSH2 0x965 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x401 SWAP2 SWAP1 PUSH2 0xDDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x416 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x431 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x42C SWAP2 SWAP1 PUSH2 0xE25 JUMP JUMPDEST PUSH2 0x97B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x43E SWAP2 SWAP1 PUSH2 0xDDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x453 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45C PUSH2 0x991 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x469 SWAP2 SWAP1 PUSH2 0x1055 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x47E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x499 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x494 SWAP2 SWAP1 PUSH2 0x109C JUMP JUMPDEST PUSH2 0x9B7 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4BD SWAP2 SWAP1 PUSH2 0xD2D JUMP JUMPDEST PUSH2 0x9DC JUMP JUMPDEST STOP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0x4D1 SWAP1 PUSH2 0x10F8 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x4FD SWAP1 PUSH2 0x10F8 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x54A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x51F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x54A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x52D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC CALLVALUE SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x598 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x5C2 SWAP2 SWAP1 PUSH2 0x128B JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD GT PUSH2 0x64C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x643 SWAP1 PUSH2 0x1322 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x71B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH8 0xDE0B6B3A7640000 CALLVALUE LT ISZERO PUSH2 0x76A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x761 SWAP1 PUSH2 0x138E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLVALUE PUSH1 0x5 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x7B9 SWAP2 SWAP1 PUSH2 0x13AE JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x2 DUP2 SWAP1 SSTORE POP PUSH2 0x7CF PUSH2 0xB04 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x860 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x857 SWAP1 PUSH2 0x1450 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x876 SWAP3 SWAP2 SWAP1 PUSH2 0xB5D JUMP JUMPDEST POP PUSH2 0x87F PUSH2 0xB04 JUMP JUMPDEST POP JUMP JUMPDEST CALLER PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x8CB PUSH2 0xB04 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD DUP3 PUSH2 0x8DD SWAP2 SWAP1 PUSH2 0x13AE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x947 SWAP2 SWAP1 PUSH2 0x1470 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x95D SWAP2 SWAP1 PUSH2 0x14F9 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x973 SWAP2 SWAP1 PUSH2 0x152A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x989 SWAP2 SWAP1 PUSH2 0x13AE JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST DUP1 PUSH1 0x3 PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0x9D9 PUSH2 0xB04 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xA6A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA61 SWAP1 PUSH2 0x1450 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x4DBA622D284ED0014EE4B9A6A68386BE1A4C08A4913AE272DE89199CC686163 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x40 MLOAD PUSH2 0xAF9 SWAP2 SWAP1 PUSH2 0x1055 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x4 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xB54 SWAP2 SWAP1 PUSH2 0x13AE JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0xB69 SWAP1 PUSH2 0x10F8 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0xB8B JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0xBD2 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0xBA4 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0xBD2 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0xBD2 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0xBD1 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xBB6 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0xBDF SWAP2 SWAP1 PUSH2 0xBE3 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xBFC JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0xBE4 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xC3A JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xC1F JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xC49 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC6B DUP3 PUSH2 0xC00 JUMP JUMPDEST PUSH2 0xC75 DUP2 DUP6 PUSH2 0xC0B JUMP JUMPDEST SWAP4 POP PUSH2 0xC85 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xC1C JUMP JUMPDEST PUSH2 0xC8E DUP2 PUSH2 0xC4F JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xCB3 DUP2 DUP5 PUSH2 0xC60 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCFA DUP3 PUSH2 0xCCF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD0A DUP2 PUSH2 0xCEF JUMP JUMPDEST DUP2 EQ PUSH2 0xD15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xD27 DUP2 PUSH2 0xD01 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD43 JUMPI PUSH2 0xD42 PUSH2 0xCC5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xD51 DUP5 DUP3 DUP6 ADD PUSH2 0xD18 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD65 DUP3 PUSH2 0xCCF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD75 DUP2 PUSH2 0xD5A JUMP JUMPDEST DUP2 EQ PUSH2 0xD80 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xD92 DUP2 PUSH2 0xD6C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xDAE JUMPI PUSH2 0xDAD PUSH2 0xCC5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xDBC DUP5 DUP3 DUP6 ADD PUSH2 0xD83 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDD8 DUP2 PUSH2 0xDC5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xDF3 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xDCF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xE02 DUP2 PUSH2 0xDC5 JUMP JUMPDEST DUP2 EQ PUSH2 0xE0D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE1F DUP2 PUSH2 0xDF9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xE3C JUMPI PUSH2 0xE3B PUSH2 0xCC5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xE4A DUP6 DUP3 DUP7 ADD PUSH2 0xE10 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xE5B DUP6 DUP3 DUP7 ADD PUSH2 0xE10 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xE7B JUMPI PUSH2 0xE7A PUSH2 0xCC5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xE89 DUP5 DUP3 DUP6 ADD PUSH2 0xE10 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xED4 DUP3 PUSH2 0xC4F JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0xEF3 JUMPI PUSH2 0xEF2 PUSH2 0xE9C JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF06 PUSH2 0xCBB JUMP JUMPDEST SWAP1 POP PUSH2 0xF12 DUP3 DUP3 PUSH2 0xECB JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xF32 JUMPI PUSH2 0xF31 PUSH2 0xE9C JUMP JUMPDEST JUMPDEST PUSH2 0xF3B DUP3 PUSH2 0xC4F JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF6A PUSH2 0xF65 DUP5 PUSH2 0xF17 JUMP JUMPDEST PUSH2 0xEFC JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0xF86 JUMPI PUSH2 0xF85 PUSH2 0xE97 JUMP JUMPDEST JUMPDEST PUSH2 0xF91 DUP5 DUP3 DUP6 PUSH2 0xF48 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xFAE JUMPI PUSH2 0xFAD PUSH2 0xE92 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0xFBE DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0xF57 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFDD JUMPI PUSH2 0xFDC PUSH2 0xCC5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xFFB JUMPI PUSH2 0xFFA PUSH2 0xCCA JUMP JUMPDEST JUMPDEST PUSH2 0x1007 DUP5 DUP3 DUP6 ADD PUSH2 0xF99 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1025 DUP2 PUSH2 0x1010 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1040 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x101C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x104F DUP2 PUSH2 0xD5A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x106A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1046 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1079 DUP2 PUSH2 0x1010 JUMP JUMPDEST DUP2 EQ PUSH2 0x1084 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1096 DUP2 PUSH2 0x1070 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x10B2 JUMPI PUSH2 0x10B1 PUSH2 0xCC5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x10C0 DUP5 DUP3 DUP6 ADD PUSH2 0x1087 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1110 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1123 JUMPI PUSH2 0x1122 PUSH2 0x10C9 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 SHR SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP2 POP DUP4 SWAP1 POP JUMPDEST PUSH1 0x1 DUP6 GT ISZERO PUSH2 0x11AF JUMPI DUP1 DUP7 DIV DUP2 GT ISZERO PUSH2 0x118B JUMPI PUSH2 0x118A PUSH2 0x1129 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP6 AND ISZERO PUSH2 0x119A JUMPI DUP1 DUP3 MUL SWAP2 POP JUMPDEST DUP1 DUP2 MUL SWAP1 POP PUSH2 0x11A8 DUP6 PUSH2 0x1158 JUMP JUMPDEST SWAP5 POP PUSH2 0x116F JUMP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x11C8 JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0x1284 JUMP JUMPDEST DUP2 PUSH2 0x11D6 JUMPI PUSH1 0x0 SWAP1 POP PUSH2 0x1284 JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x11EC JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x11F6 JUMPI PUSH2 0x1225 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x1284 JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x1208 JUMPI PUSH2 0x1207 PUSH2 0x1129 JUMP JUMPDEST JUMPDEST DUP4 PUSH1 0x2 EXP SWAP2 POP DUP5 DUP3 GT ISZERO PUSH2 0x121F JUMPI PUSH2 0x121E PUSH2 0x1129 JUMP JUMPDEST JUMPDEST POP PUSH2 0x1284 JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x125A JUMPI DUP3 DUP3 EXP SWAP1 POP DUP4 DUP2 GT ISZERO PUSH2 0x1255 JUMPI PUSH2 0x1254 PUSH2 0x1129 JUMP JUMPDEST JUMPDEST PUSH2 0x1284 JUMP JUMPDEST PUSH2 0x1267 DUP5 DUP5 DUP5 PUSH1 0x1 PUSH2 0x1165 JUMP JUMPDEST SWAP3 POP SWAP1 POP DUP2 DUP5 DIV DUP2 GT ISZERO PUSH2 0x127E JUMPI PUSH2 0x127D PUSH2 0x1129 JUMP JUMPDEST JUMPDEST DUP2 DUP2 MUL SWAP1 POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1296 DUP3 PUSH2 0xDC5 JUMP JUMPDEST SWAP2 POP PUSH2 0x12A1 DUP4 PUSH2 0xDC5 JUMP JUMPDEST SWAP3 POP PUSH2 0x12CE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 DUP5 PUSH2 0x11B8 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x496E73756666696369656E742066756E64732E00000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x130C PUSH1 0x13 DUP4 PUSH2 0xC0B JUMP JUMPDEST SWAP2 POP PUSH2 0x1317 DUP3 PUSH2 0x12D6 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x133B DUP2 PUSH2 0x12FF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x496E73756666696369656E74204554482073656E742E00000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1378 PUSH1 0x16 DUP4 PUSH2 0xC0B JUMP JUMPDEST SWAP2 POP PUSH2 0x1383 DUP3 PUSH2 0x1342 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x13A7 DUP2 PUSH2 0x136B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13B9 DUP3 PUSH2 0xDC5 JUMP JUMPDEST SWAP2 POP PUSH2 0x13C4 DUP4 PUSH2 0xDC5 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x13F9 JUMPI PUSH2 0x13F8 PUSH2 0x1129 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x596F7520617265206E6F7420746865206F776E65722100000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x143A PUSH1 0x16 DUP4 PUSH2 0xC0B JUMP JUMPDEST SWAP2 POP PUSH2 0x1445 DUP3 PUSH2 0x1404 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1469 DUP2 PUSH2 0x142D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147B DUP3 PUSH2 0xDC5 JUMP JUMPDEST SWAP2 POP PUSH2 0x1486 DUP4 PUSH2 0xDC5 JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x14BF JUMPI PUSH2 0x14BE PUSH2 0x1129 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1504 DUP3 PUSH2 0xDC5 JUMP JUMPDEST SWAP2 POP PUSH2 0x150F DUP4 PUSH2 0xDC5 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x151F JUMPI PUSH2 0x151E PUSH2 0x14CA JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1535 DUP3 PUSH2 0xDC5 JUMP JUMPDEST SWAP2 POP PUSH2 0x1540 DUP4 PUSH2 0xDC5 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x1553 JUMPI PUSH2 0x1552 PUSH2 0x1129 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLDATACOPY 0xC3 0xE2 0x1F 0x22 SWAP15 0xDB 0xCF INVALID CODECOPY 0xC8 0xC8 0xDE 0xEA PUSH32 0xF99C3CDAD49BBF3C54EE77989101CEC7264736F6C634300080E003300000000 ",
"sourceMap": "494:1905:0:-:0;;;;;;;;;;;;;199:10;191:5;;:18;;;;;;;;;;;;;;;;;;494:1905;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@answer_55": {
"entryPoint": 2306,
"id": 55,
"parameterSlots": 0,
"returnSlots": 0
},
"@balances_63": {
"entryPoint": 1436,
"id": 63,
"parameterSlots": 0,
"returnSlots": 0
},
"@div_249": {
"entryPoint": 2383,
"id": 249,
"parameterSlots": 2,
"returnSlots": 1
},
"@hasInteracted_59": {
"entryPoint": 2276,
"id": 59,
"parameterSlots": 0,
"returnSlots": 0
},
"@mult_235": {
"entryPoint": 2361,
"id": 235,
"parameterSlots": 2,
"returnSlots": 1
},
"@number_51": {
"entryPoint": 2300,
"id": 51,
"parameterSlots": 0,
"returnSlots": 0
},
"@owner_3": {
"entryPoint": 2325,
"id": 3,
"parameterSlots": 0,
"returnSlots": 0
},
"@pow_263": {
"entryPoint": 1460,
"id": 263,
"parameterSlots": 2,
"returnSlots": 1
},
"@sendETH_156": {
"entryPoint": 1362,
"id": 156,
"parameterSlots": 1,
"returnSlots": 0
},
"@setAnswer_132": {
"entryPoint": 2487,
"id": 132,
"parameterSlots": 1,
"returnSlots": 0
},
"@setInterected_143": {
"entryPoint": 2820,
"id": 143,
"parameterSlots": 0,
"returnSlots": 0
},
"@setNumber_107": {
"entryPoint": 1823,
"id": 107,
"parameterSlots": 1,
"returnSlots": 0
},
"@setText_78": {
"entryPoint": 2002,
"id": 78,
"parameterSlots": 1,
"returnSlots": 0
},
"@setUserAddress_119": {
"entryPoint": 2178,
"id": 119,
"parameterSlots": 0,
"returnSlots": 0
},
"@sub_221": {
"entryPoint": 2405,
"id": 221,
"parameterSlots": 2,
"returnSlots": 1
},
"@sumStored_275": {
"entryPoint": 2253,
"id": 275,
"parameterSlots": 1,
"returnSlots": 1
},
"@sum_207": {
"entryPoint": 2427,
"id": 207,
"parameterSlots": 2,
"returnSlots": 1
},
"@text_49": {
"entryPoint": 1220,
"id": 49,
"parameterSlots": 0,
"returnSlots": 0
},
"@transferOwnership_44": {
"entryPoint": 2524,
"id": 44,
"parameterSlots": 1,
"returnSlots": 0
},
"@userAddress_53": {
"entryPoint": 2449,
"id": 53,
"parameterSlots": 0,
"returnSlots": 0
},
"@withdraw_193": {
"entryPoint": 1482,
"id": 193,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_available_length_t_string_memory_ptr": {
"entryPoint": 3927,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 3459,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_address_payable": {
"entryPoint": 3352,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bool": {
"entryPoint": 4231,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_string_memory_ptr": {
"entryPoint": 3993,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 3600,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 3480,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address_payable": {
"entryPoint": 3373,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_bool": {
"entryPoint": 4252,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_string_memory_ptr": {
"entryPoint": 4039,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 3685,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256t_uint256": {
"entryPoint": 3621,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 4166,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 4124,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 3168,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_stringliteral_0e5c8fda9613e9f4e35d39c70f65c376fe2aa900802a86cc025c711db0c9b7c4_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5165,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_315e62c18c7aeb62d0d4d7f919eb0affd2b069b203e678610b5ee95cf2d22098_to_t_string_memory_ptr_fromStack": {
"entryPoint": 4971,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_fca62076c3a45d0949d1fcf939a62c62bdad002a0531066a7de3bc7823459ddb_to_t_string_memory_ptr_fromStack": {
"entryPoint": 4863,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 3535,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 4181,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 4139,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 3225,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_0e5c8fda9613e9f4e35d39c70f65c376fe2aa900802a86cc025c711db0c9b7c4__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 5200,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_315e62c18c7aeb62d0d4d7f919eb0affd2b069b203e678610b5ee95cf2d22098__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 5006,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_fca62076c3a45d0949d1fcf939a62c62bdad002a0531066a7de3bc7823459ddb__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 4898,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 3550,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 3836,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 3259,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_string_memory_ptr": {
"entryPoint": 3863,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 3072,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 3083,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 5038,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_div_t_uint256": {
"entryPoint": 5369,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_exp_helper": {
"entryPoint": 4453,
"id": null,
"parameterSlots": 4,
"returnSlots": 2
},
"checked_exp_t_uint256_t_uint256": {
"entryPoint": 4747,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_exp_unsigned": {
"entryPoint": 4536,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"checked_mul_t_uint256": {
"entryPoint": 5232,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 5418,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 3418,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_address_payable": {
"entryPoint": 3311,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 4112,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 3279,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 3525,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_calldata_to_memory": {
"entryPoint": 3912,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"copy_memory_to_memory": {
"entryPoint": 3100,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 4344,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 3787,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"panic_error_0x11": {
"entryPoint": 4393,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x12": {
"entryPoint": 5322,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 4297,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 3740,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 3730,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": {
"entryPoint": 3735,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 3274,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 3269,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 3151,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_right_1_unsigned": {
"entryPoint": 4440,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"store_literal_in_memory_0e5c8fda9613e9f4e35d39c70f65c376fe2aa900802a86cc025c711db0c9b7c4": {
"entryPoint": 5124,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_315e62c18c7aeb62d0d4d7f919eb0affd2b069b203e678610b5ee95cf2d22098": {
"entryPoint": 4930,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_fca62076c3a45d0949d1fcf939a62c62bdad002a0531066a7de3bc7823459ddb": {
"entryPoint": 4822,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 3436,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address_payable": {
"entryPoint": 3329,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_bool": {
"entryPoint": 4208,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 3577,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:16033:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "66:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "77:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "93:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "87:5:1"
},
"nodeType": "YulFunctionCall",
"src": "87:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "77:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "49:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "59:6:1",
"type": ""
}
],
"src": "7:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "208:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "225:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "230:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "218:6:1"
},
"nodeType": "YulFunctionCall",
"src": "218:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "218:19:1"
},
{
"nodeType": "YulAssignment",
"src": "246:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "265:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "270:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "261:3:1"
},
"nodeType": "YulFunctionCall",
"src": "261:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "246:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "180:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "185:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "196:11:1",
"type": ""
}
],
"src": "112:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "336:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "346:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "355:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "350:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "415:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "440:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "445:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "436:3:1"
},
"nodeType": "YulFunctionCall",
"src": "436:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "459:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "464:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "455:3:1"
},
"nodeType": "YulFunctionCall",
"src": "455:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "449:5:1"
},
"nodeType": "YulFunctionCall",
"src": "449:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "429:6:1"
},
"nodeType": "YulFunctionCall",
"src": "429:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "429:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "376:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "379:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "373:2:1"
},
"nodeType": "YulFunctionCall",
"src": "373:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "387:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "398:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "401:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "394:3:1"
},
"nodeType": "YulFunctionCall",
"src": "394:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "389:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "369:3:1",
"statements": []
},
"src": "365:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "512:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "562:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "567:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "558:3:1"
},
"nodeType": "YulFunctionCall",
"src": "558:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "576:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "551:6:1"
},
"nodeType": "YulFunctionCall",
"src": "551:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "551:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "493:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "496:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "490:2:1"
},
"nodeType": "YulFunctionCall",
"src": "490:13:1"
},
"nodeType": "YulIf",
"src": "487:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "318:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "323:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "328:6:1",
"type": ""
}
],
"src": "287:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "648:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "658:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "676:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "683:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "672:3:1"
},
"nodeType": "YulFunctionCall",
"src": "672:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "692:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "688:3:1"
},
"nodeType": "YulFunctionCall",
"src": "688:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "668:3:1"
},
"nodeType": "YulFunctionCall",
"src": "668:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "658:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "631:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "641:6:1",
"type": ""
}
],
"src": "600:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "800:272:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "810:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "857:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "824:32:1"
},
"nodeType": "YulFunctionCall",
"src": "824:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "814:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "872:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "938:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "943:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "879:58:1"
},
"nodeType": "YulFunctionCall",
"src": "879:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "872:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "985:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "992:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "981:3:1"
},
"nodeType": "YulFunctionCall",
"src": "981:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "999:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1004:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "959:21:1"
},
"nodeType": "YulFunctionCall",
"src": "959:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "959:52:1"
},
{
"nodeType": "YulAssignment",
"src": "1020:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1031:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1058:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "1036:21:1"
},
"nodeType": "YulFunctionCall",
"src": "1036:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1027:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1027:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1020:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "781:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "788:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "796:3:1",
"type": ""
}
],
"src": "708:364:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1196:195:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1206:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1218:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1229:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1214:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1214:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1206:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1253:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1264:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1249:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1249:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1272:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1278:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1268:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1268:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1242:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1242:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "1242:47:1"
},
{
"nodeType": "YulAssignment",
"src": "1298:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1370:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1379:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "1306:63:1"
},
"nodeType": "YulFunctionCall",
"src": "1306:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1298:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1168:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1180:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1191:4:1",
"type": ""
}
],
"src": "1078:313:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1437:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1447:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1463:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1457:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1457:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1447:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1430:6:1",
"type": ""
}
],
"src": "1397:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1567:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1584:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1587:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1577:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1577:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1577:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "1478:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1690:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1707:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1710:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1700:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1700:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1700:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "1601:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1769:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1779:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1794:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1801:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1790:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1790:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1779:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1751:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1761:7:1",
"type": ""
}
],
"src": "1724:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1909:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1919:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1948:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "1930:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1930:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1919:7:1"
}
]
}
]
},
"name": "cleanup_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1891:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1901:7:1",
"type": ""
}
],
"src": "1856:104:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2017:87:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2082:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2091:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2094:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2084:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2084:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "2084:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2040:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2073:5:1"
}
],
"functionName": {
"name": "cleanup_t_address_payable",
"nodeType": "YulIdentifier",
"src": "2047:25:1"
},
"nodeType": "YulFunctionCall",
"src": "2047:32:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "2037:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2037:43:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2030:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2030:51:1"
},
"nodeType": "YulIf",
"src": "2027:71:1"
}
]
},
"name": "validator_revert_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2010:5:1",
"type": ""
}
],
"src": "1966:138:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2170:95:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2180:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2202:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "2189:12:1"
},
"nodeType": "YulFunctionCall",
"src": "2189:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2180:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2253:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address_payable",
"nodeType": "YulIdentifier",
"src": "2218:34:1"
},
"nodeType": "YulFunctionCall",
"src": "2218:41:1"
},
"nodeType": "YulExpressionStatement",
"src": "2218:41:1"
}
]
},
"name": "abi_decode_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2148:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2156:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2164:5:1",
"type": ""
}
],
"src": "2110:155:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2345:271:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2391:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "2393:77:1"
},
"nodeType": "YulFunctionCall",
"src": "2393:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "2393:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2366:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2375:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2362:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2362:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2387:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "2358:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2358:32:1"
},
"nodeType": "YulIf",
"src": "2355:119:1"
},
{
"nodeType": "YulBlock",
"src": "2484:125:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2499:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2513:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2503:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2528:71:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2571:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2582:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2567:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2567:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2591:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address_payable",
"nodeType": "YulIdentifier",
"src": "2538:28:1"
},
"nodeType": "YulFunctionCall",
"src": "2538:61:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2528:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2315:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "2326:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2338:6:1",
"type": ""
}
],
"src": "2271:345:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2667:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2677:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2706:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "2688:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2688:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2677:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2649:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2659:7:1",
"type": ""
}
],
"src": "2622:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2767:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2824:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2833:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2836:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2826:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2826:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "2826:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2790:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2815:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "2797:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2797:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "2787:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2787:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2780:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2780:43:1"
},
"nodeType": "YulIf",
"src": "2777:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2760:5:1",
"type": ""
}
],
"src": "2724:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2904:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2914:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2936:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "2923:12:1"
},
"nodeType": "YulFunctionCall",
"src": "2923:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2914:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2979:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "2952:26:1"
},
"nodeType": "YulFunctionCall",
"src": "2952:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "2952:33:1"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2882:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2890:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2898:5:1",
"type": ""
}
],
"src": "2852:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3063:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3109:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "3111:77:1"
},
"nodeType": "YulFunctionCall",
"src": "3111:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "3111:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3084:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3093:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3080:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3080:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3105:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "3076:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3076:32:1"
},
"nodeType": "YulIf",
"src": "3073:119:1"
},
{
"nodeType": "YulBlock",
"src": "3202:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3217:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3231:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3221:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3246:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3281:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3292:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3277:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3277:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3301:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "3256:20:1"
},
"nodeType": "YulFunctionCall",
"src": "3256:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3246:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3033:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "3044:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3056:6:1",
"type": ""
}
],
"src": "2997:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3377:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3387:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "3398:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3387:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3359:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3369:7:1",
"type": ""
}
],
"src": "3332:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3480:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3497:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3520:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3502:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3502:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3490:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3490:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "3490:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3468:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3475:3:1",
"type": ""
}
],
"src": "3415:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3637:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3647:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3659:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3670:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3655:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3655:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3647:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3727:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3740:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3751:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3736:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3736:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "3683:43:1"
},
"nodeType": "YulFunctionCall",
"src": "3683:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "3683:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3609:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3621:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3632:4:1",
"type": ""
}
],
"src": "3539:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3810:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3867:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3876:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3879:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3869:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3869:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3869:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3833:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3858:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3840:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3840:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3830:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3830:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3823:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3823:43:1"
},
"nodeType": "YulIf",
"src": "3820:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3803:5:1",
"type": ""
}
],
"src": "3767:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3947:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3957:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3979:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "3966:12:1"
},
"nodeType": "YulFunctionCall",
"src": "3966:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3957:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4022:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "3995:26:1"
},
"nodeType": "YulFunctionCall",
"src": "3995:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "3995:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3925:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3933:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3941:5:1",
"type": ""
}
],
"src": "3895:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4123:391:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4169:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "4171:77:1"
},
"nodeType": "YulFunctionCall",
"src": "4171:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "4171:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4144:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4153:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4140:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4140:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4165:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "4136:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4136:32:1"
},
"nodeType": "YulIf",
"src": "4133:119:1"
},
{
"nodeType": "YulBlock",
"src": "4262:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4277:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4291:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4281:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4306:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4341:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4352:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4337:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4337:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4361:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "4316:20:1"
},
"nodeType": "YulFunctionCall",
"src": "4316:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4306:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "4389:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4404:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4418:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4408:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4434:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4469:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4480:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4465:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4465:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4489:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "4444:20:1"
},
"nodeType": "YulFunctionCall",
"src": "4444:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "4434:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4085:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "4096:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4108:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "4116:6:1",
"type": ""
}
],
"src": "4040:474:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4586:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4632:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "4634:77:1"
},
"nodeType": "YulFunctionCall",
"src": "4634:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "4634:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4607:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4616:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4603:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4603:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4628:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "4599:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4599:32:1"
},
"nodeType": "YulIf",
"src": "4596:119:1"
},
{
"nodeType": "YulBlock",
"src": "4725:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4740:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4754:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4744:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4769:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4804:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4815:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4800:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4800:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4824:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "4779:20:1"
},
"nodeType": "YulFunctionCall",
"src": "4779:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4769:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4556:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "4567:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4579:6:1",
"type": ""
}
],
"src": "4520:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4944:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4961:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4964:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4954:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4954:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4954:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "4855:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5067:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5084:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5087:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5077:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5077:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "5077:12:1"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulFunctionDefinition",
"src": "4978:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5129:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5146:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5149:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5139:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5139:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "5139:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5243:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5246:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5236:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5236:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5236:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5267:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5270:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5260:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5260:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5260:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "5101:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5330:238:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5340:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "5362:6:1"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "5392:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "5370:21:1"
},
"nodeType": "YulFunctionCall",
"src": "5370:27:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5358:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5358:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "5344:10:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5509:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "5511:16:1"
},
"nodeType": "YulFunctionCall",
"src": "5511:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "5511:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "5452:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5464:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "5449:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5449:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "5488:10:1"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "5500:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "5485:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5485:22:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "5446:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5446:62:1"
},
"nodeType": "YulIf",
"src": "5443:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5547:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "5551:10:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5540:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5540:22:1"
},
"nodeType": "YulExpressionStatement",
"src": "5540:22:1"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "5316:6:1",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "5324:4:1",
"type": ""
}
],
"src": "5287:281:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5615:88:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5625:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "5635:18:1"
},
"nodeType": "YulFunctionCall",
"src": "5635:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "5625:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "5684:6:1"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "5692:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "5664:19:1"
},
"nodeType": "YulFunctionCall",
"src": "5664:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "5664:33:1"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "5599:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "5608:6:1",
"type": ""
}
],
"src": "5574:129:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5776:241:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "5881:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "5883:16:1"
},
"nodeType": "YulFunctionCall",
"src": "5883:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "5883:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5853:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5861:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "5850:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5850:30:1"
},
"nodeType": "YulIf",
"src": "5847:56:1"
},
{
"nodeType": "YulAssignment",
"src": "5913:37:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5943:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "5921:21:1"
},
"nodeType": "YulFunctionCall",
"src": "5921:29:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "5913:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "5987:23:1",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "5999:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6005:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5995:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5995:15:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "5987:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5760:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "5771:4:1",
"type": ""
}
],
"src": "5709:308:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6074:103:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "6097:3:1"
},
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "6102:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6107:6:1"
}
],
"functionName": {
"name": "calldatacopy",
"nodeType": "YulIdentifier",
"src": "6084:12:1"
},
"nodeType": "YulFunctionCall",
"src": "6084:30:1"
},
"nodeType": "YulExpressionStatement",
"src": "6084:30:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "6155:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6160:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6151:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6151:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6169:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6144:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6144:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "6144:27:1"
}
]
},
"name": "copy_calldata_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "6056:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "6061:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "6066:6:1",
"type": ""
}
],
"src": "6023:154:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6267:328:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6277:75:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6344:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "6302:41:1"
},
"nodeType": "YulFunctionCall",
"src": "6302:49:1"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "6286:15:1"
},
"nodeType": "YulFunctionCall",
"src": "6286:66:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "6277:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "6368:5:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6375:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6361:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6361:21:1"
},
"nodeType": "YulExpressionStatement",
"src": "6361:21:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "6391:27:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "6406:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6413:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6402:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6402:16:1"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "6395:3:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6456:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulIdentifier",
"src": "6458:77:1"
},
"nodeType": "YulFunctionCall",
"src": "6458:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "6458:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "6437:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6442:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6433:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6433:16:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "6451:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "6430:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6430:25:1"
},
"nodeType": "YulIf",
"src": "6427:112:1"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "6572:3:1"
},
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "6577:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6582:6:1"
}
],
"functionName": {
"name": "copy_calldata_to_memory",
"nodeType": "YulIdentifier",
"src": "6548:23:1"
},
"nodeType": "YulFunctionCall",
"src": "6548:41:1"
},
"nodeType": "YulExpressionStatement",
"src": "6548:41:1"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "6240:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "6245:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "6253:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "6261:5:1",
"type": ""
}
],
"src": "6183:412:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6677:278:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "6726:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "6728:77:1"
},
"nodeType": "YulFunctionCall",
"src": "6728:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "6728:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "6705:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6713:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6701:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6701:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "6720:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "6697:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6697:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "6690:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6690:35:1"
},
"nodeType": "YulIf",
"src": "6687:122:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "6818:34:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "6845:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "6832:12:1"
},
"nodeType": "YulFunctionCall",
"src": "6832:20:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "6822:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "6861:88:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "6922:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6930:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6918:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6918:17:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6937:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "6945:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "6870:47:1"
},
"nodeType": "YulFunctionCall",
"src": "6870:79:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "6861:5:1"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "6655:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "6663:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "6671:5:1",
"type": ""
}
],
"src": "6615:340:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7037:433:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "7083:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "7085:77:1"
},
"nodeType": "YulFunctionCall",
"src": "7085:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "7085:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "7058:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7067:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "7054:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7054:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7079:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "7050:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7050:32:1"
},
"nodeType": "YulIf",
"src": "7047:119:1"
},
{
"nodeType": "YulBlock",
"src": "7176:287:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "7191:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7222:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7233:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7218:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7218:17:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "7205:12:1"
},
"nodeType": "YulFunctionCall",
"src": "7205:31:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "7195:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "7283:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "7285:77:1"
},
"nodeType": "YulFunctionCall",
"src": "7285:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "7285:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "7255:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7263:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "7252:2:1"
},
"nodeType": "YulFunctionCall",
"src": "7252:30:1"
},
"nodeType": "YulIf",
"src": "7249:117:1"
},
{
"nodeType": "YulAssignment",
"src": "7380:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7425:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "7436:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7421:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7421:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "7445:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "7390:30:1"
},
"nodeType": "YulFunctionCall",
"src": "7390:63:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "7380:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "7007:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "7018:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "7030:6:1",
"type": ""
}
],
"src": "6961:509:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7518:48:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7528:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7553:5:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "7546:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7546:13:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "7539:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7539:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "7528:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7500:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "7510:7:1",
"type": ""
}
],
"src": "7476:90:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7631:50:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7648:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7668:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "7653:14:1"
},
"nodeType": "YulFunctionCall",
"src": "7653:21:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7641:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7641:34:1"
},
"nodeType": "YulExpressionStatement",
"src": "7641:34:1"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7619:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "7626:3:1",
"type": ""
}
],
"src": "7572:109:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7779:118:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7789:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7801:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7812:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7797:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7797:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7789:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "7863:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7876:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7887:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7872:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7872:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulIdentifier",
"src": "7825:37:1"
},
"nodeType": "YulFunctionCall",
"src": "7825:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "7825:65:1"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "7751:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "7763:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "7774:4:1",
"type": ""
}
],
"src": "7687:210:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7968:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7985:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8008:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "7990:17:1"
},
"nodeType": "YulFunctionCall",
"src": "7990:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7978:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7978:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "7978:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7956:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "7963:3:1",
"type": ""
}
],
"src": "7903:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8125:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8135:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8147:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8158:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8143:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8143:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8135:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "8215:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8228:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8239:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8224:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8224:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "8171:43:1"
},
"nodeType": "YulFunctionCall",
"src": "8171:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "8171:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "8097:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "8109:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "8120:4:1",
"type": ""
}
],
"src": "8027:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8295:76:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "8349:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8358:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8361:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8351:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8351:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "8351:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8318:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8340:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "8325:14:1"
},
"nodeType": "YulFunctionCall",
"src": "8325:21:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "8315:2:1"
},
"nodeType": "YulFunctionCall",
"src": "8315:32:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "8308:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8308:40:1"
},
"nodeType": "YulIf",
"src": "8305:60:1"
}
]
},
"name": "validator_revert_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8288:5:1",
"type": ""
}
],
"src": "8255:116:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8426:84:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8436:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "8458:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "8445:12:1"
},
"nodeType": "YulFunctionCall",
"src": "8445:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8436:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8498:5:1"
}
],
"functionName": {
"name": "validator_revert_t_bool",
"nodeType": "YulIdentifier",
"src": "8474:23:1"
},
"nodeType": "YulFunctionCall",
"src": "8474:30:1"
},
"nodeType": "YulExpressionStatement",
"src": "8474:30:1"
}
]
},
"name": "abi_decode_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "8404:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "8412:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8420:5:1",
"type": ""
}
],
"src": "8377:133:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8579:260:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "8625:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "8627:77:1"
},
"nodeType": "YulFunctionCall",
"src": "8627:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "8627:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "8600:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8609:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "8596:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8596:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8621:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "8592:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8592:32:1"
},
"nodeType": "YulIf",
"src": "8589:119:1"
},
{
"nodeType": "YulBlock",
"src": "8718:114:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "8733:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "8747:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "8737:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "8762:60:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8794:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "8805:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8790:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8790:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "8814:7:1"
}
],
"functionName": {
"name": "abi_decode_t_bool",
"nodeType": "YulIdentifier",
"src": "8772:17:1"
},
"nodeType": "YulFunctionCall",
"src": "8772:50:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "8762:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "8549:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "8560:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "8572:6:1",
"type": ""
}
],
"src": "8516:323:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8873:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8890:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8893:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8883:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8883:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "8883:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8987:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8990:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8980:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8980:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "8980:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9011:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9014:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "9004:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9004:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "9004:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "8845:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9082:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9092:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "9106:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9112:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "9102:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9102:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "9092:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "9123:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "9153:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9159:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "9149:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9149:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "9127:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "9200:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9214:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "9228:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9236:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "9224:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9224:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "9214:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "9180:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "9173:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9173:26:1"
},
"nodeType": "YulIf",
"src": "9170:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9303:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "9317:16:1"
},
"nodeType": "YulFunctionCall",
"src": "9317:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "9317:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "9267:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "9290:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9298:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "9287:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9287:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "9264:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9264:38:1"
},
"nodeType": "YulIf",
"src": "9261:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "9066:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "9075:6:1",
"type": ""
}
],
"src": "9031:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9385:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9402:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9405:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9395:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9395:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "9395:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9499:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9502:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9492:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9492:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "9492:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9523:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9526:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "9516:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9516:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "9516:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "9357:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9594:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9604:34:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9629:1:1",
"type": "",
"value": "1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "9632:5:1"
}
],
"functionName": {
"name": "shr",
"nodeType": "YulIdentifier",
"src": "9625:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9625:13:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "9604:8:1"
}
]
}
]
},
"name": "shift_right_1_unsigned",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "9575:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "9585:8:1",
"type": ""
}
],
"src": "9543:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9724:775:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9734:15:1",
"value": {
"name": "_power",
"nodeType": "YulIdentifier",
"src": "9743:6:1"
},
"variableNames": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "9734:5:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "9758:14:1",
"value": {
"name": "_base",
"nodeType": "YulIdentifier",
"src": "9767:5:1"
},
"variableNames": [
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "9758:4:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "9816:677:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "9904:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "9906:16:1"
},
"nodeType": "YulFunctionCall",
"src": "9906:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "9906:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "9882:4:1"
},
{
"arguments": [
{
"name": "max",
"nodeType": "YulIdentifier",
"src": "9892:3:1"
},
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "9897:4:1"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "9888:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9888:14:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "9879:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9879:24:1"
},
"nodeType": "YulIf",
"src": "9876:50:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9971:419:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "10351:25:1",
"value": {
"arguments": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "10364:5:1"
},
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "10371:4:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "10360:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10360:16:1"
},
"variableNames": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "10351:5:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "9946:8:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9956:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "9942:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9942:16:1"
},
"nodeType": "YulIf",
"src": "9939:451:1"
},
{
"nodeType": "YulAssignment",
"src": "10403:23:1",
"value": {
"arguments": [
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "10415:4:1"
},
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "10421:4:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "10411:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10411:15:1"
},
"variableNames": [
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "10403:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "10439:44:1",
"value": {
"arguments": [
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "10474:8:1"
}
],
"functionName": {
"name": "shift_right_1_unsigned",
"nodeType": "YulIdentifier",
"src": "10451:22:1"
},
"nodeType": "YulFunctionCall",
"src": "10451:32:1"
},
"variableNames": [
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "10439:8:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "9792:8:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9802:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "9789:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9789:15:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "9805:2:1",
"statements": []
},
"pre": {
"nodeType": "YulBlock",
"src": "9785:3:1",
"statements": []
},
"src": "9781:712:1"
}
]
},
"name": "checked_exp_helper",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "_power",
"nodeType": "YulTypedName",
"src": "9679:6:1",
"type": ""
},
{
"name": "_base",
"nodeType": "YulTypedName",
"src": "9687:5:1",
"type": ""
},
{
"name": "exponent",
"nodeType": "YulTypedName",
"src": "9694:8:1",
"type": ""
},
{
"name": "max",
"nodeType": "YulTypedName",
"src": "9704:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "power",
"nodeType": "YulTypedName",
"src": "9712:5:1",
"type": ""
},
{
"name": "base",
"nodeType": "YulTypedName",
"src": "9719:4:1",
"type": ""
}
],
"src": "9651:848:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10565:1013:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "10760:20:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "10762:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "10771:1:1",
"type": "",
"value": "1"
},
"variableNames": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "10762:5:1"
}
]
},
{
"nodeType": "YulLeave",
"src": "10773:5:1"
}
]
},
"condition": {
"arguments": [
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "10750:8:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "10743:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10743:16:1"
},
"nodeType": "YulIf",
"src": "10740:40:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10805:20:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "10807:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "10816:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "10807:5:1"
}
]
},
{
"nodeType": "YulLeave",
"src": "10818:5:1"
}
]
},
"condition": {
"arguments": [
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "10799:4:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "10792:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10792:12:1"
},
"nodeType": "YulIf",
"src": "10789:36:1"
},
{
"cases": [
{
"body": {
"nodeType": "YulBlock",
"src": "10935:20:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "10937:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "10946:1:1",
"type": "",
"value": "1"
},
"variableNames": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "10937:5:1"
}
]
},
{
"nodeType": "YulLeave",
"src": "10948:5:1"
}
]
},
"nodeType": "YulCase",
"src": "10928:27:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "10933:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nodeType": "YulBlock",
"src": "10979:176:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "11014:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "11016:16:1"
},
"nodeType": "YulFunctionCall",
"src": "11016:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "11016:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "10999:8:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11009:3:1",
"type": "",
"value": "255"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "10996:2:1"
},
"nodeType": "YulFunctionCall",
"src": "10996:17:1"
},
"nodeType": "YulIf",
"src": "10993:43:1"
},
{
"nodeType": "YulAssignment",
"src": "11049:25:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11062:1:1",
"type": "",
"value": "2"
},
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "11065:8:1"
}
],
"functionName": {
"name": "exp",
"nodeType": "YulIdentifier",
"src": "11058:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11058:16:1"
},
"variableNames": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "11049:5:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "11105:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "11107:16:1"
},
"nodeType": "YulFunctionCall",
"src": "11107:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "11107:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "11093:5:1"
},
{
"name": "max",
"nodeType": "YulIdentifier",
"src": "11100:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "11090:2:1"
},
"nodeType": "YulFunctionCall",
"src": "11090:14:1"
},
"nodeType": "YulIf",
"src": "11087:40:1"
},
{
"nodeType": "YulLeave",
"src": "11140:5:1"
}
]
},
"nodeType": "YulCase",
"src": "10964:191:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "10969:1:1",
"type": "",
"value": "2"
}
}
],
"expression": {
"name": "base",
"nodeType": "YulIdentifier",
"src": "10885:4:1"
},
"nodeType": "YulSwitch",
"src": "10878:277:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11287:123:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "11301:28:1",
"value": {
"arguments": [
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "11314:4:1"
},
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "11320:8:1"
}
],
"functionName": {
"name": "exp",
"nodeType": "YulIdentifier",
"src": "11310:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11310:19:1"
},
"variableNames": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "11301:5:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "11360:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "11362:16:1"
},
"nodeType": "YulFunctionCall",
"src": "11362:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "11362:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "11348:5:1"
},
{
"name": "max",
"nodeType": "YulIdentifier",
"src": "11355:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "11345:2:1"
},
"nodeType": "YulFunctionCall",
"src": "11345:14:1"
},
"nodeType": "YulIf",
"src": "11342:40:1"
},
{
"nodeType": "YulLeave",
"src": "11395:5:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "11190:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11196:2:1",
"type": "",
"value": "11"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "11187:2:1"
},
"nodeType": "YulFunctionCall",
"src": "11187:12:1"
},
{
"arguments": [
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "11204:8:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11214:2:1",
"type": "",
"value": "78"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "11201:2:1"
},
"nodeType": "YulFunctionCall",
"src": "11201:16:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "11183:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11183:35:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "11239:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11245:3:1",
"type": "",
"value": "307"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "11236:2:1"
},
"nodeType": "YulFunctionCall",
"src": "11236:13:1"
},
{
"arguments": [
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "11254:8:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11264:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "11251:2:1"
},
"nodeType": "YulFunctionCall",
"src": "11251:16:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "11232:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11232:36:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "11167:2:1"
},
"nodeType": "YulFunctionCall",
"src": "11167:111:1"
},
"nodeType": "YulIf",
"src": "11164:246:1"
},
{
"nodeType": "YulAssignment",
"src": "11420:57:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11454:1:1",
"type": "",
"value": "1"
},
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "11457:4:1"
},
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "11463:8:1"
},
{
"name": "max",
"nodeType": "YulIdentifier",
"src": "11473:3:1"
}
],
"functionName": {
"name": "checked_exp_helper",
"nodeType": "YulIdentifier",
"src": "11435:18:1"
},
"nodeType": "YulFunctionCall",
"src": "11435:42:1"
},
"variableNames": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "11420:5:1"
},
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "11427:4:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "11516:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "11518:16:1"
},
"nodeType": "YulFunctionCall",
"src": "11518:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "11518:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "11493:5:1"
},
{
"arguments": [
{
"name": "max",
"nodeType": "YulIdentifier",
"src": "11504:3:1"
},
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "11509:4:1"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "11500:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11500:14:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "11490:2:1"
},
"nodeType": "YulFunctionCall",
"src": "11490:25:1"
},
"nodeType": "YulIf",
"src": "11487:51:1"
},
{
"nodeType": "YulAssignment",
"src": "11547:25:1",
"value": {
"arguments": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "11560:5:1"
},
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "11567:4:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "11556:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11556:16:1"
},
"variableNames": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "11547:5:1"
}
]
}
]
},
"name": "checked_exp_unsigned",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "base",
"nodeType": "YulTypedName",
"src": "10535:4:1",
"type": ""
},
{
"name": "exponent",
"nodeType": "YulTypedName",
"src": "10541:8:1",
"type": ""
},
{
"name": "max",
"nodeType": "YulTypedName",
"src": "10551:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "power",
"nodeType": "YulTypedName",
"src": "10559:5:1",
"type": ""
}
],
"src": "10505:1073:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11650:219:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "11660:31:1",
"value": {
"arguments": [
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "11686:4:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "11668:17:1"
},
"nodeType": "YulFunctionCall",
"src": "11668:23:1"
},
"variableNames": [
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "11660:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "11700:39:1",
"value": {
"arguments": [
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "11730:8:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "11712:17:1"
},
"nodeType": "YulFunctionCall",
"src": "11712:27:1"
},
"variableNames": [
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "11700:8:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "11749:113:1",
"value": {
"arguments": [
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "11779:4:1"
},
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "11785:8:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11795:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "checked_exp_unsigned",
"nodeType": "YulIdentifier",
"src": "11758:20:1"
},
"nodeType": "YulFunctionCall",
"src": "11758:104:1"
},
"variableNames": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "11749:5:1"
}
]
}
]
},
"name": "checked_exp_t_uint256_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "base",
"nodeType": "YulTypedName",
"src": "11625:4:1",
"type": ""
},
{
"name": "exponent",
"nodeType": "YulTypedName",
"src": "11631:8:1",
"type": ""
}
],
"returnVariables": [
{
"name": "power",
"nodeType": "YulTypedName",
"src": "11644:5:1",
"type": ""
}
],
"src": "11584:285:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11981:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "12003:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12011:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11999:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11999:14:1"
},
{
"hexValue": "496e73756666696369656e742066756e64732e",
"kind": "string",
"nodeType": "YulLiteral",
"src": "12015:21:1",
"type": "",
"value": "Insufficient funds."
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "11992:6:1"
},
"nodeType": "YulFunctionCall",
"src": "11992:45:1"
},
"nodeType": "YulExpressionStatement",
"src": "11992:45:1"
}
]
},
"name": "store_literal_in_memory_fca62076c3a45d0949d1fcf939a62c62bdad002a0531066a7de3bc7823459ddb",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "11973:6:1",
"type": ""
}
],
"src": "11875:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12196:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "12206:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "12272:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12277:2:1",
"type": "",
"value": "19"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "12213:58:1"
},
"nodeType": "YulFunctionCall",
"src": "12213:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "12206:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "12378:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_fca62076c3a45d0949d1fcf939a62c62bdad002a0531066a7de3bc7823459ddb",
"nodeType": "YulIdentifier",
"src": "12289:88:1"
},
"nodeType": "YulFunctionCall",
"src": "12289:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "12289:93:1"
},
{
"nodeType": "YulAssignment",
"src": "12391:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "12402:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12407:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12398:3:1"
},
"nodeType": "YulFunctionCall",
"src": "12398:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "12391:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_fca62076c3a45d0949d1fcf939a62c62bdad002a0531066a7de3bc7823459ddb_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "12184:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "12192:3:1",
"type": ""
}
],
"src": "12050:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12593:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "12603:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12615:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12626:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12611:3:1"
},
"nodeType": "YulFunctionCall",
"src": "12611:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12603:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12650:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12661:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12646:3:1"
},
"nodeType": "YulFunctionCall",
"src": "12646:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12669:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12675:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "12665:3:1"
},
"nodeType": "YulFunctionCall",
"src": "12665:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "12639:6:1"
},
"nodeType": "YulFunctionCall",
"src": "12639:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "12639:47:1"
},
{
"nodeType": "YulAssignment",
"src": "12695:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12829:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_fca62076c3a45d0949d1fcf939a62c62bdad002a0531066a7de3bc7823459ddb_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "12703:124:1"
},
"nodeType": "YulFunctionCall",
"src": "12703:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12695:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_fca62076c3a45d0949d1fcf939a62c62bdad002a0531066a7de3bc7823459ddb__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "12573:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "12588:4:1",
"type": ""
}
],
"src": "12422:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12953:66:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "12975:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12983:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12971:3:1"
},
"nodeType": "YulFunctionCall",
"src": "12971:14:1"
},
{
"hexValue": "496e73756666696369656e74204554482073656e742e",
"kind": "string",
"nodeType": "YulLiteral",
"src": "12987:24:1",
"type": "",
"value": "Insufficient ETH sent."
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "12964:6:1"
},
"nodeType": "YulFunctionCall",
"src": "12964:48:1"
},
"nodeType": "YulExpressionStatement",
"src": "12964:48:1"
}
]
},
"name": "store_literal_in_memory_315e62c18c7aeb62d0d4d7f919eb0affd2b069b203e678610b5ee95cf2d22098",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "12945:6:1",
"type": ""
}
],
"src": "12847:172:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "13171:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "13181:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13247:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13252:2:1",
"type": "",
"value": "22"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "13188:58:1"
},
"nodeType": "YulFunctionCall",
"src": "13188:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13181:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13353:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_315e62c18c7aeb62d0d4d7f919eb0affd2b069b203e678610b5ee95cf2d22098",
"nodeType": "YulIdentifier",
"src": "13264:88:1"
},
"nodeType": "YulFunctionCall",
"src": "13264:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "13264:93:1"
},
{
"nodeType": "YulAssignment",
"src": "13366:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13377:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13382:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13373:3:1"
},
"nodeType": "YulFunctionCall",
"src": "13373:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "13366:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_315e62c18c7aeb62d0d4d7f919eb0affd2b069b203e678610b5ee95cf2d22098_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "13159:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "13167:3:1",
"type": ""
}
],
"src": "13025:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "13568:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "13578:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "13590:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13601:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13586:3:1"
},
"nodeType": "YulFunctionCall",
"src": "13586:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13578:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "13625:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13636:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13621:3:1"
},
"nodeType": "YulFunctionCall",
"src": "13621:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13644:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "13650:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "13640:3:1"
},
"nodeType": "YulFunctionCall",
"src": "13640:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "13614:6:1"
},
"nodeType": "YulFunctionCall",
"src": "13614:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "13614:47:1"
},
{
"nodeType": "YulAssignment",
"src": "13670:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13804:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_315e62c18c7aeb62d0d4d7f919eb0affd2b069b203e678610b5ee95cf2d22098_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "13678:124:1"
},
"nodeType": "YulFunctionCall",
"src": "13678:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13670:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_315e62c18c7aeb62d0d4d7f919eb0affd2b069b203e678610b5ee95cf2d22098__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "13548:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "13563:4:1",
"type": ""
}
],
"src": "13397:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "13866:261:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "13876:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "13899:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "13881:17:1"
},
"nodeType": "YulFunctionCall",
"src": "13881:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "13876:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "13910:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "13933:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "13915:17:1"
},
"nodeType": "YulFunctionCall",
"src": "13915:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "13910:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "14073:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "14075:16:1"
},
"nodeType": "YulFunctionCall",
"src": "14075:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "14075:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "13994:1:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14001:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "14069:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "13997:3:1"
},
"nodeType": "YulFunctionCall",
"src": "13997:74:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "13991:2:1"
},
"nodeType": "YulFunctionCall",
"src": "13991:81:1"
},
"nodeType": "YulIf",
"src": "13988:107:1"
},
{
"nodeType": "YulAssignment",
"src": "14105:16:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "14116:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "14119:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "14112:3:1"
},
"nodeType": "YulFunctionCall",
"src": "14112:9:1"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "14105:3:1"
}
]
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "13853:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "13856:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "13862:3:1",
"type": ""
}
],
"src": "13822:305:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "14239:66:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "14261:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14269:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "14257:3:1"
},
"nodeType": "YulFunctionCall",
"src": "14257:14:1"
},
{
"hexValue": "596f7520617265206e6f7420746865206f776e657221",
"kind": "string",
"nodeType": "YulLiteral",
"src": "14273:24:1",
"type": "",
"value": "You are not the owner!"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "14250:6:1"
},
"nodeType": "YulFunctionCall",
"src": "14250:48:1"
},
"nodeType": "YulExpressionStatement",
"src": "14250:48:1"
}
]
},
"name": "store_literal_in_memory_0e5c8fda9613e9f4e35d39c70f65c376fe2aa900802a86cc025c711db0c9b7c4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "14231:6:1",
"type": ""
}
],
"src": "14133:172:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "14457:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "14467:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "14533:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14538:2:1",
"type": "",
"value": "22"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "14474:58:1"
},
"nodeType": "YulFunctionCall",
"src": "14474:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "14467:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "14639:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_0e5c8fda9613e9f4e35d39c70f65c376fe2aa900802a86cc025c711db0c9b7c4",
"nodeType": "YulIdentifier",
"src": "14550:88:1"
},
"nodeType": "YulFunctionCall",
"src": "14550:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "14550:93:1"
},
{
"nodeType": "YulAssignment",
"src": "14652:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "14663:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14668:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "14659:3:1"
},
"nodeType": "YulFunctionCall",
"src": "14659:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "14652:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_0e5c8fda9613e9f4e35d39c70f65c376fe2aa900802a86cc025c711db0c9b7c4_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "14445:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "14453:3:1",
"type": ""
}
],
"src": "14311:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "14854:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "14864:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "14876:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14887:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "14872:3:1"
},
"nodeType": "YulFunctionCall",
"src": "14872:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "14864:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "14911:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14922:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "14907:3:1"
},
"nodeType": "YulFunctionCall",
"src": "14907:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "14930:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "14936:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "14926:3:1"
},
"nodeType": "YulFunctionCall",
"src": "14926:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "14900:6:1"
},
"nodeType": "YulFunctionCall",
"src": "14900:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "14900:47:1"
},
{
"nodeType": "YulAssignment",
"src": "14956:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "15090:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_0e5c8fda9613e9f4e35d39c70f65c376fe2aa900802a86cc025c711db0c9b7c4_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "14964:124:1"
},
"nodeType": "YulFunctionCall",
"src": "14964:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "14956:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_0e5c8fda9613e9f4e35d39c70f65c376fe2aa900802a86cc025c711db0c9b7c4__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "14834:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "14849:4:1",
"type": ""
}
],
"src": "14683:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "15156:300:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "15166:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "15189:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "15171:17:1"
},
"nodeType": "YulFunctionCall",
"src": "15171:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "15166:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "15200:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "15223:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "15205:17:1"
},
"nodeType": "YulFunctionCall",
"src": "15205:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "15200:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "15398:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "15400:16:1"
},
"nodeType": "YulFunctionCall",
"src": "15400:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "15400:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "15310:1:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "15303:6:1"
},
"nodeType": "YulFunctionCall",
"src": "15303:9:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "15296:6:1"
},
"nodeType": "YulFunctionCall",
"src": "15296:17:1"
},
{
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "15318:1:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15325:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "15393:1:1"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "15321:3:1"
},
"nodeType": "YulFunctionCall",
"src": "15321:74:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "15315:2:1"
},
"nodeType": "YulFunctionCall",
"src": "15315:81:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "15292:3:1"
},
"nodeType": "YulFunctionCall",
"src": "15292:105:1"
},
"nodeType": "YulIf",
"src": "15289:131:1"
},
{
"nodeType": "YulAssignment",
"src": "15430:20:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "15445:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "15448:1:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "15441:3:1"
},
"nodeType": "YulFunctionCall",
"src": "15441:9:1"
},
"variableNames": [
{
"name": "product",
"nodeType": "YulIdentifier",
"src": "15430:7:1"
}
]
}
]
},
"name": "checked_mul_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "15139:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "15142:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "product",
"nodeType": "YulTypedName",
"src": "15148:7:1",
"type": ""
}
],
"src": "15108:348:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "15490:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15507:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15510:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "15500:6:1"
},
"nodeType": "YulFunctionCall",
"src": "15500:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "15500:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15604:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15607:4:1",
"type": "",
"value": "0x12"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "15597:6:1"
},
"nodeType": "YulFunctionCall",
"src": "15597:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "15597:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15628:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15631:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "15621:6:1"
},
"nodeType": "YulFunctionCall",
"src": "15621:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "15621:15:1"
}
]
},
"name": "panic_error_0x12",
"nodeType": "YulFunctionDefinition",
"src": "15462:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "15690:143:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "15700:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "15723:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "15705:17:1"
},
"nodeType": "YulFunctionCall",
"src": "15705:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "15700:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "15734:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "15757:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "15739:17:1"
},
"nodeType": "YulFunctionCall",
"src": "15739:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "15734:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "15781:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x12",
"nodeType": "YulIdentifier",
"src": "15783:16:1"
},
"nodeType": "YulFunctionCall",
"src": "15783:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "15783:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "15778:1:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "15771:6:1"
},
"nodeType": "YulFunctionCall",
"src": "15771:9:1"
},
"nodeType": "YulIf",
"src": "15768:35:1"
},
{
"nodeType": "YulAssignment",
"src": "15813:14:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "15822:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "15825:1:1"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "15818:3:1"
},
"nodeType": "YulFunctionCall",
"src": "15818:9:1"
},
"variableNames": [
{
"name": "r",
"nodeType": "YulIdentifier",
"src": "15813:1:1"
}
]
}
]
},
"name": "checked_div_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "15679:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "15682:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "r",
"nodeType": "YulTypedName",
"src": "15688:1:1",
"type": ""
}
],
"src": "15648:185:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "15884:146:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "15894:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "15917:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "15899:17:1"
},
"nodeType": "YulFunctionCall",
"src": "15899:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "15894:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "15928:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "15951:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "15933:17:1"
},
"nodeType": "YulFunctionCall",
"src": "15933:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "15928:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "15975:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "15977:16:1"
},
"nodeType": "YulFunctionCall",
"src": "15977:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "15977:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "15969:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "15972:1:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "15966:2:1"
},
"nodeType": "YulFunctionCall",
"src": "15966:8:1"
},
"nodeType": "YulIf",
"src": "15963:34:1"
},
{
"nodeType": "YulAssignment",
"src": "16007:17:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "16019:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "16022:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "16015:3:1"
},
"nodeType": "YulFunctionCall",
"src": "16015:9:1"
},
"variableNames": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "16007:4:1"
}
]
}
]
},
"name": "checked_sub_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "15870:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "15873:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nodeType": "YulTypedName",
"src": "15879:4:1",
"type": ""
}
],
"src": "15839:191:1"
}
]
},
"contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_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 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 validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_bool(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_bool(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function shift_right_1_unsigned(value) -> newValue {\n newValue :=\n\n shr(1, value)\n\n }\n\n function checked_exp_helper(_power, _base, exponent, max) -> power, base {\n power := _power\n base := _base\n for { } gt(exponent, 1) {}\n {\n // overflow check for base * base\n if gt(base, div(max, base)) { panic_error_0x11() }\n if and(exponent, 1)\n {\n // No checks for power := mul(power, base) needed, because the check\n // for base * base above is sufficient, since:\n // |power| <= base (proof by induction) and thus:\n // |power * base| <= base * base <= max <= |min| (for signed)\n // (this is equally true for signed and unsigned exp)\n power := mul(power, base)\n }\n base := mul(base, base)\n exponent := shift_right_1_unsigned(exponent)\n }\n }\n\n function checked_exp_unsigned(base, exponent, max) -> power {\n // This function currently cannot be inlined because of the\n // \"leave\" statements. We have to improve the optimizer.\n\n // Note that 0**0 == 1\n if iszero(exponent) { power := 1 leave }\n if iszero(base) { power := 0 leave }\n\n // Specializations for small bases\n switch base\n // 0 is handled above\n case 1 { power := 1 leave }\n case 2\n {\n if gt(exponent, 255) { panic_error_0x11() }\n power := exp(2, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n if or(\n and(lt(base, 11), lt(exponent, 78)),\n and(lt(base, 307), lt(exponent, 32))\n )\n {\n power := exp(base, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n\n power, base := checked_exp_helper(1, base, exponent, max)\n\n if gt(power, div(max, base)) { panic_error_0x11() }\n power := mul(power, base)\n }\n\n function checked_exp_t_uint256_t_uint256(base, exponent) -> power {\n base := cleanup_t_uint256(base)\n exponent := cleanup_t_uint256(exponent)\n\n power := checked_exp_unsigned(base, exponent, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n\n }\n\n function store_literal_in_memory_fca62076c3a45d0949d1fcf939a62c62bdad002a0531066a7de3bc7823459ddb(memPtr) {\n\n mstore(add(memPtr, 0), \"Insufficient funds.\")\n\n }\n\n function abi_encode_t_stringliteral_fca62076c3a45d0949d1fcf939a62c62bdad002a0531066a7de3bc7823459ddb_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 19)\n store_literal_in_memory_fca62076c3a45d0949d1fcf939a62c62bdad002a0531066a7de3bc7823459ddb(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_fca62076c3a45d0949d1fcf939a62c62bdad002a0531066a7de3bc7823459ddb__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_fca62076c3a45d0949d1fcf939a62c62bdad002a0531066a7de3bc7823459ddb_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_315e62c18c7aeb62d0d4d7f919eb0affd2b069b203e678610b5ee95cf2d22098(memPtr) {\n\n mstore(add(memPtr, 0), \"Insufficient ETH sent.\")\n\n }\n\n function abi_encode_t_stringliteral_315e62c18c7aeb62d0d4d7f919eb0affd2b069b203e678610b5ee95cf2d22098_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_315e62c18c7aeb62d0d4d7f919eb0affd2b069b203e678610b5ee95cf2d22098(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_315e62c18c7aeb62d0d4d7f919eb0affd2b069b203e678610b5ee95cf2d22098__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_315e62c18c7aeb62d0d4d7f919eb0affd2b069b203e678610b5ee95cf2d22098_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function store_literal_in_memory_0e5c8fda9613e9f4e35d39c70f65c376fe2aa900802a86cc025c711db0c9b7c4(memPtr) {\n\n mstore(add(memPtr, 0), \"You are not the owner!\")\n\n }\n\n function abi_encode_t_stringliteral_0e5c8fda9613e9f4e35d39c70f65c376fe2aa900802a86cc025c711db0c9b7c4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_0e5c8fda9613e9f4e35d39c70f65c376fe2aa900802a86cc025c711db0c9b7c4(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_0e5c8fda9613e9f4e35d39c70f65c376fe2aa900802a86cc025c711db0c9b7c4__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_0e5c8fda9613e9f4e35d39c70f65c376fe2aa900802a86cc025c711db0c9b7c4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x != 0 and y > (maxValue / x)\n if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n product := mul(x, y)\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function checked_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "60806040526004361061011f5760003560e01c80638381f58a116100a0578063b67d77c511610064578063b67d77c5146103cd578063cad0899b1461040a578063e4128fb314610447578063f01b7dd214610472578063f2fde38b1461049b5761011f565b80638381f58a146102d257806385bb7d69146102fd5780638da5cb5b146103285780639aa727f614610353578063a391c15b146103905761011f565b80633fb5c1cb116100e75780633fb5c1cb146101fc5780635d3a1f9d1461021857806362dd45541461024157806377954162146102585780638187f846146102955761011f565b80631f1bd6921461012457806321b1e5f81461014f57806327e235e31461016b5780632e4c697f146101a85780633ccfd60b146101e5575b600080fd5b34801561013057600080fd5b506101396104c4565b6040516101469190610c99565b60405180910390f35b61016960048036038101906101649190610d2d565b610552565b005b34801561017757600080fd5b50610192600480360381019061018d9190610d98565b61059c565b60405161019f9190610dde565b60405180910390f35b3480156101b457600080fd5b506101cf60048036038101906101ca9190610e25565b6105b4565b6040516101dc9190610dde565b60405180910390f35b3480156101f157600080fd5b506101fa6105ca565b005b61021660048036038101906102119190610e65565b61071f565b005b34801561022457600080fd5b5061023f600480360381019061023a9190610fc7565b6107d2565b005b34801561024d57600080fd5b50610256610882565b005b34801561026457600080fd5b5061027f600480360381019061027a9190610e65565b6108cd565b60405161028c9190610dde565b60405180910390f35b3480156102a157600080fd5b506102bc60048036038101906102b79190610d98565b6108e4565b6040516102c99190610dde565b60405180910390f35b3480156102de57600080fd5b506102e76108fc565b6040516102f49190610dde565b60405180910390f35b34801561030957600080fd5b50610312610902565b60405161031f919061102b565b60405180910390f35b34801561033457600080fd5b5061033d610915565b60405161034a9190611055565b60405180910390f35b34801561035f57600080fd5b5061037a60048036038101906103759190610e25565b610939565b6040516103879190610dde565b60405180910390f35b34801561039c57600080fd5b506103b760048036038101906103b29190610e25565b61094f565b6040516103c49190610dde565b60405180910390f35b3480156103d957600080fd5b506103f460048036038101906103ef9190610e25565b610965565b6040516104019190610dde565b60405180910390f35b34801561041657600080fd5b50610431600480360381019061042c9190610e25565b61097b565b60405161043e9190610dde565b60405180910390f35b34801561045357600080fd5b5061045c610991565b6040516104699190611055565b60405180910390f35b34801561047e57600080fd5b506104996004803603810190610494919061109c565b6109b7565b005b3480156104a757600080fd5b506104c260048036038101906104bd9190610d2d565b6109dc565b005b600180546104d1906110f8565b80601f01602080910402602001604051908101604052809291908181526020018280546104fd906110f8565b801561054a5780601f1061051f5761010080835404028352916020019161054a565b820191906000526020600020905b81548152906001019060200180831161052d57829003601f168201915b505050505081565b8073ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610598573d6000803e3d6000fd5b5050565b60056020528060005260406000206000915090505481565b600081836105c2919061128b565b905092915050565b6000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541161064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064390611322565b60405180910390fd5b6000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561071b573d6000803e3d6000fd5b5050565b670de0b6b3a764000034101561076a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107619061138e565b60405180910390fd5b34600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107b991906113ae565b92505081905550806002819055506107cf610b04565b50565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610860576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085790611450565b60405180910390fd5b8060019080519060200190610876929190610b5d565b5061087f610b04565b50565b33600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506108cb610b04565b565b6000600254826108dd91906113ae565b9050919050565b60046020528060005260406000206000915090505481565b60025481565b600360149054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081836109479190611470565b905092915050565b6000818361095d91906114f9565b905092915050565b60008183610973919061152a565b905092915050565b6000818361098991906113ae565b905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b80600360146101000a81548160ff0219169083151502179055506109d9610b04565b50565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6190611450565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610af99190611055565b60405180910390a150565b6001600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b5491906113ae565b92505081905550565b828054610b69906110f8565b90600052602060002090601f016020900481019282610b8b5760008555610bd2565b82601f10610ba457805160ff1916838001178555610bd2565b82800160010185558215610bd2579182015b82811115610bd1578251825591602001919060010190610bb6565b5b509050610bdf9190610be3565b5090565b5b80821115610bfc576000816000905550600101610be4565b5090565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c3a578082015181840152602081019050610c1f565b83811115610c49576000848401525b50505050565b6000601f19601f8301169050919050565b6000610c6b82610c00565b610c758185610c0b565b9350610c85818560208601610c1c565b610c8e81610c4f565b840191505092915050565b60006020820190508181036000830152610cb38184610c60565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610cfa82610ccf565b9050919050565b610d0a81610cef565b8114610d1557600080fd5b50565b600081359050610d2781610d01565b92915050565b600060208284031215610d4357610d42610cc5565b5b6000610d5184828501610d18565b91505092915050565b6000610d6582610ccf565b9050919050565b610d7581610d5a565b8114610d8057600080fd5b50565b600081359050610d9281610d6c565b92915050565b600060208284031215610dae57610dad610cc5565b5b6000610dbc84828501610d83565b91505092915050565b6000819050919050565b610dd881610dc5565b82525050565b6000602082019050610df36000830184610dcf565b92915050565b610e0281610dc5565b8114610e0d57600080fd5b50565b600081359050610e1f81610df9565b92915050565b60008060408385031215610e3c57610e3b610cc5565b5b6000610e4a85828601610e10565b9250506020610e5b85828601610e10565b9150509250929050565b600060208284031215610e7b57610e7a610cc5565b5b6000610e8984828501610e10565b91505092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610ed482610c4f565b810181811067ffffffffffffffff82111715610ef357610ef2610e9c565b5b80604052505050565b6000610f06610cbb565b9050610f128282610ecb565b919050565b600067ffffffffffffffff821115610f3257610f31610e9c565b5b610f3b82610c4f565b9050602081019050919050565b82818337600083830152505050565b6000610f6a610f6584610f17565b610efc565b905082815260208101848484011115610f8657610f85610e97565b5b610f91848285610f48565b509392505050565b600082601f830112610fae57610fad610e92565b5b8135610fbe848260208601610f57565b91505092915050565b600060208284031215610fdd57610fdc610cc5565b5b600082013567ffffffffffffffff811115610ffb57610ffa610cca565b5b61100784828501610f99565b91505092915050565b60008115159050919050565b61102581611010565b82525050565b6000602082019050611040600083018461101c565b92915050565b61104f81610d5a565b82525050565b600060208201905061106a6000830184611046565b92915050565b61107981611010565b811461108457600080fd5b50565b60008135905061109681611070565b92915050565b6000602082840312156110b2576110b1610cc5565b5b60006110c084828501611087565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061111057607f821691505b602082108103611123576111226110c9565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156111af5780860481111561118b5761118a611129565b5b600185161561119a5780820291505b80810290506111a885611158565b945061116f565b94509492505050565b6000826111c85760019050611284565b816111d65760009050611284565b81600181146111ec57600281146111f657611225565b6001915050611284565b60ff84111561120857611207611129565b5b8360020a91508482111561121f5761121e611129565b5b50611284565b5060208310610133831016604e8410600b841016171561125a5782820a90508381111561125557611254611129565b5b611284565b6112678484846001611165565b9250905081840481111561127e5761127d611129565b5b81810290505b9392505050565b600061129682610dc5565b91506112a183610dc5565b92506112ce7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846111b8565b905092915050565b7f496e73756666696369656e742066756e64732e00000000000000000000000000600082015250565b600061130c601383610c0b565b9150611317826112d6565b602082019050919050565b6000602082019050818103600083015261133b816112ff565b9050919050565b7f496e73756666696369656e74204554482073656e742e00000000000000000000600082015250565b6000611378601683610c0b565b915061138382611342565b602082019050919050565b600060208201905081810360008301526113a78161136b565b9050919050565b60006113b982610dc5565b91506113c483610dc5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156113f9576113f8611129565b5b828201905092915050565b7f596f7520617265206e6f7420746865206f776e65722100000000000000000000600082015250565b600061143a601683610c0b565b915061144582611404565b602082019050919050565b600060208201905081810360008301526114698161142d565b9050919050565b600061147b82610dc5565b915061148683610dc5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156114bf576114be611129565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061150482610dc5565b915061150f83610dc5565b92508261151f5761151e6114ca565b5b828204905092915050565b600061153582610dc5565b915061154083610dc5565b92508282101561155357611552611129565b5b82820390509291505056fea264697066735822122037c3e21f229edbcffe39c8c8deea7f0f99c3cdad49bbf3c54ee77989101cec7264736f6c634300080e0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x11F JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8381F58A GT PUSH2 0xA0 JUMPI DUP1 PUSH4 0xB67D77C5 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xB67D77C5 EQ PUSH2 0x3CD JUMPI DUP1 PUSH4 0xCAD0899B EQ PUSH2 0x40A JUMPI DUP1 PUSH4 0xE4128FB3 EQ PUSH2 0x447 JUMPI DUP1 PUSH4 0xF01B7DD2 EQ PUSH2 0x472 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x49B JUMPI PUSH2 0x11F JUMP JUMPDEST DUP1 PUSH4 0x8381F58A EQ PUSH2 0x2D2 JUMPI DUP1 PUSH4 0x85BB7D69 EQ PUSH2 0x2FD JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x328 JUMPI DUP1 PUSH4 0x9AA727F6 EQ PUSH2 0x353 JUMPI DUP1 PUSH4 0xA391C15B EQ PUSH2 0x390 JUMPI PUSH2 0x11F JUMP JUMPDEST DUP1 PUSH4 0x3FB5C1CB GT PUSH2 0xE7 JUMPI DUP1 PUSH4 0x3FB5C1CB EQ PUSH2 0x1FC JUMPI DUP1 PUSH4 0x5D3A1F9D EQ PUSH2 0x218 JUMPI DUP1 PUSH4 0x62DD4554 EQ PUSH2 0x241 JUMPI DUP1 PUSH4 0x77954162 EQ PUSH2 0x258 JUMPI DUP1 PUSH4 0x8187F846 EQ PUSH2 0x295 JUMPI PUSH2 0x11F JUMP JUMPDEST DUP1 PUSH4 0x1F1BD692 EQ PUSH2 0x124 JUMPI DUP1 PUSH4 0x21B1E5F8 EQ PUSH2 0x14F JUMPI DUP1 PUSH4 0x27E235E3 EQ PUSH2 0x16B JUMPI DUP1 PUSH4 0x2E4C697F EQ PUSH2 0x1A8 JUMPI DUP1 PUSH4 0x3CCFD60B EQ PUSH2 0x1E5 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x130 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x139 PUSH2 0x4C4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x146 SWAP2 SWAP1 PUSH2 0xC99 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x169 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x164 SWAP2 SWAP1 PUSH2 0xD2D JUMP JUMPDEST PUSH2 0x552 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x177 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x192 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x18D SWAP2 SWAP1 PUSH2 0xD98 JUMP JUMPDEST PUSH2 0x59C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x19F SWAP2 SWAP1 PUSH2 0xDDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1CA SWAP2 SWAP1 PUSH2 0xE25 JUMP JUMPDEST PUSH2 0x5B4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1DC SWAP2 SWAP1 PUSH2 0xDDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1FA PUSH2 0x5CA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x216 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x211 SWAP2 SWAP1 PUSH2 0xE65 JUMP JUMPDEST PUSH2 0x71F JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x224 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x23F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x23A SWAP2 SWAP1 PUSH2 0xFC7 JUMP JUMPDEST PUSH2 0x7D2 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x24D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x256 PUSH2 0x882 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x264 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x27F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x27A SWAP2 SWAP1 PUSH2 0xE65 JUMP JUMPDEST PUSH2 0x8CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x28C SWAP2 SWAP1 PUSH2 0xDDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2B7 SWAP2 SWAP1 PUSH2 0xD98 JUMP JUMPDEST PUSH2 0x8E4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2C9 SWAP2 SWAP1 PUSH2 0xDDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2E7 PUSH2 0x8FC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2F4 SWAP2 SWAP1 PUSH2 0xDDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x309 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x312 PUSH2 0x902 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x31F SWAP2 SWAP1 PUSH2 0x102B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x334 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33D PUSH2 0x915 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x34A SWAP2 SWAP1 PUSH2 0x1055 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x35F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x37A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x375 SWAP2 SWAP1 PUSH2 0xE25 JUMP JUMPDEST PUSH2 0x939 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x387 SWAP2 SWAP1 PUSH2 0xDDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x39C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3B7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3B2 SWAP2 SWAP1 PUSH2 0xE25 JUMP JUMPDEST PUSH2 0x94F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3C4 SWAP2 SWAP1 PUSH2 0xDDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F4 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3EF SWAP2 SWAP1 PUSH2 0xE25 JUMP JUMPDEST PUSH2 0x965 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x401 SWAP2 SWAP1 PUSH2 0xDDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x416 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x431 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x42C SWAP2 SWAP1 PUSH2 0xE25 JUMP JUMPDEST PUSH2 0x97B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x43E SWAP2 SWAP1 PUSH2 0xDDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x453 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45C PUSH2 0x991 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x469 SWAP2 SWAP1 PUSH2 0x1055 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x47E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x499 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x494 SWAP2 SWAP1 PUSH2 0x109C JUMP JUMPDEST PUSH2 0x9B7 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4BD SWAP2 SWAP1 PUSH2 0xD2D JUMP JUMPDEST PUSH2 0x9DC JUMP JUMPDEST STOP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0x4D1 SWAP1 PUSH2 0x10F8 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x4FD SWAP1 PUSH2 0x10F8 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x54A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x51F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x54A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x52D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC CALLVALUE SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x598 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x5C2 SWAP2 SWAP1 PUSH2 0x128B JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD GT PUSH2 0x64C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x643 SWAP1 PUSH2 0x1322 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x71B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH8 0xDE0B6B3A7640000 CALLVALUE LT ISZERO PUSH2 0x76A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x761 SWAP1 PUSH2 0x138E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLVALUE PUSH1 0x5 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x7B9 SWAP2 SWAP1 PUSH2 0x13AE JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x2 DUP2 SWAP1 SSTORE POP PUSH2 0x7CF PUSH2 0xB04 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x860 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x857 SWAP1 PUSH2 0x1450 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x876 SWAP3 SWAP2 SWAP1 PUSH2 0xB5D JUMP JUMPDEST POP PUSH2 0x87F PUSH2 0xB04 JUMP JUMPDEST POP JUMP JUMPDEST CALLER PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x8CB PUSH2 0xB04 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD DUP3 PUSH2 0x8DD SWAP2 SWAP1 PUSH2 0x13AE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x947 SWAP2 SWAP1 PUSH2 0x1470 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x95D SWAP2 SWAP1 PUSH2 0x14F9 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x973 SWAP2 SWAP1 PUSH2 0x152A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x989 SWAP2 SWAP1 PUSH2 0x13AE JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST DUP1 PUSH1 0x3 PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0x9D9 PUSH2 0xB04 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xA6A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA61 SWAP1 PUSH2 0x1450 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x4DBA622D284ED0014EE4B9A6A68386BE1A4C08A4913AE272DE89199CC686163 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x40 MLOAD PUSH2 0xAF9 SWAP2 SWAP1 PUSH2 0x1055 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x4 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xB54 SWAP2 SWAP1 PUSH2 0x13AE JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0xB69 SWAP1 PUSH2 0x10F8 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0xB8B JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0xBD2 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0xBA4 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0xBD2 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0xBD2 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0xBD1 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xBB6 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0xBDF SWAP2 SWAP1 PUSH2 0xBE3 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xBFC JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0xBE4 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xC3A JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xC1F JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xC49 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC6B DUP3 PUSH2 0xC00 JUMP JUMPDEST PUSH2 0xC75 DUP2 DUP6 PUSH2 0xC0B JUMP JUMPDEST SWAP4 POP PUSH2 0xC85 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xC1C JUMP JUMPDEST PUSH2 0xC8E DUP2 PUSH2 0xC4F JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xCB3 DUP2 DUP5 PUSH2 0xC60 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCFA DUP3 PUSH2 0xCCF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD0A DUP2 PUSH2 0xCEF JUMP JUMPDEST DUP2 EQ PUSH2 0xD15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xD27 DUP2 PUSH2 0xD01 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD43 JUMPI PUSH2 0xD42 PUSH2 0xCC5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xD51 DUP5 DUP3 DUP6 ADD PUSH2 0xD18 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD65 DUP3 PUSH2 0xCCF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD75 DUP2 PUSH2 0xD5A JUMP JUMPDEST DUP2 EQ PUSH2 0xD80 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xD92 DUP2 PUSH2 0xD6C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xDAE JUMPI PUSH2 0xDAD PUSH2 0xCC5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xDBC DUP5 DUP3 DUP6 ADD PUSH2 0xD83 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDD8 DUP2 PUSH2 0xDC5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xDF3 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xDCF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xE02 DUP2 PUSH2 0xDC5 JUMP JUMPDEST DUP2 EQ PUSH2 0xE0D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE1F DUP2 PUSH2 0xDF9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xE3C JUMPI PUSH2 0xE3B PUSH2 0xCC5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xE4A DUP6 DUP3 DUP7 ADD PUSH2 0xE10 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xE5B DUP6 DUP3 DUP7 ADD PUSH2 0xE10 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xE7B JUMPI PUSH2 0xE7A PUSH2 0xCC5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xE89 DUP5 DUP3 DUP6 ADD PUSH2 0xE10 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xED4 DUP3 PUSH2 0xC4F JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0xEF3 JUMPI PUSH2 0xEF2 PUSH2 0xE9C JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF06 PUSH2 0xCBB JUMP JUMPDEST SWAP1 POP PUSH2 0xF12 DUP3 DUP3 PUSH2 0xECB JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xF32 JUMPI PUSH2 0xF31 PUSH2 0xE9C JUMP JUMPDEST JUMPDEST PUSH2 0xF3B DUP3 PUSH2 0xC4F JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF6A PUSH2 0xF65 DUP5 PUSH2 0xF17 JUMP JUMPDEST PUSH2 0xEFC JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0xF86 JUMPI PUSH2 0xF85 PUSH2 0xE97 JUMP JUMPDEST JUMPDEST PUSH2 0xF91 DUP5 DUP3 DUP6 PUSH2 0xF48 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xFAE JUMPI PUSH2 0xFAD PUSH2 0xE92 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0xFBE DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0xF57 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFDD JUMPI PUSH2 0xFDC PUSH2 0xCC5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xFFB JUMPI PUSH2 0xFFA PUSH2 0xCCA JUMP JUMPDEST JUMPDEST PUSH2 0x1007 DUP5 DUP3 DUP6 ADD PUSH2 0xF99 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1025 DUP2 PUSH2 0x1010 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1040 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x101C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x104F DUP2 PUSH2 0xD5A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x106A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1046 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1079 DUP2 PUSH2 0x1010 JUMP JUMPDEST DUP2 EQ PUSH2 0x1084 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1096 DUP2 PUSH2 0x1070 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x10B2 JUMPI PUSH2 0x10B1 PUSH2 0xCC5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x10C0 DUP5 DUP3 DUP6 ADD PUSH2 0x1087 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1110 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1123 JUMPI PUSH2 0x1122 PUSH2 0x10C9 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 SHR SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP2 POP DUP4 SWAP1 POP JUMPDEST PUSH1 0x1 DUP6 GT ISZERO PUSH2 0x11AF JUMPI DUP1 DUP7 DIV DUP2 GT ISZERO PUSH2 0x118B JUMPI PUSH2 0x118A PUSH2 0x1129 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP6 AND ISZERO PUSH2 0x119A JUMPI DUP1 DUP3 MUL SWAP2 POP JUMPDEST DUP1 DUP2 MUL SWAP1 POP PUSH2 0x11A8 DUP6 PUSH2 0x1158 JUMP JUMPDEST SWAP5 POP PUSH2 0x116F JUMP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x11C8 JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0x1284 JUMP JUMPDEST DUP2 PUSH2 0x11D6 JUMPI PUSH1 0x0 SWAP1 POP PUSH2 0x1284 JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x11EC JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x11F6 JUMPI PUSH2 0x1225 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x1284 JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x1208 JUMPI PUSH2 0x1207 PUSH2 0x1129 JUMP JUMPDEST JUMPDEST DUP4 PUSH1 0x2 EXP SWAP2 POP DUP5 DUP3 GT ISZERO PUSH2 0x121F JUMPI PUSH2 0x121E PUSH2 0x1129 JUMP JUMPDEST JUMPDEST POP PUSH2 0x1284 JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x125A JUMPI DUP3 DUP3 EXP SWAP1 POP DUP4 DUP2 GT ISZERO PUSH2 0x1255 JUMPI PUSH2 0x1254 PUSH2 0x1129 JUMP JUMPDEST JUMPDEST PUSH2 0x1284 JUMP JUMPDEST PUSH2 0x1267 DUP5 DUP5 DUP5 PUSH1 0x1 PUSH2 0x1165 JUMP JUMPDEST SWAP3 POP SWAP1 POP DUP2 DUP5 DIV DUP2 GT ISZERO PUSH2 0x127E JUMPI PUSH2 0x127D PUSH2 0x1129 JUMP JUMPDEST JUMPDEST DUP2 DUP2 MUL SWAP1 POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1296 DUP3 PUSH2 0xDC5 JUMP JUMPDEST SWAP2 POP PUSH2 0x12A1 DUP4 PUSH2 0xDC5 JUMP JUMPDEST SWAP3 POP PUSH2 0x12CE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 DUP5 PUSH2 0x11B8 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x496E73756666696369656E742066756E64732E00000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x130C PUSH1 0x13 DUP4 PUSH2 0xC0B JUMP JUMPDEST SWAP2 POP PUSH2 0x1317 DUP3 PUSH2 0x12D6 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x133B DUP2 PUSH2 0x12FF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x496E73756666696369656E74204554482073656E742E00000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1378 PUSH1 0x16 DUP4 PUSH2 0xC0B JUMP JUMPDEST SWAP2 POP PUSH2 0x1383 DUP3 PUSH2 0x1342 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x13A7 DUP2 PUSH2 0x136B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13B9 DUP3 PUSH2 0xDC5 JUMP JUMPDEST SWAP2 POP PUSH2 0x13C4 DUP4 PUSH2 0xDC5 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x13F9 JUMPI PUSH2 0x13F8 PUSH2 0x1129 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x596F7520617265206E6F7420746865206F776E65722100000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x143A PUSH1 0x16 DUP4 PUSH2 0xC0B JUMP JUMPDEST SWAP2 POP PUSH2 0x1445 DUP3 PUSH2 0x1404 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1469 DUP2 PUSH2 0x142D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147B DUP3 PUSH2 0xDC5 JUMP JUMPDEST SWAP2 POP PUSH2 0x1486 DUP4 PUSH2 0xDC5 JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x14BF JUMPI PUSH2 0x14BE PUSH2 0x1129 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1504 DUP3 PUSH2 0xDC5 JUMP JUMPDEST SWAP2 POP PUSH2 0x150F DUP4 PUSH2 0xDC5 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x151F JUMPI PUSH2 0x151E PUSH2 0x14CA JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1535 DUP3 PUSH2 0xDC5 JUMP JUMPDEST SWAP2 POP PUSH2 0x1540 DUP4 PUSH2 0xDC5 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x1553 JUMPI PUSH2 0x1552 PUSH2 0x1129 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLDATACOPY 0xC3 0xE2 0x1F 0x22 SWAP15 0xDB 0xCF INVALID CODECOPY 0xC8 0xC8 0xDE 0xEA PUSH32 0xF99C3CDAD49BBF3C54EE77989101CEC7264736F6C634300080E003300000000 ",
"sourceMap": "494:1905:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;534:18;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1413:115;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;695:41;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2196:98;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1536:231;;;;;;;;;;;;;:::i;:::-;;867:221;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;745:114;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1096:102;;;;;;;;;;;;;:::i;:::-;;2302:94;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;642:46;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;559:18;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;617;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;84:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1985:98;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2091:97;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1880;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1775;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;584:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1206:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;338:149;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;534:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1413:115::-;1487:13;:22;;:33;1510:9;1487:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1413:115;:::o;695:41::-;;;;;;;;;;;;;;;;;:::o;2196:98::-;2251:4;2282;2274;:12;;;;:::i;:::-;2267:19;;2196:98;;;;:::o;1536:231::-;1605:1;1582:8;:20;1591:10;1582:20;;;;;;;;;;;;;;;;:24;1574:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1643:11;1657:8;:20;1666:10;1657:20;;;;;;;;;;;;;;;;1643:34;;1711:1;1688:8;:20;1697:10;1688:20;;;;;;;;;;;;;;;:24;;;;1731:10;1723:28;;:36;1752:6;1723:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1563:204;1536:231::o;867:221::-;948:7;935:9;:20;;927:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;1017:9;993:8;:20;1002:10;993:20;;;;;;;;;;;;;;;;:33;;;;;;;:::i;:::-;;;;;;;;1046:8;1037:6;:17;;;;1065:15;:13;:15::i;:::-;867:221;:::o;745:114::-;278:5;;;;;;;;;;264:19;;:10;:19;;;256:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;819:6:::1;812:4;:13;;;;;;;;;;;;:::i;:::-;;836:15;:13;:15::i;:::-;745:114:::0;:::o;1096:102::-;1154:10;1140:11;;:24;;;;;;;;;;;;;;;;;;1175:15;:13;:15::i;:::-;1096:102::o;2302:94::-;2352:4;2382:6;;2375:4;:13;;;;:::i;:::-;2368:20;;2302:94;;;:::o;642:46::-;;;;;;;;;;;;;;;;;:::o;559:18::-;;;;:::o;617:::-;;;;;;;;;;;;;:::o;84:20::-;;;;;;;;;;;;:::o;1985:98::-;2041:4;2071;2064;:11;;;;:::i;:::-;2057:18;;1985:98;;;;:::o;2091:97::-;2146:4;2176;2169;:11;;;;:::i;:::-;2162:18;;2091:97;;;;:::o;1880:::-;1935:4;1965;1958;:11;;;;:::i;:::-;1951:18;;1880:97;;;;:::o;1775:::-;1830:4;1860;1853;:11;;;;:::i;:::-;1846:18;;1775:97;;;;:::o;584:26::-;;;;;;;;;;;;;:::o;1206:109::-;1270:11;1261:6;;:20;;;;;;;;;;;;;;;;;;1292:15;:13;:15::i;:::-;1206:109;:::o;338:149::-;278:5;;;;;;;;;;264:19;;:10;:19;;;256:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;426:8:::1;418:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;452:27;473:5;::::0;::::1;;;;;;;;452:27;;;;;;:::i;:::-;;;;;;;;338:149:::0;:::o;1323:82::-;1396:1;1367:13;:25;1381:10;1367:25;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;1323:82::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1397:75::-;1430:6;1463:2;1457:9;1447:19;;1397:75;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:104::-;1901:7;1930:24;1948:5;1930:24;:::i;:::-;1919:35;;1856:104;;;:::o;1966:138::-;2047:32;2073:5;2047:32;:::i;:::-;2040:5;2037:43;2027:71;;2094:1;2091;2084:12;2027:71;1966:138;:::o;2110:155::-;2164:5;2202:6;2189:20;2180:29;;2218:41;2253:5;2218:41;:::i;:::-;2110:155;;;;:::o;2271:345::-;2338:6;2387:2;2375:9;2366:7;2362:23;2358:32;2355:119;;;2393:79;;:::i;:::-;2355:119;2513:1;2538:61;2591:7;2582:6;2571:9;2567:22;2538:61;:::i;:::-;2528:71;;2484:125;2271:345;;;;:::o;2622:96::-;2659:7;2688:24;2706:5;2688:24;:::i;:::-;2677:35;;2622:96;;;:::o;2724:122::-;2797:24;2815:5;2797:24;:::i;:::-;2790:5;2787:35;2777:63;;2836:1;2833;2826:12;2777:63;2724:122;:::o;2852:139::-;2898:5;2936:6;2923:20;2914:29;;2952:33;2979:5;2952:33;:::i;:::-;2852:139;;;;:::o;2997:329::-;3056:6;3105:2;3093:9;3084:7;3080:23;3076:32;3073:119;;;3111:79;;:::i;:::-;3073:119;3231:1;3256:53;3301:7;3292:6;3281:9;3277:22;3256:53;:::i;:::-;3246:63;;3202:117;2997:329;;;;:::o;3332:77::-;3369:7;3398:5;3387:16;;3332:77;;;:::o;3415:118::-;3502:24;3520:5;3502:24;:::i;:::-;3497:3;3490:37;3415:118;;:::o;3539:222::-;3632:4;3670:2;3659:9;3655:18;3647:26;;3683:71;3751:1;3740:9;3736:17;3727:6;3683:71;:::i;:::-;3539:222;;;;:::o;3767:122::-;3840:24;3858:5;3840:24;:::i;:::-;3833:5;3830:35;3820:63;;3879:1;3876;3869:12;3820:63;3767:122;:::o;3895:139::-;3941:5;3979:6;3966:20;3957:29;;3995:33;4022:5;3995:33;:::i;:::-;3895:139;;;;:::o;4040:474::-;4108:6;4116;4165:2;4153:9;4144:7;4140:23;4136:32;4133:119;;;4171:79;;:::i;:::-;4133:119;4291:1;4316:53;4361:7;4352:6;4341:9;4337:22;4316:53;:::i;:::-;4306:63;;4262:117;4418:2;4444:53;4489:7;4480:6;4469:9;4465:22;4444:53;:::i;:::-;4434:63;;4389:118;4040:474;;;;;:::o;4520:329::-;4579:6;4628:2;4616:9;4607:7;4603:23;4599:32;4596:119;;;4634:79;;:::i;:::-;4596:119;4754:1;4779:53;4824:7;4815:6;4804:9;4800:22;4779:53;:::i;:::-;4769:63;;4725:117;4520:329;;;;:::o;4855:117::-;4964:1;4961;4954:12;4978:117;5087:1;5084;5077:12;5101:180;5149:77;5146:1;5139:88;5246:4;5243:1;5236:15;5270:4;5267:1;5260:15;5287:281;5370:27;5392:4;5370:27;:::i;:::-;5362:6;5358:40;5500:6;5488:10;5485:22;5464:18;5452:10;5449:34;5446:62;5443:88;;;5511:18;;:::i;:::-;5443:88;5551:10;5547:2;5540:22;5330:238;5287:281;;:::o;5574:129::-;5608:6;5635:20;;:::i;:::-;5625:30;;5664:33;5692:4;5684:6;5664:33;:::i;:::-;5574:129;;;:::o;5709:308::-;5771:4;5861:18;5853:6;5850:30;5847:56;;;5883:18;;:::i;:::-;5847:56;5921:29;5943:6;5921:29;:::i;:::-;5913:37;;6005:4;5999;5995:15;5987:23;;5709:308;;;:::o;6023:154::-;6107:6;6102:3;6097;6084:30;6169:1;6160:6;6155:3;6151:16;6144:27;6023:154;;;:::o;6183:412::-;6261:5;6286:66;6302:49;6344:6;6302:49;:::i;:::-;6286:66;:::i;:::-;6277:75;;6375:6;6368:5;6361:21;6413:4;6406:5;6402:16;6451:3;6442:6;6437:3;6433:16;6430:25;6427:112;;;6458:79;;:::i;:::-;6427:112;6548:41;6582:6;6577:3;6572;6548:41;:::i;:::-;6267:328;6183:412;;;;;:::o;6615:340::-;6671:5;6720:3;6713:4;6705:6;6701:17;6697:27;6687:122;;6728:79;;:::i;:::-;6687:122;6845:6;6832:20;6870:79;6945:3;6937:6;6930:4;6922:6;6918:17;6870:79;:::i;:::-;6861:88;;6677:278;6615:340;;;;:::o;6961:509::-;7030:6;7079:2;7067:9;7058:7;7054:23;7050:32;7047:119;;;7085:79;;:::i;:::-;7047:119;7233:1;7222:9;7218:17;7205:31;7263:18;7255:6;7252:30;7249:117;;;7285:79;;:::i;:::-;7249:117;7390:63;7445:7;7436:6;7425:9;7421:22;7390:63;:::i;:::-;7380:73;;7176:287;6961:509;;;;:::o;7476:90::-;7510:7;7553:5;7546:13;7539:21;7528:32;;7476:90;;;:::o;7572:109::-;7653:21;7668:5;7653:21;:::i;:::-;7648:3;7641:34;7572:109;;:::o;7687:210::-;7774:4;7812:2;7801:9;7797:18;7789:26;;7825:65;7887:1;7876:9;7872:17;7863:6;7825:65;:::i;:::-;7687:210;;;;:::o;7903:118::-;7990:24;8008:5;7990:24;:::i;:::-;7985:3;7978:37;7903:118;;:::o;8027:222::-;8120:4;8158:2;8147:9;8143:18;8135:26;;8171:71;8239:1;8228:9;8224:17;8215:6;8171:71;:::i;:::-;8027:222;;;;:::o;8255:116::-;8325:21;8340:5;8325:21;:::i;:::-;8318:5;8315:32;8305:60;;8361:1;8358;8351:12;8305:60;8255:116;:::o;8377:133::-;8420:5;8458:6;8445:20;8436:29;;8474:30;8498:5;8474:30;:::i;:::-;8377:133;;;;:::o;8516:323::-;8572:6;8621:2;8609:9;8600:7;8596:23;8592:32;8589:119;;;8627:79;;:::i;:::-;8589:119;8747:1;8772:50;8814:7;8805:6;8794:9;8790:22;8772:50;:::i;:::-;8762:60;;8718:114;8516:323;;;;:::o;8845:180::-;8893:77;8890:1;8883:88;8990:4;8987:1;8980:15;9014:4;9011:1;9004:15;9031:320;9075:6;9112:1;9106:4;9102:12;9092:22;;9159:1;9153:4;9149:12;9180:18;9170:81;;9236:4;9228:6;9224:17;9214:27;;9170:81;9298:2;9290:6;9287:14;9267:18;9264:38;9261:84;;9317:18;;:::i;:::-;9261:84;9082:269;9031:320;;;:::o;9357:180::-;9405:77;9402:1;9395:88;9502:4;9499:1;9492:15;9526:4;9523:1;9516:15;9543:102;9585:8;9632:5;9629:1;9625:13;9604:34;;9543:102;;;:::o;9651:848::-;9712:5;9719:4;9743:6;9734:15;;9767:5;9758:14;;9781:712;9802:1;9792:8;9789:15;9781:712;;;9897:4;9892:3;9888:14;9882:4;9879:24;9876:50;;;9906:18;;:::i;:::-;9876:50;9956:1;9946:8;9942:16;9939:451;;;10371:4;10364:5;10360:16;10351:25;;9939:451;10421:4;10415;10411:15;10403:23;;10451:32;10474:8;10451:32;:::i;:::-;10439:44;;9781:712;;;9651:848;;;;;;;:::o;10505:1073::-;10559:5;10750:8;10740:40;;10771:1;10762:10;;10773:5;;10740:40;10799:4;10789:36;;10816:1;10807:10;;10818:5;;10789:36;10885:4;10933:1;10928:27;;;;10969:1;10964:191;;;;10878:277;;10928:27;10946:1;10937:10;;10948:5;;;10964:191;11009:3;10999:8;10996:17;10993:43;;;11016:18;;:::i;:::-;10993:43;11065:8;11062:1;11058:16;11049:25;;11100:3;11093:5;11090:14;11087:40;;;11107:18;;:::i;:::-;11087:40;11140:5;;;10878:277;;11264:2;11254:8;11251:16;11245:3;11239:4;11236:13;11232:36;11214:2;11204:8;11201:16;11196:2;11190:4;11187:12;11183:35;11167:111;11164:246;;;11320:8;11314:4;11310:19;11301:28;;11355:3;11348:5;11345:14;11342:40;;;11362:18;;:::i;:::-;11342:40;11395:5;;11164:246;11435:42;11473:3;11463:8;11457:4;11454:1;11435:42;:::i;:::-;11420:57;;;;11509:4;11504:3;11500:14;11493:5;11490:25;11487:51;;;11518:18;;:::i;:::-;11487:51;11567:4;11560:5;11556:16;11547:25;;10505:1073;;;;;;:::o;11584:285::-;11644:5;11668:23;11686:4;11668:23;:::i;:::-;11660:31;;11712:27;11730:8;11712:27;:::i;:::-;11700:39;;11758:104;11795:66;11785:8;11779:4;11758:104;:::i;:::-;11749:113;;11584:285;;;;:::o;11875:169::-;12015:21;12011:1;12003:6;11999:14;11992:45;11875:169;:::o;12050:366::-;12192:3;12213:67;12277:2;12272:3;12213:67;:::i;:::-;12206:74;;12289:93;12378:3;12289:93;:::i;:::-;12407:2;12402:3;12398:12;12391:19;;12050:366;;;:::o;12422:419::-;12588:4;12626:2;12615:9;12611:18;12603:26;;12675:9;12669:4;12665:20;12661:1;12650:9;12646:17;12639:47;12703:131;12829:4;12703:131;:::i;:::-;12695:139;;12422:419;;;:::o;12847:172::-;12987:24;12983:1;12975:6;12971:14;12964:48;12847:172;:::o;13025:366::-;13167:3;13188:67;13252:2;13247:3;13188:67;:::i;:::-;13181:74;;13264:93;13353:3;13264:93;:::i;:::-;13382:2;13377:3;13373:12;13366:19;;13025:366;;;:::o;13397:419::-;13563:4;13601:2;13590:9;13586:18;13578:26;;13650:9;13644:4;13640:20;13636:1;13625:9;13621:17;13614:47;13678:131;13804:4;13678:131;:::i;:::-;13670:139;;13397:419;;;:::o;13822:305::-;13862:3;13881:20;13899:1;13881:20;:::i;:::-;13876:25;;13915:20;13933:1;13915:20;:::i;:::-;13910:25;;14069:1;14001:66;13997:74;13994:1;13991:81;13988:107;;;14075:18;;:::i;:::-;13988:107;14119:1;14116;14112:9;14105:16;;13822:305;;;;:::o;14133:172::-;14273:24;14269:1;14261:6;14257:14;14250:48;14133:172;:::o;14311:366::-;14453:3;14474:67;14538:2;14533:3;14474:67;:::i;:::-;14467:74;;14550:93;14639:3;14550:93;:::i;:::-;14668:2;14663:3;14659:12;14652:19;;14311:366;;;:::o;14683:419::-;14849:4;14887:2;14876:9;14872:18;14864:26;;14936:9;14930:4;14926:20;14922:1;14911:9;14907:17;14900:47;14964:131;15090:4;14964:131;:::i;:::-;14956:139;;14683:419;;;:::o;15108:348::-;15148:7;15171:20;15189:1;15171:20;:::i;:::-;15166:25;;15205:20;15223:1;15205:20;:::i;:::-;15200:25;;15393:1;15325:66;15321:74;15318:1;15315:81;15310:1;15303:9;15296:17;15292:105;15289:131;;;15400:18;;:::i;:::-;15289:131;15448:1;15445;15441:9;15430:20;;15108:348;;;;:::o;15462:180::-;15510:77;15507:1;15500:88;15607:4;15604:1;15597:15;15631:4;15628:1;15621:15;15648:185;15688:1;15705:20;15723:1;15705:20;:::i;:::-;15700:25;;15739:20;15757:1;15739:20;:::i;:::-;15734:25;;15778:1;15768:35;;15783:18;;:::i;:::-;15768:35;15825:1;15822;15818:9;15813:14;;15648:185;;;;:::o;15839:191::-;15879:4;15899:20;15917:1;15899:20;:::i;:::-;15894:25;;15933:20;15951:1;15933:20;:::i;:::-;15928:25;;15972:1;15969;15966:8;15963:34;;;15977:18;;:::i;:::-;15963:34;16022:1;16019;16015:9;16007:17;;15839:191;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "1104800",
"executionCost": "25413",
"totalCost": "1130213"
},
"external": {
"answer()": "2566",
"balances(address)": "2882",
"div(uint256,uint256)": "infinite",
"hasInteracted(address)": "2925",
"mult(uint256,uint256)": "infinite",
"number()": "2452",
"owner()": "2578",
"pow(uint256,uint256)": "infinite",
"sendETH(address)": "infinite",
"setAnswer(bool)": "infinite",
"setNumber(uint256)": "infinite",
"setText(string)": "infinite",
"setUserAddress()": "infinite",
"sub(uint256,uint256)": "infinite",
"sum(uint256,uint256)": "infinite",
"sumStored(uint256)": "infinite",
"text()": "infinite",
"transferOwnership(address)": "infinite",
"userAddress()": "2580",
"withdraw()": "infinite"
},
"internal": {
"setInterected()": "infinite"
}
},
"methodIdentifiers": {
"answer()": "85bb7d69",
"balances(address)": "27e235e3",
"div(uint256,uint256)": "a391c15b",
"hasInteracted(address)": "8187f846",
"mult(uint256,uint256)": "9aa727f6",
"number()": "8381f58a",
"owner()": "8da5cb5b",
"pow(uint256,uint256)": "2e4c697f",
"sendETH(address)": "21b1e5f8",
"setAnswer(bool)": "f01b7dd2",
"setNumber(uint256)": "3fb5c1cb",
"setText(string)": "5d3a1f9d",
"setUserAddress()": "62dd4554",
"sub(uint256,uint256)": "b67d77c5",
"sum(uint256,uint256)": "cad0899b",
"sumStored(uint256)": "77954162",
"text()": "1f1bd692",
"transferOwnership(address)": "f2fde38b",
"userAddress()": "e4128fb3",
"withdraw()": "3ccfd60b"
}
},
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"inputs": [],
"name": "answer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "balances",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "num1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "num2",
"type": "uint256"
}
],
"name": "div",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "hasInteracted",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "num1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "num2",
"type": "uint256"
}
],
"name": "mult",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "number",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "num1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "num2",
"type": "uint256"
}
],
"name": "pow",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "targetAddress",
"type": "address"
}
],
"name": "sendETH",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bool",
"name": "trueOrFalse",
"type": "bool"
}
],
"name": "setAnswer",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "myNumber",
"type": "uint256"
}
],
"name": "setNumber",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "myText",
"type": "string"
}
],
"name": "setText",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "setUserAddress",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "num1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "num2",
"type": "uint256"
}
],
"name": "sub",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "num1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "num2",
"type": "uint256"
}
],
"name": "sum",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "num1",
"type": "uint256"
}
],
"name": "sumStored",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "text",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "userAddress",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.14+commit.80d49f37"
},
"language": "Solidity",
"output": {
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"inputs": [],
"name": "answer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "balances",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "num1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "num2",
"type": "uint256"
}
],
"name": "div",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "hasInteracted",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "num1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "num2",
"type": "uint256"
}
],
"name": "mult",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "number",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "num1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "num2",
"type": "uint256"
}
],
"name": "pow",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "targetAddress",
"type": "address"
}
],
"name": "sendETH",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bool",
"name": "trueOrFalse",
"type": "bool"
}
],
"name": "setAnswer",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "myNumber",
"type": "uint256"
}
],
"name": "setNumber",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "myText",
"type": "string"
}
],
"name": "setText",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "setUserAddress",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "num1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "num2",
"type": "uint256"
}
],
"name": "sub",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "num1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "num2",
"type": "uint256"
}
],
"name": "sum",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "num1",
"type": "uint256"
}
],
"name": "sumStored",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "text",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "userAddress",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"hello_world.sol": "HelloWorld"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"hello_world.sol": {
"keccak256": "0x4e1128e6f24f96bc36af5d86ecd0ca385dbe548109ddcc0c31df887b9fc60c01",
"license": "MIT",
"urls": [
"bzz-raw://793420c1ca160b7ddd4ff029d679f63997158fb1b58b8d203a7cfe7ef47a89c5",
"dweb:/ipfs/QmQ8Tf7fn3CXh6riJ7RHa8BnZ3poLy88EmoFLEeH1ehZ8N"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"görli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_16": {
"entryPoint": null,
"id": 16,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610340806100606000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80638da5cb5b1461003b578063f2fde38b14610059575b600080fd5b610043610075565b6040516100509190610202565b60405180910390f35b610073600480360381019061006e9190610260565b610099565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610127576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161011e906102ea565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516101b69190610202565b60405180910390a150565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006101ec826101c1565b9050919050565b6101fc816101e1565b82525050565b600060208201905061021760008301846101f3565b92915050565b600080fd5b600061022d826101c1565b9050919050565b61023d81610222565b811461024857600080fd5b50565b60008135905061025a81610234565b92915050565b6000602082840312156102765761027561021d565b5b60006102848482850161024b565b91505092915050565b600082825260208201905092915050565b7f596f7520617265206e6f7420746865206f776e65722100000000000000000000600082015250565b60006102d460168361028d565b91506102df8261029e565b602082019050919050565b60006020820190508181036000830152610303816102c7565b905091905056fea2646970667358221220a4be8fbf69c8381d9bf895159dfb637d3d847d45e8d04278c5a64b92beacdc4d64736f6c634300080e0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x340 DUP1 PUSH2 0x60 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x75 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x202 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x73 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x260 JUMP JUMPDEST PUSH2 0x99 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x127 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11E SWAP1 PUSH2 0x2EA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x4DBA622D284ED0014EE4B9A6A68386BE1A4C08A4913AE272DE89199CC686163 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x40 MLOAD PUSH2 0x1B6 SWAP2 SWAP1 PUSH2 0x202 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EC DUP3 PUSH2 0x1C1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1FC DUP2 PUSH2 0x1E1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x217 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1F3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x22D DUP3 PUSH2 0x1C1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x23D DUP2 PUSH2 0x222 JUMP JUMPDEST DUP2 EQ PUSH2 0x248 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x25A DUP2 PUSH2 0x234 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x276 JUMPI PUSH2 0x275 PUSH2 0x21D JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x284 DUP5 DUP3 DUP6 ADD PUSH2 0x24B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x596F7520617265206E6F7420746865206F776E65722100000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D4 PUSH1 0x16 DUP4 PUSH2 0x28D JUMP JUMPDEST SWAP2 POP PUSH2 0x2DF DUP3 PUSH2 0x29E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x303 DUP2 PUSH2 0x2C7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG4 0xBE DUP16 0xBF PUSH10 0xC8381D9BF895159DFB63 PUSH30 0x3D847D45E8D04278C5A64B92BEACDC4D64736F6C634300080E0033000000 ",
"sourceMap": "60:430:0:-:0;;;166:51;;;;;;;;;;199:10;191:5;;:18;;;;;;;;;;;;;;;;;;60:430;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@owner_3": {
"entryPoint": 117,
"id": 3,
"parameterSlots": 0,
"returnSlots": 0
},
"@transferOwnership_44": {
"entryPoint": 153,
"id": 44,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_address_payable": {
"entryPoint": 587,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address_payable": {
"entryPoint": 608,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 499,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_stringliteral_0e5c8fda9613e9f4e35d39c70f65c376fe2aa900802a86cc025c711db0c9b7c4_to_t_string_memory_ptr_fromStack": {
"entryPoint": 711,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 514,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_0e5c8fda9613e9f4e35d39c70f65c376fe2aa900802a86cc025c711db0c9b7c4__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 746,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 653,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 481,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_address_payable": {
"entryPoint": 546,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 449,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 541,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"store_literal_in_memory_0e5c8fda9613e9f4e35d39c70f65c376fe2aa900802a86cc025c711db0c9b7c4": {
"entryPoint": 670,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address_payable": {
"entryPoint": 564,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:2833: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": "184:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "194:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "223:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "205:17:1"
},
"nodeType": "YulFunctionCall",
"src": "205:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "194:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "166:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "176:7:1",
"type": ""
}
],
"src": "139:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "306:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "323:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "346:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "328:17:1"
},
"nodeType": "YulFunctionCall",
"src": "328:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "316:6:1"
},
"nodeType": "YulFunctionCall",
"src": "316:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "316:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "294:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "301:3:1",
"type": ""
}
],
"src": "241:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "463:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "473:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "485:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "496:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "481:3:1"
},
"nodeType": "YulFunctionCall",
"src": "481:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "473:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "553:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "566:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "577:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "562:3:1"
},
"nodeType": "YulFunctionCall",
"src": "562:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "509:43:1"
},
"nodeType": "YulFunctionCall",
"src": "509:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "509:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "435:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "447:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "458:4:1",
"type": ""
}
],
"src": "365:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "633:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "643:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "659:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "653:5:1"
},
"nodeType": "YulFunctionCall",
"src": "653:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "643:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "626:6:1",
"type": ""
}
],
"src": "593:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "763:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "780:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "783:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "773:6:1"
},
"nodeType": "YulFunctionCall",
"src": "773:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "773:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "674:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "886:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "903:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "906:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "896:6:1"
},
"nodeType": "YulFunctionCall",
"src": "896:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "896:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "797:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "973:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "983:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1012:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "994:17:1"
},
"nodeType": "YulFunctionCall",
"src": "994:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "983:7:1"
}
]
}
]
},
"name": "cleanup_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "955:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "965:7:1",
"type": ""
}
],
"src": "920:104:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1081:87:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1146:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1155:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1158:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1148:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1148:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1148:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1104:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1137:5:1"
}
],
"functionName": {
"name": "cleanup_t_address_payable",
"nodeType": "YulIdentifier",
"src": "1111:25:1"
},
"nodeType": "YulFunctionCall",
"src": "1111:32:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1101:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1101:43:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1094:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1094:51:1"
},
"nodeType": "YulIf",
"src": "1091:71:1"
}
]
},
"name": "validator_revert_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1074:5:1",
"type": ""
}
],
"src": "1030:138:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1234:95:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1244:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1266:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1253:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1253:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1244:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1317:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address_payable",
"nodeType": "YulIdentifier",
"src": "1282:34:1"
},
"nodeType": "YulFunctionCall",
"src": "1282:41:1"
},
"nodeType": "YulExpressionStatement",
"src": "1282:41:1"
}
]
},
"name": "abi_decode_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1212:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1220:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1228:5:1",
"type": ""
}
],
"src": "1174:155:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1409:271:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1455:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1457:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1457:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1457:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1430:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1439:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1426:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1426:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1451:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1422:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1422:32:1"
},
"nodeType": "YulIf",
"src": "1419:119:1"
},
{
"nodeType": "YulBlock",
"src": "1548:125:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1563:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1577:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1567:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1592:71:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1635:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1646:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1631:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1631:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1655:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address_payable",
"nodeType": "YulIdentifier",
"src": "1602:28:1"
},
"nodeType": "YulFunctionCall",
"src": "1602:61:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1592:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1379:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1390:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1402:6:1",
"type": ""
}
],
"src": "1335:345:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1782:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1799:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1804:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1792:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1792:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "1792:19:1"
},
{
"nodeType": "YulAssignment",
"src": "1820:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1839:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1844:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1835:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1835:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "1820:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1754:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1759:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "1770:11:1",
"type": ""
}
],
"src": "1686:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1967:66:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1989:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1997:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1985:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1985:14:1"
},
{
"hexValue": "596f7520617265206e6f7420746865206f776e657221",
"kind": "string",
"nodeType": "YulLiteral",
"src": "2001:24:1",
"type": "",
"value": "You are not the owner!"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1978:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1978:48:1"
},
"nodeType": "YulExpressionStatement",
"src": "1978:48:1"
}
]
},
"name": "store_literal_in_memory_0e5c8fda9613e9f4e35d39c70f65c376fe2aa900802a86cc025c711db0c9b7c4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1959:6:1",
"type": ""
}
],
"src": "1861:172:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2185:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2195:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2261:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2266:2:1",
"type": "",
"value": "22"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2202:58:1"
},
"nodeType": "YulFunctionCall",
"src": "2202:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2195:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2367:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_0e5c8fda9613e9f4e35d39c70f65c376fe2aa900802a86cc025c711db0c9b7c4",
"nodeType": "YulIdentifier",
"src": "2278:88:1"
},
"nodeType": "YulFunctionCall",
"src": "2278:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "2278:93:1"
},
{
"nodeType": "YulAssignment",
"src": "2380:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2391:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2396:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2387:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2387:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2380:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_0e5c8fda9613e9f4e35d39c70f65c376fe2aa900802a86cc025c711db0c9b7c4_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2173:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2181:3:1",
"type": ""
}
],
"src": "2039:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2582:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2592:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2604:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2615:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2600:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2600:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2592:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2639:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2650:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2635:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2635:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2658:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2664:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2654:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2654:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2628:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2628:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "2628:47:1"
},
{
"nodeType": "YulAssignment",
"src": "2684:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2818:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_0e5c8fda9613e9f4e35d39c70f65c376fe2aa900802a86cc025c711db0c9b7c4_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2692:124:1"
},
"nodeType": "YulFunctionCall",
"src": "2692:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2684:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_0e5c8fda9613e9f4e35d39c70f65c376fe2aa900802a86cc025c711db0c9b7c4__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2562:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2577:4:1",
"type": ""
}
],
"src": "2411:419:1"
}
]
},
"contents": "{\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_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 cleanup_t_address_payable(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\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 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_0e5c8fda9613e9f4e35d39c70f65c376fe2aa900802a86cc025c711db0c9b7c4(memPtr) {\n\n mstore(add(memPtr, 0), \"You are not the owner!\")\n\n }\n\n function abi_encode_t_stringliteral_0e5c8fda9613e9f4e35d39c70f65c376fe2aa900802a86cc025c711db0c9b7c4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_0e5c8fda9613e9f4e35d39c70f65c376fe2aa900802a86cc025c711db0c9b7c4(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_0e5c8fda9613e9f4e35d39c70f65c376fe2aa900802a86cc025c711db0c9b7c4__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_0e5c8fda9613e9f4e35d39c70f65c376fe2aa900802a86cc025c711db0c9b7c4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100365760003560e01c80638da5cb5b1461003b578063f2fde38b14610059575b600080fd5b610043610075565b6040516100509190610202565b60405180910390f35b610073600480360381019061006e9190610260565b610099565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610127576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161011e906102ea565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516101b69190610202565b60405180910390a150565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006101ec826101c1565b9050919050565b6101fc816101e1565b82525050565b600060208201905061021760008301846101f3565b92915050565b600080fd5b600061022d826101c1565b9050919050565b61023d81610222565b811461024857600080fd5b50565b60008135905061025a81610234565b92915050565b6000602082840312156102765761027561021d565b5b60006102848482850161024b565b91505092915050565b600082825260208201905092915050565b7f596f7520617265206e6f7420746865206f776e65722100000000000000000000600082015250565b60006102d460168361028d565b91506102df8261029e565b602082019050919050565b60006020820190508181036000830152610303816102c7565b905091905056fea2646970667358221220a4be8fbf69c8381d9bf895159dfb637d3d847d45e8d04278c5a64b92beacdc4d64736f6c634300080e0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x75 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x202 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x73 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x260 JUMP JUMPDEST PUSH2 0x99 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x127 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11E SWAP1 PUSH2 0x2EA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x4DBA622D284ED0014EE4B9A6A68386BE1A4C08A4913AE272DE89199CC686163 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x40 MLOAD PUSH2 0x1B6 SWAP2 SWAP1 PUSH2 0x202 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EC DUP3 PUSH2 0x1C1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1FC DUP2 PUSH2 0x1E1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x217 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1F3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x22D DUP3 PUSH2 0x1C1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x23D DUP2 PUSH2 0x222 JUMP JUMPDEST DUP2 EQ PUSH2 0x248 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x25A DUP2 PUSH2 0x234 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x276 JUMPI PUSH2 0x275 PUSH2 0x21D JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x284 DUP5 DUP3 DUP6 ADD PUSH2 0x24B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x596F7520617265206E6F7420746865206F776E65722100000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D4 PUSH1 0x16 DUP4 PUSH2 0x28D JUMP JUMPDEST SWAP2 POP PUSH2 0x2DF DUP3 PUSH2 0x29E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x303 DUP2 PUSH2 0x2C7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG4 0xBE DUP16 0xBF PUSH10 0xC8381D9BF895159DFB63 PUSH30 0x3D847D45E8D04278C5A64B92BEACDC4D64736F6C634300080E0033000000 ",
"sourceMap": "60:430:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;84:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;338:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;84:20;;;;;;;;;;;;:::o;338:149::-;278:5;;;;;;;;;;264:19;;:10;:19;;;256:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;426:8:::1;418:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;452:27;473:5;::::0;::::1;;;;;;;;452:27;;;;;;:::i;:::-;;;;;;;;338:149:::0;:::o;7:126:1:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:96::-;176:7;205:24;223:5;205:24;:::i;:::-;194:35;;139:96;;;:::o;241:118::-;328:24;346:5;328:24;:::i;:::-;323:3;316:37;241:118;;:::o;365:222::-;458:4;496:2;485:9;481:18;473:26;;509:71;577:1;566:9;562:17;553:6;509:71;:::i;:::-;365:222;;;;:::o;674:117::-;783:1;780;773:12;920:104;965:7;994:24;1012:5;994:24;:::i;:::-;983:35;;920:104;;;:::o;1030:138::-;1111:32;1137:5;1111:32;:::i;:::-;1104:5;1101:43;1091:71;;1158:1;1155;1148:12;1091:71;1030:138;:::o;1174:155::-;1228:5;1266:6;1253:20;1244:29;;1282:41;1317:5;1282:41;:::i;:::-;1174:155;;;;:::o;1335:345::-;1402:6;1451:2;1439:9;1430:7;1426:23;1422:32;1419:119;;;1457:79;;:::i;:::-;1419:119;1577:1;1602:61;1655:7;1646:6;1635:9;1631:22;1602:61;:::i;:::-;1592:71;;1548:125;1335:345;;;;:::o;1686:169::-;1770:11;1804:6;1799:3;1792:19;1844:4;1839:3;1835:14;1820:29;;1686:169;;;;:::o;1861:172::-;2001:24;1997:1;1989:6;1985:14;1978:48;1861:172;:::o;2039:366::-;2181:3;2202:67;2266:2;2261:3;2202:67;:::i;:::-;2195:74;;2278:93;2367:3;2278:93;:::i;:::-;2396:2;2391:3;2387:12;2380:19;;2039:366;;;:::o;2411:419::-;2577:4;2615:2;2604:9;2600:18;2592:26;;2664:9;2658:4;2654:20;2650:1;2639:9;2635:17;2628:47;2692:131;2818:4;2692:131;:::i;:::-;2684:139;;2411:419;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "166400",
"executionCost": "24474",
"totalCost": "190874"
},
"external": {
"owner()": "2489",
"transferOwnership(address)": "infinite"
}
},
"methodIdentifiers": {
"owner()": "8da5cb5b",
"transferOwnership(address)": "f2fde38b"
}
},
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.14+commit.80d49f37"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"hello_world.sol": "Ownable"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"hello_world.sol": {
"keccak256": "0x4e1128e6f24f96bc36af5d86ecd0ca385dbe548109ddcc0c31df887b9fc60c01",
"license": "MIT",
"urls": [
"bzz-raw://793420c1ca160b7ddd4ff029d679f63997158fb1b58b8d203a7cfe7ef47a89c5",
"dweb:/ipfs/QmQ8Tf7fn3CXh6riJ7RHa8BnZ3poLy88EmoFLEeH1ehZ8N"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"görli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_70": {
"entryPoint": null,
"id": 70,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_decode_t_uint256_fromMemory": {
"entryPoint": 457,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256t_uint256_fromMemory": {
"entryPoint": 478,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 424,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"increment_t_uint256": {
"entryPoint": 589,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 542,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 419,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 434,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1629:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "400:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "460:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "517:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "526:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "529:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "519:6:1"
},
"nodeType": "YulFunctionCall",
"src": "519:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "519:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "483:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "508:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "490:17:1"
},
"nodeType": "YulFunctionCall",
"src": "490:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "480:2:1"
},
"nodeType": "YulFunctionCall",
"src": "480:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "473:6:1"
},
"nodeType": "YulFunctionCall",
"src": "473:43:1"
},
"nodeType": "YulIf",
"src": "470:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "453:5:1",
"type": ""
}
],
"src": "417:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "608:80:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "618:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "633:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "627:5:1"
},
"nodeType": "YulFunctionCall",
"src": "627:13:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "618:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "676:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "649:26:1"
},
"nodeType": "YulFunctionCall",
"src": "649:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "649:33:1"
}
]
},
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "586:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "594:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "602:5:1",
"type": ""
}
],
"src": "545:143:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "788:413:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "834:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "836:77:1"
},
"nodeType": "YulFunctionCall",
"src": "836:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "836:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "809:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "818:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "805:3:1"
},
"nodeType": "YulFunctionCall",
"src": "805:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "830:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "801:3:1"
},
"nodeType": "YulFunctionCall",
"src": "801:32:1"
},
"nodeType": "YulIf",
"src": "798:119:1"
},
{
"nodeType": "YulBlock",
"src": "927:128:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "942:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "956:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "946:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "971:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1017:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1028:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1013:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1013:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1037:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulIdentifier",
"src": "981:31:1"
},
"nodeType": "YulFunctionCall",
"src": "981:64:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "971:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1065:129:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1080:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1094:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1084:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1110:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1156:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1167:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1152:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1152:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1176:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulIdentifier",
"src": "1120:31:1"
},
"nodeType": "YulFunctionCall",
"src": "1120:64:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1110:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256t_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "750:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "761:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "773:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "781:6:1",
"type": ""
}
],
"src": "694:507:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1235:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1252:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1255:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1245:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1245:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "1245:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1349:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1352:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1342:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1342:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1342:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1373:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1376:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1366:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1366:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1366:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "1207:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1436:190:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1446:33:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1473:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1455:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1455:24:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1446:5:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1569:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "1571:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1571:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1571:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1494:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1501:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1491:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1491:77:1"
},
"nodeType": "YulIf",
"src": "1488:103:1"
},
{
"nodeType": "YulAssignment",
"src": "1600:20:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1611:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1618:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1607:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1607:13:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1600:3:1"
}
]
}
]
},
"name": "increment_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1422:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1432:3:1",
"type": ""
}
],
"src": "1393:233:1"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256t_uint256_fromMemory(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506040516107ee3803806107ee833981810160405281019061003291906101de565b60005b8281101561019b5760005b82811015610187576000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180606001604052808481526020018381526020016040518060600160405280600060ff168152602001600060ff168152602001600060ff168152508152509080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001556020820151816001015560408201518160020160008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555050505050808061017f9061024d565b915050610040565b5080806101939061024d565b915050610035565b505050610295565b600080fd5b6000819050919050565b6101bb816101a8565b81146101c657600080fd5b50565b6000815190506101d8816101b2565b92915050565b600080604083850312156101f5576101f46101a3565b5b6000610203858286016101c9565b9250506020610214858286016101c9565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610258826101a8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361028a5761028961021e565b5b600182019050919050565b61054a806102a46000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063b91f45081461003b578063d9c622b414610057575b600080fd5b61005560048036038101906100509190610370565b610089565b005b610071600480360381019061006c919061040e565b610155565b604051610080939291906104ae565b60405180910390f35b816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106100da576100d96104e5565b5b906000526020600020906003020160020160008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff1602179055509050505050565b6000602052816000526040600020818154811061017157600080fd5b906000526020600020906003020160009150915050806000015490806001015490806002016040518060600160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff1681525050905083565b6000604051905090565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61025a82610211565b810181811067ffffffffffffffff8211171561027957610278610222565b5b80604052505050565b600061028c6101fd565b90506102988282610251565b919050565b600060ff82169050919050565b6102b38161029d565b81146102be57600080fd5b50565b6000813590506102d0816102aa565b92915050565b6000606082840312156102ec576102eb61020c565b5b6102f66060610282565b90506000610306848285016102c1565b600083015250602061031a848285016102c1565b602083015250604061032e848285016102c1565b60408301525092915050565b6000819050919050565b61034d8161033a565b811461035857600080fd5b50565b60008135905061036a81610344565b92915050565b6000806080838503121561038757610386610207565b5b6000610395858286016102d6565b92505060606103a68582860161035b565b9150509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103db826103b0565b9050919050565b6103eb816103d0565b81146103f657600080fd5b50565b600081359050610408816103e2565b92915050565b6000806040838503121561042557610424610207565b5b6000610433858286016103f9565b92505060206104448582860161035b565b9150509250929050565b6104578161033a565b82525050565b6104668161029d565b82525050565b606082016000820151610482600085018261045d565b506020820151610495602085018261045d565b5060408201516104a8604085018261045d565b50505050565b600060a0820190506104c3600083018661044e565b6104d0602083018561044e565b6104dd604083018461046c565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea26469706673582212208f449c670ccf6d1d332b294bd4678201b9860965679450077dcdee6dee28a0e364736f6c634300080e0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x7EE CODESIZE SUB DUP1 PUSH2 0x7EE DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0x1DE JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x19B JUMPI PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x187 JUMPI PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE POP DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP POP POP POP DUP1 DUP1 PUSH2 0x17F SWAP1 PUSH2 0x24D JUMP JUMPDEST SWAP2 POP POP PUSH2 0x40 JUMP JUMPDEST POP DUP1 DUP1 PUSH2 0x193 SWAP1 PUSH2 0x24D JUMP JUMPDEST SWAP2 POP POP PUSH2 0x35 JUMP JUMPDEST POP POP POP PUSH2 0x295 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1BB DUP2 PUSH2 0x1A8 JUMP JUMPDEST DUP2 EQ PUSH2 0x1C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1D8 DUP2 PUSH2 0x1B2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1F5 JUMPI PUSH2 0x1F4 PUSH2 0x1A3 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x203 DUP6 DUP3 DUP7 ADD PUSH2 0x1C9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x214 DUP6 DUP3 DUP7 ADD PUSH2 0x1C9 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x258 DUP3 PUSH2 0x1A8 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x28A JUMPI PUSH2 0x289 PUSH2 0x21E JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x54A DUP1 PUSH2 0x2A4 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xB91F4508 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xD9C622B4 EQ PUSH2 0x57 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x55 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x370 JUMP JUMPDEST PUSH2 0x89 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x71 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6C SWAP2 SWAP1 PUSH2 0x40E JUMP JUMPDEST PUSH2 0x155 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x80 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x4AE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0xDA JUMPI PUSH2 0xD9 PUSH2 0x4E5 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x2 ADD PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP SWAP1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x171 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 SWAP2 POP SWAP2 POP POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 DUP1 PUSH1 0x2 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE POP POP SWAP1 POP DUP4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x25A DUP3 PUSH2 0x211 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x279 JUMPI PUSH2 0x278 PUSH2 0x222 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28C PUSH2 0x1FD JUMP JUMPDEST SWAP1 POP PUSH2 0x298 DUP3 DUP3 PUSH2 0x251 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2B3 DUP2 PUSH2 0x29D JUMP JUMPDEST DUP2 EQ PUSH2 0x2BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2D0 DUP2 PUSH2 0x2AA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2EC JUMPI PUSH2 0x2EB PUSH2 0x20C JUMP JUMPDEST JUMPDEST PUSH2 0x2F6 PUSH1 0x60 PUSH2 0x282 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x306 DUP5 DUP3 DUP6 ADD PUSH2 0x2C1 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x31A DUP5 DUP3 DUP6 ADD PUSH2 0x2C1 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 PUSH2 0x32E DUP5 DUP3 DUP6 ADD PUSH2 0x2C1 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x34D DUP2 PUSH2 0x33A JUMP JUMPDEST DUP2 EQ PUSH2 0x358 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x36A DUP2 PUSH2 0x344 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x387 JUMPI PUSH2 0x386 PUSH2 0x207 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x395 DUP6 DUP3 DUP7 ADD PUSH2 0x2D6 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0x3A6 DUP6 DUP3 DUP7 ADD PUSH2 0x35B JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DB DUP3 PUSH2 0x3B0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3EB DUP2 PUSH2 0x3D0 JUMP JUMPDEST DUP2 EQ PUSH2 0x3F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x408 DUP2 PUSH2 0x3E2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x425 JUMPI PUSH2 0x424 PUSH2 0x207 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x433 DUP6 DUP3 DUP7 ADD PUSH2 0x3F9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x444 DUP6 DUP3 DUP7 ADD PUSH2 0x35B JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x457 DUP2 PUSH2 0x33A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x466 DUP2 PUSH2 0x29D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x60 DUP3 ADD PUSH1 0x0 DUP3 ADD MLOAD PUSH2 0x482 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x45D JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH2 0x495 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x45D JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0x4A8 PUSH1 0x40 DUP6 ADD DUP3 PUSH2 0x45D JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x4C3 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x44E JUMP JUMPDEST PUSH2 0x4D0 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x44E JUMP JUMPDEST PUSH2 0x4DD PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x46C JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP16 DIFFICULTY SWAP13 PUSH8 0xCCF6D1D332B294B 0xD4 PUSH8 0x8201B98609656794 POP SMOD PUSH30 0xCDEE6DEE28A0E364736F6C634300080E0033000000000000000000000000 ",
"sourceMap": "95:638:0:-:0;;;342:256;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;393:6;389:202;409:5;405:1;:9;389:202;;;439:6;435:145;455:6;451:1;:10;435:145;;;486:6;:18;493:10;486:18;;;;;;;;;;;;;;;510:53;;;;;;;;520:1;510:53;;;;526:1;510:53;;;;536:25;;;;;;;;546:1;536:25;;;;;;552:1;536:25;;;;;;558:1;536:25;;;;;510:53;;;486:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;463:3;;;;;:::i;:::-;;;;435:145;;;;416:3;;;;;:::i;:::-;;;;389:202;;;;342:256;;95:638;;88:117:1;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:143::-;602:5;633:6;627:13;618:22;;649:33;676:5;649:33;:::i;:::-;545:143;;;;:::o;694:507::-;773:6;781;830:2;818:9;809:7;805:23;801:32;798:119;;;836:79;;:::i;:::-;798:119;956:1;981:64;1037:7;1028:6;1017:9;1013:22;981:64;:::i;:::-;971:74;;927:128;1094:2;1120:64;1176:7;1167:6;1156:9;1152:22;1120:64;:::i;:::-;1110:74;;1065:129;694:507;;;;;:::o;1207:180::-;1255:77;1252:1;1245:88;1352:4;1349:1;1342:15;1376:4;1373:1;1366:15;1393:233;1432:3;1455:24;1473:5;1455:24;:::i;:::-;1446:33;;1501:66;1494:5;1491:77;1488:103;;1571:18;;:::i;:::-;1488:103;1618:1;1611:5;1607:13;1600:20;;1393:233;;;:::o;95:638:0:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@pixels_7": {
"entryPoint": 341,
"id": 7,
"parameterSlots": 0,
"returnSlots": 0
},
"@set_color_89": {
"entryPoint": 137,
"id": 89,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_decode_t_address": {
"entryPoint": 1017,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_struct$_Color_$14_memory_ptr": {
"entryPoint": 726,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 859,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint8": {
"entryPoint": 705,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_uint256": {
"entryPoint": 1038,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_struct$_Color_$14_memory_ptrt_uint256": {
"entryPoint": 880,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_struct$_Color_$14_memory_ptr_to_t_struct$_Color_$14_memory_ptr_fromStack": {
"entryPoint": 1132,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 1102,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint8_to_t_uint8": {
"entryPoint": 1117,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256_t_uint256_t_struct$_Color_$14_memory_ptr__to_t_uint256_t_uint256_t_struct$_Color_$14_memory_ptr__fromStack_reversed": {
"entryPoint": 1198,
"id": null,
"parameterSlots": 4,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 642,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 509,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 976,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 944,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 826,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint8": {
"entryPoint": 669,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 593,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"panic_error_0x32": {
"entryPoint": 1253,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 546,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f": {
"entryPoint": 524,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 519,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 529,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_address": {
"entryPoint": 994,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 836,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint8": {
"entryPoint": 682,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:5936:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "423:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "440:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "443:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "433:6:1"
},
"nodeType": "YulFunctionCall",
"src": "433:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "433:12:1"
}
]
},
"name": "revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f",
"nodeType": "YulFunctionDefinition",
"src": "334:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "505:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "515:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "533:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "540:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "529:3:1"
},
"nodeType": "YulFunctionCall",
"src": "529:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "549:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "545:3:1"
},
"nodeType": "YulFunctionCall",
"src": "545:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "525:3:1"
},
"nodeType": "YulFunctionCall",
"src": "525:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "515:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "488:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "498:6:1",
"type": ""
}
],
"src": "457:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "593:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "610:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "613:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "603:6:1"
},
"nodeType": "YulFunctionCall",
"src": "603:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "603:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "707:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "710:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "700:6:1"
},
"nodeType": "YulFunctionCall",
"src": "700:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "700:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "731:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "734:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "724:6:1"
},
"nodeType": "YulFunctionCall",
"src": "724:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "724:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "565:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "794:238:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "804:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "826:6:1"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "856:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "834:21:1"
},
"nodeType": "YulFunctionCall",
"src": "834:27:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "822:3:1"
},
"nodeType": "YulFunctionCall",
"src": "822:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "808:10:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "973:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "975:16:1"
},
"nodeType": "YulFunctionCall",
"src": "975:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "975:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "916:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "928:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "913:2:1"
},
"nodeType": "YulFunctionCall",
"src": "913:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "952:10:1"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "964:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "949:2:1"
},
"nodeType": "YulFunctionCall",
"src": "949:22:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "910:2:1"
},
"nodeType": "YulFunctionCall",
"src": "910:62:1"
},
"nodeType": "YulIf",
"src": "907:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1011:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "1015:10:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1004:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1004:22:1"
},
"nodeType": "YulExpressionStatement",
"src": "1004:22:1"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "780:6:1",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "788:4:1",
"type": ""
}
],
"src": "751:281:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1079:88:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1089:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "1099:18:1"
},
"nodeType": "YulFunctionCall",
"src": "1099:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1089:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1148:6:1"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "1156:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "1128:19:1"
},
"nodeType": "YulFunctionCall",
"src": "1128:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "1128:33:1"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "1063:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1072:6:1",
"type": ""
}
],
"src": "1038:129:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1262:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1279:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1282:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1272:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1272:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1272:12:1"
}
]
},
"name": "revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421",
"nodeType": "YulFunctionDefinition",
"src": "1173:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1339:43:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1349:27:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1364:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1371:4:1",
"type": "",
"value": "0xff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1360:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1360:16:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1349:7:1"
}
]
}
]
},
"name": "cleanup_t_uint8",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1321:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1331:7:1",
"type": ""
}
],
"src": "1296:86:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1429:77:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1484:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1493:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1496:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1486:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1486:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1486:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1452:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1475:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint8",
"nodeType": "YulIdentifier",
"src": "1459:15:1"
},
"nodeType": "YulFunctionCall",
"src": "1459:22:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1449:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1449:33:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1442:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1442:41:1"
},
"nodeType": "YulIf",
"src": "1439:61:1"
}
]
},
"name": "validator_revert_t_uint8",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1422:5:1",
"type": ""
}
],
"src": "1388:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1562:85:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1572:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1594:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1581:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1581:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1572:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1635:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint8",
"nodeType": "YulIdentifier",
"src": "1610:24:1"
},
"nodeType": "YulFunctionCall",
"src": "1610:31:1"
},
"nodeType": "YulExpressionStatement",
"src": "1610:31:1"
}
]
},
"name": "abi_decode_t_uint8",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1540:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1548:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1556:5:1",
"type": ""
}
],
"src": "1512:135:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1760:640:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1804:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f",
"nodeType": "YulIdentifier",
"src": "1806:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1806:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1806:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1781:3:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1786:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1777:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1777:19:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1798:4:1",
"type": "",
"value": "0x60"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1773:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1773:30:1"
},
"nodeType": "YulIf",
"src": "1770:117:1"
},
{
"nodeType": "YulAssignment",
"src": "1896:30:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1921:4:1",
"type": "",
"value": "0x60"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "1905:15:1"
},
"nodeType": "YulFunctionCall",
"src": "1905:21:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1896:5:1"
}
]
},
{
"nodeType": "YulBlock",
"src": "1936:145:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1968:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1982:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1972:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2008:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2015:4:1",
"type": "",
"value": "0x00"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2004:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2004:16:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2045:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2056:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2041:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2041:22:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2065:3:1"
}
],
"functionName": {
"name": "abi_decode_t_uint8",
"nodeType": "YulIdentifier",
"src": "2022:18:1"
},
"nodeType": "YulFunctionCall",
"src": "2022:47:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1997:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1997:73:1"
},
"nodeType": "YulExpressionStatement",
"src": "1997:73:1"
}
]
},
{
"nodeType": "YulBlock",
"src": "2091:146:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2123:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2137:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2127:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2164:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2171:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2160:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2160:16:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2201:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2212:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2197:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2197:22:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2221:3:1"
}
],
"functionName": {
"name": "abi_decode_t_uint8",
"nodeType": "YulIdentifier",
"src": "2178:18:1"
},
"nodeType": "YulFunctionCall",
"src": "2178:47:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2153:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2153:73:1"
},
"nodeType": "YulExpressionStatement",
"src": "2153:73:1"
}
]
},
{
"nodeType": "YulBlock",
"src": "2247:146:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2279:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2293:2:1",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2283:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2320:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2327:4:1",
"type": "",
"value": "0x40"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2316:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2316:16:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2357:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2368:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2353:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2353:22:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2377:3:1"
}
],
"functionName": {
"name": "abi_decode_t_uint8",
"nodeType": "YulIdentifier",
"src": "2334:18:1"
},
"nodeType": "YulFunctionCall",
"src": "2334:47:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2309:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2309:73:1"
},
"nodeType": "YulExpressionStatement",
"src": "2309:73:1"
}
]
}
]
},
"name": "abi_decode_t_struct$_Color_$14_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1735:9:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1746:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1754:5:1",
"type": ""
}
],
"src": "1684:716:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2451:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2461:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "2472:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2461:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2433:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2443:7:1",
"type": ""
}
],
"src": "2406:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2532:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2589:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2598:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2601:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2591:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2591:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "2591:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2555:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2580:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2562:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2562:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "2552:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2552:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2545:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2545:43:1"
},
"nodeType": "YulIf",
"src": "2542:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2525:5:1",
"type": ""
}
],
"src": "2489:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2669:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2679:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2701:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "2688:12:1"
},
"nodeType": "YulFunctionCall",
"src": "2688:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2679:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2744:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "2717:26:1"
},
"nodeType": "YulFunctionCall",
"src": "2717:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "2717:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2647:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2655:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2663:5:1",
"type": ""
}
],
"src": "2617:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2866:413:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2913:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "2915:77:1"
},
"nodeType": "YulFunctionCall",
"src": "2915:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "2915:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2887:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2896:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2883:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2883:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2908:3:1",
"type": "",
"value": "128"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "2879:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2879:33:1"
},
"nodeType": "YulIf",
"src": "2876:120:1"
},
{
"nodeType": "YulBlock",
"src": "3006:138:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3021:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3035:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3025:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3050:84:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3106:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3117:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3102:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3102:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3126:7:1"
}
],
"functionName": {
"name": "abi_decode_t_struct$_Color_$14_memory_ptr",
"nodeType": "YulIdentifier",
"src": "3060:41:1"
},
"nodeType": "YulFunctionCall",
"src": "3060:74:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3050:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "3154:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3169:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3183:2:1",
"type": "",
"value": "96"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3173:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3199:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3234:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3245:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3230:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3230:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3254:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "3209:20:1"
},
"nodeType": "YulFunctionCall",
"src": "3209:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "3199:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_struct$_Color_$14_memory_ptrt_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2828:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "2839:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2851:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "2859:6:1",
"type": ""
}
],
"src": "2762:517:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3330:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3340:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3355:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3362:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3351:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3351:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3340:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3312:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3322:7:1",
"type": ""
}
],
"src": "3285:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3462:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3472:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3501:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "3483:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3483:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3472:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3444:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3454:7:1",
"type": ""
}
],
"src": "3417:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3562:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3619:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3628:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3631:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3621:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3621:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3621:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3585:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3610:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "3592:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3592:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3582:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3582:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3575:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3575:43:1"
},
"nodeType": "YulIf",
"src": "3572:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3555:5:1",
"type": ""
}
],
"src": "3519:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3699:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3709:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3731:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "3718:12:1"
},
"nodeType": "YulFunctionCall",
"src": "3718:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3709:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3774:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "3747:26:1"
},
"nodeType": "YulFunctionCall",
"src": "3747:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "3747:33:1"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3677:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3685:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3693:5:1",
"type": ""
}
],
"src": "3647:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3875:391:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3921:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "3923:77:1"
},
"nodeType": "YulFunctionCall",
"src": "3923:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "3923:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3896:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3905:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3892:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3892:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3917:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "3888:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3888:32:1"
},
"nodeType": "YulIf",
"src": "3885:119:1"
},
{
"nodeType": "YulBlock",
"src": "4014:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4029:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4043:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4033:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4058:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4093:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4104:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4089:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4089:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4113:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "4068:20:1"
},
"nodeType": "YulFunctionCall",
"src": "4068:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4058:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "4141:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4156:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4170:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4160:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4186:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4221:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4232:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4217:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4217:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4241:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "4196:20:1"
},
"nodeType": "YulFunctionCall",
"src": "4196:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "4186:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3837:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "3848:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3860:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "3868:6:1",
"type": ""
}
],
"src": "3792:474:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4337:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4354:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4377:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4359:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4359:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4347:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4347:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "4347:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4325:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4332:3:1",
"type": ""
}
],
"src": "4272:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4447:51:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4464:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4485:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint8",
"nodeType": "YulIdentifier",
"src": "4469:15:1"
},
"nodeType": "YulFunctionCall",
"src": "4469:22:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4457:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4457:35:1"
},
"nodeType": "YulExpressionStatement",
"src": "4457:35:1"
}
]
},
"name": "abi_encode_t_uint8_to_t_uint8",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4435:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4442:3:1",
"type": ""
}
],
"src": "4396:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4670:544:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4680:26:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4696:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4701:4:1",
"type": "",
"value": "0x60"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4692:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4692:14:1"
},
"variables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4684:4:1",
"type": ""
}
]
},
{
"nodeType": "YulBlock",
"src": "4716:157:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4748:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4778:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4785:4:1",
"type": "",
"value": "0x00"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4774:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4774:16:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4768:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4768:23:1"
},
"variables": [
{
"name": "memberValue0",
"nodeType": "YulTypedName",
"src": "4752:12:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "memberValue0",
"nodeType": "YulIdentifier",
"src": "4834:12:1"
},
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4852:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4857:4:1",
"type": "",
"value": "0x00"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4848:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4848:14:1"
}
],
"functionName": {
"name": "abi_encode_t_uint8_to_t_uint8",
"nodeType": "YulIdentifier",
"src": "4804:29:1"
},
"nodeType": "YulFunctionCall",
"src": "4804:59:1"
},
"nodeType": "YulExpressionStatement",
"src": "4804:59:1"
}
]
},
{
"nodeType": "YulBlock",
"src": "4883:157:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4915:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4945:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4952:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4941:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4941:16:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4935:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4935:23:1"
},
"variables": [
{
"name": "memberValue0",
"nodeType": "YulTypedName",
"src": "4919:12:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "memberValue0",
"nodeType": "YulIdentifier",
"src": "5001:12:1"
},
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5019:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5024:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5015:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5015:14:1"
}
],
"functionName": {
"name": "abi_encode_t_uint8_to_t_uint8",
"nodeType": "YulIdentifier",
"src": "4971:29:1"
},
"nodeType": "YulFunctionCall",
"src": "4971:59:1"
},
"nodeType": "YulExpressionStatement",
"src": "4971:59:1"
}
]
},
{
"nodeType": "YulBlock",
"src": "5050:157:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5082:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5112:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5119:4:1",
"type": "",
"value": "0x40"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5108:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5108:16:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5102:5:1"
},
"nodeType": "YulFunctionCall",
"src": "5102:23:1"
},
"variables": [
{
"name": "memberValue0",
"nodeType": "YulTypedName",
"src": "5086:12:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "memberValue0",
"nodeType": "YulIdentifier",
"src": "5168:12:1"
},
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5186:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5191:4:1",
"type": "",
"value": "0x40"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5182:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5182:14:1"
}
],
"functionName": {
"name": "abi_encode_t_uint8_to_t_uint8",
"nodeType": "YulIdentifier",
"src": "5138:29:1"
},
"nodeType": "YulFunctionCall",
"src": "5138:59:1"
},
"nodeType": "YulExpressionStatement",
"src": "5138:59:1"
}
]
}
]
},
"name": "abi_encode_t_struct$_Color_$14_memory_ptr_to_t_struct$_Color_$14_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4657:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4664:3:1",
"type": ""
}
],
"src": "4562:652:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5416:331:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5426:27:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5438:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5449:3:1",
"type": "",
"value": "160"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5434:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5434:19:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5426:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5507:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5520:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5531:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5516:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5516:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "5463:43:1"
},
"nodeType": "YulFunctionCall",
"src": "5463:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "5463:71:1"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "5588:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5601:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5612:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5597:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5597:18:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "5544:43:1"
},
"nodeType": "YulFunctionCall",
"src": "5544:72:1"
},
"nodeType": "YulExpressionStatement",
"src": "5544:72:1"
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "5712:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5725:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5736:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5721:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5721:18:1"
}
],
"functionName": {
"name": "abi_encode_t_struct$_Color_$14_memory_ptr_to_t_struct$_Color_$14_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "5626:85:1"
},
"nodeType": "YulFunctionCall",
"src": "5626:114:1"
},
"nodeType": "YulExpressionStatement",
"src": "5626:114:1"
}
]
},
"name": "abi_encode_tuple_t_uint256_t_uint256_t_struct$_Color_$14_memory_ptr__to_t_uint256_t_uint256_t_struct$_Color_$14_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5372:9:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "5384:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "5392:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5400:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5411:4:1",
"type": ""
}
],
"src": "5220:527:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5781:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5798:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5801:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5791:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5791:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "5791:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5895:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5898:4:1",
"type": "",
"value": "0x32"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5888:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5888:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5888:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5919:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5922:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5912:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5912:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5912:15:1"
}
]
},
"name": "panic_error_0x32",
"nodeType": "YulFunctionDefinition",
"src": "5753:180:1"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() {\n revert(0, 0)\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function validator_revert_t_uint8(value) {\n if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint8(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint8(value)\n }\n\n // struct PixelPlace.Color\n function abi_decode_t_struct$_Color_$14_memory_ptr(headStart, end) -> value {\n if slt(sub(end, headStart), 0x60) { revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() }\n value := allocate_memory(0x60)\n\n {\n // r\n\n let offset := 0\n\n mstore(add(value, 0x00), abi_decode_t_uint8(add(headStart, offset), end))\n\n }\n\n {\n // g\n\n let offset := 32\n\n mstore(add(value, 0x20), abi_decode_t_uint8(add(headStart, offset), end))\n\n }\n\n {\n // b\n\n let offset := 64\n\n mstore(add(value, 0x40), abi_decode_t_uint8(add(headStart, offset), end))\n\n }\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_struct$_Color_$14_memory_ptrt_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_struct$_Color_$14_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\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_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { 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 let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\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_t_uint8_to_t_uint8(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n // struct PixelPlace.Color -> struct PixelPlace.Color\n function abi_encode_t_struct$_Color_$14_memory_ptr_to_t_struct$_Color_$14_memory_ptr_fromStack(value, pos) {\n let tail := add(pos, 0x60)\n\n {\n // r\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_uint8_to_t_uint8(memberValue0, add(pos, 0x00))\n }\n\n {\n // g\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_uint8_to_t_uint8(memberValue0, add(pos, 0x20))\n }\n\n {\n // b\n\n let memberValue0 := mload(add(value, 0x40))\n abi_encode_t_uint8_to_t_uint8(memberValue0, add(pos, 0x40))\n }\n\n }\n\n function abi_encode_tuple_t_uint256_t_uint256_t_struct$_Color_$14_memory_ptr__to_t_uint256_t_uint256_t_struct$_Color_$14_memory_ptr__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 160)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_struct$_Color_$14_memory_ptr_to_t_struct$_Color_$14_memory_ptr_fromStack(value2, add(headStart, 64))\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100365760003560e01c8063b91f45081461003b578063d9c622b414610057575b600080fd5b61005560048036038101906100509190610370565b610089565b005b610071600480360381019061006c919061040e565b610155565b604051610080939291906104ae565b60405180910390f35b816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106100da576100d96104e5565b5b906000526020600020906003020160020160008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff1602179055509050505050565b6000602052816000526040600020818154811061017157600080fd5b906000526020600020906003020160009150915050806000015490806001015490806002016040518060600160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff1681525050905083565b6000604051905090565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61025a82610211565b810181811067ffffffffffffffff8211171561027957610278610222565b5b80604052505050565b600061028c6101fd565b90506102988282610251565b919050565b600060ff82169050919050565b6102b38161029d565b81146102be57600080fd5b50565b6000813590506102d0816102aa565b92915050565b6000606082840312156102ec576102eb61020c565b5b6102f66060610282565b90506000610306848285016102c1565b600083015250602061031a848285016102c1565b602083015250604061032e848285016102c1565b60408301525092915050565b6000819050919050565b61034d8161033a565b811461035857600080fd5b50565b60008135905061036a81610344565b92915050565b6000806080838503121561038757610386610207565b5b6000610395858286016102d6565b92505060606103a68582860161035b565b9150509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103db826103b0565b9050919050565b6103eb816103d0565b81146103f657600080fd5b50565b600081359050610408816103e2565b92915050565b6000806040838503121561042557610424610207565b5b6000610433858286016103f9565b92505060206104448582860161035b565b9150509250929050565b6104578161033a565b82525050565b6104668161029d565b82525050565b606082016000820151610482600085018261045d565b506020820151610495602085018261045d565b5060408201516104a8604085018261045d565b50505050565b600060a0820190506104c3600083018661044e565b6104d0602083018561044e565b6104dd604083018461046c565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea26469706673582212208f449c670ccf6d1d332b294bd4678201b9860965679450077dcdee6dee28a0e364736f6c634300080e0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xB91F4508 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xD9C622B4 EQ PUSH2 0x57 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x55 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x370 JUMP JUMPDEST PUSH2 0x89 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x71 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6C SWAP2 SWAP1 PUSH2 0x40E JUMP JUMPDEST PUSH2 0x155 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x80 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x4AE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0xDA JUMPI PUSH2 0xD9 PUSH2 0x4E5 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x2 ADD PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP SWAP1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x171 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 SWAP2 POP SWAP2 POP POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 DUP1 PUSH1 0x2 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE POP POP SWAP1 POP DUP4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x25A DUP3 PUSH2 0x211 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x279 JUMPI PUSH2 0x278 PUSH2 0x222 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28C PUSH2 0x1FD JUMP JUMPDEST SWAP1 POP PUSH2 0x298 DUP3 DUP3 PUSH2 0x251 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2B3 DUP2 PUSH2 0x29D JUMP JUMPDEST DUP2 EQ PUSH2 0x2BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2D0 DUP2 PUSH2 0x2AA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2EC JUMPI PUSH2 0x2EB PUSH2 0x20C JUMP JUMPDEST JUMPDEST PUSH2 0x2F6 PUSH1 0x60 PUSH2 0x282 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x306 DUP5 DUP3 DUP6 ADD PUSH2 0x2C1 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x31A DUP5 DUP3 DUP6 ADD PUSH2 0x2C1 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 PUSH2 0x32E DUP5 DUP3 DUP6 ADD PUSH2 0x2C1 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x34D DUP2 PUSH2 0x33A JUMP JUMPDEST DUP2 EQ PUSH2 0x358 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x36A DUP2 PUSH2 0x344 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x387 JUMPI PUSH2 0x386 PUSH2 0x207 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x395 DUP6 DUP3 DUP7 ADD PUSH2 0x2D6 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0x3A6 DUP6 DUP3 DUP7 ADD PUSH2 0x35B JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DB DUP3 PUSH2 0x3B0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3EB DUP2 PUSH2 0x3D0 JUMP JUMPDEST DUP2 EQ PUSH2 0x3F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x408 DUP2 PUSH2 0x3E2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x425 JUMPI PUSH2 0x424 PUSH2 0x207 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x433 DUP6 DUP3 DUP7 ADD PUSH2 0x3F9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x444 DUP6 DUP3 DUP7 ADD PUSH2 0x35B JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x457 DUP2 PUSH2 0x33A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x466 DUP2 PUSH2 0x29D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x60 DUP3 ADD PUSH1 0x0 DUP3 ADD MLOAD PUSH2 0x482 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x45D JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH2 0x495 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x45D JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0x4A8 PUSH1 0x40 DUP6 ADD DUP3 PUSH2 0x45D JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x4C3 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x44E JUMP JUMPDEST PUSH2 0x4D0 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x44E JUMP JUMPDEST PUSH2 0x4DD PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x46C JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP16 DIFFICULTY SWAP13 PUSH8 0xCCF6D1D332B294B 0xD4 PUSH8 0x8201B98609656794 POP SMOD PUSH30 0xCDEE6DEE28A0E364736F6C634300080E0033000000000000000000000000 ",
"sourceMap": "95:638:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;606:122;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;124:41;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;606:122;712:8;678:6;:18;685:10;678:18;;;;;;;;;;;;;;;697:5;678:25;;;;;;;;:::i;:::-;;;;;;;;;;;;:31;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;606:122;;:::o;124:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1296:86::-;1331:7;1371:4;1364:5;1360:16;1349:27;;1296:86;;;:::o;1388:118::-;1459:22;1475:5;1459:22;:::i;:::-;1452:5;1449:33;1439:61;;1496:1;1493;1486:12;1439:61;1388:118;:::o;1512:135::-;1556:5;1594:6;1581:20;1572:29;;1610:31;1635:5;1610:31;:::i;:::-;1512:135;;;;:::o;1684:716::-;1754:5;1798:4;1786:9;1781:3;1777:19;1773:30;1770:117;;;1806:79;;:::i;:::-;1770:117;1905:21;1921:4;1905:21;:::i;:::-;1896:30;;1982:1;2022:47;2065:3;2056:6;2045:9;2041:22;2022:47;:::i;:::-;2015:4;2008:5;2004:16;1997:73;1936:145;2137:2;2178:47;2221:3;2212:6;2201:9;2197:22;2178:47;:::i;:::-;2171:4;2164:5;2160:16;2153:73;2091:146;2293:2;2334:47;2377:3;2368:6;2357:9;2353:22;2334:47;:::i;:::-;2327:4;2320:5;2316:16;2309:73;2247:146;1684:716;;;;:::o;2406:77::-;2443:7;2472:5;2461:16;;2406:77;;;:::o;2489:122::-;2562:24;2580:5;2562:24;:::i;:::-;2555:5;2552:35;2542:63;;2601:1;2598;2591:12;2542:63;2489:122;:::o;2617:139::-;2663:5;2701:6;2688:20;2679:29;;2717:33;2744:5;2717:33;:::i;:::-;2617:139;;;;:::o;2762:517::-;2851:6;2859;2908:3;2896:9;2887:7;2883:23;2879:33;2876:120;;;2915:79;;:::i;:::-;2876:120;3035:1;3060:74;3126:7;3117:6;3106:9;3102:22;3060:74;:::i;:::-;3050:84;;3006:138;3183:2;3209:53;3254:7;3245:6;3234:9;3230:22;3209:53;:::i;:::-;3199:63;;3154:118;2762:517;;;;;:::o;3285:126::-;3322:7;3362:42;3355:5;3351:54;3340:65;;3285:126;;;:::o;3417:96::-;3454:7;3483:24;3501:5;3483:24;:::i;:::-;3472:35;;3417:96;;;:::o;3519:122::-;3592:24;3610:5;3592:24;:::i;:::-;3585:5;3582:35;3572:63;;3631:1;3628;3621:12;3572:63;3519:122;:::o;3647:139::-;3693:5;3731:6;3718:20;3709:29;;3747:33;3774:5;3747:33;:::i;:::-;3647:139;;;;:::o;3792:474::-;3860:6;3868;3917:2;3905:9;3896:7;3892:23;3888:32;3885:119;;;3923:79;;:::i;:::-;3885:119;4043:1;4068:53;4113:7;4104:6;4093:9;4089:22;4068:53;:::i;:::-;4058:63;;4014:117;4170:2;4196:53;4241:7;4232:6;4221:9;4217:22;4196:53;:::i;:::-;4186:63;;4141:118;3792:474;;;;;:::o;4272:118::-;4359:24;4377:5;4359:24;:::i;:::-;4354:3;4347:37;4272:118;;:::o;4396:102::-;4469:22;4485:5;4469:22;:::i;:::-;4464:3;4457:35;4396:102;;:::o;4562:652::-;4701:4;4696:3;4692:14;4785:4;4778:5;4774:16;4768:23;4804:59;4857:4;4852:3;4848:14;4834:12;4804:59;:::i;:::-;4716:157;4952:4;4945:5;4941:16;4935:23;4971:59;5024:4;5019:3;5015:14;5001:12;4971:59;:::i;:::-;4883:157;5119:4;5112:5;5108:16;5102:23;5138:59;5191:4;5186:3;5182:14;5168:12;5138:59;:::i;:::-;5050:157;4670:544;4562:652;;:::o;5220:527::-;5411:4;5449:3;5438:9;5434:19;5426:27;;5463:71;5531:1;5520:9;5516:17;5507:6;5463:71;:::i;:::-;5544:72;5612:2;5601:9;5597:18;5588:6;5544:72;:::i;:::-;5626:114;5736:2;5725:9;5721:18;5712:6;5626:114;:::i;:::-;5220:527;;;;;;:::o;5753:180::-;5801:77;5798:1;5791:88;5898:4;5895:1;5888:15;5922:4;5919:1;5912:15"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "270800",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"pixels(address,uint256)": "infinite",
"set_color((uint8,uint8,uint8),uint256)": "infinite"
}
},
"methodIdentifiers": {
"pixels(address,uint256)": "d9c622b4",
"set_color((uint8,uint8,uint8),uint256)": "b91f4508"
}
},
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "width",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "height",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "pixels",
"outputs": [
{
"internalType": "uint256",
"name": "x",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "y",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint8",
"name": "r",
"type": "uint8"
},
{
"internalType": "uint8",
"name": "g",
"type": "uint8"
},
{
"internalType": "uint8",
"name": "b",
"type": "uint8"
}
],
"internalType": "struct PixelPlace.Color",
"name": "color",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "uint8",
"name": "r",
"type": "uint8"
},
{
"internalType": "uint8",
"name": "g",
"type": "uint8"
},
{
"internalType": "uint8",
"name": "b",
"type": "uint8"
}
],
"internalType": "struct PixelPlace.Color",
"name": "newColor",
"type": "tuple"
},
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
}
],
"name": "set_color",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.14+commit.80d49f37"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "width",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "height",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "pixels",
"outputs": [
{
"internalType": "uint256",
"name": "x",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "y",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint8",
"name": "r",
"type": "uint8"
},
{
"internalType": "uint8",
"name": "g",
"type": "uint8"
},
{
"internalType": "uint8",
"name": "b",
"type": "uint8"
}
],
"internalType": "struct PixelPlace.Color",
"name": "color",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "uint8",
"name": "r",
"type": "uint8"
},
{
"internalType": "uint8",
"name": "g",
"type": "uint8"
},
{
"internalType": "uint8",
"name": "b",
"type": "uint8"
}
],
"internalType": "struct PixelPlace.Color",
"name": "newColor",
"type": "tuple"
},
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
}
],
"name": "set_color",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"pixel_place.sol": "PixelPlace"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"pixel_place.sol": {
"keccak256": "0x1cf35273eeb87e8c15c23456b150746b64f8af870f7ec1fd3f139d0705878ebf",
"license": "MIT",
"urls": [
"bzz-raw://b67a18d6f1a29d7deec02f79ad3d9c593eb6cdd296ccfc741254143a08f64617",
"dweb:/ipfs/QmdM8GaYk5YoXaWK6H1qDJpcoQHkSV7vA1WRXNRNdZFXrh"
]
}
},
"version": 1
}
This file has been truncated, but you can view the full file.
{
"id": "00777e9dec5f1b5e28f95e3be4c4d902",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.14",
"solcLongVersion": "0.8.14+commit.80d49f37",
"input": {
"language": "Solidity",
"sources": {
"hello_world.sol": {
"content": "// SPDX-License-Identifier: MIT\r\npragma solidity 0.8.14;\r\n\r\ncontract HelloWorld {\r\n string public text;\r\n uint public number;\r\n address public userAddress;\r\n\r\n function setText(string memory myText) public {\r\n text = myText;\r\n }\r\n\r\n function setNumber(uint myNumber) public {\r\n number = myNumber;\r\n }\r\n\r\n function setUserAddress() public {\r\n userAddress = msg.sender;\r\n }\r\n}"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"hello_world.sol": {
"HelloWorld": {
"abi": [
{
"inputs": [],
"name": "number",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "myNumber",
"type": "uint256"
}
],
"name": "setNumber",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "myText",
"type": "string"
}
],
"name": "setText",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "setUserAddress",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "text",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "userAddress",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"hello_world.sol\":60:422 contract HelloWorld {... */\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 /* \"hello_world.sol\":60:422 contract HelloWorld {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x1f1bd692\n eq\n tag_3\n jumpi\n dup1\n 0x3fb5c1cb\n eq\n tag_4\n jumpi\n dup1\n 0x5d3a1f9d\n eq\n tag_5\n jumpi\n dup1\n 0x62dd4554\n eq\n tag_6\n jumpi\n dup1\n 0x8381f58a\n eq\n tag_7\n jumpi\n dup1\n 0xe4128fb3\n eq\n tag_8\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"hello_world.sol\":87:105 string public text */\n tag_3:\n tag_9\n tag_10\n jump\t// in\n tag_9:\n mload(0x40)\n tag_11\n swap2\n swap1\n tag_12\n jump\t// in\n tag_11:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"hello_world.sol\":258:335 function setNumber(uint myNumber) public {... */\n tag_4:\n tag_13\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_14\n swap2\n swap1\n tag_15\n jump\t// in\n tag_14:\n tag_16\n jump\t// in\n tag_13:\n stop\n /* \"hello_world.sol\":172:250 function setText(string memory myText) public {... */\n tag_5:\n tag_17\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_18\n swap2\n swap1\n tag_19\n jump\t// in\n tag_18:\n tag_20\n jump\t// in\n tag_17:\n stop\n /* \"hello_world.sol\":343:419 function setUserAddress() public {... */\n tag_6:\n tag_21\n tag_22\n jump\t// in\n tag_21:\n stop\n /* \"hello_world.sol\":112:130 uint public number */\n tag_7:\n tag_23\n tag_24\n jump\t// in\n tag_23:\n mload(0x40)\n tag_25\n swap2\n swap1\n tag_26\n jump\t// in\n tag_25:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"hello_world.sol\":137:163 address public userAddress */\n tag_8:\n tag_27\n tag_28\n jump\t// in\n tag_27:\n mload(0x40)\n tag_29\n swap2\n swap1\n tag_30\n jump\t// in\n tag_29:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"hello_world.sol\":87:105 string public text */\n tag_10:\n 0x00\n dup1\n sload\n tag_31\n swap1\n tag_32\n jump\t// in\n tag_31:\n dup1\n 0x1f\n add\n 0x20\n dup1\n swap2\n div\n mul\n 0x20\n add\n mload(0x40)\n swap1\n dup2\n add\n 0x40\n mstore\n dup1\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup3\n dup1\n sload\n tag_33\n swap1\n tag_32\n jump\t// in\n tag_33:\n dup1\n iszero\n tag_34\n jumpi\n dup1\n 0x1f\n lt\n tag_35\n jumpi\n 0x0100\n dup1\n dup4\n sload\n div\n mul\n dup4\n mstore\n swap2\n 0x20\n add\n swap2\n jump(tag_34)\n tag_35:\n dup3\n add\n swap2\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n tag_36:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x01\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_36\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_34:\n pop\n pop\n pop\n pop\n pop\n dup2\n jump\t// out\n /* \"hello_world.sol\":258:335 function setNumber(uint myNumber) public {... */\n tag_16:\n /* \"hello_world.sol\":319:327 myNumber */\n dup1\n /* \"hello_world.sol\":310:316 number */\n 0x01\n /* \"hello_world.sol\":310:327 number = myNumber */\n dup2\n swap1\n sstore\n pop\n /* \"hello_world.sol\":258:335 function setNumber(uint myNumber) public {... */\n pop\n jump\t// out\n /* \"hello_world.sol\":172:250 function setText(string memory myText) public {... */\n tag_20:\n /* \"hello_world.sol\":236:242 myText */\n dup1\n /* \"hello_world.sol\":229:233 text */\n 0x00\n /* \"hello_world.sol\":229:242 text = myText */\n swap1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n tag_39\n swap3\n swap2\n swap1\n tag_40\n jump\t// in\n tag_39:\n pop\n /* \"hello_world.sol\":172:250 function setText(string memory myText) public {... */\n pop\n jump\t// out\n /* \"hello_world.sol\":343:419 function setUserAddress() public {... */\n tag_22:\n /* \"hello_world.sol\":401:411 msg.sender */\n caller\n /* \"hello_world.sol\":387:398 userAddress */\n 0x02\n 0x00\n /* \"hello_world.sol\":387:411 userAddress = 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 /* \"hello_world.sol\":343:419 function setUserAddress() public {... */\n jump\t// out\n /* \"hello_world.sol\":112:130 uint public number */\n tag_24:\n sload(0x01)\n dup2\n jump\t// out\n /* \"hello_world.sol\":137:163 address public userAddress */\n tag_28:\n 0x02\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 tag_40:\n dup3\n dup1\n sload\n tag_42\n swap1\n tag_32\n jump\t// in\n tag_42:\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x1f\n add\n 0x20\n swap1\n div\n dup2\n add\n swap3\n dup3\n tag_44\n jumpi\n 0x00\n dup6\n sstore\n jump(tag_43)\n tag_44:\n dup3\n 0x1f\n lt\n tag_45\n jumpi\n dup1\n mload\n not(0xff)\n and\n dup4\n dup1\n add\n or\n dup6\n sstore\n jump(tag_43)\n tag_45:\n dup3\n dup1\n add\n 0x01\n add\n dup6\n sstore\n dup3\n iszero\n tag_43\n jumpi\n swap2\n dup3\n add\n tag_46:\n dup3\n dup2\n gt\n iszero\n tag_47\n jumpi\n dup3\n mload\n dup3\n sstore\n swap2\n 0x20\n add\n swap2\n swap1\n 0x01\n add\n swap1\n jump(tag_46)\n tag_47:\n tag_43:\n pop\n swap1\n pop\n tag_48\n swap2\n swap1\n tag_49\n jump\t// in\n tag_48:\n pop\n swap1\n jump\t// out\n tag_49:\n tag_50:\n dup1\n dup3\n gt\n iszero\n tag_51\n jumpi\n 0x00\n dup2\n 0x00\n swap1\n sstore\n pop\n 0x01\n add\n jump(tag_50)\n tag_51:\n pop\n swap1\n jump\t// out\n /* \"#utility.yul\":7:106 */\n tag_52:\n /* \"#utility.yul\":59:65 */\n 0x00\n /* \"#utility.yul\":93:98 */\n dup2\n /* \"#utility.yul\":87:99 */\n mload\n /* \"#utility.yul\":77:99 */\n swap1\n pop\n /* \"#utility.yul\":7:106 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":112:281 */\n tag_53:\n /* \"#utility.yul\":196:207 */\n 0x00\n /* \"#utility.yul\":230:236 */\n dup3\n /* \"#utility.yul\":225:228 */\n dup3\n /* \"#utility.yul\":218:237 */\n mstore\n /* \"#utility.yul\":270:274 */\n 0x20\n /* \"#utility.yul\":265:268 */\n dup3\n /* \"#utility.yul\":261:275 */\n add\n /* \"#utility.yul\":246:275 */\n swap1\n pop\n /* \"#utility.yul\":112:281 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":287:594 */\n tag_54:\n /* \"#utility.yul\":355:356 */\n 0x00\n /* \"#utility.yul\":365:478 */\n tag_81:\n /* \"#utility.yul\":379:385 */\n dup4\n /* \"#utility.yul\":376:377 */\n dup2\n /* \"#utility.yul\":373:386 */\n lt\n /* \"#utility.yul\":365:478 */\n iszero\n tag_83\n jumpi\n /* \"#utility.yul\":464:465 */\n dup1\n /* \"#utility.yul\":459:462 */\n dup3\n /* \"#utility.yul\":455:466 */\n add\n /* \"#utility.yul\":449:467 */\n mload\n /* \"#utility.yul\":445:446 */\n dup2\n /* \"#utility.yul\":440:443 */\n dup5\n /* \"#utility.yul\":436:447 */\n add\n /* \"#utility.yul\":429:468 */\n mstore\n /* \"#utility.yul\":401:403 */\n 0x20\n /* \"#utility.yul\":398:399 */\n dup2\n /* \"#utility.yul\":394:404 */\n add\n /* \"#utility.yul\":389:404 */\n swap1\n pop\n /* \"#utility.yul\":365:478 */\n jump(tag_81)\n tag_83:\n /* \"#utility.yul\":496:502 */\n dup4\n /* \"#utility.yul\":493:494 */\n dup2\n /* \"#utility.yul\":490:503 */\n gt\n /* \"#utility.yul\":487:588 */\n iszero\n tag_84\n jumpi\n /* \"#utility.yul\":576:577 */\n 0x00\n /* \"#utility.yul\":567:573 */\n dup5\n /* \"#utility.yul\":562:565 */\n dup5\n /* \"#utility.yul\":558:574 */\n add\n /* \"#utility.yul\":551:578 */\n mstore\n /* \"#utility.yul\":487:588 */\n tag_84:\n /* \"#utility.yul\":336:594 */\n pop\n /* \"#utility.yul\":287:594 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":600:702 */\n tag_55:\n /* \"#utility.yul\":641:647 */\n 0x00\n /* \"#utility.yul\":692:694 */\n 0x1f\n /* \"#utility.yul\":688:695 */\n not\n /* \"#utility.yul\":683:685 */\n 0x1f\n /* \"#utility.yul\":676:681 */\n dup4\n /* \"#utility.yul\":672:686 */\n add\n /* \"#utility.yul\":668:696 */\n and\n /* \"#utility.yul\":658:696 */\n swap1\n pop\n /* \"#utility.yul\":600:702 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":708:1072 */\n tag_56:\n /* \"#utility.yul\":796:799 */\n 0x00\n /* \"#utility.yul\":824:863 */\n tag_87\n /* \"#utility.yul\":857:862 */\n dup3\n /* \"#utility.yul\":824:863 */\n tag_52\n jump\t// in\n tag_87:\n /* \"#utility.yul\":879:950 */\n tag_88\n /* \"#utility.yul\":943:949 */\n dup2\n /* \"#utility.yul\":938:941 */\n dup6\n /* \"#utility.yul\":879:950 */\n tag_53\n jump\t// in\n tag_88:\n /* \"#utility.yul\":872:950 */\n swap4\n pop\n /* \"#utility.yul\":959:1011 */\n tag_89\n /* \"#utility.yul\":1004:1010 */\n dup2\n /* \"#utility.yul\":999:1002 */\n dup6\n /* \"#utility.yul\":992:996 */\n 0x20\n /* \"#utility.yul\":985:990 */\n dup7\n /* \"#utility.yul\":981:997 */\n add\n /* \"#utility.yul\":959:1011 */\n tag_54\n jump\t// in\n tag_89:\n /* \"#utility.yul\":1036:1065 */\n tag_90\n /* \"#utility.yul\":1058:1064 */\n dup2\n /* \"#utility.yul\":1036:1065 */\n tag_55\n jump\t// in\n tag_90:\n /* \"#utility.yul\":1031:1034 */\n dup5\n /* \"#utility.yul\":1027:1066 */\n add\n /* \"#utility.yul\":1020:1066 */\n swap2\n pop\n /* \"#utility.yul\":800:1072 */\n pop\n /* \"#utility.yul\":708:1072 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1078:1391 */\n tag_12:\n /* \"#utility.yul\":1191:1195 */\n 0x00\n /* \"#utility.yul\":1229:1231 */\n 0x20\n /* \"#utility.yul\":1218:1227 */\n dup3\n /* \"#utility.yul\":1214:1232 */\n add\n /* \"#utility.yul\":1206:1232 */\n swap1\n pop\n /* \"#utility.yul\":1278:1287 */\n dup2\n /* \"#utility.yul\":1272:1276 */\n dup2\n /* \"#utility.yul\":1268:1288 */\n sub\n /* \"#utility.yul\":1264:1265 */\n 0x00\n /* \"#utility.yul\":1253:1262 */\n dup4\n /* \"#utility.yul\":1249:1266 */\n add\n /* \"#utility.yul\":1242:1289 */\n mstore\n /* \"#utility.yul\":1306:1384 */\n tag_92\n /* \"#utility.yul\":1379:1383 */\n dup2\n /* \"#utility.yul\":1370:1376 */\n dup5\n /* \"#utility.yul\":1306:1384 */\n tag_56\n jump\t// in\n tag_92:\n /* \"#utility.yul\":1298:1384 */\n swap1\n pop\n /* \"#utility.yul\":1078:1391 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1397:1472 */\n tag_57:\n /* \"#utility.yul\":1430:1436 */\n 0x00\n /* \"#utility.yul\":1463:1465 */\n 0x40\n /* \"#utility.yul\":1457:1466 */\n mload\n /* \"#utility.yul\":1447:1466 */\n swap1\n pop\n /* \"#utility.yul\":1397:1472 */\n swap1\n jump\t// out\n /* \"#utility.yul\":1478:1595 */\n tag_58:\n /* \"#utility.yul\":1587:1588 */\n 0x00\n /* \"#utility.yul\":1584:1585 */\n dup1\n /* \"#utility.yul\":1577:1589 */\n revert\n /* \"#utility.yul\":1601:1718 */\n tag_59:\n /* \"#utility.yul\":1710:1711 */\n 0x00\n /* \"#utility.yul\":1707:1708 */\n dup1\n /* \"#utility.yul\":1700:1712 */\n revert\n /* \"#utility.yul\":1724:1801 */\n tag_60:\n /* \"#utility.yul\":1761:1768 */\n 0x00\n /* \"#utility.yul\":1790:1795 */\n dup2\n /* \"#utility.yul\":1779:1795 */\n swap1\n pop\n /* \"#utility.yul\":1724:1801 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1807:1929 */\n tag_61:\n /* \"#utility.yul\":1880:1904 */\n tag_98\n /* \"#utility.yul\":1898:1903 */\n dup2\n /* \"#utility.yul\":1880:1904 */\n tag_60\n jump\t// in\n tag_98:\n /* \"#utility.yul\":1873:1878 */\n dup2\n /* \"#utility.yul\":1870:1905 */\n eq\n /* \"#utility.yul\":1860:1923 */\n tag_99\n jumpi\n /* \"#utility.yul\":1919:1920 */\n 0x00\n /* \"#utility.yul\":1916:1917 */\n dup1\n /* \"#utility.yul\":1909:1921 */\n revert\n /* \"#utility.yul\":1860:1923 */\n tag_99:\n /* \"#utility.yul\":1807:1929 */\n pop\n jump\t// out\n /* \"#utility.yul\":1935:2074 */\n tag_62:\n /* \"#utility.yul\":1981:1986 */\n 0x00\n /* \"#utility.yul\":2019:2025 */\n dup2\n /* \"#utility.yul\":2006:2026 */\n calldataload\n /* \"#utility.yul\":1997:2026 */\n swap1\n pop\n /* \"#utility.yul\":2035:2068 */\n tag_101\n /* \"#utility.yul\":2062:2067 */\n dup2\n /* \"#utility.yul\":2035:2068 */\n tag_61\n jump\t// in\n tag_101:\n /* \"#utility.yul\":1935:2074 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2080:2409 */\n tag_15:\n /* \"#utility.yul\":2139:2145 */\n 0x00\n /* \"#utility.yul\":2188:2190 */\n 0x20\n /* \"#utility.yul\":2176:2185 */\n dup3\n /* \"#utility.yul\":2167:2174 */\n dup5\n /* \"#utility.yul\":2163:2186 */\n sub\n /* \"#utility.yul\":2159:2191 */\n slt\n /* \"#utility.yul\":2156:2275 */\n iszero\n tag_103\n jumpi\n /* \"#utility.yul\":2194:2273 */\n tag_104\n tag_58\n jump\t// in\n tag_104:\n /* \"#utility.yul\":2156:2275 */\n tag_103:\n /* \"#utility.yul\":2314:2315 */\n 0x00\n /* \"#utility.yul\":2339:2392 */\n tag_105\n /* \"#utility.yul\":2384:2391 */\n dup5\n /* \"#utility.yul\":2375:2381 */\n dup3\n /* \"#utility.yul\":2364:2373 */\n dup6\n /* \"#utility.yul\":2360:2382 */\n add\n /* \"#utility.yul\":2339:2392 */\n tag_62\n jump\t// in\n tag_105:\n /* \"#utility.yul\":2329:2392 */\n swap2\n pop\n /* \"#utility.yul\":2285:2402 */\n pop\n /* \"#utility.yul\":2080:2409 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2415:2532 */\n tag_63:\n /* \"#utility.yul\":2524:2525 */\n 0x00\n /* \"#utility.yul\":2521:2522 */\n dup1\n /* \"#utility.yul\":2514:2526 */\n revert\n /* \"#utility.yul\":2538:2655 */\n tag_64:\n /* \"#utility.yul\":2647:2648 */\n 0x00\n /* \"#utility.yul\":2644:2645 */\n dup1\n /* \"#utility.yul\":2637:2649 */\n revert\n /* \"#utility.yul\":2661:2841 */\n tag_65:\n /* \"#utility.yul\":2709:2786 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":2706:2707 */\n 0x00\n /* \"#utility.yul\":2699:2787 */\n mstore\n /* \"#utility.yul\":2806:2810 */\n 0x41\n /* \"#utility.yul\":2803:2804 */\n 0x04\n /* \"#utility.yul\":2796:2811 */\n mstore\n /* \"#utility.yul\":2830:2834 */\n 0x24\n /* \"#utility.yul\":2827:2828 */\n 0x00\n /* \"#utility.yul\":2820:2835 */\n revert\n /* \"#utility.yul\":2847:3128 */\n tag_66:\n /* \"#utility.yul\":2930:2957 */\n tag_110\n /* \"#utility.yul\":2952:2956 */\n dup3\n /* \"#utility.yul\":2930:2957 */\n tag_55\n jump\t// in\n tag_110:\n /* \"#utility.yul\":2922:2928 */\n dup2\n /* \"#utility.yul\":2918:2958 */\n add\n /* \"#utility.yul\":3060:3066 */\n dup2\n /* \"#utility.yul\":3048:3058 */\n dup2\n /* \"#utility.yul\":3045:3067 */\n lt\n /* \"#utility.yul\":3024:3042 */\n 0xffffffffffffffff\n /* \"#utility.yul\":3012:3022 */\n dup3\n /* \"#utility.yul\":3009:3043 */\n gt\n /* \"#utility.yul\":3006:3068 */\n or\n /* \"#utility.yul\":3003:3091 */\n iszero\n tag_111\n jumpi\n /* \"#utility.yul\":3071:3089 */\n tag_112\n tag_65\n jump\t// in\n tag_112:\n /* \"#utility.yul\":3003:3091 */\n tag_111:\n /* \"#utility.yul\":3111:3121 */\n dup1\n /* \"#utility.yul\":3107:3109 */\n 0x40\n /* \"#utility.yul\":3100:3122 */\n mstore\n /* \"#utility.yul\":2890:3128 */\n pop\n /* \"#utility.yul\":2847:3128 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3134:3263 */\n tag_67:\n /* \"#utility.yul\":3168:3174 */\n 0x00\n /* \"#utility.yul\":3195:3215 */\n tag_114\n tag_57\n jump\t// in\n tag_114:\n /* \"#utility.yul\":3185:3215 */\n swap1\n pop\n /* \"#utility.yul\":3224:3257 */\n tag_115\n /* \"#utility.yul\":3252:3256 */\n dup3\n /* \"#utility.yul\":3244:3250 */\n dup3\n /* \"#utility.yul\":3224:3257 */\n tag_66\n jump\t// in\n tag_115:\n /* \"#utility.yul\":3134:3263 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3269:3577 */\n tag_68:\n /* \"#utility.yul\":3331:3335 */\n 0x00\n /* \"#utility.yul\":3421:3439 */\n 0xffffffffffffffff\n /* \"#utility.yul\":3413:3419 */\n dup3\n /* \"#utility.yul\":3410:3440 */\n gt\n /* \"#utility.yul\":3407:3463 */\n iszero\n tag_117\n jumpi\n /* \"#utility.yul\":3443:3461 */\n tag_118\n tag_65\n jump\t// in\n tag_118:\n /* \"#utility.yul\":3407:3463 */\n tag_117:\n /* \"#utility.yul\":3481:3510 */\n tag_119\n /* \"#utility.yul\":3503:3509 */\n dup3\n /* \"#utility.yul\":3481:3510 */\n tag_55\n jump\t// in\n tag_119:\n /* \"#utility.yul\":3473:3510 */\n swap1\n pop\n /* \"#utility.yul\":3565:3569 */\n 0x20\n /* \"#utility.yul\":3559:3563 */\n dup2\n /* \"#utility.yul\":3555:3570 */\n add\n /* \"#utility.yul\":3547:3570 */\n swap1\n pop\n /* \"#utility.yul\":3269:3577 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3583:3737 */\n tag_69:\n /* \"#utility.yul\":3667:3673 */\n dup3\n /* \"#utility.yul\":3662:3665 */\n dup2\n /* \"#utility.yul\":3657:3660 */\n dup4\n /* \"#utility.yul\":3644:3674 */\n calldatacopy\n /* \"#utility.yul\":3729:3730 */\n 0x00\n /* \"#utility.yul\":3720:3726 */\n dup4\n /* \"#utility.yul\":3715:3718 */\n dup4\n /* \"#utility.yul\":3711:3727 */\n add\n /* \"#utility.yul\":3704:3731 */\n mstore\n /* \"#utility.yul\":3583:3737 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3743:4155 */\n tag_70:\n /* \"#utility.yul\":3821:3826 */\n 0x00\n /* \"#utility.yul\":3846:3912 */\n tag_122\n /* \"#utility.yul\":3862:3911 */\n tag_123\n /* \"#utility.yul\":3904:3910 */\n dup5\n /* \"#utility.yul\":3862:3911 */\n tag_68\n jump\t// in\n tag_123:\n /* \"#utility.yul\":3846:3912 */\n tag_67\n jump\t// in\n tag_122:\n /* \"#utility.yul\":3837:3912 */\n swap1\n pop\n /* \"#utility.yul\":3935:3941 */\n dup3\n /* \"#utility.yul\":3928:3933 */\n dup2\n /* \"#utility.yul\":3921:3942 */\n mstore\n /* \"#utility.yul\":3973:3977 */\n 0x20\n /* \"#utility.yul\":3966:3971 */\n dup2\n /* \"#utility.yul\":3962:3978 */\n add\n /* \"#utility.yul\":4011:4014 */\n dup5\n /* \"#utility.yul\":4002:4008 */\n dup5\n /* \"#utility.yul\":3997:4000 */\n dup5\n /* \"#utility.yul\":3993:4009 */\n add\n /* \"#utility.yul\":3990:4015 */\n gt\n /* \"#utility.yul\":3987:4099 */\n iszero\n tag_124\n jumpi\n /* \"#utility.yul\":4018:4097 */\n tag_125\n tag_64\n jump\t// in\n tag_125:\n /* \"#utility.yul\":3987:4099 */\n tag_124:\n /* \"#utility.yul\":4108:4149 */\n tag_126\n /* \"#utility.yul\":4142:4148 */\n dup5\n /* \"#utility.yul\":4137:4140 */\n dup3\n /* \"#utility.yul\":4132:4135 */\n dup6\n /* \"#utility.yul\":4108:4149 */\n tag_69\n jump\t// in\n tag_126:\n /* \"#utility.yul\":3827:4155 */\n pop\n /* \"#utility.yul\":3743:4155 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4175:4515 */\n tag_71:\n /* \"#utility.yul\":4231:4236 */\n 0x00\n /* \"#utility.yul\":4280:4283 */\n dup3\n /* \"#utility.yul\":4273:4277 */\n 0x1f\n /* \"#utility.yul\":4265:4271 */\n dup4\n /* \"#utility.yul\":4261:4278 */\n add\n /* \"#utility.yul\":4257:4284 */\n slt\n /* \"#utility.yul\":4247:4369 */\n tag_128\n jumpi\n /* \"#utility.yul\":4288:4367 */\n tag_129\n tag_63\n jump\t// in\n tag_129:\n /* \"#utility.yul\":4247:4369 */\n tag_128:\n /* \"#utility.yul\":4405:4411 */\n dup2\n /* \"#utility.yul\":4392:4412 */\n calldataload\n /* \"#utility.yul\":4430:4509 */\n tag_130\n /* \"#utility.yul\":4505:4508 */\n dup5\n /* \"#utility.yul\":4497:4503 */\n dup3\n /* \"#utility.yul\":4490:4494 */\n 0x20\n /* \"#utility.yul\":4482:4488 */\n dup7\n /* \"#utility.yul\":4478:4495 */\n add\n /* \"#utility.yul\":4430:4509 */\n tag_70\n jump\t// in\n tag_130:\n /* \"#utility.yul\":4421:4509 */\n swap2\n pop\n /* \"#utility.yul\":4237:4515 */\n pop\n /* \"#utility.yul\":4175:4515 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4521:5030 */\n tag_19:\n /* \"#utility.yul\":4590:4596 */\n 0x00\n /* \"#utility.yul\":4639:4641 */\n 0x20\n /* \"#utility.yul\":4627:4636 */\n dup3\n /* \"#utility.yul\":4618:4625 */\n dup5\n /* \"#utility.yul\":4614:4637 */\n sub\n /* \"#utility.yul\":4610:4642 */\n slt\n /* \"#utility.yul\":4607:4726 */\n iszero\n tag_132\n jumpi\n /* \"#utility.yul\":4645:4724 */\n tag_133\n tag_58\n jump\t// in\n tag_133:\n /* \"#utility.yul\":4607:4726 */\n tag_132:\n /* \"#utility.yul\":4793:4794 */\n 0x00\n /* \"#utility.yul\":4782:4791 */\n dup3\n /* \"#utility.yul\":4778:4795 */\n add\n /* \"#utility.yul\":4765:4796 */\n calldataload\n /* \"#utility.yul\":4823:4841 */\n 0xffffffffffffffff\n /* \"#utility.yul\":4815:4821 */\n dup2\n /* \"#utility.yul\":4812:4842 */\n gt\n /* \"#utility.yul\":4809:4926 */\n iszero\n tag_134\n jumpi\n /* \"#utility.yul\":4845:4924 */\n tag_135\n tag_59\n jump\t// in\n tag_135:\n /* \"#utility.yul\":4809:4926 */\n tag_134:\n /* \"#utility.yul\":4950:5013 */\n tag_136\n /* \"#utility.yul\":5005:5012 */\n dup5\n /* \"#utility.yul\":4996:5002 */\n dup3\n /* \"#utility.yul\":4985:4994 */\n dup6\n /* \"#utility.yul\":4981:5003 */\n add\n /* \"#utility.yul\":4950:5013 */\n tag_71\n jump\t// in\n tag_136:\n /* \"#utility.yul\":4940:5013 */\n swap2\n pop\n /* \"#utility.yul\":4736:5023 */\n pop\n /* \"#utility.yul\":4521:5030 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5036:5154 */\n tag_72:\n /* \"#utility.yul\":5123:5147 */\n tag_138\n /* \"#utility.yul\":5141:5146 */\n dup2\n /* \"#utility.yul\":5123:5147 */\n tag_60\n jump\t// in\n tag_138:\n /* \"#utility.yul\":5118:5121 */\n dup3\n /* \"#utility.yul\":5111:5148 */\n mstore\n /* \"#utility.yul\":5036:5154 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5160:5382 */\n tag_26:\n /* \"#utility.yul\":5253:5257 */\n 0x00\n /* \"#utility.yul\":5291:5293 */\n 0x20\n /* \"#utility.yul\":5280:5289 */\n dup3\n /* \"#utility.yul\":5276:5294 */\n add\n /* \"#utility.yul\":5268:5294 */\n swap1\n pop\n /* \"#utility.yul\":5304:5375 */\n tag_140\n /* \"#utility.yul\":5372:5373 */\n 0x00\n /* \"#utility.yul\":5361:5370 */\n dup4\n /* \"#utility.yul\":5357:5374 */\n add\n /* \"#utility.yul\":5348:5354 */\n dup5\n /* \"#utility.yul\":5304:5375 */\n tag_72\n jump\t// in\n tag_140:\n /* \"#utility.yul\":5160:5382 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5388:5514 */\n tag_73:\n /* \"#utility.yul\":5425:5432 */\n 0x00\n /* \"#utility.yul\":5465:5507 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":5458:5463 */\n dup3\n /* \"#utility.yul\":5454:5508 */\n and\n /* \"#utility.yul\":5443:5508 */\n swap1\n pop\n /* \"#utility.yul\":5388:5514 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5520:5616 */\n tag_74:\n /* \"#utility.yul\":5557:5564 */\n 0x00\n /* \"#utility.yul\":5586:5610 */\n tag_143\n /* \"#utility.yul\":5604:5609 */\n dup3\n /* \"#utility.yul\":5586:5610 */\n tag_73\n jump\t// in\n tag_143:\n /* \"#utility.yul\":5575:5610 */\n swap1\n pop\n /* \"#utility.yul\":5520:5616 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5622:5740 */\n tag_75:\n /* \"#utility.yul\":5709:5733 */\n tag_145\n /* \"#utility.yul\":5727:5732 */\n dup2\n /* \"#utility.yul\":5709:5733 */\n tag_74\n jump\t// in\n tag_145:\n /* \"#utility.yul\":5704:5707 */\n dup3\n /* \"#utility.yul\":5697:5734 */\n mstore\n /* \"#utility.yul\":5622:5740 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5746:5968 */\n tag_30:\n /* \"#utility.yul\":5839:5843 */\n 0x00\n /* \"#utility.yul\":5877:5879 */\n 0x20\n /* \"#utility.yul\":5866:5875 */\n dup3\n /* \"#utility.yul\":5862:5880 */\n add\n /* \"#utility.yul\":5854:5880 */\n swap1\n pop\n /* \"#utility.yul\":5890:5961 */\n tag_147\n /* \"#utility.yul\":5958:5959 */\n 0x00\n /* \"#utility.yul\":5947:5956 */\n dup4\n /* \"#utility.yul\":5943:5960 */\n add\n /* \"#utility.yul\":5934:5940 */\n dup5\n /* \"#utility.yul\":5890:5961 */\n tag_75\n jump\t// in\n tag_147:\n /* \"#utility.yul\":5746:5968 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5974:6154 */\n tag_76:\n /* \"#utility.yul\":6022:6099 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":6019:6020 */\n 0x00\n /* \"#utility.yul\":6012:6100 */\n mstore\n /* \"#utility.yul\":6119:6123 */\n 0x22\n /* \"#utility.yul\":6116:6117 */\n 0x04\n /* \"#utility.yul\":6109:6124 */\n mstore\n /* \"#utility.yul\":6143:6147 */\n 0x24\n /* \"#utility.yul\":6140:6141 */\n 0x00\n /* \"#utility.yul\":6133:6148 */\n revert\n /* \"#utility.yul\":6160:6480 */\n tag_32:\n /* \"#utility.yul\":6204:6210 */\n 0x00\n /* \"#utility.yul\":6241:6242 */\n 0x02\n /* \"#utility.yul\":6235:6239 */\n dup3\n /* \"#utility.yul\":6231:6243 */\n div\n /* \"#utility.yul\":6221:6243 */\n swap1\n pop\n /* \"#utility.yul\":6288:6289 */\n 0x01\n /* \"#utility.yul\":6282:6286 */\n dup3\n /* \"#utility.yul\":6278:6290 */\n and\n /* \"#utility.yul\":6309:6327 */\n dup1\n /* \"#utility.yul\":6299:6380 */\n tag_150\n jumpi\n /* \"#utility.yul\":6365:6369 */\n 0x7f\n /* \"#utility.yul\":6357:6363 */\n dup3\n /* \"#utility.yul\":6353:6370 */\n and\n /* \"#utility.yul\":6343:6370 */\n swap2\n pop\n /* \"#utility.yul\":6299:6380 */\n tag_150:\n /* \"#utility.yul\":6427:6429 */\n 0x20\n /* \"#utility.yul\":6419:6425 */\n dup3\n /* \"#utility.yul\":6416:6430 */\n lt\n /* \"#utility.yul\":6396:6414 */\n dup2\n /* \"#utility.yul\":6393:6431 */\n sub\n /* \"#utility.yul\":6390:6474 */\n tag_151\n jumpi\n /* \"#utility.yul\":6446:6464 */\n tag_152\n tag_76\n jump\t// in\n tag_152:\n /* \"#utility.yul\":6390:6474 */\n tag_151:\n /* \"#utility.yul\":6211:6480 */\n pop\n /* \"#utility.yul\":6160:6480 */\n swap2\n swap1\n pop\n jump\t// out\n\n auxdata: 0xa26469706673582212203b5c33aac788d01f12aba4cc68b0d0f686160375554a6192c85ff907e8fc2ab064736f6c634300080e0033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50610693806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631f1bd692146100675780633fb5c1cb146100855780635d3a1f9d146100a157806362dd4554146100bd5780638381f58a146100c7578063e4128fb3146100e5575b600080fd5b61006f610103565b60405161007c9190610360565b60405180910390f35b61009f600480360381019061009a91906103cc565b610191565b005b6100bb60048036038101906100b6919061052e565b61019b565b005b6100c56101b5565b005b6100cf6101f8565b6040516100dc9190610586565b60405180910390f35b6100ed6101fe565b6040516100fa91906105e2565b60405180910390f35b600080546101109061062c565b80601f016020809104026020016040519081016040528092919081815260200182805461013c9061062c565b80156101895780601f1061015e57610100808354040283529160200191610189565b820191906000526020600020905b81548152906001019060200180831161016c57829003601f168201915b505050505081565b8060018190555050565b80600090805190602001906101b1929190610224565b5050565b33600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60015481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b8280546102309061062c565b90600052602060002090601f0160209004810192826102525760008555610299565b82601f1061026b57805160ff1916838001178555610299565b82800160010185558215610299579182015b8281111561029857825182559160200191906001019061027d565b5b5090506102a691906102aa565b5090565b5b808211156102c35760008160009055506001016102ab565b5090565b600081519050919050565b600082825260208201905092915050565b60005b838110156103015780820151818401526020810190506102e6565b83811115610310576000848401525b50505050565b6000601f19601f8301169050919050565b6000610332826102c7565b61033c81856102d2565b935061034c8185602086016102e3565b61035581610316565b840191505092915050565b6000602082019050818103600083015261037a8184610327565b905092915050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b6103a981610396565b81146103b457600080fd5b50565b6000813590506103c6816103a0565b92915050565b6000602082840312156103e2576103e161038c565b5b60006103f0848285016103b7565b91505092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61043b82610316565b810181811067ffffffffffffffff8211171561045a57610459610403565b5b80604052505050565b600061046d610382565b90506104798282610432565b919050565b600067ffffffffffffffff82111561049957610498610403565b5b6104a282610316565b9050602081019050919050565b82818337600083830152505050565b60006104d16104cc8461047e565b610463565b9050828152602081018484840111156104ed576104ec6103fe565b5b6104f88482856104af565b509392505050565b600082601f830112610515576105146103f9565b5b81356105258482602086016104be565b91505092915050565b6000602082840312156105445761054361038c565b5b600082013567ffffffffffffffff81111561056257610561610391565b5b61056e84828501610500565b91505092915050565b61058081610396565b82525050565b600060208201905061059b6000830184610577565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006105cc826105a1565b9050919050565b6105dc816105c1565b82525050565b60006020820190506105f760008301846105d3565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061064457607f821691505b602082108103610657576106566105fd565b5b5091905056fea26469706673582212203b5c33aac788d01f12aba4cc68b0d0f686160375554a6192c85ff907e8fc2ab064736f6c634300080e0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x693 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1F1BD692 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x3FB5C1CB EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x5D3A1F9D EQ PUSH2 0xA1 JUMPI DUP1 PUSH4 0x62DD4554 EQ PUSH2 0xBD JUMPI DUP1 PUSH4 0x8381F58A EQ PUSH2 0xC7 JUMPI DUP1 PUSH4 0xE4128FB3 EQ PUSH2 0xE5 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x103 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x360 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x9A SWAP2 SWAP1 PUSH2 0x3CC JUMP JUMPDEST PUSH2 0x191 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xBB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB6 SWAP2 SWAP1 PUSH2 0x52E JUMP JUMPDEST PUSH2 0x19B JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC5 PUSH2 0x1B5 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xCF PUSH2 0x1F8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xDC SWAP2 SWAP1 PUSH2 0x586 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xED PUSH2 0x1FE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFA SWAP2 SWAP1 PUSH2 0x5E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x110 SWAP1 PUSH2 0x62C JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x13C SWAP1 PUSH2 0x62C JUMP JUMPDEST DUP1 ISZERO PUSH2 0x189 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x15E JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x189 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x16C JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST DUP1 PUSH1 0x0 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x1B1 SWAP3 SWAP2 SWAP1 PUSH2 0x224 JUMP JUMPDEST POP POP JUMP JUMPDEST CALLER PUSH1 0x2 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x230 SWAP1 PUSH2 0x62C JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x252 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x299 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x26B JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x299 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x299 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x298 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x27D JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x2A6 SWAP2 SWAP1 PUSH2 0x2AA JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x2C3 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x2AB JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x301 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x2E6 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x310 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x332 DUP3 PUSH2 0x2C7 JUMP JUMPDEST PUSH2 0x33C DUP2 DUP6 PUSH2 0x2D2 JUMP JUMPDEST SWAP4 POP PUSH2 0x34C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x2E3 JUMP JUMPDEST PUSH2 0x355 DUP2 PUSH2 0x316 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x37A DUP2 DUP5 PUSH2 0x327 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3A9 DUP2 PUSH2 0x396 JUMP JUMPDEST DUP2 EQ PUSH2 0x3B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x3C6 DUP2 PUSH2 0x3A0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3E2 JUMPI PUSH2 0x3E1 PUSH2 0x38C JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x3F0 DUP5 DUP3 DUP6 ADD PUSH2 0x3B7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x43B DUP3 PUSH2 0x316 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x45A JUMPI PUSH2 0x459 PUSH2 0x403 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x46D PUSH2 0x382 JUMP JUMPDEST SWAP1 POP PUSH2 0x479 DUP3 DUP3 PUSH2 0x432 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x499 JUMPI PUSH2 0x498 PUSH2 0x403 JUMP JUMPDEST JUMPDEST PUSH2 0x4A2 DUP3 PUSH2 0x316 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4D1 PUSH2 0x4CC DUP5 PUSH2 0x47E JUMP JUMPDEST PUSH2 0x463 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x4ED JUMPI PUSH2 0x4EC PUSH2 0x3FE JUMP JUMPDEST JUMPDEST PUSH2 0x4F8 DUP5 DUP3 DUP6 PUSH2 0x4AF JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x515 JUMPI PUSH2 0x514 PUSH2 0x3F9 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x525 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x4BE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x544 JUMPI PUSH2 0x543 PUSH2 0x38C JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x562 JUMPI PUSH2 0x561 PUSH2 0x391 JUMP JUMPDEST JUMPDEST PUSH2 0x56E DUP5 DUP3 DUP6 ADD PUSH2 0x500 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x580 DUP2 PUSH2 0x396 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x59B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x577 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5CC DUP3 PUSH2 0x5A1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x5DC DUP2 PUSH2 0x5C1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x5F7 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5D3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x644 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x657 JUMPI PUSH2 0x656 PUSH2 0x5FD JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXTCODESIZE 0x5C CALLER 0xAA 0xC7 DUP9 0xD0 0x1F SLT 0xAB LOG4 0xCC PUSH9 0xB0D0F686160375554A PUSH2 0x92C8 0x5F 0xF9 SMOD 0xE8 0xFC 0x2A 0xB0 PUSH5 0x736F6C6343 STOP ADDMOD 0xE STOP CALLER ",
"sourceMap": "60:362:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@number_5": {
"entryPoint": 504,
"id": 5,
"parameterSlots": 0,
"returnSlots": 0
},
"@setNumber_27": {
"entryPoint": 401,
"id": 27,
"parameterSlots": 1,
"returnSlots": 0
},
"@setText_17": {
"entryPoint": 411,
"id": 17,
"parameterSlots": 1,
"returnSlots": 0
},
"@setUserAddress_36": {
"entryPoint": 437,
"id": 36,
"parameterSlots": 0,
"returnSlots": 0
},
"@text_3": {
"entryPoint": 259,
"id": 3,
"parameterSlots": 0,
"returnSlots": 0
},
"@userAddress_7": {
"entryPoint": 510,
"id": 7,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_available_length_t_string_memory_ptr": {
"entryPoint": 1214,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_string_memory_ptr": {
"entryPoint": 1280,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 951,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_string_memory_ptr": {
"entryPoint": 1326,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 972,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 1491,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 807,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 1399,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 1506,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 864,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 1414,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 1123,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 898,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_string_memory_ptr": {
"entryPoint": 1150,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 711,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 722,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 1473,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 1441,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 918,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_calldata_to_memory": {
"entryPoint": 1199,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"copy_memory_to_memory": {
"entryPoint": 739,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 1580,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 1074,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 1533,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 1027,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 1017,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": {
"entryPoint": 1022,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 913,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 908,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 790,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_uint256": {
"entryPoint": 928,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:6483:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "66:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "77:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "93:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "87:5:1"
},
"nodeType": "YulFunctionCall",
"src": "87:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "77:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "49:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "59:6:1",
"type": ""
}
],
"src": "7:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "208:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "225:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "230:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "218:6:1"
},
"nodeType": "YulFunctionCall",
"src": "218:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "218:19:1"
},
{
"nodeType": "YulAssignment",
"src": "246:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "265:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "270:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "261:3:1"
},
"nodeType": "YulFunctionCall",
"src": "261:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "246:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "180:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "185:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "196:11:1",
"type": ""
}
],
"src": "112:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "336:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "346:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "355:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "350:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "415:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "440:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "445:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "436:3:1"
},
"nodeType": "YulFunctionCall",
"src": "436:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "459:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "464:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "455:3:1"
},
"nodeType": "YulFunctionCall",
"src": "455:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "449:5:1"
},
"nodeType": "YulFunctionCall",
"src": "449:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "429:6:1"
},
"nodeType": "YulFunctionCall",
"src": "429:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "429:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "376:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "379:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "373:2:1"
},
"nodeType": "YulFunctionCall",
"src": "373:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "387:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "398:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "401:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "394:3:1"
},
"nodeType": "YulFunctionCall",
"src": "394:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "389:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "369:3:1",
"statements": []
},
"src": "365:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "512:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "562:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "567:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "558:3:1"
},
"nodeType": "YulFunctionCall",
"src": "558:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "576:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "551:6:1"
},
"nodeType": "YulFunctionCall",
"src": "551:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "551:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "493:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "496:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "490:2:1"
},
"nodeType": "YulFunctionCall",
"src": "490:13:1"
},
"nodeType": "YulIf",
"src": "487:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "318:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "323:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "328:6:1",
"type": ""
}
],
"src": "287:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "648:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "658:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "676:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "683:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "672:3:1"
},
"nodeType": "YulFunctionCall",
"src": "672:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "692:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "688:3:1"
},
"nodeType": "YulFunctionCall",
"src": "688:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "668:3:1"
},
"nodeType": "YulFunctionCall",
"src": "668:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "658:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "631:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "641:6:1",
"type": ""
}
],
"src": "600:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "800:272:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "810:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "857:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "824:32:1"
},
"nodeType": "YulFunctionCall",
"src": "824:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "814:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "872:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "938:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "943:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "879:58:1"
},
"nodeType": "YulFunctionCall",
"src": "879:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "872:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "985:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "992:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "981:3:1"
},
"nodeType": "YulFunctionCall",
"src": "981:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "999:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1004:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "959:21:1"
},
"nodeType": "YulFunctionCall",
"src": "959:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "959:52:1"
},
{
"nodeType": "YulAssignment",
"src": "1020:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1031:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1058:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "1036:21:1"
},
"nodeType": "YulFunctionCall",
"src": "1036:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1027:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1027:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1020:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "781:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "788:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "796:3:1",
"type": ""
}
],
"src": "708:364:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1196:195:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1206:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1218:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1229:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1214:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1214:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1206:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1253:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1264:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1249:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1249:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1272:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1278:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1268:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1268:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1242:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1242:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "1242:47:1"
},
{
"nodeType": "YulAssignment",
"src": "1298:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1370:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1379:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "1306:63:1"
},
"nodeType": "YulFunctionCall",
"src": "1306:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1298:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1168:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1180:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1191:4:1",
"type": ""
}
],
"src": "1078:313:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1437:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1447:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1463:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1457:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1457:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1447:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1430:6:1",
"type": ""
}
],
"src": "1397:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1567:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1584:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1587:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1577:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1577:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1577:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "1478:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1690:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1707:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1710:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1700:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1700:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1700:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "1601:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1769:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1779:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1790:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1779:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1751:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1761:7:1",
"type": ""
}
],
"src": "1724:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1850:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1907:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1916:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1919:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1909:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1909:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1909:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1873:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1898:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1880:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1880:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1870:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1870:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1863:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1863:43:1"
},
"nodeType": "YulIf",
"src": "1860:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1843:5:1",
"type": ""
}
],
"src": "1807:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1987:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1997:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2019:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "2006:12:1"
},
"nodeType": "YulFunctionCall",
"src": "2006:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1997:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2062:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "2035:26:1"
},
"nodeType": "YulFunctionCall",
"src": "2035:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "2035:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1965:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1973:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1981:5:1",
"type": ""
}
],
"src": "1935:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2146:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2192:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "2194:77:1"
},
"nodeType": "YulFunctionCall",
"src": "2194:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "2194:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2167:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2176:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2163:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2163:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2188:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "2159:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2159:32:1"
},
"nodeType": "YulIf",
"src": "2156:119:1"
},
{
"nodeType": "YulBlock",
"src": "2285:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2300:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2314:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2304:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2329:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2364:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2375:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2360:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2360:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2384:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "2339:20:1"
},
"nodeType": "YulFunctionCall",
"src": "2339:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2329:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2116:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "2127:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2139:6:1",
"type": ""
}
],
"src": "2080:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2504:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2521:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2524:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2514:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2514:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "2514:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "2415:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2627:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2644:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2647:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2637:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2637:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "2637:12:1"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulFunctionDefinition",
"src": "2538:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2689:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2706:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2709:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2699:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2699:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "2699:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2803:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2806:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2796:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2796:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "2796:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2827:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2830:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2820:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2820:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "2820:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "2661:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2890:238:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2900:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2922:6:1"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "2952:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2930:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2930:27:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2918:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2918:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "2904:10:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3069:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "3071:16:1"
},
"nodeType": "YulFunctionCall",
"src": "3071:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "3071:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "3012:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3024:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "3009:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3009:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "3048:10:1"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3060:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "3045:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3045:22:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "3006:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3006:62:1"
},
"nodeType": "YulIf",
"src": "3003:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3107:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "3111:10:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3100:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3100:22:1"
},
"nodeType": "YulExpressionStatement",
"src": "3100:22:1"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "2876:6:1",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "2884:4:1",
"type": ""
}
],
"src": "2847:281:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3175:88:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3185:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "3195:18:1"
},
"nodeType": "YulFunctionCall",
"src": "3195:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3185:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3244:6:1"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "3252:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "3224:19:1"
},
"nodeType": "YulFunctionCall",
"src": "3224:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "3224:33:1"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "3159:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "3168:6:1",
"type": ""
}
],
"src": "3134:129:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3336:241:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3441:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "3443:16:1"
},
"nodeType": "YulFunctionCall",
"src": "3443:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "3443:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3413:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3421:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "3410:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3410:30:1"
},
"nodeType": "YulIf",
"src": "3407:56:1"
},
{
"nodeType": "YulAssignment",
"src": "3473:37:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3503:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "3481:21:1"
},
"nodeType": "YulFunctionCall",
"src": "3481:29:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "3473:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3547:23:1",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "3559:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3565:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3555:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3555:15:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "3547:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3320:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "3331:4:1",
"type": ""
}
],
"src": "3269:308:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3634:103:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "3657:3:1"
},
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "3662:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3667:6:1"
}
],
"functionName": {
"name": "calldatacopy",
"nodeType": "YulIdentifier",
"src": "3644:12:1"
},
"nodeType": "YulFunctionCall",
"src": "3644:30:1"
},
"nodeType": "YulExpressionStatement",
"src": "3644:30:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "3715:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3720:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3711:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3711:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3729:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3704:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3704:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "3704:27:1"
}
]
},
"name": "copy_calldata_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "3616:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "3621:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3626:6:1",
"type": ""
}
],
"src": "3583:154:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3827:328:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3837:75:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3904:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "3862:41:1"
},
"nodeType": "YulFunctionCall",
"src": "3862:49:1"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "3846:15:1"
},
"nodeType": "YulFunctionCall",
"src": "3846:66:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "3837:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "3928:5:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3935:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3921:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3921:21:1"
},
"nodeType": "YulExpressionStatement",
"src": "3921:21:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "3951:27:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "3966:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3973:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3962:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3962:16:1"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "3955:3:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4016:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulIdentifier",
"src": "4018:77:1"
},
"nodeType": "YulFunctionCall",
"src": "4018:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "4018:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "3997:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4002:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3993:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3993:16:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4011:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "3990:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3990:25:1"
},
"nodeType": "YulIf",
"src": "3987:112:1"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "4132:3:1"
},
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "4137:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4142:6:1"
}
],
"functionName": {
"name": "copy_calldata_to_memory",
"nodeType": "YulIdentifier",
"src": "4108:23:1"
},
"nodeType": "YulFunctionCall",
"src": "4108:41:1"
},
"nodeType": "YulExpressionStatement",
"src": "4108:41:1"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "3800:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3805:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3813:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "3821:5:1",
"type": ""
}
],
"src": "3743:412:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4237:278:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4286:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "4288:77:1"
},
"nodeType": "YulFunctionCall",
"src": "4288:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "4288:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4265:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4273:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4261:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4261:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4280:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "4257:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4257:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4250:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4250:35:1"
},
"nodeType": "YulIf",
"src": "4247:122:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "4378:34:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4405:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "4392:12:1"
},
"nodeType": "YulFunctionCall",
"src": "4392:20:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4382:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4421:88:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4482:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4490:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4478:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4478:17:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4497:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4505:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "4430:47:1"
},
"nodeType": "YulFunctionCall",
"src": "4430:79:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "4421:5:1"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4215:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "4223:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "4231:5:1",
"type": ""
}
],
"src": "4175:340:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4597:433:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4643:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "4645:77:1"
},
"nodeType": "YulFunctionCall",
"src": "4645:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "4645:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4618:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4627:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4614:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4614:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4639:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "4610:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4610:32:1"
},
"nodeType": "YulIf",
"src": "4607:119:1"
},
{
"nodeType": "YulBlock",
"src": "4736:287:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4751:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4782:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4793:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4778:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4778:17:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "4765:12:1"
},
"nodeType": "YulFunctionCall",
"src": "4765:31:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4755:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4843:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "4845:77:1"
},
"nodeType": "YulFunctionCall",
"src": "4845:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "4845:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4815:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4823:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4812:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4812:30:1"
},
"nodeType": "YulIf",
"src": "4809:117:1"
},
{
"nodeType": "YulAssignment",
"src": "4940:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4985:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4996:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4981:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4981:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "5005:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "4950:30:1"
},
"nodeType": "YulFunctionCall",
"src": "4950:63:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4940:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4567:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "4578:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4590:6:1",
"type": ""
}
],
"src": "4521:509:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5101:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5118:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5141:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "5123:17:1"
},
"nodeType": "YulFunctionCall",
"src": "5123:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5111:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5111:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "5111:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5089:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5096:3:1",
"type": ""
}
],
"src": "5036:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5258:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5268:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5280:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5291:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5276:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5276:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5268:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5348:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5361:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5372:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5357:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5357:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "5304:43:1"
},
"nodeType": "YulFunctionCall",
"src": "5304:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "5304:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5230:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5242:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5253:4:1",
"type": ""
}
],
"src": "5160:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5433:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5443:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5458:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5465:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5454:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5454:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5443:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5415:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5425:7:1",
"type": ""
}
],
"src": "5388:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5565:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5575:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5604:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "5586:17:1"
},
"nodeType": "YulFunctionCall",
"src": "5586:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5575:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5547:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5557:7:1",
"type": ""
}
],
"src": "5520:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5687:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5704:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5727:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "5709:17:1"
},
"nodeType": "YulFunctionCall",
"src": "5709:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5697:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5697:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "5697:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5675:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5682:3:1",
"type": ""
}
],
"src": "5622:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5844:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5854:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5866:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5877:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5862:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5862:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5854:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5934:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5947:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5958:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5943:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5943:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "5890:43:1"
},
"nodeType": "YulFunctionCall",
"src": "5890:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "5890:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5816:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5828:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5839:4:1",
"type": ""
}
],
"src": "5746:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6002:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6019:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6022:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6012:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6012:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "6012:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6116:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6119:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6109:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6109:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6109:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6140:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6143:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6133:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6133:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6133:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "5974:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6211:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6221:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "6235:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6241:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "6231:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6231:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6221:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "6252:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "6282:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6288:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6278:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6278:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "6256:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6329:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6343:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6357:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6365:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6353:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6353:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6343:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "6309:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "6302:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6302:26:1"
},
"nodeType": "YulIf",
"src": "6299:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6432:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "6446:16:1"
},
"nodeType": "YulFunctionCall",
"src": "6446:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "6446:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "6396:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6419:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6427:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "6416:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6416:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "6393:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6393:38:1"
},
"nodeType": "YulIf",
"src": "6390:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "6195:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "6204:6:1",
"type": ""
}
],
"src": "6160:320:1"
}
]
},
"contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\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 cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100625760003560e01c80631f1bd692146100675780633fb5c1cb146100855780635d3a1f9d146100a157806362dd4554146100bd5780638381f58a146100c7578063e4128fb3146100e5575b600080fd5b61006f610103565b60405161007c9190610360565b60405180910390f35b61009f600480360381019061009a91906103cc565b610191565b005b6100bb60048036038101906100b6919061052e565b61019b565b005b6100c56101b5565b005b6100cf6101f8565b6040516100dc9190610586565b60405180910390f35b6100ed6101fe565b6040516100fa91906105e2565b60405180910390f35b600080546101109061062c565b80601f016020809104026020016040519081016040528092919081815260200182805461013c9061062c565b80156101895780601f1061015e57610100808354040283529160200191610189565b820191906000526020600020905b81548152906001019060200180831161016c57829003601f168201915b505050505081565b8060018190555050565b80600090805190602001906101b1929190610224565b5050565b33600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60015481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b8280546102309061062c565b90600052602060002090601f0160209004810192826102525760008555610299565b82601f1061026b57805160ff1916838001178555610299565b82800160010185558215610299579182015b8281111561029857825182559160200191906001019061027d565b5b5090506102a691906102aa565b5090565b5b808211156102c35760008160009055506001016102ab565b5090565b600081519050919050565b600082825260208201905092915050565b60005b838110156103015780820151818401526020810190506102e6565b83811115610310576000848401525b50505050565b6000601f19601f8301169050919050565b6000610332826102c7565b61033c81856102d2565b935061034c8185602086016102e3565b61035581610316565b840191505092915050565b6000602082019050818103600083015261037a8184610327565b905092915050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b6103a981610396565b81146103b457600080fd5b50565b6000813590506103c6816103a0565b92915050565b6000602082840312156103e2576103e161038c565b5b60006103f0848285016103b7565b91505092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61043b82610316565b810181811067ffffffffffffffff8211171561045a57610459610403565b5b80604052505050565b600061046d610382565b90506104798282610432565b919050565b600067ffffffffffffffff82111561049957610498610403565b5b6104a282610316565b9050602081019050919050565b82818337600083830152505050565b60006104d16104cc8461047e565b610463565b9050828152602081018484840111156104ed576104ec6103fe565b5b6104f88482856104af565b509392505050565b600082601f830112610515576105146103f9565b5b81356105258482602086016104be565b91505092915050565b6000602082840312156105445761054361038c565b5b600082013567ffffffffffffffff81111561056257610561610391565b5b61056e84828501610500565b91505092915050565b61058081610396565b82525050565b600060208201905061059b6000830184610577565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006105cc826105a1565b9050919050565b6105dc816105c1565b82525050565b60006020820190506105f760008301846105d3565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061064457607f821691505b602082108103610657576106566105fd565b5b5091905056fea26469706673582212203b5c33aac788d01f12aba4cc68b0d0f686160375554a6192c85ff907e8fc2ab064736f6c634300080e0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1F1BD692 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x3FB5C1CB EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x5D3A1F9D EQ PUSH2 0xA1 JUMPI DUP1 PUSH4 0x62DD4554 EQ PUSH2 0xBD JUMPI DUP1 PUSH4 0x8381F58A EQ PUSH2 0xC7 JUMPI DUP1 PUSH4 0xE4128FB3 EQ PUSH2 0xE5 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x103 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x360 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x9A SWAP2 SWAP1 PUSH2 0x3CC JUMP JUMPDEST PUSH2 0x191 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xBB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB6 SWAP2 SWAP1 PUSH2 0x52E JUMP JUMPDEST PUSH2 0x19B JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC5 PUSH2 0x1B5 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xCF PUSH2 0x1F8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xDC SWAP2 SWAP1 PUSH2 0x586 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xED PUSH2 0x1FE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFA SWAP2 SWAP1 PUSH2 0x5E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x110 SWAP1 PUSH2 0x62C JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x13C SWAP1 PUSH2 0x62C JUMP JUMPDEST DUP1 ISZERO PUSH2 0x189 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x15E JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x189 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x16C JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST DUP1 PUSH1 0x0 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x1B1 SWAP3 SWAP2 SWAP1 PUSH2 0x224 JUMP JUMPDEST POP POP JUMP JUMPDEST CALLER PUSH1 0x2 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x230 SWAP1 PUSH2 0x62C JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x252 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x299 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x26B JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x299 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x299 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x298 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x27D JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x2A6 SWAP2 SWAP1 PUSH2 0x2AA JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x2C3 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x2AB JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x301 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x2E6 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x310 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x332 DUP3 PUSH2 0x2C7 JUMP JUMPDEST PUSH2 0x33C DUP2 DUP6 PUSH2 0x2D2 JUMP JUMPDEST SWAP4 POP PUSH2 0x34C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x2E3 JUMP JUMPDEST PUSH2 0x355 DUP2 PUSH2 0x316 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x37A DUP2 DUP5 PUSH2 0x327 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3A9 DUP2 PUSH2 0x396 JUMP JUMPDEST DUP2 EQ PUSH2 0x3B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x3C6 DUP2 PUSH2 0x3A0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3E2 JUMPI PUSH2 0x3E1 PUSH2 0x38C JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x3F0 DUP5 DUP3 DUP6 ADD PUSH2 0x3B7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x43B DUP3 PUSH2 0x316 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x45A JUMPI PUSH2 0x459 PUSH2 0x403 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x46D PUSH2 0x382 JUMP JUMPDEST SWAP1 POP PUSH2 0x479 DUP3 DUP3 PUSH2 0x432 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x499 JUMPI PUSH2 0x498 PUSH2 0x403 JUMP JUMPDEST JUMPDEST PUSH2 0x4A2 DUP3 PUSH2 0x316 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4D1 PUSH2 0x4CC DUP5 PUSH2 0x47E JUMP JUMPDEST PUSH2 0x463 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x4ED JUMPI PUSH2 0x4EC PUSH2 0x3FE JUMP JUMPDEST JUMPDEST PUSH2 0x4F8 DUP5 DUP3 DUP6 PUSH2 0x4AF JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x515 JUMPI PUSH2 0x514 PUSH2 0x3F9 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x525 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x4BE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x544 JUMPI PUSH2 0x543 PUSH2 0x38C JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x562 JUMPI PUSH2 0x561 PUSH2 0x391 JUMP JUMPDEST JUMPDEST PUSH2 0x56E DUP5 DUP3 DUP6 ADD PUSH2 0x500 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x580 DUP2 PUSH2 0x396 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x59B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x577 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5CC DUP3 PUSH2 0x5A1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x5DC DUP2 PUSH2 0x5C1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x5F7 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5D3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x644 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x657 JUMPI PUSH2 0x656 PUSH2 0x5FD JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXTCODESIZE 0x5C CALLER 0xAA 0xC7 DUP9 0xD0 0x1F SLT 0xAB LOG4 0xCC PUSH9 0xB0D0F686160375554A PUSH2 0x92C8 0x5F 0xF9 SMOD 0xE8 0xFC 0x2A 0xB0 PUSH5 0x736F6C6343 STOP ADDMOD 0xE STOP CALLER ",
"sourceMap": "60:362:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;87:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;258:77;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;172:78;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;343:76;;;:::i;:::-;;112:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;137:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;87:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;258:77::-;319:8;310:6;:17;;;;258:77;:::o;172:78::-;236:6;229:4;:13;;;;;;;;;;;;:::i;:::-;;172:78;:::o;343:76::-;401:10;387:11;;:24;;;;;;;;;;;;;;;;;;343:76::o;112:18::-;;;;:::o;137:26::-;;;;;;;;;;;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1397:75::-;1430:6;1463:2;1457:9;1447:19;;1397:75;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700:12;1724:77;1761:7;1790:5;1779:16;;1724:77;;;:::o;1807:122::-;1880:24;1898:5;1880:24;:::i;:::-;1873:5;1870:35;1860:63;;1919:1;1916;1909:12;1860:63;1807:122;:::o;1935:139::-;1981:5;2019:6;2006:20;1997:29;;2035:33;2062:5;2035:33;:::i;:::-;1935:139;;;;:::o;2080:329::-;2139:6;2188:2;2176:9;2167:7;2163:23;2159:32;2156:119;;;2194:79;;:::i;:::-;2156:119;2314:1;2339:53;2384:7;2375:6;2364:9;2360:22;2339:53;:::i;:::-;2329:63;;2285:117;2080:329;;;;:::o;2415:117::-;2524:1;2521;2514:12;2538:117;2647:1;2644;2637:12;2661:180;2709:77;2706:1;2699:88;2806:4;2803:1;2796:15;2830:4;2827:1;2820:15;2847:281;2930:27;2952:4;2930:27;:::i;:::-;2922:6;2918:40;3060:6;3048:10;3045:22;3024:18;3012:10;3009:34;3006:62;3003:88;;;3071:18;;:::i;:::-;3003:88;3111:10;3107:2;3100:22;2890:238;2847:281;;:::o;3134:129::-;3168:6;3195:20;;:::i;:::-;3185:30;;3224:33;3252:4;3244:6;3224:33;:::i;:::-;3134:129;;;:::o;3269:308::-;3331:4;3421:18;3413:6;3410:30;3407:56;;;3443:18;;:::i;:::-;3407:56;3481:29;3503:6;3481:29;:::i;:::-;3473:37;;3565:4;3559;3555:15;3547:23;;3269:308;;;:::o;3583:154::-;3667:6;3662:3;3657;3644:30;3729:1;3720:6;3715:3;3711:16;3704:27;3583:154;;;:::o;3743:412::-;3821:5;3846:66;3862:49;3904:6;3862:49;:::i;:::-;3846:66;:::i;:::-;3837:75;;3935:6;3928:5;3921:21;3973:4;3966:5;3962:16;4011:3;4002:6;3997:3;3993:16;3990:25;3987:112;;;4018:79;;:::i;:::-;3987:112;4108:41;4142:6;4137:3;4132;4108:41;:::i;:::-;3827:328;3743:412;;;;;:::o;4175:340::-;4231:5;4280:3;4273:4;4265:6;4261:17;4257:27;4247:122;;4288:79;;:::i;:::-;4247:122;4405:6;4392:20;4430:79;4505:3;4497:6;4490:4;4482:6;4478:17;4430:79;:::i;:::-;4421:88;;4237:278;4175:340;;;;:::o;4521:509::-;4590:6;4639:2;4627:9;4618:7;4614:23;4610:32;4607:119;;;4645:79;;:::i;:::-;4607:119;4793:1;4782:9;4778:17;4765:31;4823:18;4815:6;4812:30;4809:117;;;4845:79;;:::i;:::-;4809:117;4950:63;5005:7;4996:6;4985:9;4981:22;4950:63;:::i;:::-;4940:73;;4736:287;4521:509;;;;:::o;5036:118::-;5123:24;5141:5;5123:24;:::i;:::-;5118:3;5111:37;5036:118;;:::o;5160:222::-;5253:4;5291:2;5280:9;5276:18;5268:26;;5304:71;5372:1;5361:9;5357:17;5348:6;5304:71;:::i;:::-;5160:222;;;;:::o;5388:126::-;5425:7;5465:42;5458:5;5454:54;5443:65;;5388:126;;;:::o;5520:96::-;5557:7;5586:24;5604:5;5586:24;:::i;:::-;5575:35;;5520:96;;;:::o;5622:118::-;5709:24;5727:5;5709:24;:::i;:::-;5704:3;5697:37;5622:118;;:::o;5746:222::-;5839:4;5877:2;5866:9;5862:18;5854:26;;5890:71;5958:1;5947:9;5943:17;5934:6;5890:71;:::i;:::-;5746:222;;;;:::o;5974:180::-;6022:77;6019:1;6012:88;6119:4;6116:1;6109:15;6143:4;6140:1;6133:15;6160:320;6204:6;6241:1;6235:4;6231:12;6221:22;;6288:1;6282:4;6278:12;6309:18;6299:81;;6365:4;6357:6;6353:17;6343:27;;6299:81;6427:2;6419:6;6416:14;6396:18;6393:38;6390:84;;6446:18;;:::i;:::-;6390:84;6211:269;6160:320;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "336600",
"executionCost": "374",
"totalCost": "336974"
},
"external": {
"number()": "2495",
"setNumber(uint256)": "22520",
"setText(string)": "infinite",
"setUserAddress()": "24454",
"text()": "infinite",
"userAddress()": "2602"
}
},
"legacyAssembly": {
".code": [
{
"begin": 60,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 60,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 60,
"end": 422,
"name": "MSTORE",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "ISZERO",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 60,
"end": 422,
"name": "JUMPI",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 60,
"end": 422,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "REVERT",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 60,
"end": 422,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "POP",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 60,
"end": 422,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 60,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 60,
"end": 422,
"name": "CODECOPY",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 60,
"end": 422,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a26469706673582212203b5c33aac788d01f12aba4cc68b0d0f686160375554a6192c85ff907e8fc2ab064736f6c634300080e0033",
".code": [
{
"begin": 60,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 60,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 60,
"end": 422,
"name": "MSTORE",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "ISZERO",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 60,
"end": 422,
"name": "JUMPI",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 60,
"end": 422,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "REVERT",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 60,
"end": 422,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "POP",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 60,
"end": 422,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "LT",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 60,
"end": 422,
"name": "JUMPI",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 60,
"end": 422,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 60,
"end": 422,
"name": "SHR",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "1F1BD692"
},
{
"begin": 60,
"end": 422,
"name": "EQ",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 60,
"end": 422,
"name": "JUMPI",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "3FB5C1CB"
},
{
"begin": 60,
"end": 422,
"name": "EQ",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 60,
"end": 422,
"name": "JUMPI",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "5D3A1F9D"
},
{
"begin": 60,
"end": 422,
"name": "EQ",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 60,
"end": 422,
"name": "JUMPI",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "62DD4554"
},
{
"begin": 60,
"end": 422,
"name": "EQ",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 60,
"end": 422,
"name": "JUMPI",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "8381F58A"
},
{
"begin": 60,
"end": 422,
"name": "EQ",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 60,
"end": 422,
"name": "JUMPI",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "E4128FB3"
},
{
"begin": 60,
"end": 422,
"name": "EQ",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 60,
"end": 422,
"name": "JUMPI",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 60,
"end": 422,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 60,
"end": 422,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 422,
"name": "REVERT",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 87,
"end": 105,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 87,
"end": 105,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 87,
"end": 105,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 87,
"end": 105,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 87,
"end": 105,
"name": "MLOAD",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 87,
"end": 105,
"name": "SWAP2",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "SWAP1",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 87,
"end": 105,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 87,
"end": 105,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 87,
"end": 105,
"name": "MLOAD",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "DUP1",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "SWAP2",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "SUB",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "SWAP1",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "RETURN",
"source": 0
},
{
"begin": 258,
"end": 335,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 258,
"end": 335,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 258,
"end": 335,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 258,
"end": 335,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 258,
"end": 335,
"name": "DUP1",
"source": 0
},
{
"begin": 258,
"end": 335,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 258,
"end": 335,
"name": "SUB",
"source": 0
},
{
"begin": 258,
"end": 335,
"name": "DUP2",
"source": 0
},
{
"begin": 258,
"end": 335,
"name": "ADD",
"source": 0
},
{
"begin": 258,
"end": 335,
"name": "SWAP1",
"source": 0
},
{
"begin": 258,
"end": 335,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 258,
"end": 335,
"name": "SWAP2",
"source": 0
},
{
"begin": 258,
"end": 335,
"name": "SWAP1",
"source": 0
},
{
"begin": 258,
"end": 335,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 258,
"end": 335,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 258,
"end": 335,
"name": "tag",
"source": 0,
"value": "14"
},
{
"begin": 258,
"end": 335,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 258,
"end": 335,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 258,
"end": 335,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 258,
"end": 335,
"name": "tag",
"source": 0,
"value": "13"
},
{
"begin": 258,
"end": 335,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 258,
"end": 335,
"name": "STOP",
"source": 0
},
{
"begin": 172,
"end": 250,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 172,
"end": 250,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 172,
"end": 250,
"name": "PUSH [tag]",
"source": 0,
"value": "17"
},
{
"begin": 172,
"end": 250,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 172,
"end": 250,
"name": "DUP1",
"source": 0
},
{
"begin": 172,
"end": 250,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 172,
"end": 250,
"name": "SUB",
"source": 0
},
{
"begin": 172,
"end": 250,
"name": "DUP2",
"source": 0
},
{
"begin": 172,
"end": 250,
"name": "ADD",
"source": 0
},
{
"begin": 172,
"end": 250,
"name": "SWAP1",
"source": 0
},
{
"begin": 172,
"end": 250,
"name": "PUSH [tag]",
"source": 0,
"value": "18"
},
{
"begin": 172,
"end": 250,
"name": "SWAP2",
"source": 0
},
{
"begin": 172,
"end": 250,
"name": "SWAP1",
"source": 0
},
{
"begin": 172,
"end": 250,
"name": "PUSH [tag]",
"source": 0,
"value": "19"
},
{
"begin": 172,
"end": 250,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 172,
"end": 250,
"name": "tag",
"source": 0,
"value": "18"
},
{
"begin": 172,
"end": 250,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 172,
"end": 250,
"name": "PUSH [tag]",
"source": 0,
"value": "20"
},
{
"begin": 172,
"end": 250,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 172,
"end": 250,
"name": "tag",
"source": 0,
"value": "17"
},
{
"begin": 172,
"end": 250,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 172,
"end": 250,
"name": "STOP",
"source": 0
},
{
"begin": 343,
"end": 419,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 343,
"end": 419,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 343,
"end": 419,
"name": "PUSH [tag]",
"source": 0,
"value": "21"
},
{
"begin": 343,
"end": 419,
"name": "PUSH [tag]",
"source": 0,
"value": "22"
},
{
"begin": 343,
"end": 419,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 343,
"end": 419,
"name": "tag",
"source": 0,
"value": "21"
},
{
"begin": 343,
"end": 419,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 343,
"end": 419,
"name": "STOP",
"source": 0
},
{
"begin": 112,
"end": 130,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 112,
"end": 130,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 112,
"end": 130,
"name": "PUSH [tag]",
"source": 0,
"value": "23"
},
{
"begin": 112,
"end": 130,
"name": "PUSH [tag]",
"source": 0,
"value": "24"
},
{
"begin": 112,
"end": 130,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 112,
"end": 130,
"name": "tag",
"source": 0,
"value": "23"
},
{
"begin": 112,
"end": 130,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 112,
"end": 130,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 112,
"end": 130,
"name": "MLOAD",
"source": 0
},
{
"begin": 112,
"end": 130,
"name": "PUSH [tag]",
"source": 0,
"value": "25"
},
{
"begin": 112,
"end": 130,
"name": "SWAP2",
"source": 0
},
{
"begin": 112,
"end": 130,
"name": "SWAP1",
"source": 0
},
{
"begin": 112,
"end": 130,
"name": "PUSH [tag]",
"source": 0,
"value": "26"
},
{
"begin": 112,
"end": 130,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 112,
"end": 130,
"name": "tag",
"source": 0,
"value": "25"
},
{
"begin": 112,
"end": 130,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 112,
"end": 130,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 112,
"end": 130,
"name": "MLOAD",
"source": 0
},
{
"begin": 112,
"end": 130,
"name": "DUP1",
"source": 0
},
{
"begin": 112,
"end": 130,
"name": "SWAP2",
"source": 0
},
{
"begin": 112,
"end": 130,
"name": "SUB",
"source": 0
},
{
"begin": 112,
"end": 130,
"name": "SWAP1",
"source": 0
},
{
"begin": 112,
"end": 130,
"name": "RETURN",
"source": 0
},
{
"begin": 137,
"end": 163,
"name": "tag",
"source": 0,
"value": "8"
},
{
"begin": 137,
"end": 163,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 137,
"end": 163,
"name": "PUSH [tag]",
"source": 0,
"value": "27"
},
{
"begin": 137,
"end": 163,
"name": "PUSH [tag]",
"source": 0,
"value": "28"
},
{
"begin": 137,
"end": 163,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 137,
"end": 163,
"name": "tag",
"source": 0,
"value": "27"
},
{
"begin": 137,
"end": 163,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 137,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 137,
"end": 163,
"name": "MLOAD",
"source": 0
},
{
"begin": 137,
"end": 163,
"name": "PUSH [tag]",
"source": 0,
"value": "29"
},
{
"begin": 137,
"end": 163,
"name": "SWAP2",
"source": 0
},
{
"begin": 137,
"end": 163,
"name": "SWAP1",
"source": 0
},
{
"begin": 137,
"end": 163,
"name": "PUSH [tag]",
"source": 0,
"value": "30"
},
{
"begin": 137,
"end": 163,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 137,
"end": 163,
"name": "tag",
"source": 0,
"value": "29"
},
{
"begin": 137,
"end": 163,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 137,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 137,
"end": 163,
"name": "MLOAD",
"source": 0
},
{
"begin": 137,
"end": 163,
"name": "DUP1",
"source": 0
},
{
"begin": 137,
"end": 163,
"name": "SWAP2",
"source": 0
},
{
"begin": 137,
"end": 163,
"name": "SUB",
"source": 0
},
{
"begin": 137,
"end": 163,
"name": "SWAP1",
"source": 0
},
{
"begin": 137,
"end": 163,
"name": "RETURN",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 87,
"end": 105,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 87,
"end": 105,
"name": "DUP1",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "SLOAD",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH [tag]",
"source": 0,
"value": "31"
},
{
"begin": 87,
"end": 105,
"name": "SWAP1",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH [tag]",
"source": 0,
"value": "32"
},
{
"begin": 87,
"end": 105,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "tag",
"source": 0,
"value": "31"
},
{
"begin": 87,
"end": 105,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "DUP1",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 87,
"end": 105,
"name": "ADD",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 87,
"end": 105,
"name": "DUP1",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "SWAP2",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "DIV",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "MUL",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 87,
"end": 105,
"name": "ADD",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 87,
"end": 105,
"name": "MLOAD",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "SWAP1",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "DUP2",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "ADD",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 87,
"end": 105,
"name": "MSTORE",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "DUP1",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "SWAP3",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "SWAP2",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "SWAP1",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "DUP2",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "DUP2",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "MSTORE",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 87,
"end": 105,
"name": "ADD",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "DUP3",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "DUP1",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "SLOAD",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH [tag]",
"source": 0,
"value": "33"
},
{
"begin": 87,
"end": 105,
"name": "SWAP1",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH [tag]",
"source": 0,
"value": "32"
},
{
"begin": 87,
"end": 105,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "tag",
"source": 0,
"value": "33"
},
{
"begin": 87,
"end": 105,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "DUP1",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "ISZERO",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH [tag]",
"source": 0,
"value": "34"
},
{
"begin": 87,
"end": 105,
"name": "JUMPI",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "DUP1",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 87,
"end": 105,
"name": "LT",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH [tag]",
"source": 0,
"value": "35"
},
{
"begin": 87,
"end": 105,
"name": "JUMPI",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 87,
"end": 105,
"name": "DUP1",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "DUP4",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "SLOAD",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "DIV",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "MUL",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "DUP4",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "MSTORE",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "SWAP2",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 87,
"end": 105,
"name": "ADD",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "SWAP2",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH [tag]",
"source": 0,
"value": "34"
},
{
"begin": 87,
"end": 105,
"name": "JUMP",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "tag",
"source": 0,
"value": "35"
},
{
"begin": 87,
"end": 105,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "DUP3",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "ADD",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "SWAP2",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "SWAP1",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 87,
"end": 105,
"name": "MSTORE",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 87,
"end": 105,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 87,
"end": 105,
"name": "KECCAK256",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "SWAP1",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "tag",
"source": 0,
"value": "36"
},
{
"begin": 87,
"end": 105,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "DUP2",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "SLOAD",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "DUP2",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "MSTORE",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "SWAP1",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 87,
"end": 105,
"name": "ADD",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "SWAP1",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 87,
"end": 105,
"name": "ADD",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "DUP1",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "DUP4",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "GT",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH [tag]",
"source": 0,
"value": "36"
},
{
"begin": 87,
"end": 105,
"name": "JUMPI",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "DUP3",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "SWAP1",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "SUB",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 87,
"end": 105,
"name": "AND",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "DUP3",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "ADD",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "SWAP2",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "tag",
"source": 0,
"value": "34"
},
{
"begin": 87,
"end": 105,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "POP",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "POP",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "POP",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "POP",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "POP",
"source": 0
},
{
"begin": 87,
"end": 105,
"name": "DUP2",
"source": 0
},
{
"begin": 87,
"end": 105,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 258,
"end": 335,
"name": "tag",
"source": 0,
"value": "16"
},
{
"begin": 258,
"end": 335,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 319,
"end": 327,
"name": "DUP1",
"source": 0
},
{
"begin": 310,
"end": 316,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 310,
"end": 327,
"name": "DUP2",
"source": 0
},
{
"begin": 310,
"end": 327,
"name": "SWAP1",
"source": 0
},
{
"begin": 310,
"end": 327,
"name": "SSTORE",
"source": 0
},
{
"begin": 310,
"end": 327,
"name": "POP",
"source": 0
},
{
"begin": 258,
"end": 335,
"name": "POP",
"source": 0
},
{
"begin": 258,
"end": 335,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 172,
"end": 250,
"name": "tag",
"source": 0,
"value": "20"
},
{
"begin": 172,
"end": 250,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 236,
"end": 242,
"name": "DUP1",
"source": 0
},
{
"begin": 229,
"end": 233,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 229,
"end": 242,
"name": "SWAP1",
"source": 0
},
{
"begin": 229,
"end": 242,
"name": "DUP1",
"source": 0
},
{
"begin": 229,
"end": 242,
"name": "MLOAD",
"source": 0
},
{
"begin": 229,
"end": 242,
"name": "SWAP1",
"source": 0
},
{
"begin": 229,
"end": 242,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 229,
"end": 242,
"name": "ADD",
"source": 0
},
{
"begin": 229,
"end": 242,
"name": "SWAP1",
"source": 0
},
{
"begin": 229,
"end": 242,
"name": "PUSH [tag]",
"source": 0,
"value": "39"
},
{
"begin": 229,
"end": 242,
"name": "SWAP3",
"source": 0
},
{
"begin": 229,
"end": 242,
"name": "SWAP2",
"source": 0
},
{
"begin": 229,
"end": 242,
"name": "SWAP1",
"source": 0
},
{
"begin": 229,
"end": 242,
"name": "PUSH [tag]",
"source": 0,
"value": "40"
},
{
"begin": 229,
"end": 242,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 229,
"end": 242,
"name": "tag",
"source": 0,
"value": "39"
},
{
"begin": 229,
"end": 242,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 229,
"end": 242,
"name": "POP",
"source": 0
},
{
"begin": 172,
"end": 250,
"name": "POP",
"source": 0
},
{
"begin": 172,
"end": 250,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 343,
"end": 419,
"name": "tag",
"source": 0,
"value": "22"
},
{
"begin": 343,
"end": 419,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 401,
"end": 411,
"name": "CALLER",
"source": 0
},
{
"begin": 387,
"end": 398,
"name": "PUSH",
"source": 0,
"value": "2"
},
{
"begin": 387,
"end": 398,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 387,
"end": 411,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 387,
"end": 411,
"name": "EXP",
"source": 0
},
{
"begin": 387,
"end": 411,
"name": "DUP2",
"source": 0
},
{
"begin": 387,
"end": 411,
"name": "SLOAD",
"source": 0
},
{
"begin": 387,
"end": 411,
"name": "DUP2",
"source": 0
},
{
"begin": 387,
"end": 411,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 387,
"end": 411,
"name": "MUL",
"source": 0
},
{
"begin": 387,
"end": 411,
"name": "NOT",
"source": 0
},
{
"begin": 387,
"end": 411,
"name": "AND",
"source": 0
},
{
"begin": 387,
"end": 411,
"name": "SWAP1",
"source": 0
},
{
"begin": 387,
"end": 411,
"name": "DUP4",
"source": 0
},
{
"begin": 387,
"end": 411,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 387,
"end": 411,
"name": "AND",
"source": 0
},
{
"begin": 387,
"end": 411,
"name": "MUL",
"source": 0
},
{
"begin": 387,
"end": 411,
"name": "OR",
"source": 0
},
{
"begin": 387,
"end": 411,
"name": "SWAP1",
"source": 0
},
{
"begin": 387,
"end": 411,
"name": "SSTORE",
"source": 0
},
{
"begin": 387,
"end": 411,
"name": "POP",
"source": 0
},
{
"begin": 343,
"end": 419,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 112,
"end": 130,
"name": "tag",
"source": 0,
"value": "24"
},
{
"begin": 112,
"end": 130,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 112,
"end": 130,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 112,
"end": 130,
"name": "SLOAD",
"source": 0
},
{
"begin": 112,
"end": 130,
"name": "DUP2",
"source": 0
},
{
"begin": 112,
"end": 130,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 137,
"end": 163,
"name": "tag",
"source": 0,
"value": "28"
},
{
"begin": 137,
"end": 163,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 137,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "2"
},
{
"begin": 137,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 137,
"end": 163,
"name": "SWAP1",
"source": 0
},
{
"begin": 137,
"end": 163,
"name": "SLOAD",
"source": 0
},
{
"begin": 137,
"end": 163,
"name": "SWAP1",
"source": 0
},
{
"begin": 137,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 137,
"end": 163,
"name": "EXP",
"source": 0
},
{
"begin": 137,
"end": 163,
"name": "SWAP1",
"source": 0
},
{
"begin": 137,
"end": 163,
"name": "DIV",
"source": 0
},
{
"begin": 137,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 137,
"end": 163,
"name": "AND",
"source": 0
},
{
"begin": 137,
"end": 163,
"name": "DUP2",
"source": 0
},
{
"begin": 137,
"end": 163,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "40"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SLOAD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "42"
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "32"
},
{
"begin": -1,
"end": -1,
"jumpType": "[in]",
"name": "JUMP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "42"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "0"
},
{
"begin": -1,
"end": -1,
"name": "MSTORE",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "20"
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "0"
},
{
"begin": -1,
"end": -1,
"name": "KECCAK256",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "1F"
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "20"
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DIV",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "44"
},
{
"begin": -1,
"end": -1,
"name": "JUMPI",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "0"
},
{
"begin": -1,
"end": -1,
"name": "DUP6",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SSTORE",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "43"
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "44"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "1F"
},
{
"begin": -1,
"end": -1,
"name": "LT",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "45"
},
{
"begin": -1,
"end": -1,
"name": "JUMPI",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "MLOAD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "FF"
},
{
"begin": -1,
"end": -1,
"name": "NOT",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "AND",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP4",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "OR",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP6",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SSTORE",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "43"
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "45"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "1"
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP6",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SSTORE",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ISZERO",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "43"
},
{
"begin": -1,
"end": -1,
"name": "JUMPI",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "46"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "GT",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ISZERO",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "47"
},
{
"begin": -1,
"end": -1,
"name": "JUMPI",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "MLOAD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SSTORE",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "20"
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "1"
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "46"
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "47"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "43"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "POP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "POP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "48"
},
{
"begin": -1,
"end": -1,
"name": "SWAP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "49"
},
{
"begin": -1,
"end": -1,
"jumpType": "[in]",
"name": "JUMP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "48"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "POP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"jumpType": "[out]",
"name": "JUMP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "49"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "50"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "GT",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ISZERO",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "51"
},
{
"begin": -1,
"end": -1,
"name": "JUMPI",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "0"
},
{
"begin": -1,
"end": -1,
"name": "DUP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "0"
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SSTORE",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "POP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "1"
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "50"
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "51"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "POP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"jumpType": "[out]",
"name": "JUMP",
"source": -1
},
{
"begin": 7,
"end": 106,
"name": "tag",
"source": 1,
"value": "52"
},
{
"begin": 7,
"end": 106,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 59,
"end": 65,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 93,
"end": 98,
"name": "DUP2",
"source": 1
},
{
"begin": 87,
"end": 99,
"name": "MLOAD",
"source": 1
},
{
"begin": 77,
"end": 99,
"name": "SWAP1",
"source": 1
},
{
"begin": 77,
"end": 99,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 106,
"name": "SWAP2",
"source": 1
},
{
"begin": 7,
"end": 106,
"name": "SWAP1",
"source": 1
},
{
"begin": 7,
"end": 106,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 106,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 112,
"end": 281,
"name": "tag",
"source": 1,
"value": "53"
},
{
"begin": 112,
"end": 281,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 196,
"end": 207,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 230,
"end": 236,
"name": "DUP3",
"source": 1
},
{
"begin": 225,
"end": 228,
"name": "DUP3",
"source": 1
},
{
"begin": 218,
"end": 237,
"name": "MSTORE",
"source": 1
},
{
"begin": 270,
"end": 274,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 265,
"end": 268,
"name": "DUP3",
"source": 1
},
{
"begin": 261,
"end": 275,
"name": "ADD",
"source": 1
},
{
"begin": 246,
"end": 275,
"name": "SWAP1",
"source": 1
},
{
"begin": 246,
"end": 275,
"name": "POP",
"source": 1
},
{
"begin": 112,
"end": 281,
"name": "SWAP3",
"source": 1
},
{
"begin": 112,
"end": 281,
"name": "SWAP2",
"source": 1
},
{
"begin": 112,
"end": 281,
"name": "POP",
"source": 1
},
{
"begin": 112,
"end": 281,
"name": "POP",
"source": 1
},
{
"begin": 112,
"end": 281,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 287,
"end": 594,
"name": "tag",
"source": 1,
"value": "54"
},
{
"begin": 287,
"end": 594,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 355,
"end": 356,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 365,
"end": 478,
"name": "tag",
"source": 1,
"value": "81"
},
{
"begin": 365,
"end": 478,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 379,
"end": 385,
"name": "DUP4",
"source": 1
},
{
"begin": 376,
"end": 377,
"name": "DUP2",
"source": 1
},
{
"begin": 373,
"end": 386,
"name": "LT",
"source": 1
},
{
"begin": 365,
"end": 478,
"name": "ISZERO",
"source": 1
},
{
"begin": 365,
"end": 478,
"name": "PUSH [tag]",
"source": 1,
"value": "83"
},
{
"begin": 365,
"end": 478,
"name": "JUMPI",
"source": 1
},
{
"begin": 464,
"end": 465,
"name": "DUP1",
"source": 1
},
{
"begin": 459,
"end": 462,
"name": "DUP3",
"source": 1
},
{
"begin": 455,
"end": 466,
"name": "ADD",
"source": 1
},
{
"begin": 449,
"end": 467,
"name": "MLOAD",
"source": 1
},
{
"begin": 445,
"end": 446,
"name": "DUP2",
"source": 1
},
{
"begin": 440,
"end": 443,
"name": "DUP5",
"source": 1
},
{
"begin": 436,
"end": 447,
"name": "ADD",
"source": 1
},
{
"begin": 429,
"end": 468,
"name": "MSTORE",
"source": 1
},
{
"begin": 401,
"end": 403,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 398,
"end": 399,
"name": "DUP2",
"source": 1
},
{
"begin": 394,
"end": 404,
"name": "ADD",
"source": 1
},
{
"begin": 389,
"end": 404,
"name": "SWAP1",
"source": 1
},
{
"begin": 389,
"end": 404,
"name": "POP",
"source": 1
},
{
"begin": 365,
"end": 478,
"name": "PUSH [tag]",
"source": 1,
"value": "81"
},
{
"begin": 365,
"end": 478,
"name": "JUMP",
"source": 1
},
{
"begin": 365,
"end": 478,
"name": "tag",
"source": 1,
"value": "83"
},
{
"begin": 365,
"end": 478,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 496,
"end": 502,
"name": "DUP4",
"source": 1
},
{
"begin": 493,
"end": 494,
"name": "DUP2",
"source": 1
},
{
"begin": 490,
"end": 503,
"name": "GT",
"source": 1
},
{
"begin": 487,
"end": 588,
"name": "ISZERO",
"source": 1
},
{
"begin": 487,
"end": 588,
"name": "PUSH [tag]",
"source": 1,
"value": "84"
},
{
"begin": 487,
"end": 588,
"name": "JUMPI",
"source": 1
},
{
"begin": 576,
"end": 577,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 567,
"end": 573,
"name": "DUP5",
"source": 1
},
{
"begin": 562,
"end": 565,
"name": "DUP5",
"source": 1
},
{
"begin": 558,
"end": 574,
"name": "ADD",
"source": 1
},
{
"begin": 551,
"end": 578,
"name": "MSTORE",
"source": 1
},
{
"begin": 487,
"end": 588,
"name": "tag",
"source": 1,
"value": "84"
},
{
"begin": 487,
"end": 588,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 336,
"end": 594,
"name": "POP",
"source": 1
},
{
"begin": 287,
"end": 594,
"name": "POP",
"source": 1
},
{
"begin": 287,
"end": 594,
"name": "POP",
"source": 1
},
{
"begin": 287,
"end": 594,
"name": "POP",
"source": 1
},
{
"begin": 287,
"end": 594,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 600,
"end": 702,
"name": "tag",
"source": 1,
"value": "55"
},
{
"begin": 600,
"end": 702,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 641,
"end": 647,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 692,
"end": 694,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 688,
"end": 695,
"name": "NOT",
"source": 1
},
{
"begin": 683,
"end": 685,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 676,
"end": 681,
"name": "DUP4",
"source": 1
},
{
"begin": 672,
"end": 686,
"name": "ADD",
"source": 1
},
{
"begin": 668,
"end": 696,
"name": "AND",
"source": 1
},
{
"begin": 658,
"end": 696,
"name": "SWAP1",
"source": 1
},
{
"begin": 658,
"end": 696,
"name": "POP",
"source": 1
},
{
"begin": 600,
"end": 702,
"name": "SWAP2",
"source": 1
},
{
"begin": 600,
"end": 702,
"name": "SWAP1",
"source": 1
},
{
"begin": 600,
"end": 702,
"name": "POP",
"source": 1
},
{
"begin": 600,
"end": 702,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 708,
"end": 1072,
"name": "tag",
"source": 1,
"value": "56"
},
{
"begin": 708,
"end": 1072,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 796,
"end": 799,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 824,
"end": 863,
"name": "PUSH [tag]",
"source": 1,
"value": "87"
},
{
"begin": 857,
"end": 862,
"name": "DUP3",
"source": 1
},
{
"begin": 824,
"end": 863,
"name": "PUSH [tag]",
"source": 1,
"value": "52"
},
{
"begin": 824,
"end": 863,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 824,
"end": 863,
"name": "tag",
"source": 1,
"value": "87"
},
{
"begin": 824,
"end": 863,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 879,
"end": 950,
"name": "PUSH [tag]",
"source": 1,
"value": "88"
},
{
"begin": 943,
"end": 949,
"name": "DUP2",
"source": 1
},
{
"begin": 938,
"end": 941,
"name": "DUP6",
"source": 1
},
{
"begin": 879,
"end": 950,
"name": "PUSH [tag]",
"source": 1,
"value": "53"
},
{
"begin": 879,
"end": 950,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 879,
"end": 950,
"name": "tag",
"source": 1,
"value": "88"
},
{
"begin": 879,
"end": 950,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 872,
"end": 950,
"name": "SWAP4",
"source": 1
},
{
"begin": 872,
"end": 950,
"name": "POP",
"source": 1
},
{
"begin": 959,
"end": 1011,
"name": "PUSH [tag]",
"source": 1,
"value": "89"
},
{
"begin": 1004,
"end": 1010,
"name": "DUP2",
"source": 1
},
{
"begin": 999,
"end": 1002,
"name": "DUP6",
"source": 1
},
{
"begin": 992,
"end": 996,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 985,
"end": 990,
"name": "DUP7",
"source": 1
},
{
"begin": 981,
"end": 997,
"name": "ADD",
"source": 1
},
{
"begin": 959,
"end": 1011,
"name": "PUSH [tag]",
"source": 1,
"value": "54"
},
{
"begin": 959,
"end": 1011,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 959,
"end": 1011,
"name": "tag",
"source": 1,
"value": "89"
},
{
"begin": 959,
"end": 1011,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1036,
"end": 1065,
"name": "PUSH [tag]",
"source": 1,
"value": "90"
},
{
"begin": 1058,
"end": 1064,
"name": "DUP2",
"source": 1
},
{
"begin": 1036,
"end": 1065,
"name": "PUSH [tag]",
"source": 1,
"value": "55"
},
{
"begin": 1036,
"end": 1065,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1036,
"end": 1065,
"name": "tag",
"source": 1,
"value": "90"
},
{
"begin": 1036,
"end": 1065,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1031,
"end": 1034,
"name": "DUP5",
"source": 1
},
{
"begin": 1027,
"end": 1066,
"name": "ADD",
"source": 1
},
{
"begin": 1020,
"end": 1066,
"name": "SWAP2",
"source": 1
},
{
"begin": 1020,
"end": 1066,
"name": "POP",
"source": 1
},
{
"begin": 800,
"end": 1072,
"name": "POP",
"source": 1
},
{
"begin": 708,
"end": 1072,
"name": "SWAP3",
"source": 1
},
{
"begin": 708,
"end": 1072,
"name": "SWAP2",
"source": 1
},
{
"begin": 708,
"end": 1072,
"name": "POP",
"source": 1
},
{
"begin": 708,
"end": 1072,
"name": "POP",
"source": 1
},
{
"begin": 708,
"end": 1072,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1078,
"end": 1391,
"name": "tag",
"source": 1,
"value": "12"
},
{
"begin": 1078,
"end": 1391,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1191,
"end": 1195,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1229,
"end": 1231,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1218,
"end": 1227,
"name": "DUP3",
"source": 1
},
{
"begin": 1214,
"end": 1232,
"name": "ADD",
"source": 1
},
{
"begin": 1206,
"end": 1232,
"name": "SWAP1",
"source": 1
},
{
"begin": 1206,
"end": 1232,
"name": "POP",
"source": 1
},
{
"begin": 1278,
"end": 1287,
"name": "DUP2",
"source": 1
},
{
"begin": 1272,
"end": 1276,
"name": "DUP2",
"source": 1
},
{
"begin": 1268,
"end": 1288,
"name": "SUB",
"source": 1
},
{
"begin": 1264,
"end": 1265,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1253,
"end": 1262,
"name": "DUP4",
"source": 1
},
{
"begin": 1249,
"end": 1266,
"name": "ADD",
"source": 1
},
{
"begin": 1242,
"end": 1289,
"name": "MSTORE",
"source": 1
},
{
"begin": 1306,
"end": 1384,
"name": "PUSH [tag]",
"source": 1,
"value": "92"
},
{
"begin": 1379,
"end": 1383,
"name": "DUP2",
"source": 1
},
{
"begin": 1370,
"end": 1376,
"name": "DUP5",
"source": 1
},
{
"begin": 1306,
"end": 1384,
"name": "PUSH [tag]",
"source": 1,
"value": "56"
},
{
"begin": 1306,
"end": 1384,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1306,
"end": 1384,
"name": "tag",
"source": 1,
"value": "92"
},
{
"begin": 1306,
"end": 1384,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1298,
"end": 1384,
"name": "SWAP1",
"source": 1
},
{
"begin": 1298,
"end": 1384,
"name": "POP",
"source": 1
},
{
"begin": 1078,
"end": 1391,
"name": "SWAP3",
"source": 1
},
{
"begin": 1078,
"end": 1391,
"name": "SWAP2",
"source": 1
},
{
"begin": 1078,
"end": 1391,
"name": "POP",
"source": 1
},
{
"begin": 1078,
"end": 1391,
"name": "POP",
"source": 1
},
{
"begin": 1078,
"end": 1391,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1397,
"end": 1472,
"name": "tag",
"source": 1,
"value": "57"
},
{
"begin": 1397,
"end": 1472,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1430,
"end": 1436,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1463,
"end": 1465,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 1457,
"end": 1466,
"name": "MLOAD",
"source": 1
},
{
"begin": 1447,
"end": 1466,
"name": "SWAP1",
"source": 1
},
{
"begin": 1447,
"end": 1466,
"name": "POP",
"source": 1
},
{
"begin": 1397,
"end": 1472,
"name": "SWAP1",
"source": 1
},
{
"begin": 1397,
"end": 1472,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1478,
"end": 1595,
"name": "tag",
"source": 1,
"value": "58"
},
{
"begin": 1478,
"end": 1595,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1587,
"end": 1588,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1584,
"end": 1585,
"name": "DUP1",
"source": 1
},
{
"begin": 1577,
"end": 1589,
"name": "REVERT",
"source": 1
},
{
"begin": 1601,
"end": 1718,
"name": "tag",
"source": 1,
"value": "59"
},
{
"begin": 1601,
"end": 1718,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1710,
"end": 1711,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1707,
"end": 1708,
"name": "DUP1",
"source": 1
},
{
"begin": 1700,
"end": 1712,
"name": "REVERT",
"source": 1
},
{
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment