Skip to content

Instantly share code, notes, and snippets.

@tuncatunc
Created October 30, 2022 19:23
Show Gist options
  • Save tuncatunc/2c80f6a22c6922329f82639277c8800d to your computer and use it in GitHub Desktop.
Save tuncatunc/2c80f6a22c6922329f82639277c8800d 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=
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.4.22 <0.9.0;
library TestsAccounts {
function getAccount(uint index) pure public returns (address) {
address[15] memory accounts;
accounts[0] = 0x5B38Da6a701c568545dCfcB03FcB875f56beddC4;
accounts[1] = 0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2;
accounts[2] = 0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db;
accounts[3] = 0x78731D3Ca6b7E34aC0F824c42a7cC18A495cabaB;
accounts[4] = 0x617F2E2fD72FD9D5503197092aC168c91465E7f2;
accounts[5] = 0x17F6AD8Ef982297579C203069C1DbfFE4348c372;
accounts[6] = 0x5c6B0f7Bf3E7ce046039Bd8FABdfD3f9F5021678;
accounts[7] = 0x03C6FcED478cBbC9a4FAB34eF9f40767739D1Ff7;
accounts[8] = 0x1aE0EA34a72D944a8C7603FfB3eC30a6669E454C;
accounts[9] = 0x0A098Eda01Ce92ff4A4CCb7A4fFFb5A43EBC70DC;
accounts[10] = 0xCA35b7d915458EF540aDe6068dFe2F44E8fa733c;
accounts[11] = 0x14723A09ACff6D2A60DcdF7aA4AFf308FDDC160C;
accounts[12] = 0x4B0897b0513fdC7C541B6d9D7E929C4e5364D2dB;
accounts[13] = 0x583031D1113aD414F02576BD6afaBfb302140225;
accounts[14] = 0xdD870fA1b7C4700F2BD7f44238821C26f7392148;
return accounts[index];
}
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.4.22 <0.9.0;
library Assert {
event AssertionEvent(
bool passed,
string message,
string methodName
);
event AssertionEventUint(
bool passed,
string message,
string methodName,
uint256 returned,
uint256 expected
);
event AssertionEventInt(
bool passed,
string message,
string methodName,
int256 returned,
int256 expected
);
event AssertionEventBool(
bool passed,
string message,
string methodName,
bool returned,
bool expected
);
event AssertionEventAddress(
bool passed,
string message,
string methodName,
address returned,
address expected
);
event AssertionEventBytes32(
bool passed,
string message,
string methodName,
bytes32 returned,
bytes32 expected
);
event AssertionEventString(
bool passed,
string message,
string methodName,
string returned,
string expected
);
event AssertionEventUintInt(
bool passed,
string message,
string methodName,
uint256 returned,
int256 expected
);
event AssertionEventIntUint(
bool passed,
string message,
string methodName,
int256 returned,
uint256 expected
);
function ok(bool a, string memory message) public returns (bool result) {
result = a;
emit AssertionEvent(result, message, "ok");
}
function equal(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventUint(result, message, "equal", a, b);
}
function equal(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventInt(result, message, "equal", a, b);
}
function equal(bool a, bool b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventBool(result, message, "equal", a, b);
}
// TODO: only for certain versions of solc
//function equal(fixed a, fixed b, string message) public returns (bool result) {
// result = (a == b);
// emit AssertionEvent(result, message);
//}
// TODO: only for certain versions of solc
//function equal(ufixed a, ufixed b, string message) public returns (bool result) {
// result = (a == b);
// emit AssertionEvent(result, message);
//}
function equal(address a, address b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventAddress(result, message, "equal", a, b);
}
function equal(bytes32 a, bytes32 b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventBytes32(result, message, "equal", a, b);
}
function equal(string memory a, string memory b, string memory message) public returns (bool result) {
result = (keccak256(abi.encodePacked(a)) == keccak256(abi.encodePacked(b)));
emit AssertionEventString(result, message, "equal", a, b);
}
function notEqual(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventUint(result, message, "notEqual", a, b);
}
function notEqual(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventInt(result, message, "notEqual", a, b);
}
function notEqual(bool a, bool b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventBool(result, message, "notEqual", a, b);
}
// TODO: only for certain versions of solc
//function notEqual(fixed a, fixed b, string message) public returns (bool result) {
// result = (a != b);
// emit AssertionEvent(result, message);
//}
// TODO: only for certain versions of solc
//function notEqual(ufixed a, ufixed b, string message) public returns (bool result) {
// result = (a != b);
// emit AssertionEvent(result, message);
//}
function notEqual(address a, address b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventAddress(result, message, "notEqual", a, b);
}
function notEqual(bytes32 a, bytes32 b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventBytes32(result, message, "notEqual", a, b);
}
function notEqual(string memory a, string memory b, string memory message) public returns (bool result) {
result = (keccak256(abi.encodePacked(a)) != keccak256(abi.encodePacked(b)));
emit AssertionEventString(result, message, "notEqual", a, b);
}
/*----------------- Greater than --------------------*/
function greaterThan(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a > b);
emit AssertionEventUint(result, message, "greaterThan", a, b);
}
function greaterThan(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a > b);
emit AssertionEventInt(result, message, "greaterThan", a, b);
}
// TODO: safely compare between uint and int
function greaterThan(uint256 a, int256 b, string memory message) public returns (bool result) {
if(b < int(0)) {
// int is negative uint "a" always greater
result = true;
} else {
result = (a > uint(b));
}
emit AssertionEventUintInt(result, message, "greaterThan", a, b);
}
function greaterThan(int256 a, uint256 b, string memory message) public returns (bool result) {
if(a < int(0)) {
// int is negative uint "b" always greater
result = false;
} else {
result = (uint(a) > b);
}
emit AssertionEventIntUint(result, message, "greaterThan", a, b);
}
/*----------------- Lesser than --------------------*/
function lesserThan(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a < b);
emit AssertionEventUint(result, message, "lesserThan", a, b);
}
function lesserThan(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a < b);
emit AssertionEventInt(result, message, "lesserThan", a, b);
}
// TODO: safely compare between uint and int
function lesserThan(uint256 a, int256 b, string memory message) public returns (bool result) {
if(b < int(0)) {
// int is negative int "b" always lesser
result = false;
} else {
result = (a < uint(b));
}
emit AssertionEventUintInt(result, message, "lesserThan", a, b);
}
function lesserThan(int256 a, uint256 b, string memory message) public returns (bool result) {
if(a < int(0)) {
// int is negative int "a" always lesser
result = true;
} else {
result = (uint(a) < b);
}
emit AssertionEventIntUint(result, message, "lesserThan", a, b);
}
}
{
"id": "04540b25df838cd11815de367b317975",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.7",
"solcLongVersion": "0.8.7+commit.e28d00a7",
"input": {
"language": "Solidity",
"sources": {
"contracts/SimpleStorage.sol": {
"content": "/// SPDX-License-Identifier MIT"
}
},
"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": {
"errors": [
{
"component": "general",
"errorCode": "1878",
"formattedMessage": "Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.\n--> contracts/SimpleStorage.sol\n\n",
"message": "SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.",
"severity": "warning",
"sourceLocation": {
"end": -1,
"file": "contracts/SimpleStorage.sol",
"start": -1
},
"type": "Warning"
},
{
"component": "general",
"errorCode": "3420",
"formattedMessage": "Warning: Source file does not specify required compiler version! Consider adding \"pragma solidity ^0.8.7;\"\n--> contracts/SimpleStorage.sol\n\n",
"message": "Source file does not specify required compiler version! Consider adding \"pragma solidity ^0.8.7;\"",
"severity": "warning",
"sourceLocation": {
"end": -1,
"file": "contracts/SimpleStorage.sol",
"start": -1
},
"type": "Warning"
}
],
"sources": {
"contracts/SimpleStorage.sol": {
"ast": {
"absolutePath": "contracts/SimpleStorage.sol",
"exportedSymbols": {},
"id": 1,
"nodeType": "SourceUnit",
"nodes": [],
"src": "31:0:0"
},
"id": 0
}
}
}
}
{
"id": "087fc42e266b549f93990d85afd7d1e6",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.7",
"solcLongVersion": "0.8.7+commit.e28d00a7",
"input": {
"language": "Solidity",
"sources": {
"contracts/SimpleStorage.sol": {
"content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.7; \n\ncontract SimpleStorage {\n uint256 favoriteNumber;\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": {
"contracts/SimpleStorage.sol": {
"SimpleStorage": {
"abi": [],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/SimpleStorage.sol\":58:112 contract SimpleStorage {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/SimpleStorage.sol\":58:112 contract SimpleStorage {... */\n mstore(0x40, 0x80)\n 0x00\n dup1\n revert\n\n auxdata: 0xa26469706673582212205cd8ef47a8659c27810828a9fe23bedc35dc502047cdad3cd02e30d35d5ad83864736f6c63430008070033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea26469706673582212205cd8ef47a8659c27810828a9fe23bedc35dc502047cdad3cd02e30d35d5ad83864736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5C 0xD8 0xEF SELFBALANCE 0xA8 PUSH6 0x9C27810828A9 INVALID 0x23 0xBE 0xDC CALLDATALOAD 0xDC POP KECCAK256 SELFBALANCE 0xCD 0xAD EXTCODECOPY 0xD0 0x2E ADDRESS 0xD3 0x5D GAS 0xD8 CODESIZE PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "58:54:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea26469706673582212205cd8ef47a8659c27810828a9fe23bedc35dc502047cdad3cd02e30d35d5ad83864736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5C 0xD8 0xEF SELFBALANCE 0xA8 PUSH6 0x9C27810828A9 INVALID 0x23 0xBE 0xDC CALLDATALOAD 0xDC POP KECCAK256 SELFBALANCE 0xCD 0xAD EXTCODECOPY 0xD0 0x2E ADDRESS 0xD3 0x5D GAS 0xD8 CODESIZE PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "58:54:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "66",
"totalCost": "12666"
}
},
"legacyAssembly": {
".code": [
{
"begin": 58,
"end": 112,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 58,
"end": 112,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 58,
"end": 112,
"name": "MSTORE",
"source": 0
},
{
"begin": 58,
"end": 112,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 58,
"end": 112,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 112,
"name": "ISZERO",
"source": 0
},
{
"begin": 58,
"end": 112,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 58,
"end": 112,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 112,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 112,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 112,
"name": "REVERT",
"source": 0
},
{
"begin": 58,
"end": 112,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 58,
"end": 112,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 58,
"end": 112,
"name": "POP",
"source": 0
},
{
"begin": 58,
"end": 112,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 58,
"end": 112,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 112,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 58,
"end": 112,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 112,
"name": "CODECOPY",
"source": 0
},
{
"begin": 58,
"end": 112,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 112,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a26469706673582212205cd8ef47a8659c27810828a9fe23bedc35dc502047cdad3cd02e30d35d5ad83864736f6c63430008070033",
".code": [
{
"begin": 58,
"end": 112,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 58,
"end": 112,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 58,
"end": 112,
"name": "MSTORE",
"source": 0
},
{
"begin": 58,
"end": 112,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 112,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 112,
"name": "REVERT",
"source": 0
}
]
}
}
},
"methodIdentifiers": {}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/SimpleStorage.sol\":\"SimpleStorage\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/SimpleStorage.sol\":{\"keccak256\":\"0xa1595376640097c11afb844918f04239b6936854c480ec528c0623d074fa5c2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f55c0cd0f74c6f537e63ba3e45c225a7d16e3f397fc3eeef98289b9e32e385f\",\"dweb:/ipfs/QmVr2RJoM2GSf3nz5z5uSXhtj5Ty28WQTzELrDDvMjouhu\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 3,
"contract": "contracts/SimpleStorage.sol:SimpleStorage",
"label": "favoriteNumber",
"offset": 0,
"slot": "0",
"type": "t_uint256"
}
],
"types": {
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"sources": {
"contracts/SimpleStorage.sol": {
"ast": {
"absolutePath": "contracts/SimpleStorage.sol",
"exportedSymbols": {
"SimpleStorage": [
4
]
},
"id": 5,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.8",
".7"
],
"nodeType": "PragmaDirective",
"src": "32:23:0"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 4,
"linearizedBaseContracts": [
4
],
"name": "SimpleStorage",
"nameLocation": "67:13:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 3,
"mutability": "mutable",
"name": "favoriteNumber",
"nameLocation": "95:14:0",
"nodeType": "VariableDeclaration",
"scope": 4,
"src": "87:22:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "87:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"scope": 5,
"src": "58:54:0",
"usedErrors": []
}
],
"src": "32:80:0"
},
"id": 0
}
}
}
}
{
"id": "1919fa9aa1bf6ff5cbc184f33814908c",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.7",
"solcLongVersion": "0.8.7+commit.e28d00a7",
"input": {
"language": "Solidity",
"sources": {
"contracts/SimpleStorage.sol": {
"content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.7; \n\ncontract SimpleStorage {\n\n // This gets initialized to 0\n uint256 favoriteNumber;\n\n function store(uint256 _favoriteNumber) public \n {\n favoriteNumber = _favoriteNumber;\n }\n\n struct People {\n uint256 favoriteNumber;\n string name;\n }\n\n People[] public people;\n\n // view, pure\n function retrive() public view returns(uint256)\n {\n return favoriteNumber;\n }\n\n function add(uint256 _value) public {\n favoriteNumber = favoriteNumber + _value;\n }\n\n // calldata: not modifying _name and it's temp\n // memory, storage, calldata\n function addPerson(string calldata _name, uint256 _favoriteNumber) public {\n people.push(People(_favoriteNumber, _name));\n }\n\n}\n\n// 0xddaAd340b0f1Ef65169Ae5E41A8b10776a75482d\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": {
"contracts/SimpleStorage.sol": {
"SimpleStorage": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "add",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "_name",
"type": "string"
},
{
"internalType": "uint256",
"name": "_favoriteNumber",
"type": "uint256"
}
],
"name": "addPerson",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "people",
"outputs": [
{
"internalType": "uint256",
"name": "favoriteNumber",
"type": "uint256"
},
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "retrive",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_favoriteNumber",
"type": "uint256"
}
],
"name": "store",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/SimpleStorage.sol\":58:801 contract SimpleStorage {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/SimpleStorage.sol\":58:801 contract SimpleStorage {... */\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 0x1003e2d2\n eq\n tag_3\n jumpi\n dup1\n 0x6057361d\n eq\n tag_4\n jumpi\n dup1\n 0x6f760f41\n eq\n tag_5\n jumpi\n dup1\n 0x9e7a13ad\n eq\n tag_6\n jumpi\n dup1\n 0xa6b7fc5b\n eq\n tag_7\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/SimpleStorage.sol\":481:574 function add(uint256 _value) public {... */\n tag_3:\n tag_8\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_9\n swap2\n swap1\n tag_10\n jump\t// in\n tag_9:\n tag_11\n jump\t// in\n tag_8:\n stop\n /* \"contracts/SimpleStorage.sol\":151:252 function store(uint256 _favoriteNumber) public ... */\n tag_4:\n tag_12\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_13\n swap2\n swap1\n tag_10\n jump\t// in\n tag_13:\n tag_14\n jump\t// in\n tag_12:\n stop\n /* \"contracts/SimpleStorage.sol\":664:798 function addPerson(string calldata _name, uint256 _favoriteNumber) public {... */\n tag_5:\n tag_15\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_16\n swap2\n swap1\n tag_17\n jump\t// in\n tag_16:\n tag_18\n jump\t// in\n tag_15:\n stop\n /* \"contracts/SimpleStorage.sol\":338:360 People[] public people */\n tag_6:\n tag_19\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_20\n swap2\n swap1\n tag_10\n jump\t// in\n tag_20:\n tag_21\n jump\t// in\n tag_19:\n mload(0x40)\n tag_22\n swap3\n swap2\n swap1\n tag_23\n jump\t// in\n tag_22:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/SimpleStorage.sol\":385:475 function retrive() public view returns(uint256)... */\n tag_7:\n tag_24\n tag_25\n jump\t// in\n tag_24:\n mload(0x40)\n tag_26\n swap2\n swap1\n tag_27\n jump\t// in\n tag_26:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/SimpleStorage.sol\":481:574 function add(uint256 _value) public {... */\n tag_11:\n /* \"contracts/SimpleStorage.sol\":561:567 _value */\n dup1\n /* \"contracts/SimpleStorage.sol\":544:558 favoriteNumber */\n sload(0x00)\n /* \"contracts/SimpleStorage.sol\":544:567 favoriteNumber + _value */\n tag_29\n swap2\n swap1\n tag_30\n jump\t// in\n tag_29:\n /* \"contracts/SimpleStorage.sol\":527:541 favoriteNumber */\n 0x00\n /* \"contracts/SimpleStorage.sol\":527:567 favoriteNumber = favoriteNumber + _value */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/SimpleStorage.sol\":481:574 function add(uint256 _value) public {... */\n pop\n jump\t// out\n /* \"contracts/SimpleStorage.sol\":151:252 function store(uint256 _favoriteNumber) public ... */\n tag_14:\n /* \"contracts/SimpleStorage.sol\":230:245 _favoriteNumber */\n dup1\n /* \"contracts/SimpleStorage.sol\":213:227 favoriteNumber */\n 0x00\n /* \"contracts/SimpleStorage.sol\":213:245 favoriteNumber = _favoriteNumber */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/SimpleStorage.sol\":151:252 function store(uint256 _favoriteNumber) public ... */\n pop\n jump\t// out\n /* \"contracts/SimpleStorage.sol\":664:798 function addPerson(string calldata _name, uint256 _favoriteNumber) public {... */\n tag_18:\n /* \"contracts/SimpleStorage.sol\":748:754 people */\n 0x01\n /* \"contracts/SimpleStorage.sol\":760:790 People(_favoriteNumber, _name) */\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n /* \"contracts/SimpleStorage.sol\":767:782 _favoriteNumber */\n dup4\n /* \"contracts/SimpleStorage.sol\":760:790 People(_favoriteNumber, _name) */\n dup2\n mstore\n 0x20\n add\n /* \"contracts/SimpleStorage.sol\":784:789 _name */\n dup6\n dup6\n /* \"contracts/SimpleStorage.sol\":760:790 People(_favoriteNumber, _name) */\n dup1\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 swap4\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup4\n dup4\n dup1\n dup3\n dup5\n calldatacopy\n 0x00\n dup2\n dup5\n add\n mstore\n not(0x1f)\n 0x1f\n dup3\n add\n and\n swap1\n pop\n dup1\n dup4\n add\n swap3\n pop\n pop\n pop\n pop\n pop\n pop\n pop\n dup2\n mstore\n pop\n /* \"contracts/SimpleStorage.sol\":748:791 people.push(People(_favoriteNumber, _name)) */\n swap1\n dup1\n 0x01\n dup2\n sload\n add\n dup1\n dup3\n sstore\n dup1\n swap2\n pop\n pop\n 0x01\n swap1\n sub\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x02\n mul\n add\n 0x00\n swap1\n swap2\n swap1\n swap2\n swap1\n swap2\n pop\n 0x00\n dup3\n add\n mload\n dup2\n 0x00\n add\n sstore\n 0x20\n dup3\n add\n mload\n dup2\n 0x01\n add\n swap1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n tag_34\n swap3\n swap2\n swap1\n tag_35\n jump\t// in\n tag_34:\n pop\n pop\n pop\n /* \"contracts/SimpleStorage.sol\":664:798 function addPerson(string calldata _name, uint256 _favoriteNumber) public {... */\n pop\n pop\n pop\n jump\t// out\n /* \"contracts/SimpleStorage.sol\":338:360 People[] public people */\n tag_21:\n 0x01\n dup2\n dup2\n sload\n dup2\n lt\n tag_36\n jumpi\n 0x00\n dup1\n revert\n tag_36:\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x02\n mul\n add\n 0x00\n swap2\n pop\n swap1\n pop\n dup1\n 0x00\n add\n sload\n swap1\n dup1\n 0x01\n add\n dup1\n sload\n tag_38\n swap1\n tag_39\n jump\t// in\n tag_38:\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_40\n swap1\n tag_39\n jump\t// in\n tag_40:\n dup1\n iszero\n tag_41\n jumpi\n dup1\n 0x1f\n lt\n tag_42\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_41)\n tag_42:\n dup3\n add\n swap2\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n tag_43:\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_43\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_41:\n pop\n pop\n pop\n pop\n pop\n swap1\n pop\n dup3\n jump\t// out\n /* \"contracts/SimpleStorage.sol\":385:475 function retrive() public view returns(uint256)... */\n tag_25:\n /* \"contracts/SimpleStorage.sol\":424:431 uint256 */\n 0x00\n /* \"contracts/SimpleStorage.sol\":454:468 favoriteNumber */\n dup1\n sload\n /* \"contracts/SimpleStorage.sol\":447:468 return favoriteNumber */\n swap1\n pop\n /* \"contracts/SimpleStorage.sol\":385:475 function retrive() public view returns(uint256)... */\n swap1\n jump\t// out\n tag_35:\n dup3\n dup1\n sload\n tag_45\n swap1\n tag_39\n jump\t// in\n tag_45:\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_47\n jumpi\n 0x00\n dup6\n sstore\n jump(tag_46)\n tag_47:\n dup3\n 0x1f\n lt\n tag_48\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_46)\n tag_48:\n dup3\n dup1\n add\n 0x01\n add\n dup6\n sstore\n dup3\n iszero\n tag_46\n jumpi\n swap2\n dup3\n add\n tag_49:\n dup3\n dup2\n gt\n iszero\n tag_50\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_49)\n tag_50:\n tag_46:\n pop\n swap1\n pop\n tag_51\n swap2\n swap1\n tag_52\n jump\t// in\n tag_51:\n pop\n swap1\n jump\t// out\n tag_52:\n tag_53:\n dup1\n dup3\n gt\n iszero\n tag_54\n jumpi\n 0x00\n dup2\n 0x00\n swap1\n sstore\n pop\n 0x01\n add\n jump(tag_53)\n tag_54:\n pop\n swap1\n jump\t// out\n /* \"#utility.yul\":21:574 */\n tag_56:\n /* \"#utility.yul\":79:87 */\n 0x00\n /* \"#utility.yul\":89:95 */\n dup1\n /* \"#utility.yul\":139:142 */\n dup4\n /* \"#utility.yul\":132:136 */\n 0x1f\n /* \"#utility.yul\":124:130 */\n dup5\n /* \"#utility.yul\":120:137 */\n add\n /* \"#utility.yul\":116:143 */\n slt\n /* \"#utility.yul\":106:228 */\n tag_58\n jumpi\n /* \"#utility.yul\":147:226 */\n tag_59\n tag_60\n jump\t// in\n tag_59:\n /* \"#utility.yul\":106:228 */\n tag_58:\n /* \"#utility.yul\":260:266 */\n dup3\n /* \"#utility.yul\":247:267 */\n calldataload\n /* \"#utility.yul\":237:267 */\n swap1\n pop\n /* \"#utility.yul\":290:308 */\n 0xffffffffffffffff\n /* \"#utility.yul\":282:288 */\n dup2\n /* \"#utility.yul\":279:309 */\n gt\n /* \"#utility.yul\":276:393 */\n iszero\n tag_61\n jumpi\n /* \"#utility.yul\":312:391 */\n tag_62\n tag_63\n jump\t// in\n tag_62:\n /* \"#utility.yul\":276:393 */\n tag_61:\n /* \"#utility.yul\":426:430 */\n 0x20\n /* \"#utility.yul\":418:424 */\n dup4\n /* \"#utility.yul\":414:431 */\n add\n /* \"#utility.yul\":402:431 */\n swap2\n pop\n /* \"#utility.yul\":480:483 */\n dup4\n /* \"#utility.yul\":472:476 */\n 0x01\n /* \"#utility.yul\":464:470 */\n dup3\n /* \"#utility.yul\":460:477 */\n mul\n /* \"#utility.yul\":450:458 */\n dup4\n /* \"#utility.yul\":446:478 */\n add\n /* \"#utility.yul\":443:484 */\n gt\n /* \"#utility.yul\":440:568 */\n iszero\n tag_64\n jumpi\n /* \"#utility.yul\":487:566 */\n tag_65\n tag_66\n jump\t// in\n tag_65:\n /* \"#utility.yul\":440:568 */\n tag_64:\n /* \"#utility.yul\":21:574 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":580:719 */\n tag_67:\n /* \"#utility.yul\":626:631 */\n 0x00\n /* \"#utility.yul\":664:670 */\n dup2\n /* \"#utility.yul\":651:671 */\n calldataload\n /* \"#utility.yul\":642:671 */\n swap1\n pop\n /* \"#utility.yul\":680:713 */\n tag_69\n /* \"#utility.yul\":707:712 */\n dup2\n /* \"#utility.yul\":680:713 */\n tag_70\n jump\t// in\n tag_69:\n /* \"#utility.yul\":580:719 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":725:1399 */\n tag_17:\n /* \"#utility.yul\":805:811 */\n 0x00\n /* \"#utility.yul\":813:819 */\n dup1\n /* \"#utility.yul\":821:827 */\n 0x00\n /* \"#utility.yul\":870:872 */\n 0x40\n /* \"#utility.yul\":858:867 */\n dup5\n /* \"#utility.yul\":849:856 */\n dup7\n /* \"#utility.yul\":845:868 */\n sub\n /* \"#utility.yul\":841:873 */\n slt\n /* \"#utility.yul\":838:957 */\n iszero\n tag_72\n jumpi\n /* \"#utility.yul\":876:955 */\n tag_73\n tag_74\n jump\t// in\n tag_73:\n /* \"#utility.yul\":838:957 */\n tag_72:\n /* \"#utility.yul\":1024:1025 */\n 0x00\n /* \"#utility.yul\":1013:1022 */\n dup5\n /* \"#utility.yul\":1009:1026 */\n add\n /* \"#utility.yul\":996:1027 */\n calldataload\n /* \"#utility.yul\":1054:1072 */\n 0xffffffffffffffff\n /* \"#utility.yul\":1046:1052 */\n dup2\n /* \"#utility.yul\":1043:1073 */\n gt\n /* \"#utility.yul\":1040:1157 */\n iszero\n tag_75\n jumpi\n /* \"#utility.yul\":1076:1155 */\n tag_76\n tag_77\n jump\t// in\n tag_76:\n /* \"#utility.yul\":1040:1157 */\n tag_75:\n /* \"#utility.yul\":1189:1254 */\n tag_78\n /* \"#utility.yul\":1246:1253 */\n dup7\n /* \"#utility.yul\":1237:1243 */\n dup3\n /* \"#utility.yul\":1226:1235 */\n dup8\n /* \"#utility.yul\":1222:1244 */\n add\n /* \"#utility.yul\":1189:1254 */\n tag_56\n jump\t// in\n tag_78:\n /* \"#utility.yul\":1171:1254 */\n swap4\n pop\n swap4\n pop\n /* \"#utility.yul\":967:1264 */\n pop\n /* \"#utility.yul\":1303:1305 */\n 0x20\n /* \"#utility.yul\":1329:1382 */\n tag_79\n /* \"#utility.yul\":1374:1381 */\n dup7\n /* \"#utility.yul\":1365:1371 */\n dup3\n /* \"#utility.yul\":1354:1363 */\n dup8\n /* \"#utility.yul\":1350:1372 */\n add\n /* \"#utility.yul\":1329:1382 */\n tag_67\n jump\t// in\n tag_79:\n /* \"#utility.yul\":1319:1382 */\n swap2\n pop\n /* \"#utility.yul\":1274:1392 */\n pop\n /* \"#utility.yul\":725:1399 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"#utility.yul\":1405:1734 */\n tag_10:\n /* \"#utility.yul\":1464:1470 */\n 0x00\n /* \"#utility.yul\":1513:1515 */\n 0x20\n /* \"#utility.yul\":1501:1510 */\n dup3\n /* \"#utility.yul\":1492:1499 */\n dup5\n /* \"#utility.yul\":1488:1511 */\n sub\n /* \"#utility.yul\":1484:1516 */\n slt\n /* \"#utility.yul\":1481:1600 */\n iszero\n tag_81\n jumpi\n /* \"#utility.yul\":1519:1598 */\n tag_82\n tag_74\n jump\t// in\n tag_82:\n /* \"#utility.yul\":1481:1600 */\n tag_81:\n /* \"#utility.yul\":1639:1640 */\n 0x00\n /* \"#utility.yul\":1664:1717 */\n tag_83\n /* \"#utility.yul\":1709:1716 */\n dup5\n /* \"#utility.yul\":1700:1706 */\n dup3\n /* \"#utility.yul\":1689:1698 */\n dup6\n /* \"#utility.yul\":1685:1707 */\n add\n /* \"#utility.yul\":1664:1717 */\n tag_67\n jump\t// in\n tag_83:\n /* \"#utility.yul\":1654:1717 */\n swap2\n pop\n /* \"#utility.yul\":1610:1727 */\n pop\n /* \"#utility.yul\":1405:1734 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1740:2104 */\n tag_84:\n /* \"#utility.yul\":1828:1831 */\n 0x00\n /* \"#utility.yul\":1856:1895 */\n tag_86\n /* \"#utility.yul\":1889:1894 */\n dup3\n /* \"#utility.yul\":1856:1895 */\n tag_87\n jump\t// in\n tag_86:\n /* \"#utility.yul\":1911:1982 */\n tag_88\n /* \"#utility.yul\":1975:1981 */\n dup2\n /* \"#utility.yul\":1970:1973 */\n dup6\n /* \"#utility.yul\":1911:1982 */\n tag_89\n jump\t// in\n tag_88:\n /* \"#utility.yul\":1904:1982 */\n swap4\n pop\n /* \"#utility.yul\":1991:2043 */\n tag_90\n /* \"#utility.yul\":2036:2042 */\n dup2\n /* \"#utility.yul\":2031:2034 */\n dup6\n /* \"#utility.yul\":2024:2028 */\n 0x20\n /* \"#utility.yul\":2017:2022 */\n dup7\n /* \"#utility.yul\":2013:2029 */\n add\n /* \"#utility.yul\":1991:2043 */\n tag_91\n jump\t// in\n tag_90:\n /* \"#utility.yul\":2068:2097 */\n tag_92\n /* \"#utility.yul\":2090:2096 */\n dup2\n /* \"#utility.yul\":2068:2097 */\n tag_93\n jump\t// in\n tag_92:\n /* \"#utility.yul\":2063:2066 */\n dup5\n /* \"#utility.yul\":2059:2098 */\n add\n /* \"#utility.yul\":2052:2098 */\n swap2\n pop\n /* \"#utility.yul\":1832:2104 */\n pop\n /* \"#utility.yul\":1740:2104 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2110:2228 */\n tag_94:\n /* \"#utility.yul\":2197:2221 */\n tag_96\n /* \"#utility.yul\":2215:2220 */\n dup2\n /* \"#utility.yul\":2197:2221 */\n tag_97\n jump\t// in\n tag_96:\n /* \"#utility.yul\":2192:2195 */\n dup3\n /* \"#utility.yul\":2185:2222 */\n mstore\n /* \"#utility.yul\":2110:2228 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2234:2456 */\n tag_27:\n /* \"#utility.yul\":2327:2331 */\n 0x00\n /* \"#utility.yul\":2365:2367 */\n 0x20\n /* \"#utility.yul\":2354:2363 */\n dup3\n /* \"#utility.yul\":2350:2368 */\n add\n /* \"#utility.yul\":2342:2368 */\n swap1\n pop\n /* \"#utility.yul\":2378:2449 */\n tag_99\n /* \"#utility.yul\":2446:2447 */\n 0x00\n /* \"#utility.yul\":2435:2444 */\n dup4\n /* \"#utility.yul\":2431:2448 */\n add\n /* \"#utility.yul\":2422:2428 */\n dup5\n /* \"#utility.yul\":2378:2449 */\n tag_94\n jump\t// in\n tag_99:\n /* \"#utility.yul\":2234:2456 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2462:2885 */\n tag_23:\n /* \"#utility.yul\":2603:2607 */\n 0x00\n /* \"#utility.yul\":2641:2643 */\n 0x40\n /* \"#utility.yul\":2630:2639 */\n dup3\n /* \"#utility.yul\":2626:2644 */\n add\n /* \"#utility.yul\":2618:2644 */\n swap1\n pop\n /* \"#utility.yul\":2654:2725 */\n tag_101\n /* \"#utility.yul\":2722:2723 */\n 0x00\n /* \"#utility.yul\":2711:2720 */\n dup4\n /* \"#utility.yul\":2707:2724 */\n add\n /* \"#utility.yul\":2698:2704 */\n dup6\n /* \"#utility.yul\":2654:2725 */\n tag_94\n jump\t// in\n tag_101:\n /* \"#utility.yul\":2772:2781 */\n dup2\n /* \"#utility.yul\":2766:2770 */\n dup2\n /* \"#utility.yul\":2762:2782 */\n sub\n /* \"#utility.yul\":2757:2759 */\n 0x20\n /* \"#utility.yul\":2746:2755 */\n dup4\n /* \"#utility.yul\":2742:2760 */\n add\n /* \"#utility.yul\":2735:2783 */\n mstore\n /* \"#utility.yul\":2800:2878 */\n tag_102\n /* \"#utility.yul\":2873:2877 */\n dup2\n /* \"#utility.yul\":2864:2870 */\n dup5\n /* \"#utility.yul\":2800:2878 */\n tag_84\n jump\t// in\n tag_102:\n /* \"#utility.yul\":2792:2878 */\n swap1\n pop\n /* \"#utility.yul\":2462:2885 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2972:3071 */\n tag_87:\n /* \"#utility.yul\":3024:3030 */\n 0x00\n /* \"#utility.yul\":3058:3063 */\n dup2\n /* \"#utility.yul\":3052:3064 */\n mload\n /* \"#utility.yul\":3042:3064 */\n swap1\n pop\n /* \"#utility.yul\":2972:3071 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3077:3246 */\n tag_89:\n /* \"#utility.yul\":3161:3172 */\n 0x00\n /* \"#utility.yul\":3195:3201 */\n dup3\n /* \"#utility.yul\":3190:3193 */\n dup3\n /* \"#utility.yul\":3183:3202 */\n mstore\n /* \"#utility.yul\":3235:3239 */\n 0x20\n /* \"#utility.yul\":3230:3233 */\n dup3\n /* \"#utility.yul\":3226:3240 */\n add\n /* \"#utility.yul\":3211:3240 */\n swap1\n pop\n /* \"#utility.yul\":3077:3246 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3252:3557 */\n tag_30:\n /* \"#utility.yul\":3292:3295 */\n 0x00\n /* \"#utility.yul\":3311:3331 */\n tag_108\n /* \"#utility.yul\":3329:3330 */\n dup3\n /* \"#utility.yul\":3311:3331 */\n tag_97\n jump\t// in\n tag_108:\n /* \"#utility.yul\":3306:3331 */\n swap2\n pop\n /* \"#utility.yul\":3345:3365 */\n tag_109\n /* \"#utility.yul\":3363:3364 */\n dup4\n /* \"#utility.yul\":3345:3365 */\n tag_97\n jump\t// in\n tag_109:\n /* \"#utility.yul\":3340:3365 */\n swap3\n pop\n /* \"#utility.yul\":3499:3500 */\n dup3\n /* \"#utility.yul\":3431:3497 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":3427:3501 */\n sub\n /* \"#utility.yul\":3424:3425 */\n dup3\n /* \"#utility.yul\":3421:3502 */\n gt\n /* \"#utility.yul\":3418:3525 */\n iszero\n tag_110\n jumpi\n /* \"#utility.yul\":3505:3523 */\n tag_111\n tag_112\n jump\t// in\n tag_111:\n /* \"#utility.yul\":3418:3525 */\n tag_110:\n /* \"#utility.yul\":3549:3550 */\n dup3\n /* \"#utility.yul\":3546:3547 */\n dup3\n /* \"#utility.yul\":3542:3551 */\n add\n /* \"#utility.yul\":3535:3551 */\n swap1\n pop\n /* \"#utility.yul\":3252:3557 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3563:3640 */\n tag_97:\n /* \"#utility.yul\":3600:3607 */\n 0x00\n /* \"#utility.yul\":3629:3634 */\n dup2\n /* \"#utility.yul\":3618:3634 */\n swap1\n pop\n /* \"#utility.yul\":3563:3640 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3646:3953 */\n tag_91:\n /* \"#utility.yul\":3714:3715 */\n 0x00\n /* \"#utility.yul\":3724:3837 */\n tag_115:\n /* \"#utility.yul\":3738:3744 */\n dup4\n /* \"#utility.yul\":3735:3736 */\n dup2\n /* \"#utility.yul\":3732:3745 */\n lt\n /* \"#utility.yul\":3724:3837 */\n iszero\n tag_117\n jumpi\n /* \"#utility.yul\":3823:3824 */\n dup1\n /* \"#utility.yul\":3818:3821 */\n dup3\n /* \"#utility.yul\":3814:3825 */\n add\n /* \"#utility.yul\":3808:3826 */\n mload\n /* \"#utility.yul\":3804:3805 */\n dup2\n /* \"#utility.yul\":3799:3802 */\n dup5\n /* \"#utility.yul\":3795:3806 */\n add\n /* \"#utility.yul\":3788:3827 */\n mstore\n /* \"#utility.yul\":3760:3762 */\n 0x20\n /* \"#utility.yul\":3757:3758 */\n dup2\n /* \"#utility.yul\":3753:3763 */\n add\n /* \"#utility.yul\":3748:3763 */\n swap1\n pop\n /* \"#utility.yul\":3724:3837 */\n jump(tag_115)\n tag_117:\n /* \"#utility.yul\":3855:3861 */\n dup4\n /* \"#utility.yul\":3852:3853 */\n dup2\n /* \"#utility.yul\":3849:3862 */\n gt\n /* \"#utility.yul\":3846:3947 */\n iszero\n tag_118\n jumpi\n /* \"#utility.yul\":3935:3936 */\n 0x00\n /* \"#utility.yul\":3926:3932 */\n dup5\n /* \"#utility.yul\":3921:3924 */\n dup5\n /* \"#utility.yul\":3917:3933 */\n add\n /* \"#utility.yul\":3910:3937 */\n mstore\n /* \"#utility.yul\":3846:3947 */\n tag_118:\n /* \"#utility.yul\":3695:3953 */\n pop\n /* \"#utility.yul\":3646:3953 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3959:4279 */\n tag_39:\n /* \"#utility.yul\":4003:4009 */\n 0x00\n /* \"#utility.yul\":4040:4041 */\n 0x02\n /* \"#utility.yul\":4034:4038 */\n dup3\n /* \"#utility.yul\":4030:4042 */\n div\n /* \"#utility.yul\":4020:4042 */\n swap1\n pop\n /* \"#utility.yul\":4087:4088 */\n 0x01\n /* \"#utility.yul\":4081:4085 */\n dup3\n /* \"#utility.yul\":4077:4089 */\n and\n /* \"#utility.yul\":4108:4126 */\n dup1\n /* \"#utility.yul\":4098:4179 */\n tag_120\n jumpi\n /* \"#utility.yul\":4164:4168 */\n 0x7f\n /* \"#utility.yul\":4156:4162 */\n dup3\n /* \"#utility.yul\":4152:4169 */\n and\n /* \"#utility.yul\":4142:4169 */\n swap2\n pop\n /* \"#utility.yul\":4098:4179 */\n tag_120:\n /* \"#utility.yul\":4226:4228 */\n 0x20\n /* \"#utility.yul\":4218:4224 */\n dup3\n /* \"#utility.yul\":4215:4229 */\n lt\n /* \"#utility.yul\":4195:4213 */\n dup2\n /* \"#utility.yul\":4192:4230 */\n eq\n /* \"#utility.yul\":4189:4273 */\n iszero\n tag_121\n jumpi\n /* \"#utility.yul\":4245:4263 */\n tag_122\n tag_123\n jump\t// in\n tag_122:\n /* \"#utility.yul\":4189:4273 */\n tag_121:\n /* \"#utility.yul\":4010:4279 */\n pop\n /* \"#utility.yul\":3959:4279 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4285:4465 */\n tag_112:\n /* \"#utility.yul\":4333:4410 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":4330:4331 */\n 0x00\n /* \"#utility.yul\":4323:4411 */\n mstore\n /* \"#utility.yul\":4430:4434 */\n 0x11\n /* \"#utility.yul\":4427:4428 */\n 0x04\n /* \"#utility.yul\":4420:4435 */\n mstore\n /* \"#utility.yul\":4454:4458 */\n 0x24\n /* \"#utility.yul\":4451:4452 */\n 0x00\n /* \"#utility.yul\":4444:4459 */\n revert\n /* \"#utility.yul\":4471:4651 */\n tag_123:\n /* \"#utility.yul\":4519:4596 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":4516:4517 */\n 0x00\n /* \"#utility.yul\":4509:4597 */\n mstore\n /* \"#utility.yul\":4616:4620 */\n 0x22\n /* \"#utility.yul\":4613:4614 */\n 0x04\n /* \"#utility.yul\":4606:4621 */\n mstore\n /* \"#utility.yul\":4640:4644 */\n 0x24\n /* \"#utility.yul\":4637:4638 */\n 0x00\n /* \"#utility.yul\":4630:4645 */\n revert\n /* \"#utility.yul\":4657:4774 */\n tag_63:\n /* \"#utility.yul\":4766:4767 */\n 0x00\n /* \"#utility.yul\":4763:4764 */\n dup1\n /* \"#utility.yul\":4756:4768 */\n revert\n /* \"#utility.yul\":4780:4897 */\n tag_60:\n /* \"#utility.yul\":4889:4890 */\n 0x00\n /* \"#utility.yul\":4886:4887 */\n dup1\n /* \"#utility.yul\":4879:4891 */\n revert\n /* \"#utility.yul\":4903:5020 */\n tag_66:\n /* \"#utility.yul\":5012:5013 */\n 0x00\n /* \"#utility.yul\":5009:5010 */\n dup1\n /* \"#utility.yul\":5002:5014 */\n revert\n /* \"#utility.yul\":5026:5143 */\n tag_77:\n /* \"#utility.yul\":5135:5136 */\n 0x00\n /* \"#utility.yul\":5132:5133 */\n dup1\n /* \"#utility.yul\":5125:5137 */\n revert\n /* \"#utility.yul\":5149:5266 */\n tag_74:\n /* \"#utility.yul\":5258:5259 */\n 0x00\n /* \"#utility.yul\":5255:5256 */\n dup1\n /* \"#utility.yul\":5248:5260 */\n revert\n /* \"#utility.yul\":5272:5374 */\n tag_93:\n /* \"#utility.yul\":5313:5319 */\n 0x00\n /* \"#utility.yul\":5364:5366 */\n 0x1f\n /* \"#utility.yul\":5360:5367 */\n not\n /* \"#utility.yul\":5355:5357 */\n 0x1f\n /* \"#utility.yul\":5348:5353 */\n dup4\n /* \"#utility.yul\":5344:5358 */\n add\n /* \"#utility.yul\":5340:5368 */\n and\n /* \"#utility.yul\":5330:5368 */\n swap1\n pop\n /* \"#utility.yul\":5272:5374 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5380:5502 */\n tag_70:\n /* \"#utility.yul\":5453:5477 */\n tag_133\n /* \"#utility.yul\":5471:5476 */\n dup2\n /* \"#utility.yul\":5453:5477 */\n tag_97\n jump\t// in\n tag_133:\n /* \"#utility.yul\":5446:5451 */\n dup2\n /* \"#utility.yul\":5443:5478 */\n eq\n /* \"#utility.yul\":5433:5496 */\n tag_134\n jumpi\n /* \"#utility.yul\":5492:5493 */\n 0x00\n /* \"#utility.yul\":5489:5490 */\n dup1\n /* \"#utility.yul\":5482:5494 */\n revert\n /* \"#utility.yul\":5433:5496 */\n tag_134:\n /* \"#utility.yul\":5380:5502 */\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220e3f4b20c3f8666194d611b4be14e4ca22efb3b428b9e841c5320caec696b121e64736f6c63430008070033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b5061067b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80631003e2d21461005c5780636057361d146100785780636f760f41146100945780639e7a13ad146100b0578063a6b7fc5b146100e1575b600080fd5b61007660048036038101906100719190610405565b6100ff565b005b610092600480360381019061008d9190610405565b610116565b005b6100ae60048036038101906100a991906103a5565b610120565b005b6100ca60048036038101906100c59190610405565b6101d2565b6040516100d8929190610495565b60405180910390f35b6100e961028e565b6040516100f6919061047a565b60405180910390f35b8060005461010d91906104e1565b60008190555050565b8060008190555050565b6001604051806040016040528083815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505081525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010190805190602001906101ca929190610297565b505050505050565b600181815481106101e257600080fd5b906000526020600020906002020160009150905080600001549080600101805461020b90610574565b80601f016020809104026020016040519081016040528092919081815260200182805461023790610574565b80156102845780601f1061025957610100808354040283529160200191610284565b820191906000526020600020905b81548152906001019060200180831161026757829003601f168201915b5050505050905082565b60008054905090565b8280546102a390610574565b90600052602060002090601f0160209004810192826102c5576000855561030c565b82601f106102de57805160ff191683800117855561030c565b8280016001018555821561030c579182015b8281111561030b5782518255916020019190600101906102f0565b5b509050610319919061031d565b5090565b5b8082111561033657600081600090555060010161031e565b5090565b60008083601f8401126103505761034f610609565b5b8235905067ffffffffffffffff81111561036d5761036c610604565b5b6020830191508360018202830111156103895761038861060e565b5b9250929050565b60008135905061039f8161062e565b92915050565b6000806000604084860312156103be576103bd610618565b5b600084013567ffffffffffffffff8111156103dc576103db610613565b5b6103e88682870161033a565b935093505060206103fb86828701610390565b9150509250925092565b60006020828403121561041b5761041a610618565b5b600061042984828501610390565b91505092915050565b600061043d826104c5565b61044781856104d0565b9350610457818560208601610541565b6104608161061d565b840191505092915050565b61047481610537565b82525050565b600060208201905061048f600083018461046b565b92915050565b60006040820190506104aa600083018561046b565b81810360208301526104bc8184610432565b90509392505050565b600081519050919050565b600082825260208201905092915050565b60006104ec82610537565b91506104f783610537565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561052c5761052b6105a6565b5b828201905092915050565b6000819050919050565b60005b8381101561055f578082015181840152602081019050610544565b8381111561056e576000848401525b50505050565b6000600282049050600182168061058c57607f821691505b602082108114156105a05761059f6105d5565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b61063781610537565b811461064257600080fd5b5056fea2646970667358221220e3f4b20c3f8666194d611b4be14e4ca22efb3b428b9e841c5320caec696b121e64736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x67B 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 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1003E2D2 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0x78 JUMPI DUP1 PUSH4 0x6F760F41 EQ PUSH2 0x94 JUMPI DUP1 PUSH4 0x9E7A13AD EQ PUSH2 0xB0 JUMPI DUP1 PUSH4 0xA6B7FC5B EQ PUSH2 0xE1 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x76 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x405 JUMP JUMPDEST PUSH2 0xFF JUMP JUMPDEST STOP JUMPDEST PUSH2 0x92 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x8D SWAP2 SWAP1 PUSH2 0x405 JUMP JUMPDEST PUSH2 0x116 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xAE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA9 SWAP2 SWAP1 PUSH2 0x3A5 JUMP JUMPDEST PUSH2 0x120 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xCA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC5 SWAP2 SWAP1 PUSH2 0x405 JUMP JUMPDEST PUSH2 0x1D2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD8 SWAP3 SWAP2 SWAP1 PUSH2 0x495 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE9 PUSH2 0x28E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF6 SWAP2 SWAP1 PUSH2 0x47A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 PUSH1 0x0 SLOAD PUSH2 0x10D SWAP2 SWAP1 PUSH2 0x4E1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP6 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP 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 0x2 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 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x1CA SWAP3 SWAP2 SWAP1 PUSH2 0x297 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x1E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x20B SWAP1 PUSH2 0x574 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 0x237 SWAP1 PUSH2 0x574 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x284 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x259 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x284 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 0x267 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x2A3 SWAP1 PUSH2 0x574 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x2C5 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x30C JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x2DE JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x30C JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x30C JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x30B JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x2F0 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x319 SWAP2 SWAP1 PUSH2 0x31D JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x336 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x31E JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x350 JUMPI PUSH2 0x34F PUSH2 0x609 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x36D JUMPI PUSH2 0x36C PUSH2 0x604 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x389 JUMPI PUSH2 0x388 PUSH2 0x60E JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x39F DUP2 PUSH2 0x62E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x3BE JUMPI PUSH2 0x3BD PUSH2 0x618 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3DC JUMPI PUSH2 0x3DB PUSH2 0x613 JUMP JUMPDEST JUMPDEST PUSH2 0x3E8 DUP7 DUP3 DUP8 ADD PUSH2 0x33A JUMP JUMPDEST SWAP4 POP SWAP4 POP POP PUSH1 0x20 PUSH2 0x3FB DUP7 DUP3 DUP8 ADD PUSH2 0x390 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x41B JUMPI PUSH2 0x41A PUSH2 0x618 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x429 DUP5 DUP3 DUP6 ADD PUSH2 0x390 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x43D DUP3 PUSH2 0x4C5 JUMP JUMPDEST PUSH2 0x447 DUP2 DUP6 PUSH2 0x4D0 JUMP JUMPDEST SWAP4 POP PUSH2 0x457 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x541 JUMP JUMPDEST PUSH2 0x460 DUP2 PUSH2 0x61D JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x474 DUP2 PUSH2 0x537 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x48F PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x46B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x4AA PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x46B JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x4BC DUP2 DUP5 PUSH2 0x432 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP 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 PUSH2 0x4EC DUP3 PUSH2 0x537 JUMP JUMPDEST SWAP2 POP PUSH2 0x4F7 DUP4 PUSH2 0x537 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x52C JUMPI PUSH2 0x52B PUSH2 0x5A6 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x55F JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x544 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x56E JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x58C JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x5A0 JUMPI PUSH2 0x59F PUSH2 0x5D5 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 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT 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 PUSH2 0x637 DUP2 PUSH2 0x537 JUMP JUMPDEST DUP2 EQ PUSH2 0x642 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE3 DELEGATECALL 0xB2 0xC EXTCODEHASH DUP7 PUSH7 0x194D611B4BE14E 0x4C LOG2 0x2E 0xFB EXTCODESIZE TIMESTAMP DUP12 SWAP15 DUP5 SHR MSTORE8 KECCAK256 0xCA 0xEC PUSH10 0x6B121E64736F6C634300 ADDMOD SMOD STOP CALLER ",
"sourceMap": "58:743:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@addPerson_59": {
"entryPoint": 288,
"id": 59,
"parameterSlots": 3,
"returnSlots": 0
},
"@add_42": {
"entryPoint": 255,
"id": 42,
"parameterSlots": 1,
"returnSlots": 0
},
"@people_22": {
"entryPoint": 466,
"id": 22,
"parameterSlots": 0,
"returnSlots": 0
},
"@retrive_30": {
"entryPoint": 654,
"id": 30,
"parameterSlots": 0,
"returnSlots": 1
},
"@store_13": {
"entryPoint": 278,
"id": 13,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_string_calldata_ptr": {
"entryPoint": 826,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_t_uint256": {
"entryPoint": 912,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_string_calldata_ptrt_uint256": {
"entryPoint": 933,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 1029,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1074,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 1131,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 1146,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1173,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 1221,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 1232,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 1249,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 1335,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory": {
"entryPoint": 1345,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 1396,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 1446,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 1493,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490": {
"entryPoint": 1540,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 1545,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": {
"entryPoint": 1550,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 1555,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 1560,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 1565,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_uint256": {
"entryPoint": 1582,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:5505:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "96:478:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "145:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "147:77:1"
},
"nodeType": "YulFunctionCall",
"src": "147:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "147:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "124:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "132:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "120:3:1"
},
"nodeType": "YulFunctionCall",
"src": "120:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "139:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "116:3:1"
},
"nodeType": "YulFunctionCall",
"src": "116:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "109:6:1"
},
"nodeType": "YulFunctionCall",
"src": "109:35:1"
},
"nodeType": "YulIf",
"src": "106:122:1"
},
{
"nodeType": "YulAssignment",
"src": "237:30:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "260:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "247:12:1"
},
"nodeType": "YulFunctionCall",
"src": "247:20:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "237:6:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "310:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
"nodeType": "YulIdentifier",
"src": "312:77:1"
},
"nodeType": "YulFunctionCall",
"src": "312:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "312:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "282:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "290:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "279:2:1"
},
"nodeType": "YulFunctionCall",
"src": "279:30:1"
},
"nodeType": "YulIf",
"src": "276:117:1"
},
{
"nodeType": "YulAssignment",
"src": "402:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "418:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "426:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "414:3:1"
},
"nodeType": "YulFunctionCall",
"src": "414:17:1"
},
"variableNames": [
{
"name": "arrayPos",
"nodeType": "YulIdentifier",
"src": "402:8:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "485:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulIdentifier",
"src": "487:77:1"
},
"nodeType": "YulFunctionCall",
"src": "487:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "487:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "arrayPos",
"nodeType": "YulIdentifier",
"src": "450:8:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "464:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "472:4:1",
"type": "",
"value": "0x01"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "460:3:1"
},
"nodeType": "YulFunctionCall",
"src": "460:17:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "446:3:1"
},
"nodeType": "YulFunctionCall",
"src": "446:32:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "480:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "443:2:1"
},
"nodeType": "YulFunctionCall",
"src": "443:41:1"
},
"nodeType": "YulIf",
"src": "440:128:1"
}
]
},
"name": "abi_decode_t_string_calldata_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "63:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "71:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "arrayPos",
"nodeType": "YulTypedName",
"src": "79:8:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "89:6:1",
"type": ""
}
],
"src": "21:553:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "632:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "642:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "664:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "651:12:1"
},
"nodeType": "YulFunctionCall",
"src": "651:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "642:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "707:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "680:26:1"
},
"nodeType": "YulFunctionCall",
"src": "680:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "680:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "610:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "618:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "626:5:1",
"type": ""
}
],
"src": "580:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "828:571:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "874:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "876:77:1"
},
"nodeType": "YulFunctionCall",
"src": "876:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "876:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "849:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "858:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "845:3:1"
},
"nodeType": "YulFunctionCall",
"src": "845:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "870:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "841:3:1"
},
"nodeType": "YulFunctionCall",
"src": "841:32:1"
},
"nodeType": "YulIf",
"src": "838:119:1"
},
{
"nodeType": "YulBlock",
"src": "967:297:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "982:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1013:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1024:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1009:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1009:17:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "996:12:1"
},
"nodeType": "YulFunctionCall",
"src": "996:31:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "986:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1074:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "1076:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1076:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1076:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1046:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1054:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1043:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1043:30:1"
},
"nodeType": "YulIf",
"src": "1040:117:1"
},
{
"nodeType": "YulAssignment",
"src": "1171:83:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1226:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1237:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1222:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1222:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1246:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_calldata_ptr",
"nodeType": "YulIdentifier",
"src": "1189:32:1"
},
"nodeType": "YulFunctionCall",
"src": "1189:65:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1171:6:1"
},
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1179:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1274:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1289:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1303:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1293:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1319:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1354:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1365:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1350:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1350:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1374:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1329:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1329:53:1"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "1319:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_calldata_ptrt_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "782:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "793:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "805:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "813:6:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "821:6:1",
"type": ""
}
],
"src": "725:674:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1471:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1517:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1519:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1519:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1519:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1492:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1501:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1488:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1488:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1513:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1484:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1484:32:1"
},
"nodeType": "YulIf",
"src": "1481:119:1"
},
{
"nodeType": "YulBlock",
"src": "1610:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1625:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1639:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1629:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1654:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1689:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1700:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1685:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1685:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1709:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1664:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1664:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1654:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1441:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1452:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1464:6:1",
"type": ""
}
],
"src": "1405:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1832:272:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1842:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1889:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1856:32:1"
},
"nodeType": "YulFunctionCall",
"src": "1856:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1846:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1904:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1970:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1975:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "1911:58:1"
},
"nodeType": "YulFunctionCall",
"src": "1911:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1904:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2017:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2024:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2013:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2013:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2031:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2036:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "1991:21:1"
},
"nodeType": "YulFunctionCall",
"src": "1991:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "1991:52:1"
},
{
"nodeType": "YulAssignment",
"src": "2052:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2063:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2090:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2068:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2068:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2059:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2059:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2052:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1813:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1820:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1828:3:1",
"type": ""
}
],
"src": "1740:364:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2175:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2192:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2215:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2197:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2197:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2185:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2185:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "2185:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2163:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2170:3:1",
"type": ""
}
],
"src": "2110:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2332:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2342:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2354:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2365:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2350:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2350:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2342:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2422:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2435:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2446:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2431:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2431:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "2378:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2378:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2378:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2304:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2316:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2327:4:1",
"type": ""
}
],
"src": "2234:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2608:277:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2618:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2630:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2641:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2626:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2626:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2618:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2698:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2711:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2722:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2707:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2707:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "2654:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2654:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2654:71:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2746:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2757:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2742:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2742:18:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2766:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2772:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2762:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2762:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2735:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2735:48:1"
},
"nodeType": "YulExpressionStatement",
"src": "2735:48:1"
},
{
"nodeType": "YulAssignment",
"src": "2792:86:1",
"value": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "2864:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2873:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2800:63:1"
},
"nodeType": "YulFunctionCall",
"src": "2800:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2792:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2572:9:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "2584:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2592:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2603:4:1",
"type": ""
}
],
"src": "2462:423:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2931:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2941:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2957:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2951:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2951:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2941:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "2924:6:1",
"type": ""
}
],
"src": "2891:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3031:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3042:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3058:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "3052:5:1"
},
"nodeType": "YulFunctionCall",
"src": "3052:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3042:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3014:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3024:6:1",
"type": ""
}
],
"src": "2972:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3173:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3190:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3195:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3183:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3183:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "3183:19:1"
},
{
"nodeType": "YulAssignment",
"src": "3211:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3230:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3235:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3226:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3226:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "3211:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3145:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3150:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "3161:11:1",
"type": ""
}
],
"src": "3077:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3296:261:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3306:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "3329:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3311:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3311:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "3306:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3340:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "3363:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3345:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3345:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "3340:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3503:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "3505:16:1"
},
"nodeType": "YulFunctionCall",
"src": "3505:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "3505:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "3424:1:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3431:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "3499:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3427:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3427:74:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "3421:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3421:81:1"
},
"nodeType": "YulIf",
"src": "3418:107:1"
},
{
"nodeType": "YulAssignment",
"src": "3535:16:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "3546:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "3549:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3542:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3542:9:1"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "3535:3:1"
}
]
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "3283:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "3286:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "3292:3:1",
"type": ""
}
],
"src": "3252:305:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3608:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3618:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "3629:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3618:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3590:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3600:7:1",
"type": ""
}
],
"src": "3563:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3695:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3705:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3714:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "3709:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3774:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "3799:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3804:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3795:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3795:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "3818:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3823:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3814:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3814:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "3808:5:1"
},
"nodeType": "YulFunctionCall",
"src": "3808:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3788:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3788:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "3788:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3735:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3738:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "3732:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3732:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "3746:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3748:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3757:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3760:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3753:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3753:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3748:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "3728:3:1",
"statements": []
},
"src": "3724:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3871:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "3921:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3926:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3917:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3917:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3935:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3910:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3910:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "3910:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3852:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3855:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "3849:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3849:13:1"
},
"nodeType": "YulIf",
"src": "3846:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "3677:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "3682:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3687:6:1",
"type": ""
}
],
"src": "3646:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4010:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4020:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "4034:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4040:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "4030:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4030:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4020:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "4051:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "4081:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4087:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4077:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4077:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "4055:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4128:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4142:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4156:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4164:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4152:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4152:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4142:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "4108:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4101:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4101:26:1"
},
"nodeType": "YulIf",
"src": "4098:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4231:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "4245:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4245:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4245:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "4195:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4218:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4226:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4215:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4215:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "4192:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4192:38:1"
},
"nodeType": "YulIf",
"src": "4189:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "3994:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4003:6:1",
"type": ""
}
],
"src": "3959:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4313:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4330:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4333:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4323:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4323:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "4323:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4427:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4430:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4420:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4420:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "4420:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4451:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4454:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4444:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4444:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "4444:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "4285:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4499:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4516:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4519:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4509:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4509:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "4509:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4613:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4616:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4606:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4606:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "4606:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4637:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4640:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4630:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4630:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "4630:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "4471:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4746:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4763:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4766:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4756:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4756:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4756:12:1"
}
]
},
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
"nodeType": "YulFunctionDefinition",
"src": "4657:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4869:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4886:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4889:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4879:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4879:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4879:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "4780:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4992:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5009:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5012:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5002:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5002:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "5002:12:1"
}
]
},
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulFunctionDefinition",
"src": "4903:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5115:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5132:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5135:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5125:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5125:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "5125:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "5026:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5238:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5255:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5258:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5248:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5248:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "5248:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "5149:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5320:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5330:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5348:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5355:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5344:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5344:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5364:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "5360:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5360:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5340:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5340:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "5330:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5303:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "5313:6:1",
"type": ""
}
],
"src": "5272:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5423:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "5480:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5489:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5492:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5482:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5482:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "5482:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5446:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5471:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "5453:17:1"
},
"nodeType": "YulFunctionCall",
"src": "5453:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "5443:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5443:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5436:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5436:43:1"
},
"nodeType": "YulIf",
"src": "5433:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5416:5:1",
"type": ""
}
],
"src": "5380:122:1"
}
]
},
"contents": "{\n\n // string\n function abi_decode_t_string_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\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_string_calldata_ptrt_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_string_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value2 := 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 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_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 abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value1, tail)\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\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 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 cleanup_t_uint256(value) -> cleaned {\n cleaned := value\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 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 panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\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 validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100575760003560e01c80631003e2d21461005c5780636057361d146100785780636f760f41146100945780639e7a13ad146100b0578063a6b7fc5b146100e1575b600080fd5b61007660048036038101906100719190610405565b6100ff565b005b610092600480360381019061008d9190610405565b610116565b005b6100ae60048036038101906100a991906103a5565b610120565b005b6100ca60048036038101906100c59190610405565b6101d2565b6040516100d8929190610495565b60405180910390f35b6100e961028e565b6040516100f6919061047a565b60405180910390f35b8060005461010d91906104e1565b60008190555050565b8060008190555050565b6001604051806040016040528083815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505081525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010190805190602001906101ca929190610297565b505050505050565b600181815481106101e257600080fd5b906000526020600020906002020160009150905080600001549080600101805461020b90610574565b80601f016020809104026020016040519081016040528092919081815260200182805461023790610574565b80156102845780601f1061025957610100808354040283529160200191610284565b820191906000526020600020905b81548152906001019060200180831161026757829003601f168201915b5050505050905082565b60008054905090565b8280546102a390610574565b90600052602060002090601f0160209004810192826102c5576000855561030c565b82601f106102de57805160ff191683800117855561030c565b8280016001018555821561030c579182015b8281111561030b5782518255916020019190600101906102f0565b5b509050610319919061031d565b5090565b5b8082111561033657600081600090555060010161031e565b5090565b60008083601f8401126103505761034f610609565b5b8235905067ffffffffffffffff81111561036d5761036c610604565b5b6020830191508360018202830111156103895761038861060e565b5b9250929050565b60008135905061039f8161062e565b92915050565b6000806000604084860312156103be576103bd610618565b5b600084013567ffffffffffffffff8111156103dc576103db610613565b5b6103e88682870161033a565b935093505060206103fb86828701610390565b9150509250925092565b60006020828403121561041b5761041a610618565b5b600061042984828501610390565b91505092915050565b600061043d826104c5565b61044781856104d0565b9350610457818560208601610541565b6104608161061d565b840191505092915050565b61047481610537565b82525050565b600060208201905061048f600083018461046b565b92915050565b60006040820190506104aa600083018561046b565b81810360208301526104bc8184610432565b90509392505050565b600081519050919050565b600082825260208201905092915050565b60006104ec82610537565b91506104f783610537565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561052c5761052b6105a6565b5b828201905092915050565b6000819050919050565b60005b8381101561055f578082015181840152602081019050610544565b8381111561056e576000848401525b50505050565b6000600282049050600182168061058c57607f821691505b602082108114156105a05761059f6105d5565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b61063781610537565b811461064257600080fd5b5056fea2646970667358221220e3f4b20c3f8666194d611b4be14e4ca22efb3b428b9e841c5320caec696b121e64736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1003E2D2 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0x78 JUMPI DUP1 PUSH4 0x6F760F41 EQ PUSH2 0x94 JUMPI DUP1 PUSH4 0x9E7A13AD EQ PUSH2 0xB0 JUMPI DUP1 PUSH4 0xA6B7FC5B EQ PUSH2 0xE1 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x76 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x405 JUMP JUMPDEST PUSH2 0xFF JUMP JUMPDEST STOP JUMPDEST PUSH2 0x92 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x8D SWAP2 SWAP1 PUSH2 0x405 JUMP JUMPDEST PUSH2 0x116 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xAE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA9 SWAP2 SWAP1 PUSH2 0x3A5 JUMP JUMPDEST PUSH2 0x120 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xCA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC5 SWAP2 SWAP1 PUSH2 0x405 JUMP JUMPDEST PUSH2 0x1D2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD8 SWAP3 SWAP2 SWAP1 PUSH2 0x495 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE9 PUSH2 0x28E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF6 SWAP2 SWAP1 PUSH2 0x47A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 PUSH1 0x0 SLOAD PUSH2 0x10D SWAP2 SWAP1 PUSH2 0x4E1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP6 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP 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 0x2 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 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x1CA SWAP3 SWAP2 SWAP1 PUSH2 0x297 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x1E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x20B SWAP1 PUSH2 0x574 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 0x237 SWAP1 PUSH2 0x574 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x284 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x259 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x284 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 0x267 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x2A3 SWAP1 PUSH2 0x574 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x2C5 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x30C JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x2DE JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x30C JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x30C JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x30B JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x2F0 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x319 SWAP2 SWAP1 PUSH2 0x31D JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x336 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x31E JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x350 JUMPI PUSH2 0x34F PUSH2 0x609 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x36D JUMPI PUSH2 0x36C PUSH2 0x604 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x389 JUMPI PUSH2 0x388 PUSH2 0x60E JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x39F DUP2 PUSH2 0x62E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x3BE JUMPI PUSH2 0x3BD PUSH2 0x618 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3DC JUMPI PUSH2 0x3DB PUSH2 0x613 JUMP JUMPDEST JUMPDEST PUSH2 0x3E8 DUP7 DUP3 DUP8 ADD PUSH2 0x33A JUMP JUMPDEST SWAP4 POP SWAP4 POP POP PUSH1 0x20 PUSH2 0x3FB DUP7 DUP3 DUP8 ADD PUSH2 0x390 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x41B JUMPI PUSH2 0x41A PUSH2 0x618 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x429 DUP5 DUP3 DUP6 ADD PUSH2 0x390 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x43D DUP3 PUSH2 0x4C5 JUMP JUMPDEST PUSH2 0x447 DUP2 DUP6 PUSH2 0x4D0 JUMP JUMPDEST SWAP4 POP PUSH2 0x457 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x541 JUMP JUMPDEST PUSH2 0x460 DUP2 PUSH2 0x61D JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x474 DUP2 PUSH2 0x537 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x48F PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x46B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x4AA PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x46B JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x4BC DUP2 DUP5 PUSH2 0x432 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP 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 PUSH2 0x4EC DUP3 PUSH2 0x537 JUMP JUMPDEST SWAP2 POP PUSH2 0x4F7 DUP4 PUSH2 0x537 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x52C JUMPI PUSH2 0x52B PUSH2 0x5A6 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x55F JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x544 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x56E JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x58C JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x5A0 JUMPI PUSH2 0x59F PUSH2 0x5D5 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 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT 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 PUSH2 0x637 DUP2 PUSH2 0x537 JUMP JUMPDEST DUP2 EQ PUSH2 0x642 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE3 DELEGATECALL 0xB2 0xC EXTCODEHASH DUP7 PUSH7 0x194D611B4BE14E 0x4C LOG2 0x2E 0xFB EXTCODESIZE TIMESTAMP DUP12 SWAP15 DUP5 SHR MSTORE8 KECCAK256 0xCA 0xEC PUSH10 0x6B121E64736F6C634300 ADDMOD SMOD STOP CALLER ",
"sourceMap": "58:743:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;481:93;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;151:101;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;664:134;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;338:22;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;385:90;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;481:93;561:6;544:14;;:23;;;;:::i;:::-;527:14;:40;;;;481:93;:::o;151:101::-;230:15;213:14;:32;;;;151:101;:::o;664:134::-;748:6;760:30;;;;;;;;767:15;760:30;;;;784:5;;760:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;748:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;664:134;;;:::o;338:22::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;385:90::-;424:7;454:14;;447:21;;385:90;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;21:553:1:-;79:8;89:6;139:3;132:4;124:6;120:17;116:27;106:122;;147:79;;:::i;:::-;106:122;260:6;247:20;237:30;;290:18;282:6;279:30;276:117;;;312:79;;:::i;:::-;276:117;426:4;418:6;414:17;402:29;;480:3;472:4;464:6;460:17;450:8;446:32;443:41;440:128;;;487:79;;:::i;:::-;440:128;21:553;;;;;:::o;580:139::-;626:5;664:6;651:20;642:29;;680:33;707:5;680:33;:::i;:::-;580:139;;;;:::o;725:674::-;805:6;813;821;870:2;858:9;849:7;845:23;841:32;838:119;;;876:79;;:::i;:::-;838:119;1024:1;1013:9;1009:17;996:31;1054:18;1046:6;1043:30;1040:117;;;1076:79;;:::i;:::-;1040:117;1189:65;1246:7;1237:6;1226:9;1222:22;1189:65;:::i;:::-;1171:83;;;;967:297;1303:2;1329:53;1374:7;1365:6;1354:9;1350:22;1329:53;:::i;:::-;1319:63;;1274:118;725:674;;;;;:::o;1405:329::-;1464:6;1513:2;1501:9;1492:7;1488:23;1484:32;1481:119;;;1519:79;;:::i;:::-;1481:119;1639:1;1664:53;1709:7;1700:6;1689:9;1685:22;1664:53;:::i;:::-;1654:63;;1610:117;1405:329;;;;:::o;1740:364::-;1828:3;1856:39;1889:5;1856:39;:::i;:::-;1911:71;1975:6;1970:3;1911:71;:::i;:::-;1904:78;;1991:52;2036:6;2031:3;2024:4;2017:5;2013:16;1991:52;:::i;:::-;2068:29;2090:6;2068:29;:::i;:::-;2063:3;2059:39;2052:46;;1832:272;1740:364;;;;:::o;2110:118::-;2197:24;2215:5;2197:24;:::i;:::-;2192:3;2185:37;2110:118;;:::o;2234:222::-;2327:4;2365:2;2354:9;2350:18;2342:26;;2378:71;2446:1;2435:9;2431:17;2422:6;2378:71;:::i;:::-;2234:222;;;;:::o;2462:423::-;2603:4;2641:2;2630:9;2626:18;2618:26;;2654:71;2722:1;2711:9;2707:17;2698:6;2654:71;:::i;:::-;2772:9;2766:4;2762:20;2757:2;2746:9;2742:18;2735:48;2800:78;2873:4;2864:6;2800:78;:::i;:::-;2792:86;;2462:423;;;;;:::o;2972:99::-;3024:6;3058:5;3052:12;3042:22;;2972:99;;;:::o;3077:169::-;3161:11;3195:6;3190:3;3183:19;3235:4;3230:3;3226:14;3211:29;;3077:169;;;;:::o;3252:305::-;3292:3;3311:20;3329:1;3311:20;:::i;:::-;3306:25;;3345:20;3363:1;3345:20;:::i;:::-;3340:25;;3499:1;3431:66;3427:74;3424:1;3421:81;3418:107;;;3505:18;;:::i;:::-;3418:107;3549:1;3546;3542:9;3535:16;;3252:305;;;;:::o;3563:77::-;3600:7;3629:5;3618:16;;3563:77;;;:::o;3646:307::-;3714:1;3724:113;3738:6;3735:1;3732:13;3724:113;;;3823:1;3818:3;3814:11;3808:18;3804:1;3799:3;3795:11;3788:39;3760:2;3757:1;3753:10;3748:15;;3724:113;;;3855:6;3852:1;3849:13;3846:101;;;3935:1;3926:6;3921:3;3917:16;3910:27;3846:101;3695:258;3646:307;;;:::o;3959:320::-;4003:6;4040:1;4034:4;4030:12;4020:22;;4087:1;4081:4;4077:12;4108:18;4098:81;;4164:4;4156:6;4152:17;4142:27;;4098:81;4226:2;4218:6;4215:14;4195:18;4192:38;4189:84;;;4245:18;;:::i;:::-;4189:84;4010:269;3959:320;;;:::o;4285:180::-;4333:77;4330:1;4323:88;4430:4;4427:1;4420:15;4454:4;4451:1;4444:15;4471:180;4519:77;4516:1;4509:88;4616:4;4613:1;4606:15;4640:4;4637:1;4630:15;4657:117;4766:1;4763;4756:12;4780:117;4889:1;4886;4879:12;4903:117;5012:1;5009;5002:12;5026:117;5135:1;5132;5125:12;5149:117;5258:1;5255;5248:12;5272:102;5313:6;5364:2;5360:7;5355:2;5348:5;5344:14;5340:28;5330:38;;5272:102;;;:::o;5380:122::-;5453:24;5471:5;5453:24;:::i;:::-;5446:5;5443:35;5433:63;;5492:1;5489;5482:12;5433:63;5380:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "331800",
"executionCost": "368",
"totalCost": "332168"
},
"external": {
"add(uint256)": "infinite",
"addPerson(string,uint256)": "infinite",
"people(uint256)": "infinite",
"retrive()": "2503",
"store(uint256)": "22520"
}
},
"legacyAssembly": {
".code": [
{
"begin": 58,
"end": 801,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 58,
"end": 801,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 58,
"end": 801,
"name": "MSTORE",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "ISZERO",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 58,
"end": 801,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 801,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "REVERT",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 58,
"end": 801,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "POP",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 58,
"end": 801,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 58,
"end": 801,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 801,
"name": "CODECOPY",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 801,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a2646970667358221220e3f4b20c3f8666194d611b4be14e4ca22efb3b428b9e841c5320caec696b121e64736f6c63430008070033",
".code": [
{
"begin": 58,
"end": 801,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 58,
"end": 801,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 58,
"end": 801,
"name": "MSTORE",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "ISZERO",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 58,
"end": 801,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 801,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "REVERT",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 58,
"end": 801,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "POP",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 58,
"end": 801,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "LT",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 58,
"end": 801,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 801,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 58,
"end": 801,
"name": "SHR",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "PUSH",
"source": 0,
"value": "1003E2D2"
},
{
"begin": 58,
"end": 801,
"name": "EQ",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 58,
"end": 801,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "PUSH",
"source": 0,
"value": "6057361D"
},
{
"begin": 58,
"end": 801,
"name": "EQ",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 58,
"end": 801,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "PUSH",
"source": 0,
"value": "6F760F41"
},
{
"begin": 58,
"end": 801,
"name": "EQ",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 58,
"end": 801,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "PUSH",
"source": 0,
"value": "9E7A13AD"
},
{
"begin": 58,
"end": 801,
"name": "EQ",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 58,
"end": 801,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "PUSH",
"source": 0,
"value": "A6B7FC5B"
},
{
"begin": 58,
"end": 801,
"name": "EQ",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 58,
"end": 801,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 58,
"end": 801,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 801,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 801,
"name": "REVERT",
"source": 0
},
{
"begin": 481,
"end": 574,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 481,
"end": 574,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 481,
"end": 574,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 481,
"end": 574,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 481,
"end": 574,
"name": "DUP1",
"source": 0
},
{
"begin": 481,
"end": 574,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 481,
"end": 574,
"name": "SUB",
"source": 0
},
{
"begin": 481,
"end": 574,
"name": "DUP2",
"source": 0
},
{
"begin": 481,
"end": 574,
"name": "ADD",
"source": 0
},
{
"begin": 481,
"end": 574,
"name": "SWAP1",
"source": 0
},
{
"begin": 481,
"end": 574,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 481,
"end": 574,
"name": "SWAP2",
"source": 0
},
{
"begin": 481,
"end": 574,
"name": "SWAP1",
"source": 0
},
{
"begin": 481,
"end": 574,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 481,
"end": 574,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 481,
"end": 574,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 481,
"end": 574,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 481,
"end": 574,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 481,
"end": 574,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 481,
"end": 574,
"name": "tag",
"source": 0,
"value": "8"
},
{
"begin": 481,
"end": 574,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 481,
"end": 574,
"name": "STOP",
"source": 0
},
{
"begin": 151,
"end": 252,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 151,
"end": 252,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 151,
"end": 252,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 151,
"end": 252,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 151,
"end": 252,
"name": "DUP1",
"source": 0
},
{
"begin": 151,
"end": 252,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 151,
"end": 252,
"name": "SUB",
"source": 0
},
{
"begin": 151,
"end": 252,
"name": "DUP2",
"source": 0
},
{
"begin": 151,
"end": 252,
"name": "ADD",
"source": 0
},
{
"begin": 151,
"end": 252,
"name": "SWAP1",
"source": 0
},
{
"begin": 151,
"end": 252,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 151,
"end": 252,
"name": "SWAP2",
"source": 0
},
{
"begin": 151,
"end": 252,
"name": "SWAP1",
"source": 0
},
{
"begin": 151,
"end": 252,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 151,
"end": 252,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 151,
"end": 252,
"name": "tag",
"source": 0,
"value": "13"
},
{
"begin": 151,
"end": 252,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 151,
"end": 252,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 151,
"end": 252,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 151,
"end": 252,
"name": "tag",
"source": 0,
"value": "12"
},
{
"begin": 151,
"end": 252,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 151,
"end": 252,
"name": "STOP",
"source": 0
},
{
"begin": 664,
"end": 798,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 664,
"end": 798,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 664,
"end": 798,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 664,
"end": 798,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 664,
"end": 798,
"name": "DUP1",
"source": 0
},
{
"begin": 664,
"end": 798,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 664,
"end": 798,
"name": "SUB",
"source": 0
},
{
"begin": 664,
"end": 798,
"name": "DUP2",
"source": 0
},
{
"begin": 664,
"end": 798,
"name": "ADD",
"source": 0
},
{
"begin": 664,
"end": 798,
"name": "SWAP1",
"source": 0
},
{
"begin": 664,
"end": 798,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 664,
"end": 798,
"name": "SWAP2",
"source": 0
},
{
"begin": 664,
"end": 798,
"name": "SWAP1",
"source": 0
},
{
"begin": 664,
"end": 798,
"name": "PUSH [tag]",
"source": 0,
"value": "17"
},
{
"begin": 664,
"end": 798,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 664,
"end": 798,
"name": "tag",
"source": 0,
"value": "16"
},
{
"begin": 664,
"end": 798,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 664,
"end": 798,
"name": "PUSH [tag]",
"source": 0,
"value": "18"
},
{
"begin": 664,
"end": 798,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 664,
"end": 798,
"name": "tag",
"source": 0,
"value": "15"
},
{
"begin": 664,
"end": 798,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 664,
"end": 798,
"name": "STOP",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 338,
"end": 360,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH [tag]",
"source": 0,
"value": "19"
},
{
"begin": 338,
"end": 360,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 338,
"end": 360,
"name": "DUP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SUB",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DUP2",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "ADD",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SWAP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH [tag]",
"source": 0,
"value": "20"
},
{
"begin": 338,
"end": 360,
"name": "SWAP2",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SWAP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 338,
"end": 360,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 338,
"end": 360,
"name": "tag",
"source": 0,
"value": "20"
},
{
"begin": 338,
"end": 360,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH [tag]",
"source": 0,
"value": "21"
},
{
"begin": 338,
"end": 360,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 338,
"end": 360,
"name": "tag",
"source": 0,
"value": "19"
},
{
"begin": 338,
"end": 360,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 338,
"end": 360,
"name": "MLOAD",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH [tag]",
"source": 0,
"value": "22"
},
{
"begin": 338,
"end": 360,
"name": "SWAP3",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SWAP2",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SWAP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH [tag]",
"source": 0,
"value": "23"
},
{
"begin": 338,
"end": 360,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 338,
"end": 360,
"name": "tag",
"source": 0,
"value": "22"
},
{
"begin": 338,
"end": 360,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 338,
"end": 360,
"name": "MLOAD",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DUP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SWAP2",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SUB",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SWAP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "RETURN",
"source": 0
},
{
"begin": 385,
"end": 475,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 385,
"end": 475,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 385,
"end": 475,
"name": "PUSH [tag]",
"source": 0,
"value": "24"
},
{
"begin": 385,
"end": 475,
"name": "PUSH [tag]",
"source": 0,
"value": "25"
},
{
"begin": 385,
"end": 475,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 385,
"end": 475,
"name": "tag",
"source": 0,
"value": "24"
},
{
"begin": 385,
"end": 475,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 385,
"end": 475,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 385,
"end": 475,
"name": "MLOAD",
"source": 0
},
{
"begin": 385,
"end": 475,
"name": "PUSH [tag]",
"source": 0,
"value": "26"
},
{
"begin": 385,
"end": 475,
"name": "SWAP2",
"source": 0
},
{
"begin": 385,
"end": 475,
"name": "SWAP1",
"source": 0
},
{
"begin": 385,
"end": 475,
"name": "PUSH [tag]",
"source": 0,
"value": "27"
},
{
"begin": 385,
"end": 475,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 385,
"end": 475,
"name": "tag",
"source": 0,
"value": "26"
},
{
"begin": 385,
"end": 475,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 385,
"end": 475,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 385,
"end": 475,
"name": "MLOAD",
"source": 0
},
{
"begin": 385,
"end": 475,
"name": "DUP1",
"source": 0
},
{
"begin": 385,
"end": 475,
"name": "SWAP2",
"source": 0
},
{
"begin": 385,
"end": 475,
"name": "SUB",
"source": 0
},
{
"begin": 385,
"end": 475,
"name": "SWAP1",
"source": 0
},
{
"begin": 385,
"end": 475,
"name": "RETURN",
"source": 0
},
{
"begin": 481,
"end": 574,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 481,
"end": 574,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 561,
"end": 567,
"name": "DUP1",
"source": 0
},
{
"begin": 544,
"end": 558,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 544,
"end": 558,
"name": "SLOAD",
"source": 0
},
{
"begin": 544,
"end": 567,
"name": "PUSH [tag]",
"source": 0,
"value": "29"
},
{
"begin": 544,
"end": 567,
"name": "SWAP2",
"source": 0
},
{
"begin": 544,
"end": 567,
"name": "SWAP1",
"source": 0
},
{
"begin": 544,
"end": 567,
"name": "PUSH [tag]",
"source": 0,
"value": "30"
},
{
"begin": 544,
"end": 567,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 544,
"end": 567,
"name": "tag",
"source": 0,
"value": "29"
},
{
"begin": 544,
"end": 567,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 527,
"end": 541,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 527,
"end": 567,
"name": "DUP2",
"source": 0
},
{
"begin": 527,
"end": 567,
"name": "SWAP1",
"source": 0
},
{
"begin": 527,
"end": 567,
"name": "SSTORE",
"source": 0
},
{
"begin": 527,
"end": 567,
"name": "POP",
"source": 0
},
{
"begin": 481,
"end": 574,
"name": "POP",
"source": 0
},
{
"begin": 481,
"end": 574,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 151,
"end": 252,
"name": "tag",
"source": 0,
"value": "14"
},
{
"begin": 151,
"end": 252,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 230,
"end": 245,
"name": "DUP1",
"source": 0
},
{
"begin": 213,
"end": 227,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 213,
"end": 245,
"name": "DUP2",
"source": 0
},
{
"begin": 213,
"end": 245,
"name": "SWAP1",
"source": 0
},
{
"begin": 213,
"end": 245,
"name": "SSTORE",
"source": 0
},
{
"begin": 213,
"end": 245,
"name": "POP",
"source": 0
},
{
"begin": 151,
"end": 252,
"name": "POP",
"source": 0
},
{
"begin": 151,
"end": 252,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 664,
"end": 798,
"name": "tag",
"source": 0,
"value": "18"
},
{
"begin": 664,
"end": 798,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 748,
"end": 754,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 760,
"end": 790,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 760,
"end": 790,
"name": "MLOAD",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "DUP1",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 760,
"end": 790,
"name": "ADD",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 760,
"end": 790,
"name": "MSTORE",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "DUP1",
"source": 0
},
{
"begin": 767,
"end": 782,
"name": "DUP4",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "DUP2",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "MSTORE",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 760,
"end": 790,
"name": "ADD",
"source": 0
},
{
"begin": 784,
"end": 789,
"name": "DUP6",
"source": 0
},
{
"begin": 784,
"end": 789,
"name": "DUP6",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "DUP1",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "DUP1",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 760,
"end": 790,
"name": "ADD",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 760,
"end": 790,
"name": "DUP1",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "SWAP2",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "DIV",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "MUL",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 760,
"end": 790,
"name": "ADD",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 760,
"end": 790,
"name": "MLOAD",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "SWAP1",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "DUP2",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "ADD",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 760,
"end": 790,
"name": "MSTORE",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "DUP1",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "SWAP4",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "SWAP3",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "SWAP2",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "SWAP1",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "DUP2",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "DUP2",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "MSTORE",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 760,
"end": 790,
"name": "ADD",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "DUP4",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "DUP4",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "DUP1",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "DUP3",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "DUP5",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "CALLDATACOPY",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 760,
"end": 790,
"name": "DUP2",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "DUP5",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "ADD",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "MSTORE",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 760,
"end": 790,
"name": "NOT",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 760,
"end": 790,
"name": "DUP3",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "ADD",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "AND",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "SWAP1",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "POP",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "DUP1",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "DUP4",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "ADD",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "SWAP3",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "POP",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "POP",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "POP",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "POP",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "POP",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "POP",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "POP",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "DUP2",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "MSTORE",
"source": 0
},
{
"begin": 760,
"end": 790,
"name": "POP",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "SWAP1",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "DUP1",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 748,
"end": 791,
"name": "DUP2",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "SLOAD",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "ADD",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "DUP1",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "DUP3",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "SSTORE",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "DUP1",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "SWAP2",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "POP",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "POP",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 748,
"end": 791,
"name": "SWAP1",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "SUB",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "SWAP1",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 748,
"end": 791,
"name": "MSTORE",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 748,
"end": 791,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 748,
"end": 791,
"name": "KECCAK256",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "SWAP1",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "PUSH",
"source": 0,
"value": "2"
},
{
"begin": 748,
"end": 791,
"name": "MUL",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "ADD",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 748,
"end": 791,
"name": "SWAP1",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "SWAP2",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "SWAP1",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "SWAP2",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "SWAP1",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "SWAP2",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "POP",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 748,
"end": 791,
"name": "DUP3",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "ADD",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "MLOAD",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "DUP2",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 748,
"end": 791,
"name": "ADD",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "SSTORE",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 748,
"end": 791,
"name": "DUP3",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "ADD",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "MLOAD",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "DUP2",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 748,
"end": 791,
"name": "ADD",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "SWAP1",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "DUP1",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "MLOAD",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "SWAP1",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 748,
"end": 791,
"name": "ADD",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "SWAP1",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "PUSH [tag]",
"source": 0,
"value": "34"
},
{
"begin": 748,
"end": 791,
"name": "SWAP3",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "SWAP2",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "SWAP1",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "PUSH [tag]",
"source": 0,
"value": "35"
},
{
"begin": 748,
"end": 791,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 748,
"end": 791,
"name": "tag",
"source": 0,
"value": "34"
},
{
"begin": 748,
"end": 791,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "POP",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "POP",
"source": 0
},
{
"begin": 748,
"end": 791,
"name": "POP",
"source": 0
},
{
"begin": 664,
"end": 798,
"name": "POP",
"source": 0
},
{
"begin": 664,
"end": 798,
"name": "POP",
"source": 0
},
{
"begin": 664,
"end": 798,
"name": "POP",
"source": 0
},
{
"begin": 664,
"end": 798,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 338,
"end": 360,
"name": "tag",
"source": 0,
"value": "21"
},
{
"begin": 338,
"end": 360,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 338,
"end": 360,
"name": "DUP2",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DUP2",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SLOAD",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DUP2",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "LT",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH [tag]",
"source": 0,
"value": "36"
},
{
"begin": 338,
"end": 360,
"name": "JUMPI",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 338,
"end": 360,
"name": "DUP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "REVERT",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "tag",
"source": 0,
"value": "36"
},
{
"begin": 338,
"end": 360,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SWAP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 338,
"end": 360,
"name": "MSTORE",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 338,
"end": 360,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 338,
"end": 360,
"name": "KECCAK256",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SWAP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH",
"source": 0,
"value": "2"
},
{
"begin": 338,
"end": 360,
"name": "MUL",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "ADD",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 338,
"end": 360,
"name": "SWAP2",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "POP",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SWAP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "POP",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DUP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 338,
"end": 360,
"name": "ADD",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SLOAD",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SWAP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DUP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 338,
"end": 360,
"name": "ADD",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DUP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SLOAD",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH [tag]",
"source": 0,
"value": "38"
},
{
"begin": 338,
"end": 360,
"name": "SWAP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH [tag]",
"source": 0,
"value": "39"
},
{
"begin": 338,
"end": 360,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 338,
"end": 360,
"name": "tag",
"source": 0,
"value": "38"
},
{
"begin": 338,
"end": 360,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DUP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 338,
"end": 360,
"name": "ADD",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 338,
"end": 360,
"name": "DUP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SWAP2",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DIV",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "MUL",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 338,
"end": 360,
"name": "ADD",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 338,
"end": 360,
"name": "MLOAD",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SWAP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DUP2",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "ADD",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 338,
"end": 360,
"name": "MSTORE",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DUP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SWAP3",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SWAP2",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SWAP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DUP2",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DUP2",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "MSTORE",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 338,
"end": 360,
"name": "ADD",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DUP3",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DUP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SLOAD",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH [tag]",
"source": 0,
"value": "40"
},
{
"begin": 338,
"end": 360,
"name": "SWAP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH [tag]",
"source": 0,
"value": "39"
},
{
"begin": 338,
"end": 360,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 338,
"end": 360,
"name": "tag",
"source": 0,
"value": "40"
},
{
"begin": 338,
"end": 360,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DUP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "ISZERO",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH [tag]",
"source": 0,
"value": "41"
},
{
"begin": 338,
"end": 360,
"name": "JUMPI",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DUP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 338,
"end": 360,
"name": "LT",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH [tag]",
"source": 0,
"value": "42"
},
{
"begin": 338,
"end": 360,
"name": "JUMPI",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 338,
"end": 360,
"name": "DUP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DUP4",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SLOAD",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DIV",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "MUL",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DUP4",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "MSTORE",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SWAP2",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 338,
"end": 360,
"name": "ADD",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SWAP2",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH [tag]",
"source": 0,
"value": "41"
},
{
"begin": 338,
"end": 360,
"name": "JUMP",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "tag",
"source": 0,
"value": "42"
},
{
"begin": 338,
"end": 360,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DUP3",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "ADD",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SWAP2",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SWAP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 338,
"end": 360,
"name": "MSTORE",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 338,
"end": 360,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 338,
"end": 360,
"name": "KECCAK256",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SWAP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "tag",
"source": 0,
"value": "43"
},
{
"begin": 338,
"end": 360,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DUP2",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SLOAD",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DUP2",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "MSTORE",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SWAP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 338,
"end": 360,
"name": "ADD",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SWAP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 338,
"end": 360,
"name": "ADD",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DUP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DUP4",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "GT",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH [tag]",
"source": 0,
"value": "43"
},
{
"begin": 338,
"end": 360,
"name": "JUMPI",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DUP3",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SWAP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SUB",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 338,
"end": 360,
"name": "AND",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DUP3",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "ADD",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SWAP2",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "tag",
"source": 0,
"value": "41"
},
{
"begin": 338,
"end": 360,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "POP",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "POP",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "POP",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "POP",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "POP",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "SWAP1",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "POP",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "DUP3",
"source": 0
},
{
"begin": 338,
"end": 360,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 385,
"end": 475,
"name": "tag",
"source": 0,
"value": "25"
},
{
"begin": 385,
"end": 475,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 424,
"end": 431,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 454,
"end": 468,
"name": "DUP1",
"source": 0
},
{
"begin": 454,
"end": 468,
"name": "SLOAD",
"source": 0
},
{
"begin": 447,
"end": 468,
"name": "SWAP1",
"source": 0
},
{
"begin": 447,
"end": 468,
"name": "POP",
"source": 0
},
{
"begin": 385,
"end": 475,
"name": "SWAP1",
"source": 0
},
{
"begin": 385,
"end": 475,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "35"
},
{
"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": "45"
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "39"
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1,
"value": "[in]"
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "45"
},
{
"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": "47"
},
{
"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": "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": "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": "48"
},
{
"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": "46"
},
{
"begin": -1,
"end": -1,
"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": "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": "46"
},
{
"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": "49"
},
{
"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": "50"
},
{
"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": "49"
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"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": "tag",
"source": -1,
"value": "46"
},
{
"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": "51"
},
{
"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": "52"
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1,
"value": "[in]"
},
{
"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,
"name": "JUMP",
"source": -1,
"value": "[out]"
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "52"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "53"
},
{
"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": "54"
},
{
"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": "53"
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "54"
},
{
"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": "JUMP",
"source": -1,
"value": "[out]"
},
{
"begin": 21,
"end": 574,
"name": "tag",
"source": 1,
"value": "56"
},
{
"begin": 21,
"end": 574,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 79,
"end": 87,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 89,
"end": 95,
"name": "DUP1",
"source": 1
},
{
"begin": 139,
"end": 142,
"name": "DUP4",
"source": 1
},
{
"begin": 132,
"end": 136,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 124,
"end": 130,
"name": "DUP5",
"source": 1
},
{
"begin": 120,
"end": 137,
"name": "ADD",
"source": 1
},
{
"begin": 116,
"end": 143,
"name": "SLT",
"source": 1
},
{
"begin": 106,
"end": 228,
"name": "PUSH [tag]",
"source": 1,
"value": "58"
},
{
"begin": 106,
"end": 228,
"name": "JUMPI",
"source": 1
},
{
"begin": 147,
"end": 226,
"name": "PUSH [tag]",
"source": 1,
"value": "59"
},
{
"begin": 147,
"end": 226,
"name": "PUSH [tag]",
"source": 1,
"value": "60"
},
{
"begin": 147,
"end": 226,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 147,
"end": 226,
"name": "tag",
"source": 1,
"value": "59"
},
{
"begin": 147,
"end": 226,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 106,
"end": 228,
"name": "tag",
"source": 1,
"value": "58"
},
{
"begin": 106,
"end": 228,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 260,
"end": 266,
"name": "DUP3",
"source": 1
},
{
"begin": 247,
"end": 267,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 237,
"end": 267,
"name": "SWAP1",
"source": 1
},
{
"begin": 237,
"end": 267,
"name": "POP",
"source": 1
},
{
"begin": 290,
"end": 308,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 282,
"end": 288,
"name": "DUP2",
"source": 1
},
{
"begin": 279,
"end": 309,
"name": "GT",
"source": 1
},
{
"begin": 276,
"end": 393,
"name": "ISZERO",
"source": 1
},
{
"begin": 276,
"end": 393,
"name": "PUSH [tag]",
"source": 1,
"value": "61"
},
{
"begin": 276,
"end": 393,
"name": "JUMPI",
"source": 1
},
{
"begin": 312,
"end": 391,
"name": "PUSH [tag]",
"source": 1,
"value": "62"
},
{
"begin": 312,
"end": 391,
"name": "PUSH [tag]",
"source": 1,
"value": "63"
},
{
"begin": 312,
"end": 391,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 312,
"end": 391,
"name": "tag",
"source": 1,
"value": "62"
},
{
"begin": 312,
"end": 391,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 276,
"end": 393,
"name": "tag",
"source": 1,
"value": "61"
},
{
"begin": 276,
"end": 393,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 426,
"end": 430,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 418,
"end": 424,
"name": "DUP4",
"source": 1
},
{
"begin": 414,
"end": 431,
"name": "ADD",
"source": 1
},
{
"begin": 402,
"end": 431,
"name": "SWAP2",
"source": 1
},
{
"begin": 402,
"end": 431,
"name": "POP",
"source": 1
},
{
"begin": 480,
"end": 483,
"name": "DUP4",
"source": 1
},
{
"begin": 472,
"end": 476,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 464,
"end": 470,
"name": "DUP3",
"source": 1
},
{
"begin": 460,
"end": 477,
"name": "MUL",
"source": 1
},
{
"begin": 450,
"end": 458,
"name": "DUP4",
"source": 1
},
{
"begin": 446,
"end": 478,
"name": "ADD",
"source": 1
},
{
"begin": 443,
"end": 484,
"name": "GT",
"source": 1
},
{
"begin": 440,
"end": 568,
"name": "ISZERO",
"source": 1
},
{
"begin": 440,
"end": 568,
"name": "PUSH [tag]",
"source": 1,
"value": "64"
},
{
"begin": 440,
"end": 568,
"name": "JUMPI",
"source": 1
},
{
"begin": 487,
"end": 566,
"name": "PUSH [tag]",
"source": 1,
"value": "65"
},
{
"begin": 487,
"end": 566,
"name": "PUSH [tag]",
"source": 1,
"value": "66"
},
{
"begin": 487,
"end": 566,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 487,
"end": 566,
"name": "tag",
"source": 1,
"value": "65"
},
{
"begin": 487,
"end": 566,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 440,
"end": 568,
"name": "tag",
"source": 1,
"value": "64"
},
{
"begin": 440,
"end": 568,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 21,
"end": 574,
"name": "SWAP3",
"source": 1
},
{
"begin": 21,
"end": 574,
"name": "POP",
"source": 1
},
{
"begin": 21,
"end": 574,
"name": "SWAP3",
"source": 1
},
{
"begin": 21,
"end": 574,
"name": "SWAP1",
"source": 1
},
{
"begin": 21,
"end": 574,
"name": "POP",
"source": 1
},
{
"begin": 21,
"end": 574,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 580,
"end": 719,
"name": "tag",
"source": 1,
"value": "67"
},
{
"begin": 580,
"end": 719,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 626,
"end": 631,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 664,
"end": 670,
"name": "DUP2",
"source": 1
},
{
"begin": 651,
"end": 671,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 642,
"end": 671,
"name": "SWAP1",
"source": 1
},
{
"begin": 642,
"end": 671,
"name": "POP",
"source": 1
},
{
"begin": 680,
"end": 713,
"name": "PUSH [tag]",
"source": 1,
"value": "69"
},
{
"begin": 707,
"end": 712,
"name": "DUP2",
"source": 1
},
{
"begin": 680,
"end": 713,
"name": "PUSH [tag]",
"source": 1,
"value": "70"
},
{
"begin": 680,
"end": 713,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 680,
"end": 713,
"name": "tag",
"source": 1,
"value": "69"
},
{
"begin": 680,
"end": 713,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 580,
"end": 719,
"name": "SWAP3",
"source": 1
},
{
"begin": 580,
"end": 719,
"name": "SWAP2",
"source": 1
},
{
"begin": 580,
"end": 719,
"name": "POP",
"source": 1
},
{
"begin": 580,
"end": 719,
"name": "POP",
"source": 1
},
{
"begin": 580,
"end": 719,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 725,
"end": 1399,
"name": "tag",
"source": 1,
"value": "17"
},
{
"begin": 725,
"end": 1399,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 805,
"end": 811,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 813,
"end": 819,
"name": "DUP1",
"source": 1
},
{
"begin": 821,
"end": 827,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 870,
"end": 872,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 858,
"end": 867,
"name": "DUP5",
"source": 1
},
{
"begin": 849,
"end": 856,
"name": "DUP7",
"source": 1
},
{
"begin": 845,
"end": 868,
"name": "SUB",
"source": 1
},
{
"begin": 841,
"end": 873,
"name": "SLT",
"source": 1
},
{
"begin": 838,
"end": 957,
"name": "ISZERO",
"source": 1
},
{
"begin": 838,
"end": 957,
"name": "PUSH [tag]",
"source": 1,
"value": "72"
},
{
"begin": 838,
"end": 957,
"name": "JUMPI",
"source": 1
},
{
"begin": 876,
"end": 955,
"name": "PUSH [tag]",
"source": 1,
"value": "73"
},
{
"begin": 876,
"end": 955,
"name": "PUSH [tag]",
"source": 1,
"value": "74"
},
{
"begin": 876,
"end": 955,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 876,
"end": 955,
"name": "tag",
"source": 1,
"value": "73"
},
{
"begin": 876,
"end": 955,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 838,
"end": 957,
"name": "tag",
"source": 1,
"value": "72"
},
{
"begin": 838,
"end": 957,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1024,
"end": 1025,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1013,
"end": 1022,
"name": "DUP5",
"source": 1
},
{
"begin": 1009,
"end": 1026,
"name": "ADD",
"source": 1
},
{
"begin": 996,
"end": 1027,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 1054,
"end": 1072,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 1046,
"end": 1052,
"name": "DUP2",
"source": 1
},
{
"begin": 1043,
"end": 1073,
"name": "GT",
"source": 1
},
{
"begin": 1040,
"end": 1157,
"name": "ISZERO",
"source": 1
},
{
"begin": 1040,
"end": 1157,
"name": "PUSH [tag]",
"source": 1,
"value": "75"
},
{
"begin": 1040,
"end": 1157,
"name": "JUMPI",
"source": 1
},
{
"begin": 1076,
"end": 1155,
"name": "PUSH [tag]",
"source": 1,
"value": "76"
},
{
"begin": 1076,
"end": 1155,
"name": "PUSH [tag]",
"source": 1,
"value": "77"
},
{
"begin": 1076,
"end": 1155,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1076,
"end": 1155,
"name": "tag",
"source": 1,
"value": "76"
},
{
"begin": 1076,
"end": 1155,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1040,
"end": 1157,
"name": "tag",
"source": 1,
"value": "75"
},
{
"begin": 1040,
"end": 1157,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1189,
"end": 1254,
"name": "PUSH [tag]",
"source": 1,
"value": "78"
},
{
"begin": 1246,
"end": 1253,
"name": "DUP7",
"source": 1
},
{
"begin": 1237,
"end": 1243,
"name": "DUP3",
"source": 1
},
{
"begin": 1226,
"end": 1235,
"name": "DUP8",
"source": 1
},
{
"begin": 1222,
"end": 1244,
"name": "ADD",
"source": 1
},
{
"begin": 1189,
"end": 1254,
"name": "PUSH [tag]",
"source": 1,
"value": "56"
},
{
"begin": 1189,
"end": 1254,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1189,
"end": 1254,
"name": "tag",
"source": 1,
"value": "78"
},
{
"begin": 1189,
"end": 1254,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1171,
"end": 1254,
"name": "SWAP4",
"source": 1
},
{
"begin": 1171,
"end": 1254,
"name": "POP",
"source": 1
},
{
"begin": 1171,
"end": 1254,
"name": "SWAP4",
"source": 1
},
{
"begin": 1171,
"end": 1254,
"name": "POP",
"source": 1
},
{
"begin": 967,
"end": 1264,
"name": "POP",
"source": 1
},
{
"begin": 1303,
"end": 1305,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1329,
"end": 1382,
"name": "PUSH [tag]",
"source": 1,
"value": "79"
},
{
"begin": 1374,
"end": 1381,
"name": "DUP7",
"source": 1
},
{
"begin": 1365,
"end": 1371,
"name": "DUP3",
"source": 1
},
{
"begin": 1354,
"end": 1363,
"name": "DUP8",
"source": 1
},
{
"begin": 1350,
"end": 1372,
"name": "ADD",
"source": 1
},
{
"begin": 1329,
"end": 1382,
"name": "PUSH [tag]",
"source": 1,
"value": "67"
},
{
"begin": 1329,
"end": 1382,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1329,
"end": 1382,
"name": "tag",
"source": 1,
"value": "79"
},
{
"begin": 1329,
"end": 1382,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1319,
"end": 1382,
"name": "SWAP2",
"source": 1
},
{
"begin": 1319,
"end": 1382,
"name": "POP",
"source": 1
},
{
"begin": 1274,
"end": 1392,
"name": "POP",
"source": 1
},
{
"begin": 725,
"end": 1399,
"name": "SWAP3",
"source": 1
},
{
"begin": 725,
"end": 1399,
"name": "POP",
"source": 1
},
{
"begin": 725,
"end": 1399,
"name": "SWAP3",
"source": 1
},
{
"begin": 725,
"end": 1399,
"name": "POP",
"source": 1
},
{
"begin": 725,
"end": 1399,
"name": "SWAP3",
"source": 1
},
{
"begin": 725,
"end": 1399,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1405,
"end": 1734,
"name": "tag",
"source": 1,
"value": "10"
},
{
"begin": 1405,
"end": 1734,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1464,
"end": 1470,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1513,
"end": 1515,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1501,
"end": 1510,
"name": "DUP3",
"source": 1
},
{
"begin": 1492,
"end": 1499,
"name": "DUP5",
"source": 1
},
{
"begin": 1488,
"end": 1511,
"name": "SUB",
"source": 1
},
{
"begin": 1484,
"end": 1516,
"name": "SLT",
"source": 1
},
{
"begin": 1481,
"end": 1600,
"name": "ISZERO",
"source": 1
},
{
"begin": 1481,
"end": 1600,
"name": "PUSH [tag]",
"source": 1,
"value": "81"
},
{
"begin": 1481,
"end": 1600,
"name": "JUMPI",
"source": 1
},
{
"begin": 1519,
"end": 1598,
"name": "PUSH [tag]",
"source": 1,
"value": "82"
},
{
"begin": 1519,
"end": 1598,
"name": "PUSH [tag]",
"source": 1,
"value": "74"
},
{
"begin": 1519,
"end": 1598,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1519,
"end": 1598,
"name": "tag",
"source": 1,
"value": "82"
},
{
"begin": 1519,
"end": 1598,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1481,
"end": 1600,
"name": "tag",
"source": 1,
"value": "81"
},
{
"begin": 1481,
"end": 1600,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1639,
"end": 1640,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1664,
"end": 1717,
"name": "PUSH [tag]",
"source": 1,
"value": "83"
},
{
"begin": 1709,
"end": 1716,
"name": "DUP5",
"source": 1
},
{
"begin": 1700,
"end": 1706,
"name": "DUP3",
"source": 1
},
{
"begin": 1689,
"end": 1698,
"name": "DUP6",
"source": 1
},
{
"begin": 1685,
"end": 1707,
"name": "ADD",
"source": 1
},
{
"begin": 1664,
"end": 1717,
"name": "PUSH [tag]",
"source": 1,
"value": "67"
},
{
"begin": 1664,
"end": 1717,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1664,
"end": 1717,
"name": "tag",
"source": 1,
"value": "83"
},
{
"begin": 1664,
"end": 1717,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1654,
"end": 1717,
"name": "SWAP2",
"source": 1
},
{
"begin": 1654,
"end": 1717,
"name": "POP",
"source": 1
},
{
"begin": 1610,
"end": 1727,
"name": "POP",
"source": 1
},
{
"begin": 1405,
"end": 1734,
"name": "SWAP3",
"source": 1
},
{
"begin": 1405,
"end": 1734,
"name": "SWAP2",
"source": 1
},
{
"begin": 1405,
"end": 1734,
"name": "POP",
"source": 1
},
{
"begin": 1405,
"end": 1734,
"name": "POP",
"source": 1
},
{
"begin": 1405,
"end": 1734,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1740,
"end": 2104,
"name": "tag",
"source": 1,
"value": "84"
},
{
"begin": 1740,
"end": 2104,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1828,
"end": 1831,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1856,
"end": 1895,
"name": "PUSH [tag]",
"source": 1,
"value": "86"
},
{
"begin": 1889,
"end": 1894,
"name": "DUP3",
"source": 1
},
{
"begin": 1856,
"end": 1895,
"name": "PUSH [tag]",
"source": 1,
"value": "87"
},
{
"begin": 1856,
"end": 1895,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1856,
"end": 1895,
"name": "tag",
"source": 1,
"value": "86"
},
{
"begin": 1856,
"end": 1895,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1911,
"end": 1982,
"name": "PUSH [tag]",
"source": 1,
"value": "88"
},
{
"begin": 1975,
"end": 1981,
"name": "DUP2",
"source": 1
},
{
"begin": 1970,
"end": 1973,
"name": "DUP6",
"source": 1
},
{
"begin": 1911,
"end": 1982,
"name": "PUSH [tag]",
"source": 1,
"value": "89"
},
{
"begin": 1911,
"end": 1982,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1911,
"end": 1982,
"name": "tag",
"source": 1,
"value": "88"
},
{
"begin": 1911,
"end": 1982,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1904,
"end": 1982,
"name": "SWAP4",
"source": 1
},
{
"begin": 1904,
"end": 1982,
"name": "POP",
"source": 1
},
{
"begin": 1991,
"end": 2043,
"name": "PUSH [tag]",
"source": 1,
"value": "90"
},
{
"begin": 2036,
"end": 2042,
"name": "DUP2",
"source": 1
},
{
"begin": 2031,
"end": 2034,
"name": "DUP6",
"source": 1
},
{
"begin": 2024,
"end": 2028,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2017,
"end": 2022,
"name": "DUP7",
"source": 1
},
{
"begin": 2013,
"end": 2029,
"name": "ADD",
"source": 1
},
{
"begin": 1991,
"end": 2043,
"name": "PUSH [tag]",
"source": 1,
"value": "91"
},
{
"begin": 1991,
"end": 2043,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1991,
"end": 2043,
"name": "tag",
"source": 1,
"value": "90"
},
{
"begin": 1991,
"end": 2043,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2068,
"end": 2097,
"name": "PUSH [tag]",
"source": 1,
"value": "92"
},
{
"begin": 2090,
"end": 2096,
"name": "DUP2",
"source": 1
},
{
"begin": 2068,
"end": 2097,
"name": "PUSH [tag]",
"source": 1,
"value": "93"
},
{
"begin": 2068,
"end": 2097,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2068,
"end": 2097,
"name": "tag",
"source": 1,
"value": "92"
},
{
"begin": 2068,
"end": 2097,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2063,
"end": 2066,
"name": "DUP5",
"source": 1
},
{
"begin": 2059,
"end": 2098,
"name": "ADD",
"source": 1
},
{
"begin": 2052,
"end": 2098,
"name": "SWAP2",
"source": 1
},
{
"begin": 2052,
"end": 2098,
"name": "POP",
"source": 1
},
{
"begin": 1832,
"end": 2104,
"name": "POP",
"source": 1
},
{
"begin": 1740,
"end": 2104,
"name": "SWAP3",
"source": 1
},
{
"begin": 1740,
"end": 2104,
"name": "SWAP2",
"source": 1
},
{
"begin": 1740,
"end": 2104,
"name": "POP",
"source": 1
},
{
"begin": 1740,
"end": 2104,
"name": "POP",
"source": 1
},
{
"begin": 1740,
"end": 2104,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 2110,
"end": 2228,
"name": "tag",
"source": 1,
"value": "94"
},
{
"begin": 2110,
"end": 2228,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2197,
"end": 2221,
"name": "PUSH [tag]",
"source": 1,
"value": "96"
},
{
"begin": 2215,
"end": 2220,
"name": "DUP2",
"source": 1
},
{
"begin": 2197,
"end": 2221,
"name": "PUSH [tag]",
"source": 1,
"value": "97"
},
{
"begin": 2197,
"end": 2221,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2197,
"end": 2221,
"name": "tag",
"source": 1,
"value": "96"
},
{
"begin": 2197,
"end": 2221,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2192,
"end": 2195,
"name": "DUP3",
"source": 1
},
{
"begin": 2185,
"end": 2222,
"name": "MSTORE",
"source": 1
},
{
"begin": 2110,
"end": 2228,
"name": "POP",
"source": 1
},
{
"begin": 2110,
"end": 2228,
"name": "POP",
"source": 1
},
{
"begin": 2110,
"end": 2228,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 2234,
"end": 2456,
"name": "tag",
"source": 1,
"value": "27"
},
{
"begin": 2234,
"end": 2456,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2327,
"end": 2331,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2365,
"end": 2367,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2354,
"end": 2363,
"name": "DUP3",
"source": 1
},
{
"begin": 2350,
"end": 2368,
"name": "ADD",
"source": 1
},
{
"begin": 2342,
"end": 2368,
"name": "SWAP1",
"source": 1
},
{
"begin": 2342,
"end": 2368,
"name": "POP",
"source": 1
},
{
"begin": 2378,
"end": 2449,
"name": "PUSH [tag]",
"source": 1,
"value": "99"
},
{
"begin": 2446,
"end": 2447,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2435,
"end": 2444,
"name": "DUP4",
"source": 1
},
{
"begin": 2431,
"end": 2448,
"name": "ADD",
"source": 1
},
{
"begin": 2422,
"end": 2428,
"name": "DUP5",
"source": 1
},
{
"begin": 2378,
"end": 2449,
"name": "PUSH [tag]",
"source": 1,
"value": "94"
},
{
"begin": 2378,
"end": 2449,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2378,
"end": 2449,
"name": "tag",
"source": 1,
"value": "99"
},
{
"begin": 2378,
"end": 2449,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2234,
"end": 2456,
"name": "SWAP3",
"source": 1
},
{
"begin": 2234,
"end": 2456,
"name": "SWAP2",
"source": 1
},
{
"begin": 2234,
"end": 2456,
"name": "POP",
"source": 1
},
{
"begin": 2234,
"end": 2456,
"name": "POP",
"source": 1
},
{
"begin": 2234,
"end": 2456,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 2462,
"end": 2885,
"name": "tag",
"source": 1,
"value": "23"
},
{
"begin": 2462,
"end": 2885,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2603,
"end": 2607,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2641,
"end": 2643,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 2630,
"end": 2639,
"name": "DUP3",
"source": 1
},
{
"begin": 2626,
"end": 2644,
"name": "ADD",
"source": 1
},
{
"begin": 2618,
"end": 2644,
"name": "SWAP1",
"source": 1
},
{
"begin": 2618,
"end": 2644,
"name": "POP",
"source": 1
},
{
"begin": 2654,
"end": 2725,
"name": "PUSH [tag]",
"source": 1,
"value": "101"
},
{
"begin": 2722,
"end": 2723,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2711,
"end": 2720,
"name": "DUP4",
"source": 1
},
{
"begin": 2707,
"end": 2724,
"name": "ADD",
"source": 1
},
{
"begin": 2698,
"end": 2704,
"name": "DUP6",
"source": 1
},
{
"begin": 2654,
"end": 2725,
"name": "PUSH [tag]",
"source": 1,
"value": "94"
},
{
"begin": 2654,
"end": 2725,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2654,
"end": 2725,
"name": "tag",
"source": 1,
"value": "101"
},
{
"begin": 2654,
"end": 2725,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2772,
"end": 2781,
"name": "DUP2",
"source": 1
},
{
"begin": 2766,
"end": 2770,
"name": "DUP2",
"source": 1
},
{
"begin": 2762,
"end": 2782,
"name": "SUB",
"source": 1
},
{
"begin": 2757,
"end": 2759,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2746,
"end": 2755,
"name": "DUP4",
"source": 1
},
{
"begin": 2742,
"end": 2760,
"name": "ADD",
"source": 1
},
{
"begin": 2735,
"end": 2783,
"name": "MSTORE",
"source": 1
},
{
"begin": 2800,
"end": 2878,
"name": "PUSH [tag]",
"source": 1,
"value": "102"
},
{
"begin": 2873,
"end": 2877,
"name": "DUP2",
"source": 1
},
{
"begin": 2864,
"end": 2870,
"name": "DUP5",
"source": 1
},
{
"begin": 2800,
"end": 2878,
"name": "PUSH [tag]",
"source": 1,
"value": "84"
},
{
"begin": 2800,
"end": 2878,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2800,
"end": 2878,
"name": "tag",
"source": 1,
"value": "102"
},
{
"begin": 2800,
"end": 2878,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2792,
"end": 2878,
"name": "SWAP1",
"source": 1
},
{
"begin": 2792,
"end": 2878,
"name": "POP",
"source": 1
},
{
"begin": 2462,
"end": 2885,
"name": "SWAP4",
"source": 1
},
{
"begin": 2462,
"end": 2885,
"name": "SWAP3",
"source": 1
},
{
"begin": 2462,
"end": 2885,
"name": "POP",
"source": 1
},
{
"begin": 2462,
"end": 2885,
"name": "POP",
"source": 1
},
{
"begin": 2462,
"end": 2885,
"name": "POP",
"source": 1
},
{
"begin": 2462,
"end": 2885,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 2972,
"end": 3071,
"name": "tag",
"source": 1,
"value": "87"
},
{
"begin": 2972,
"end": 3071,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3024,
"end": 3030,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3058,
"end": 3063,
"name": "DUP2",
"source": 1
},
{
"begin": 3052,
"end": 3064,
"name": "MLOAD",
"source": 1
},
{
"begin": 3042,
"end": 3064,
"name": "SWAP1",
"source": 1
},
{
"begin": 3042,
"end": 3064,
"name": "POP",
"source": 1
},
{
"begin": 2972,
"end": 3071,
"name": "SWAP2",
"source": 1
},
{
"begin": 2972,
"end": 3071,
"name": "SWAP1",
"source": 1
},
{
"begin": 2972,
"end": 3071,
"name": "POP",
"source": 1
},
{
"begin": 2972,
"end": 3071,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 3077,
"end": 3246,
"name": "tag",
"source": 1,
"value": "89"
},
{
"begin": 3077,
"end": 3246,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3161,
"end": 3172,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3195,
"end": 3201,
"name": "DUP3",
"source": 1
},
{
"begin": 3190,
"end": 3193,
"name": "DUP3",
"source": 1
},
{
"begin": 3183,
"end": 3202,
"name": "MSTORE",
"source": 1
},
{
"begin": 3235,
"end": 3239,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 3230,
"end": 3233,
"name": "DUP3",
"source": 1
},
{
"begin": 3226,
"end": 3240,
"name": "ADD",
"source": 1
},
{
"begin": 3211,
"end": 3240,
"name": "SWAP1",
"source": 1
},
{
"begin": 3211,
"end": 3240,
"name": "POP",
"source": 1
},
{
"begin": 3077,
"end": 3246,
"name": "SWAP3",
"source": 1
},
{
"begin": 3077,
"end": 3246,
"name": "SWAP2",
"source": 1
},
{
"begin": 3077,
"end": 3246,
"name": "POP",
"source": 1
},
{
"begin": 3077,
"end": 3246,
"name": "POP",
"source": 1
},
{
"begin": 3077,
"end": 3246,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 3252,
"end": 3557,
"name": "tag",
"source": 1,
"value": "30"
},
{
"begin": 3252,
"end": 3557,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3292,
"end": 3295,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3311,
"end": 3331,
"name": "PUSH [tag]",
"source": 1,
"value": "108"
},
{
"begin": 3329,
"end": 3330,
"name": "DUP3",
"source": 1
},
{
"begin": 3311,
"end": 3331,
"name": "PUSH [tag]",
"source": 1,
"value": "97"
},
{
"begin": 3311,
"end": 3331,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 3311,
"end": 3331,
"name": "tag",
"source": 1,
"value": "108"
},
{
"begin": 3311,
"end": 3331,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3306,
"end": 3331,
"name": "SWAP2",
"source": 1
},
{
"begin": 3306,
"end": 3331,
"name": "POP",
"source": 1
},
{
"begin": 3345,
"end": 3365,
"name": "PUSH [tag]",
"source": 1,
"value": "109"
},
{
"begin": 3363,
"end": 3364,
"name": "DUP4",
"source": 1
},
{
"begin": 3345,
"end": 3365,
"name": "PUSH [tag]",
"source": 1,
"value": "97"
},
{
"begin": 3345,
"end": 3365,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 3345,
"end": 3365,
"name": "tag",
"source": 1,
"value": "109"
},
{
"begin": 3345,
"end": 3365,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3340,
"end": 3365,
"name": "SWAP3",
"source": 1
},
{
"begin": 3340,
"end": 3365,
"name": "POP",
"source": 1
},
{
"begin": 3499,
"end": 3500,
"name": "DUP3",
"source": 1
},
{
"begin": 3431,
"end": 3497,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3427,
"end": 3501,
"name": "SUB",
"source": 1
},
{
"begin": 3424,
"end": 3425,
"name": "DUP3",
"source": 1
},
{
"begin": 3421,
"end": 3502,
"name": "GT",
"source": 1
},
{
"begin": 3418,
"end": 3525,
"name": "ISZERO",
"source": 1
},
{
"begin": 3418,
"end": 3525,
"name": "PUSH [tag]",
"source": 1,
"value": "110"
},
{
"begin": 3418,
"end": 3525,
"name": "JUMPI",
"source": 1
},
{
"begin": 3505,
"end": 3523,
"name": "PUSH [tag]",
"source": 1,
"value": "111"
},
{
"begin": 3505,
"end": 3523,
"name": "PUSH [tag]",
"source": 1,
"value": "112"
},
{
"begin": 3505,
"end": 3523,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 3505,
"end": 3523,
"name": "tag",
"source": 1,
"value": "111"
},
{
"begin": 3505,
"end": 3523,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3418,
"end": 3525,
"name": "tag",
"source": 1,
"value": "110"
},
{
"begin": 3418,
"end": 3525,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3549,
"end": 3550,
"name": "DUP3",
"source": 1
},
{
"begin": 3546,
"end": 3547,
"name": "DUP3",
"source": 1
},
{
"begin": 3542,
"end": 3551,
"name": "ADD",
"source": 1
},
{
"begin": 3535,
"end": 3551,
"name": "SWAP1",
"source": 1
},
{
"begin": 3535,
"end": 3551,
"name": "POP",
"source": 1
},
{
"begin": 3252,
"end": 3557,
"name": "SWAP3",
"source": 1
},
{
"begin": 3252,
"end": 3557,
"name": "SWAP2",
"source": 1
},
{
"begin": 3252,
"end": 3557,
"name": "POP",
"source": 1
},
{
"begin": 3252,
"end": 3557,
"name": "POP",
"source": 1
},
{
"begin": 3252,
"end": 3557,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 3563,
"end": 3640,
"name": "tag",
"source": 1,
"value": "97"
},
{
"begin": 3563,
"end": 3640,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3600,
"end": 3607,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3629,
"end": 3634,
"name": "DUP2",
"source": 1
},
{
"begin": 3618,
"end": 3634,
"name": "SWAP1",
"source": 1
},
{
"begin": 3618,
"end": 3634,
"name": "POP",
"source": 1
},
{
"begin": 3563,
"end": 3640,
"name": "SWAP2",
"source": 1
},
{
"begin": 3563,
"end": 3640,
"name": "SWAP1",
"source": 1
},
{
"begin": 3563,
"end": 3640,
"name": "POP",
"source": 1
},
{
"begin": 3563,
"end": 3640,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 3646,
"end": 3953,
"name": "tag",
"source": 1,
"value": "91"
},
{
"begin": 3646,
"end": 3953,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3714,
"end": 3715,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3724,
"end": 3837,
"name": "tag",
"source": 1,
"value": "115"
},
{
"begin": 3724,
"end": 3837,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3738,
"end": 3744,
"name": "DUP4",
"source": 1
},
{
"begin": 3735,
"end": 3736,
"name": "DUP2",
"source": 1
},
{
"begin": 3732,
"end": 3745,
"name": "LT",
"source": 1
},
{
"begin": 3724,
"end": 3837,
"name": "ISZERO",
"source": 1
},
{
"begin": 3724,
"end": 3837,
"name": "PUSH [tag]",
"source": 1,
"value": "117"
},
{
"begin": 3724,
"end": 3837,
"name": "JUMPI",
"source": 1
},
{
"begin": 3823,
"end": 3824,
"name": "DUP1",
"source": 1
},
{
"begin": 3818,
"end": 3821,
"name": "DUP3",
"source": 1
},
{
"begin": 3814,
"end": 3825,
"name": "ADD",
"source": 1
},
{
"begin": 3808,
"end": 3826,
"name": "MLOAD",
"source": 1
},
{
"begin": 3804,
"end": 3805,
"name": "DUP2",
"source": 1
},
{
"begin": 3799,
"end": 3802,
"name": "DUP5",
"source": 1
},
{
"begin": 3795,
"end": 3806,
"name": "ADD",
"source": 1
},
{
"begin": 3788,
"end": 3827,
"name": "MSTORE",
"source": 1
},
{
"begin": 3760,
"end": 3762,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 3757,
"end": 3758,
"name": "DUP2",
"source": 1
},
{
"begin": 3753,
"end": 3763,
"name": "ADD",
"source": 1
},
{
"begin": 3748,
"end": 3763,
"name": "SWAP1",
"source": 1
},
{
"begin": 3748,
"end": 3763,
"name": "POP",
"source": 1
},
{
"begin": 3724,
"end": 3837,
"name": "PUSH [tag]",
"source": 1,
"value": "115"
},
{
"begin": 3724,
"end": 3837,
"name": "JUMP",
"source": 1
},
{
"begin": 3724,
"end": 3837,
"name": "tag",
"source": 1,
"value": "117"
},
{
"begin": 3724,
"end": 3837,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3855,
"end": 3861,
"name": "DUP4",
"source": 1
},
{
"begin": 3852,
"end": 3853,
"name": "DUP2",
"source": 1
},
{
"begin": 3849,
"end": 3862,
"name": "GT",
"source": 1
},
{
"begin": 3846,
"end": 3947,
"name": "ISZERO",
"source": 1
},
{
"begin": 3846,
"end": 3947,
"name": "PUSH [tag]",
"source": 1,
"value": "118"
},
{
"begin": 3846,
"end": 3947,
"name": "JUMPI",
"source": 1
},
{
"begin": 3935,
"end": 3936,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3926,
"end": 3932,
"name": "DUP5",
"source": 1
},
{
"begin": 3921,
"end": 3924,
"name": "DUP5",
"source": 1
},
{
"begin": 3917,
"end": 3933,
"name": "ADD",
"source": 1
},
{
"begin": 3910,
"end": 3937,
"name": "MSTORE",
"source": 1
},
{
"begin": 3846,
"end": 3947,
"name": "tag",
"source": 1,
"value": "118"
},
{
"begin": 3846,
"end": 3947,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3695,
"end": 3953,
"name": "POP",
"source": 1
},
{
"begin": 3646,
"end": 3953,
"name": "POP",
"source": 1
},
{
"begin": 3646,
"end": 3953,
"name": "POP",
"source": 1
},
{
"begin": 3646,
"end": 3953,
"name": "POP",
"source": 1
},
{
"begin": 3646,
"end": 3953,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 3959,
"end": 4279,
"name": "tag",
"source": 1,
"value": "39"
},
{
"begin": 3959,
"end": 4279,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4003,
"end": 4009,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4040,
"end": 4041,
"name": "PUSH",
"source": 1,
"value": "2"
},
{
"begin": 4034,
"end": 4038,
"name": "DUP3",
"source": 1
},
{
"begin": 4030,
"end": 4042,
"name": "DIV",
"source": 1
},
{
"begin": 4020,
"end": 4042,
"name": "SWAP1",
"source": 1
},
{
"begin": 4020,
"end": 4042,
"name": "POP",
"source": 1
},
{
"begin": 4087,
"end": 4088,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 4081,
"end": 4085,
"name": "DUP3",
"source": 1
},
{
"begin": 4077,
"end": 4089,
"name": "AND",
"source": 1
},
{
"begin": 4108,
"end": 4126,
"name": "DUP1",
"source": 1
},
{
"begin": 4098,
"end": 4179,
"name": "PUSH [tag]",
"source": 1,
"value": "120"
},
{
"begin": 4098,
"end": 4179,
"name": "JUMPI",
"source": 1
},
{
"begin": 4164,
"end": 4168,
"name": "PUSH",
"source": 1,
"value": "7F"
},
{
"begin": 4156,
"end": 4162,
"name": "DUP3",
"source": 1
},
{
"begin": 4152,
"end": 4169,
"name": "AND",
"source": 1
},
{
"begin": 4142,
"end": 4169,
"name": "SWAP2",
"source": 1
},
{
"begin": 4142,
"end": 4169,
"name": "POP",
"source": 1
},
{
"begin": 4098,
"end": 4179,
"name": "tag",
"source": 1,
"value": "120"
},
{
"begin": 4098,
"end": 4179,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4226,
"end": 4228,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4218,
"end": 4224,
"name": "DUP3",
"source": 1
},
{
"begin": 4215,
"end": 4229,
"name": "LT",
"source": 1
},
{
"begin": 4195,
"end": 4213,
"name": "DUP2",
"source": 1
},
{
"begin": 4192,
"end": 4230,
"name": "EQ",
"source": 1
},
{
"begin": 4189,
"end": 4273,
"name": "ISZERO",
"source": 1
},
{
"begin": 4189,
"end": 4273,
"name": "PUSH [tag]",
"source": 1,
"value": "121"
},
{
"begin": 4189,
"end": 4273,
"name": "JUMPI",
"source": 1
},
{
"begin": 4245,
"end": 4263,
"name": "PUSH [tag]",
"source": 1,
"value": "122"
},
{
"begin": 4245,
"end": 4263,
"name": "PUSH [tag]",
"source": 1,
"value": "123"
},
{
"begin": 4245,
"end": 4263,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 4245,
"end": 4263,
"name": "tag",
"source": 1,
"value": "122"
},
{
"begin": 4245,
"end": 4263,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4189,
"end": 4273,
"name": "tag",
"source": 1,
"value": "121"
},
{
"begin": 4189,
"end": 4273,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4010,
"end": 4279,
"name": "POP",
"source": 1
},
{
"begin": 3959,
"end": 4279,
"name": "SWAP2",
"source": 1
},
{
"begin": 3959,
"end": 4279,
"name": "SWAP1",
"source": 1
},
{
"begin": 3959,
"end": 4279,
"name": "POP",
"source": 1
},
{
"begin": 3959,
"end": 4279,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 4285,
"end": 4465,
"name": "tag",
"source": 1,
"value": "112"
},
{
"begin": 4285,
"end": 4465,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4333,
"end": 4410,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 4330,
"end": 4331,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4323,
"end": 4411,
"name": "MSTORE",
"source": 1
},
{
"begin": 4430,
"end": 4434,
"name": "PUSH",
"source": 1,
"value": "11"
},
{
"begin": 4427,
"end": 4428,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 4420,
"end": 4435,
"name": "MSTORE",
"source": 1
},
{
"begin": 4454,
"end": 4458,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 4451,
"end": 4452,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4444,
"end": 4459,
"name": "REVERT",
"source": 1
},
{
"begin": 4471,
"end": 4651,
"name": "tag",
"source": 1,
"value": "123"
},
{
"begin": 4471,
"end": 4651,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4519,
"end": 4596,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 4516,
"end": 4517,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4509,
"end": 4597,
"name": "MSTORE",
"source": 1
},
{
"begin": 4616,
"end": 4620,
"name": "PUSH",
"source": 1,
"value": "22"
},
{
"begin": 4613,
"end": 4614,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 4606,
"end": 4621,
"name": "MSTORE",
"source": 1
},
{
"begin": 4640,
"end": 4644,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 4637,
"end": 4638,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4630,
"end": 4645,
"name": "REVERT",
"source": 1
},
{
"begin": 4657,
"end": 4774,
"name": "tag",
"source": 1,
"value": "63"
},
{
"begin": 4657,
"end": 4774,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4766,
"end": 4767,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4763,
"end": 4764,
"name": "DUP1",
"source": 1
},
{
"begin": 4756,
"end": 4768,
"name": "REVERT",
"source": 1
},
{
"begin": 4780,
"end": 4897,
"name": "tag",
"source": 1,
"value": "60"
},
{
"begin": 4780,
"end": 4897,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4889,
"end": 4890,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4886,
"end": 4887,
"name": "DUP1",
"source": 1
},
{
"begin": 4879,
"end": 4891,
"name": "REVERT",
"source": 1
},
{
"begin": 4903,
"end": 5020,
"name": "tag",
"source": 1,
"value": "66"
},
{
"begin": 4903,
"end": 5020,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5012,
"end": 5013,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5009,
"end": 5010,
"name": "DUP1",
"source": 1
},
{
"begin": 5002,
"end": 5014,
"name": "REVERT",
"source": 1
},
{
"begin": 5026,
"end": 5143,
"name": "tag",
"source": 1,
"value": "77"
},
{
"begin": 5026,
"end": 5143,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5135,
"end": 5136,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5132,
"end": 5133,
"name": "DUP1",
"source": 1
},
{
"begin": 5125,
"end": 5137,
"name": "REVERT",
"source": 1
},
{
"begin": 5149,
"end": 5266,
"name": "tag",
"source": 1,
"value": "74"
},
{
"begin": 5149,
"end": 5266,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5258,
"end": 5259,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5255,
"end": 5256,
"name": "DUP1",
"source": 1
},
{
"begin": 5248,
"end": 5260,
"name": "REVERT",
"source": 1
},
{
"begin": 5272,
"end": 5374,
"name": "tag",
"source": 1,
"value": "93"
},
{
"begin": 5272,
"end": 5374,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5313,
"end": 5319,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5364,
"end": 5366,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 5360,
"end": 5367,
"name": "NOT",
"source": 1
},
{
"begin": 5355,
"end": 5357,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 5348,
"end": 5353,
"name": "DUP4",
"source": 1
},
{
"begin": 5344,
"end": 5358,
"name": "ADD",
"source": 1
},
{
"begin": 5340,
"end": 5368,
"name": "AND",
"source": 1
},
{
"begin": 5330,
"end": 5368,
"name": "SWAP1",
"source": 1
},
{
"begin": 5330,
"end": 5368,
"name": "POP",
"source": 1
},
{
"begin": 5272,
"end": 5374,
"name": "SWAP2",
"source": 1
},
{
"begin": 5272,
"end": 5374,
"name": "SWAP1",
"source": 1
},
{
"begin": 5272,
"end": 5374,
"name": "POP",
"source": 1
},
{
"begin": 5272,
"end": 5374,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 5380,
"end": 5502,
"name": "tag",
"source": 1,
"value": "70"
},
{
"begin": 5380,
"end": 5502,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5453,
"end": 5477,
"name": "PUSH [tag]",
"source": 1,
"value": "133"
},
{
"begin": 5471,
"end": 5476,
"name": "DUP2",
"source": 1
},
{
"begin": 5453,
"end": 5477,
"name": "PUSH [tag]",
"source": 1,
"value": "97"
},
{
"begin": 5453,
"end": 5477,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 5453,
"end": 5477,
"name": "tag",
"source": 1,
"value": "133"
},
{
"begin": 5453,
"end": 5477,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5446,
"end": 5451,
"name": "DUP2",
"source": 1
},
{
"begin": 5443,
"end": 5478,
"name": "EQ",
"source": 1
},
{
"begin": 5433,
"end": 5496,
"name": "PUSH [tag]",
"source": 1,
"value": "134"
},
{
"begin": 5433,
"end": 5496,
"name": "JUMPI",
"source": 1
},
{
"begin": 5492,
"end": 5493,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5489,
"end": 5490,
"name": "DUP1",
"source": 1
},
{
"begin": 5482,
"end": 5494,
"name": "REVERT",
"source": 1
},
{
"begin": 5433,
"end": 5496,
"name": "tag",
"source": 1,
"value": "134"
},
{
"begin": 5433,
"end": 5496,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5380,
"end": 5502,
"name": "POP",
"source": 1
},
{
"begin": 5380,
"end": 5502,
"name": "JUMP",
"source": 1,
"value": "[out]"
}
]
}
}
},
"methodIdentifiers": {
"add(uint256)": "1003e2d2",
"addPerson(string,uint256)": "6f760f41",
"people(uint256)": "9e7a13ad",
"retrive()": "a6b7fc5b",
"store(uint256)": "6057361d"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"add\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_favoriteNumber\",\"type\":\"uint256\"}],\"name\":\"addPerson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"people\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"favoriteNumber\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"retrive\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_favoriteNumber\",\"type\":\"uint256\"}],\"name\":\"store\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/SimpleStorage.sol\":\"SimpleStorage\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/SimpleStorage.sol\":{\"keccak256\":\"0xcccfa4b71646b0aedc4ebad213d973b4d65b269eebdf0be8d1b57471e411804b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5341b32d2105e2ea6e539a3d9b5445f8a48da611d5a1d87be015327619d1525\",\"dweb:/ipfs/QmVSRaLvDcR8K1yVEfUWiPVi6jeeXZPjZUUeMSAQpN8sDF\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 3,
"contract": "contracts/SimpleStorage.sol:SimpleStorage",
"label": "favoriteNumber",
"offset": 0,
"slot": "0",
"type": "t_uint256"
},
{
"astId": 22,
"contract": "contracts/SimpleStorage.sol:SimpleStorage",
"label": "people",
"offset": 0,
"slot": "1",
"type": "t_array(t_struct(People)18_storage)dyn_storage"
}
],
"types": {
"t_array(t_struct(People)18_storage)dyn_storage": {
"base": "t_struct(People)18_storage",
"encoding": "dynamic_array",
"label": "struct SimpleStorage.People[]",
"numberOfBytes": "32"
},
"t_string_storage": {
"encoding": "bytes",
"label": "string",
"numberOfBytes": "32"
},
"t_struct(People)18_storage": {
"encoding": "inplace",
"label": "struct SimpleStorage.People",
"members": [
{
"astId": 15,
"contract": "contracts/SimpleStorage.sol:SimpleStorage",
"label": "favoriteNumber",
"offset": 0,
"slot": "0",
"type": "t_uint256"
},
{
"astId": 17,
"contract": "contracts/SimpleStorage.sol:SimpleStorage",
"label": "name",
"offset": 0,
"slot": "1",
"type": "t_string_storage"
}
],
"numberOfBytes": "64"
},
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"sources": {
"contracts/SimpleStorage.sol": {
"ast": {
"absolutePath": "contracts/SimpleStorage.sol",
"exportedSymbols": {
"SimpleStorage": [
60
]
},
"id": 61,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.8",
".7"
],
"nodeType": "PragmaDirective",
"src": "32:23:0"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 60,
"linearizedBaseContracts": [
60
],
"name": "SimpleStorage",
"nameLocation": "67:13:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 3,
"mutability": "mutable",
"name": "favoriteNumber",
"nameLocation": "130:14:0",
"nodeType": "VariableDeclaration",
"scope": 60,
"src": "122:22:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "122:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"body": {
"id": 12,
"nodeType": "Block",
"src": "203:49:0",
"statements": [
{
"expression": {
"id": 10,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 8,
"name": "favoriteNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "213:14:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 9,
"name": "_favoriteNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5,
"src": "230:15:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "213:32:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 11,
"nodeType": "ExpressionStatement",
"src": "213:32:0"
}
]
},
"functionSelector": "6057361d",
"id": 13,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "store",
"nameLocation": "160:5:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 6,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5,
"mutability": "mutable",
"name": "_favoriteNumber",
"nameLocation": "174:15:0",
"nodeType": "VariableDeclaration",
"scope": 13,
"src": "166:23:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "166:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "165:25:0"
},
"returnParameters": {
"id": 7,
"nodeType": "ParameterList",
"parameters": [],
"src": "203:0:0"
},
"scope": 60,
"src": "151:101:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"canonicalName": "SimpleStorage.People",
"id": 18,
"members": [
{
"constant": false,
"id": 15,
"mutability": "mutable",
"name": "favoriteNumber",
"nameLocation": "290:14:0",
"nodeType": "VariableDeclaration",
"scope": 18,
"src": "282:22:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 14,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "282:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 17,
"mutability": "mutable",
"name": "name",
"nameLocation": "321:4:0",
"nodeType": "VariableDeclaration",
"scope": 18,
"src": "314:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 16,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "314:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"name": "People",
"nameLocation": "265:6:0",
"nodeType": "StructDefinition",
"scope": 60,
"src": "258:74:0",
"visibility": "public"
},
{
"constant": false,
"functionSelector": "9e7a13ad",
"id": 22,
"mutability": "mutable",
"name": "people",
"nameLocation": "354:6:0",
"nodeType": "VariableDeclaration",
"scope": 60,
"src": "338:22:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_struct$_People_$18_storage_$dyn_storage",
"typeString": "struct SimpleStorage.People[]"
},
"typeName": {
"baseType": {
"id": 20,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 19,
"name": "People",
"nodeType": "IdentifierPath",
"referencedDeclaration": 18,
"src": "338:6:0"
},
"referencedDeclaration": 18,
"src": "338:6:0",
"typeDescriptions": {
"typeIdentifier": "t_struct$_People_$18_storage_ptr",
"typeString": "struct SimpleStorage.People"
}
},
"id": 21,
"nodeType": "ArrayTypeName",
"src": "338:8:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_struct$_People_$18_storage_$dyn_storage_ptr",
"typeString": "struct SimpleStorage.People[]"
}
},
"visibility": "public"
},
{
"body": {
"id": 29,
"nodeType": "Block",
"src": "437:38:0",
"statements": [
{
"expression": {
"id": 27,
"name": "favoriteNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "454:14:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 26,
"id": 28,
"nodeType": "Return",
"src": "447:21:0"
}
]
},
"functionSelector": "a6b7fc5b",
"id": 30,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "retrive",
"nameLocation": "394:7:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 23,
"nodeType": "ParameterList",
"parameters": [],
"src": "401:2:0"
},
"returnParameters": {
"id": 26,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 25,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 30,
"src": "424:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 24,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "424:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "423:9:0"
},
"scope": 60,
"src": "385:90:0",
"stateMutability": "view",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 41,
"nodeType": "Block",
"src": "517:57:0",
"statements": [
{
"expression": {
"id": 39,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 35,
"name": "favoriteNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "527:14:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 38,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 36,
"name": "favoriteNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "544:14:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"id": 37,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 32,
"src": "561:6:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "544:23:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "527:40:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 40,
"nodeType": "ExpressionStatement",
"src": "527:40:0"
}
]
},
"functionSelector": "1003e2d2",
"id": 42,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "add",
"nameLocation": "490:3:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 33,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 32,
"mutability": "mutable",
"name": "_value",
"nameLocation": "502:6:0",
"nodeType": "VariableDeclaration",
"scope": 42,
"src": "494:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 31,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "494:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "493:16:0"
},
"returnParameters": {
"id": 34,
"nodeType": "ParameterList",
"parameters": [],
"src": "517:0:0"
},
"scope": 60,
"src": "481:93:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 58,
"nodeType": "Block",
"src": "738:60:0",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"id": 53,
"name": "_favoriteNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 46,
"src": "767:15:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"id": 54,
"name": "_name",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 44,
"src": "784:5:0",
"typeDescriptions": {
"typeIdentifier": "t_string_calldata_ptr",
"typeString": "string calldata"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_string_calldata_ptr",
"typeString": "string calldata"
}
],
"id": 52,
"name": "People",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 18,
"src": "760:6:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_People_$18_storage_ptr_$",
"typeString": "type(struct SimpleStorage.People storage pointer)"
}
},
"id": 55,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "structConstructorCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "760:30:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_People_$18_memory_ptr",
"typeString": "struct SimpleStorage.People memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_struct$_People_$18_memory_ptr",
"typeString": "struct SimpleStorage.People memory"
}
],
"expression": {
"id": 49,
"name": "people",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 22,
"src": "748:6:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_struct$_People_$18_storage_$dyn_storage",
"typeString": "struct SimpleStorage.People storage ref[] storage ref"
}
},
"id": 51,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "push",
"nodeType": "MemberAccess",
"src": "748:11:0",
"typeDescriptions": {
"typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_People_$18_storage_$dyn_storage_ptr_$_t_struct$_People_$18_storage_$returns$__$bound_to$_t_array$_t_struct$_People_$18_storage_$dyn_storage_ptr_$",
"typeString": "function (struct SimpleStorage.People storage ref[] storage pointer,struct SimpleStorage.People storage ref)"
}
},
"id": 56,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "748:43:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 57,
"nodeType": "ExpressionStatement",
"src": "748:43:0"
}
]
},
"functionSelector": "6f760f41",
"id": 59,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "addPerson",
"nameLocation": "673:9:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 47,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 44,
"mutability": "mutable",
"name": "_name",
"nameLocation": "699:5:0",
"nodeType": "VariableDeclaration",
"scope": 59,
"src": "683:21:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_string_calldata_ptr",
"typeString": "string"
},
"typeName": {
"id": 43,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "683:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 46,
"mutability": "mutable",
"name": "_favoriteNumber",
"nameLocation": "714:15:0",
"nodeType": "VariableDeclaration",
"scope": 59,
"src": "706:23:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 45,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "706:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "682:48:0"
},
"returnParameters": {
"id": 48,
"nodeType": "ParameterList",
"parameters": [],
"src": "738:0:0"
},
"scope": 60,
"src": "664:134:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
}
],
"scope": 61,
"src": "58:743:0",
"usedErrors": []
}
],
"src": "32:817:0"
},
"id": 0
}
}
}
}
{
"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
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506108d5806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631003e2d2146100675780635c40826c146100835780636057361d146100b35780636f760f41146100cf5780639e7a13ad146100eb578063a6b7fc5b1461011c575b600080fd5b610081600480360381019061007c919061054c565b61013a565b005b61009d60048036038101906100989190610503565b610151565b6040516100aa91906105ff565b60405180910390f35b6100cd60048036038101906100c8919061054c565b61017f565b005b6100e960048036038101906100e491906104a3565b610189565b005b6101056004803603810190610100919061054c565b610260565b60405161011392919061061a565b60405180910390f35b61012461031c565b60405161013191906105ff565b60405180910390f35b8060005461014891906106c7565b60008190555050565b6001818051602081018201805184825260208301602085012081835280955050505050506000915090505481565b8060008190555050565b6002604051806040016040528083815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508152509080600181540180825580915050600190039060005260206000209060020201600090919091909150600082015181600001556020820151816001019080519060200190610233929190610325565b50505080600184846040516102499291906105e6565b908152602001604051809103902081905550505050565b6002818154811061027057600080fd5b906000526020600020906002020160009150905080600001549080600101805461029990610769565b80601f01602080910402602001604051908101604052809291908181526020018280546102c590610769565b80156103125780601f106102e757610100808354040283529160200191610312565b820191906000526020600020905b8154815290600101906020018083116102f557829003601f168201915b5050505050905082565b60008054905090565b82805461033190610769565b90600052602060002090601f016020900481019282610353576000855561039a565b82601f1061036c57805160ff191683800117855561039a565b8280016001018555821561039a579182015b8281111561039957825182559160200191906001019061037e565b5b5090506103a791906103ab565b5090565b5b808211156103c45760008160009055506001016103ac565b5090565b60006103db6103d68461066f565b61064a565b9050828152602081018484840111156103f7576103f6610868565b5b610402848285610727565b509392505050565b60008083601f8401126104205761041f61085e565b5b8235905067ffffffffffffffff81111561043d5761043c610859565b5b60208301915083600182028301111561045957610458610863565b5b9250929050565b600082601f8301126104755761047461085e565b5b81356104858482602086016103c8565b91505092915050565b60008135905061049d81610888565b92915050565b6000806000604084860312156104bc576104bb610872565b5b600084013567ffffffffffffffff8111156104da576104d961086d565b5b6104e68682870161040a565b935093505060206104f98682870161048e565b9150509250925092565b60006020828403121561051957610518610872565b5b600082013567ffffffffffffffff8111156105375761053661086d565b5b61054384828501610460565b91505092915050565b60006020828403121561056257610561610872565b5b60006105708482850161048e565b91505092915050565b600061058583856106bc565b9350610592838584610727565b82840190509392505050565b60006105a9826106a0565b6105b381856106ab565b93506105c3818560208601610736565b6105cc81610877565b840191505092915050565b6105e08161071d565b82525050565b60006105f3828486610579565b91508190509392505050565b600060208201905061061460008301846105d7565b92915050565b600060408201905061062f60008301856105d7565b8181036020830152610641818461059e565b90509392505050565b6000610654610665565b9050610660828261079b565b919050565b6000604051905090565b600067ffffffffffffffff82111561068a5761068961082a565b5b61069382610877565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b60006106d28261071d565b91506106dd8361071d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610712576107116107cc565b5b828201905092915050565b6000819050919050565b82818337600083830152505050565b60005b83811015610754578082015181840152602081019050610739565b83811115610763576000848401525b50505050565b6000600282049050600182168061078157607f821691505b60208210811415610795576107946107fb565b5b50919050565b6107a482610877565b810181811067ffffffffffffffff821117156107c3576107c261082a565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b6108918161071d565b811461089c57600080fd5b5056fea26469706673582212206c065c28884e69fb1d430714465a410b73b0a58ad3cfc21d931be327425e2f9164736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x8D5 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 0x1003E2D2 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x5C40826C EQ PUSH2 0x83 JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0x6F760F41 EQ PUSH2 0xCF JUMPI DUP1 PUSH4 0x9E7A13AD EQ PUSH2 0xEB JUMPI DUP1 PUSH4 0xA6B7FC5B EQ PUSH2 0x11C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x81 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x54C JUMP JUMPDEST PUSH2 0x13A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x98 SWAP2 SWAP1 PUSH2 0x503 JUMP JUMPDEST PUSH2 0x151 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAA SWAP2 SWAP1 PUSH2 0x5FF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC8 SWAP2 SWAP1 PUSH2 0x54C JUMP JUMPDEST PUSH2 0x17F JUMP JUMPDEST STOP JUMPDEST PUSH2 0xE9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE4 SWAP2 SWAP1 PUSH2 0x4A3 JUMP JUMPDEST PUSH2 0x189 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x105 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x100 SWAP2 SWAP1 PUSH2 0x54C JUMP JUMPDEST PUSH2 0x260 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x113 SWAP3 SWAP2 SWAP1 PUSH2 0x61A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x124 PUSH2 0x31C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x131 SWAP2 SWAP1 PUSH2 0x5FF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 PUSH1 0x0 SLOAD PUSH2 0x148 SWAP2 SWAP1 PUSH2 0x6C7 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP3 ADD DUP1 MLOAD DUP5 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP6 ADD KECCAK256 DUP2 DUP4 MSTORE DUP1 SWAP6 POP POP POP POP POP POP PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP6 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP 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 0x2 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 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x233 SWAP3 SWAP2 SWAP1 PUSH2 0x325 JUMP JUMPDEST POP POP POP DUP1 PUSH1 0x1 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x249 SWAP3 SWAP2 SWAP1 PUSH2 0x5E6 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP2 SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x270 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x299 SWAP1 PUSH2 0x769 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 0x2C5 SWAP1 PUSH2 0x769 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x312 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2E7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x312 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 0x2F5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x331 SWAP1 PUSH2 0x769 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x353 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x39A JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x36C JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x39A JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x39A JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x399 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x37E JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x3A7 SWAP2 SWAP1 PUSH2 0x3AB JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x3C4 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x3AC JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DB PUSH2 0x3D6 DUP5 PUSH2 0x66F JUMP JUMPDEST PUSH2 0x64A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x3F7 JUMPI PUSH2 0x3F6 PUSH2 0x868 JUMP JUMPDEST JUMPDEST PUSH2 0x402 DUP5 DUP3 DUP6 PUSH2 0x727 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x420 JUMPI PUSH2 0x41F PUSH2 0x85E JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x43D JUMPI PUSH2 0x43C PUSH2 0x859 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x459 JUMPI PUSH2 0x458 PUSH2 0x863 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x475 JUMPI PUSH2 0x474 PUSH2 0x85E JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x485 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x3C8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x49D DUP2 PUSH2 0x888 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4BC JUMPI PUSH2 0x4BB PUSH2 0x872 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4DA JUMPI PUSH2 0x4D9 PUSH2 0x86D JUMP JUMPDEST JUMPDEST PUSH2 0x4E6 DUP7 DUP3 DUP8 ADD PUSH2 0x40A JUMP JUMPDEST SWAP4 POP SWAP4 POP POP PUSH1 0x20 PUSH2 0x4F9 DUP7 DUP3 DUP8 ADD PUSH2 0x48E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x519 JUMPI PUSH2 0x518 PUSH2 0x872 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x537 JUMPI PUSH2 0x536 PUSH2 0x86D JUMP JUMPDEST JUMPDEST PUSH2 0x543 DUP5 DUP3 DUP6 ADD PUSH2 0x460 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x562 JUMPI PUSH2 0x561 PUSH2 0x872 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x570 DUP5 DUP3 DUP6 ADD PUSH2 0x48E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x585 DUP4 DUP6 PUSH2 0x6BC JUMP JUMPDEST SWAP4 POP PUSH2 0x592 DUP4 DUP6 DUP5 PUSH2 0x727 JUMP JUMPDEST DUP3 DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5A9 DUP3 PUSH2 0x6A0 JUMP JUMPDEST PUSH2 0x5B3 DUP2 DUP6 PUSH2 0x6AB JUMP JUMPDEST SWAP4 POP PUSH2 0x5C3 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x736 JUMP JUMPDEST PUSH2 0x5CC DUP2 PUSH2 0x877 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x5E0 DUP2 PUSH2 0x71D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F3 DUP3 DUP5 DUP7 PUSH2 0x579 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x614 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5D7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x62F PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x5D7 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x641 DUP2 DUP5 PUSH2 0x59E JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x654 PUSH2 0x665 JUMP JUMPDEST SWAP1 POP PUSH2 0x660 DUP3 DUP3 PUSH2 0x79B JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x68A JUMPI PUSH2 0x689 PUSH2 0x82A JUMP JUMPDEST JUMPDEST PUSH2 0x693 DUP3 PUSH2 0x877 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 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 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6D2 DUP3 PUSH2 0x71D JUMP JUMPDEST SWAP2 POP PUSH2 0x6DD DUP4 PUSH2 0x71D JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x712 JUMPI PUSH2 0x711 PUSH2 0x7CC JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x754 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x739 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x763 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x781 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x795 JUMPI PUSH2 0x794 PUSH2 0x7FB JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x7A4 DUP3 PUSH2 0x877 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x7C3 JUMPI PUSH2 0x7C2 PUSH2 0x82A JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT 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 PUSH2 0x891 DUP2 PUSH2 0x71D JUMP JUMPDEST DUP2 EQ PUSH2 0x89C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH13 0x65C28884E69FB1D430714465A COINBASE SIGNEXTEND PUSH20 0xB0A58AD3CFC21D931BE327425E2F9164736F6C63 NUMBER STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "58:874:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@addPerson_69": {
"entryPoint": 393,
"id": 69,
"parameterSlots": 3,
"returnSlots": 0
},
"@add_46": {
"entryPoint": 314,
"id": 46,
"parameterSlots": 1,
"returnSlots": 0
},
"@nameToFavoriteNumberMapping_7": {
"entryPoint": 337,
"id": 7,
"parameterSlots": 0,
"returnSlots": 0
},
"@people_26": {
"entryPoint": 608,
"id": 26,
"parameterSlots": 0,
"returnSlots": 0
},
"@retrive_34": {
"entryPoint": 796,
"id": 34,
"parameterSlots": 0,
"returnSlots": 1
},
"@store_17": {
"entryPoint": 383,
"id": 17,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_available_length_t_string_memory_ptr": {
"entryPoint": 968,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_string_calldata_ptr": {
"entryPoint": 1034,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_t_string_memory_ptr": {
"entryPoint": 1120,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 1166,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_string_calldata_ptrt_uint256": {
"entryPoint": 1187,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_string_memory_ptr": {
"entryPoint": 1283,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 1356,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack": {
"entryPoint": 1401,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1438,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 1495,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_packed_t_string_calldata_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": {
"entryPoint": 1510,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 1535,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1562,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 1610,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 1637,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_string_memory_ptr": {
"entryPoint": 1647,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 1696,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 1707,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack": {
"entryPoint": 1724,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 1735,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 1821,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_calldata_to_memory": {
"entryPoint": 1831,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"copy_memory_to_memory": {
"entryPoint": 1846,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 1897,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 1947,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"panic_error_0x11": {
"entryPoint": 1996,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 2043,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 2090,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490": {
"entryPoint": 2137,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 2142,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": {
"entryPoint": 2147,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": {
"entryPoint": 2152,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 2157,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 2162,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 2167,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_uint256": {
"entryPoint": 2184,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:8805:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "91:328:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "101:75:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "168:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "126:41:1"
},
"nodeType": "YulFunctionCall",
"src": "126:49:1"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "110:15:1"
},
"nodeType": "YulFunctionCall",
"src": "110:66:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "101:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "192:5:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "199:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "185:6:1"
},
"nodeType": "YulFunctionCall",
"src": "185:21:1"
},
"nodeType": "YulExpressionStatement",
"src": "185:21:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "215:27:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "230:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "237:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "226:3:1"
},
"nodeType": "YulFunctionCall",
"src": "226:16:1"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "219:3:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "280:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulIdentifier",
"src": "282:77:1"
},
"nodeType": "YulFunctionCall",
"src": "282:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "282:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "261:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "266:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "257:3:1"
},
"nodeType": "YulFunctionCall",
"src": "257:16:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "275:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "254:2:1"
},
"nodeType": "YulFunctionCall",
"src": "254:25:1"
},
"nodeType": "YulIf",
"src": "251:112:1"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "396:3:1"
},
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "401:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "406:6:1"
}
],
"functionName": {
"name": "copy_calldata_to_memory",
"nodeType": "YulIdentifier",
"src": "372:23:1"
},
"nodeType": "YulFunctionCall",
"src": "372:41:1"
},
"nodeType": "YulExpressionStatement",
"src": "372:41:1"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "64:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "69:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "77:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "85:5:1",
"type": ""
}
],
"src": "7:412:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "514:478:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "563:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "565:77:1"
},
"nodeType": "YulFunctionCall",
"src": "565:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "565:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "542:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "550:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "538:3:1"
},
"nodeType": "YulFunctionCall",
"src": "538:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "557:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "534:3:1"
},
"nodeType": "YulFunctionCall",
"src": "534:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "527:6:1"
},
"nodeType": "YulFunctionCall",
"src": "527:35:1"
},
"nodeType": "YulIf",
"src": "524:122:1"
},
{
"nodeType": "YulAssignment",
"src": "655:30:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "678:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "665:12:1"
},
"nodeType": "YulFunctionCall",
"src": "665:20:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "655:6:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "728:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
"nodeType": "YulIdentifier",
"src": "730:77:1"
},
"nodeType": "YulFunctionCall",
"src": "730:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "730:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "700:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "708:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "697:2:1"
},
"nodeType": "YulFunctionCall",
"src": "697:30:1"
},
"nodeType": "YulIf",
"src": "694:117:1"
},
{
"nodeType": "YulAssignment",
"src": "820:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "836:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "844:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "832:3:1"
},
"nodeType": "YulFunctionCall",
"src": "832:17:1"
},
"variableNames": [
{
"name": "arrayPos",
"nodeType": "YulIdentifier",
"src": "820:8:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "903:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulIdentifier",
"src": "905:77:1"
},
"nodeType": "YulFunctionCall",
"src": "905:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "905:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "arrayPos",
"nodeType": "YulIdentifier",
"src": "868:8:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "882:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "890:4:1",
"type": "",
"value": "0x01"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "878:3:1"
},
"nodeType": "YulFunctionCall",
"src": "878:17:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "864:3:1"
},
"nodeType": "YulFunctionCall",
"src": "864:32:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "898:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "861:2:1"
},
"nodeType": "YulFunctionCall",
"src": "861:41:1"
},
"nodeType": "YulIf",
"src": "858:128:1"
}
]
},
"name": "abi_decode_t_string_calldata_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "481:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "489:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "arrayPos",
"nodeType": "YulTypedName",
"src": "497:8:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "507:6:1",
"type": ""
}
],
"src": "439:553:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1074:278:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1123:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "1125:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1125:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1125:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1102:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1110:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1098:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1098:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1117:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1094:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1094:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1087:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1087:35:1"
},
"nodeType": "YulIf",
"src": "1084:122:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "1215:34:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1242:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1229:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1229:20:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1219:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1258:88:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1319:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1327:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1315:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1315:17:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1334:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1342:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1267:47:1"
},
"nodeType": "YulFunctionCall",
"src": "1267:79:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "1258:5:1"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1052:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1060:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "1068:5:1",
"type": ""
}
],
"src": "1012:340:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1410:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1420:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1442:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1429:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1429:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1420:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1485:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "1458:26:1"
},
"nodeType": "YulFunctionCall",
"src": "1458:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "1458:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1388:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1396:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1404:5:1",
"type": ""
}
],
"src": "1358:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1606:571:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1652:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1654:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1654:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1654:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1627:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1636:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1623:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1623:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1648:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1619:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1619:32:1"
},
"nodeType": "YulIf",
"src": "1616:119:1"
},
{
"nodeType": "YulBlock",
"src": "1745:297:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1760:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1791:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1802:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1787:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1787:17:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1774:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1774:31:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1764:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1852:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "1854:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1854:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1854:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1824:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1832:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1821:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1821:30:1"
},
"nodeType": "YulIf",
"src": "1818:117:1"
},
{
"nodeType": "YulAssignment",
"src": "1949:83:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2004:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2015:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2000:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2000:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2024:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_calldata_ptr",
"nodeType": "YulIdentifier",
"src": "1967:32:1"
},
"nodeType": "YulFunctionCall",
"src": "1967:65:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1949:6:1"
},
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1957:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "2052:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2067:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2081:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2071:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2097:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2132:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2143:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2128:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2128:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2152:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "2107:20:1"
},
"nodeType": "YulFunctionCall",
"src": "2107:53:1"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "2097:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_calldata_ptrt_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1560:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1571:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1583:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1591:6:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "1599:6:1",
"type": ""
}
],
"src": "1503:674:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2259:433:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2305:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "2307:77:1"
},
"nodeType": "YulFunctionCall",
"src": "2307:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "2307:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2280:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2289:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2276:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2276:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2301:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "2272:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2272:32:1"
},
"nodeType": "YulIf",
"src": "2269:119:1"
},
{
"nodeType": "YulBlock",
"src": "2398:287:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2413:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2444:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2455:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2440:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2440:17:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "2427:12:1"
},
"nodeType": "YulFunctionCall",
"src": "2427:31:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2417:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2505:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "2507:77:1"
},
"nodeType": "YulFunctionCall",
"src": "2507:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "2507:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2477:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2485:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2474:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2474:30:1"
},
"nodeType": "YulIf",
"src": "2471:117:1"
},
{
"nodeType": "YulAssignment",
"src": "2602:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2647:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2658:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2643:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2643:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2667:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2612:30:1"
},
"nodeType": "YulFunctionCall",
"src": "2612:63:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2602:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2229:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "2240:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2252:6:1",
"type": ""
}
],
"src": "2183:509:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2764:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2810:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "2812:77:1"
},
"nodeType": "YulFunctionCall",
"src": "2812:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "2812:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2785:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2794:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2781:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2781:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2806:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "2777:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2777:32:1"
},
"nodeType": "YulIf",
"src": "2774:119:1"
},
{
"nodeType": "YulBlock",
"src": "2903:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2918:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2932:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2922:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2947:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2982:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2993:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2978:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2978:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3002:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "2957:20:1"
},
"nodeType": "YulFunctionCall",
"src": "2957:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2947:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2734:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "2745:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2757:6:1",
"type": ""
}
],
"src": "2698:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3177:197:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3187:96:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3271:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3276:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "3194:76:1"
},
"nodeType": "YulFunctionCall",
"src": "3194:89:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3187:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "3317:5:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3324:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3329:6:1"
}
],
"functionName": {
"name": "copy_calldata_to_memory",
"nodeType": "YulIdentifier",
"src": "3293:23:1"
},
"nodeType": "YulFunctionCall",
"src": "3293:43:1"
},
"nodeType": "YulExpressionStatement",
"src": "3293:43:1"
},
{
"nodeType": "YulAssignment",
"src": "3345:23:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3356:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3361:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3352:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3352:16:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3345:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "start",
"nodeType": "YulTypedName",
"src": "3150:5:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3157:6:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3165:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3173:3:1",
"type": ""
}
],
"src": "3057:317:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3472:272:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3482:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3529:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "3496:32:1"
},
"nodeType": "YulFunctionCall",
"src": "3496:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3486:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3544:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3610:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3615:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3551:58:1"
},
"nodeType": "YulFunctionCall",
"src": "3551:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3544:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3657:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3664:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3653:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3653:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3671:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3676:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "3631:21:1"
},
"nodeType": "YulFunctionCall",
"src": "3631:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "3631:52:1"
},
{
"nodeType": "YulAssignment",
"src": "3692:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3703:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3730:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "3708:21:1"
},
"nodeType": "YulFunctionCall",
"src": "3708:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3699:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3699:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3692:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3453:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3460:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3468:3:1",
"type": ""
}
],
"src": "3380:364:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3815:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3832:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3855:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3837:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3837:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3825:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3825:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "3825:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3803:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3810:3:1",
"type": ""
}
],
"src": "3750:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4020:149:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4031:112:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4122:6:1"
},
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "4130:6:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4139:3:1"
}
],
"functionName": {
"name": "abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "4038:83:1"
},
"nodeType": "YulFunctionCall",
"src": "4038:105:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4031:3:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4153:10:1",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4160:3:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4153:3:1"
}
]
}
]
},
"name": "abi_encode_tuple_packed_t_string_calldata_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3991:3:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "3997:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4005:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "4016:3:1",
"type": ""
}
],
"src": "3874:295:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4273:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4283:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4295:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4306:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4291:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4291:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4283:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4363:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4376:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4387:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4372:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4372:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "4319:43:1"
},
"nodeType": "YulFunctionCall",
"src": "4319:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "4319:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4245:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4257:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4268:4:1",
"type": ""
}
],
"src": "4175:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4549:277:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4559:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4571:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4582:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4567:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4567:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4559:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4639:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4652:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4663:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4648:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4648:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "4595:43:1"
},
"nodeType": "YulFunctionCall",
"src": "4595:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "4595:71:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4687:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4698:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4683:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4683:18:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4707:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4713:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4703:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4703:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4676:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4676:48:1"
},
"nodeType": "YulExpressionStatement",
"src": "4676:48:1"
},
{
"nodeType": "YulAssignment",
"src": "4733:86:1",
"value": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "4805:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4814:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4741:63:1"
},
"nodeType": "YulFunctionCall",
"src": "4741:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4733:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4513:9:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "4525:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4533:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4544:4:1",
"type": ""
}
],
"src": "4403:423:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4873:88:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4883:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "4893:18:1"
},
"nodeType": "YulFunctionCall",
"src": "4893:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4883:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4942:6:1"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4950:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "4922:19:1"
},
"nodeType": "YulFunctionCall",
"src": "4922:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "4922:33:1"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "4857:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4866:6:1",
"type": ""
}
],
"src": "4832:129:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5007:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5017:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5033:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5027:5:1"
},
"nodeType": "YulFunctionCall",
"src": "5027:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "5017:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "5000:6:1",
"type": ""
}
],
"src": "4967:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5115:241:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "5220:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "5222:16:1"
},
"nodeType": "YulFunctionCall",
"src": "5222:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "5222:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5192:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5200:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "5189:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5189:30:1"
},
"nodeType": "YulIf",
"src": "5186:56:1"
},
{
"nodeType": "YulAssignment",
"src": "5252:37:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5282:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "5260:21:1"
},
"nodeType": "YulFunctionCall",
"src": "5260:29:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "5252:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "5326:23:1",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "5338:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5344:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5334:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5334:15:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "5326:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5099:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "5110:4:1",
"type": ""
}
],
"src": "5048:308:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5421:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5432:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5448:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5442:5:1"
},
"nodeType": "YulFunctionCall",
"src": "5442:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5432:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5404:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5414:6:1",
"type": ""
}
],
"src": "5362:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5563:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5580:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5585:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5573:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5573:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "5573:19:1"
},
{
"nodeType": "YulAssignment",
"src": "5601:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5620:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5625:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5616:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5616:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "5601:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5535:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5540:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "5551:11:1",
"type": ""
}
],
"src": "5467:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5756:34:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5766:18:1",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5781:3:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "5766:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5728:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5733:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "5744:11:1",
"type": ""
}
],
"src": "5642:148:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5840:261:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5850:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5873:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "5855:17:1"
},
"nodeType": "YulFunctionCall",
"src": "5855:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5850:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "5884:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5907:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "5889:17:1"
},
"nodeType": "YulFunctionCall",
"src": "5889:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5884:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6047:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "6049:16:1"
},
"nodeType": "YulFunctionCall",
"src": "6049:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "6049:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5968:1:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5975:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "6043:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "5971:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5971:74:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "5965:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5965:81:1"
},
"nodeType": "YulIf",
"src": "5962:107:1"
},
{
"nodeType": "YulAssignment",
"src": "6079:16:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "6090:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "6093:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6086:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6086:9:1"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "6079:3:1"
}
]
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "5827:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "5830:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "5836:3:1",
"type": ""
}
],
"src": "5796:305:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6152:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6162:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "6173:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "6162:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6134:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "6144:7:1",
"type": ""
}
],
"src": "6107:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6241:103:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "6264:3:1"
},
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "6269:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6274:6:1"
}
],
"functionName": {
"name": "calldatacopy",
"nodeType": "YulIdentifier",
"src": "6251:12:1"
},
"nodeType": "YulFunctionCall",
"src": "6251:30:1"
},
"nodeType": "YulExpressionStatement",
"src": "6251:30:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "6322:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6327:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6318:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6318:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6336:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6311:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6311:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "6311:27:1"
}
]
},
"name": "copy_calldata_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "6223:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "6228:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "6233:6:1",
"type": ""
}
],
"src": "6190:154:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6399:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6409:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "6418:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "6413:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6478:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "6503:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "6508:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6499:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6499:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "6522:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "6527:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6518:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6518:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "6512:5:1"
},
"nodeType": "YulFunctionCall",
"src": "6512:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6492:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6492:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "6492:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "6439:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6442:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "6436:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6436:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "6450:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6452:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "6461:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6464:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6457:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6457:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "6452:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "6432:3:1",
"statements": []
},
"src": "6428:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6575:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "6625:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6630:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6621:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6621:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6639:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6614:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6614:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "6614:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "6556:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6559:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "6553:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6553:13:1"
},
"nodeType": "YulIf",
"src": "6550:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "6381:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "6386:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "6391:6:1",
"type": ""
}
],
"src": "6350:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6714:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6724:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "6738:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6744:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "6734:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6734:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6724:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "6755:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "6785:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6791:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6781:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6781:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "6759:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6832:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6846:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6860:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6868:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6856:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6856:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6846:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "6812:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "6805:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6805:26:1"
},
"nodeType": "YulIf",
"src": "6802:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6935:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "6949:16:1"
},
"nodeType": "YulFunctionCall",
"src": "6949:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "6949:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "6899:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6922:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6930:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "6919:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6919:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "6896:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6896:38:1"
},
"nodeType": "YulIf",
"src": "6893:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "6698:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "6707:6:1",
"type": ""
}
],
"src": "6663:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7032:238:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "7042:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7064:6:1"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "7094:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "7072:21:1"
},
"nodeType": "YulFunctionCall",
"src": "7072:27:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7060:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7060:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "7046:10:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "7211:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "7213:16:1"
},
"nodeType": "YulFunctionCall",
"src": "7213:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "7213:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "7154:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7166:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "7151:2:1"
},
"nodeType": "YulFunctionCall",
"src": "7151:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "7190:10:1"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7202:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "7187:2:1"
},
"nodeType": "YulFunctionCall",
"src": "7187:22:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "7148:2:1"
},
"nodeType": "YulFunctionCall",
"src": "7148:62:1"
},
"nodeType": "YulIf",
"src": "7145:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7249:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "7253:10:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7242:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7242:22:1"
},
"nodeType": "YulExpressionStatement",
"src": "7242:22:1"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "7018:6:1",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "7026:4:1",
"type": ""
}
],
"src": "6989:281:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7304:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7321:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7324:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7314:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7314:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "7314:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7418:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7421:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7411:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7411:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "7411:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7442:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7445:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7435:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7435:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "7435:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "7276:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7490:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7507:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7510:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7500:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7500:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "7500:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7604:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7607:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7597:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7597:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "7597:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7628:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7631:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7621:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7621:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "7621:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "7462:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7676:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7693:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7696:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7686:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7686:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "7686:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7790:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7793:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7783:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7783:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "7783:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7814:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7817:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7807:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7807:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "7807:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "7648:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7923:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7940:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7943:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7933:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7933:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "7933:12:1"
}
]
},
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
"nodeType": "YulFunctionDefinition",
"src": "7834:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8046:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8063:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8066:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8056:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8056:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "8056:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "7957:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8169:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8186:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8189:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8179:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8179:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "8179:12:1"
}
]
},
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulFunctionDefinition",
"src": "8080:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8292:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8309:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8312:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8302:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8302:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "8302:12:1"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulFunctionDefinition",
"src": "8203:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8415:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8432:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8435:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8425:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8425:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "8425:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "8326:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8538:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8555:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8558:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8548:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8548:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "8548:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "8449:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8620:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8630:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8648:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8655:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8644:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8644:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8664:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "8660:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8660:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "8640:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8640:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "8630:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8603:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "8613:6:1",
"type": ""
}
],
"src": "8572:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8723:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "8780:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8789:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8792:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8782:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8782:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "8782:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8746:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8771:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "8753:17:1"
},
"nodeType": "YulFunctionCall",
"src": "8753:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "8743:2:1"
},
"nodeType": "YulFunctionCall",
"src": "8743:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "8736:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8736:43:1"
},
"nodeType": "YulIf",
"src": "8733:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8716:5:1",
"type": ""
}
],
"src": "8680:122:1"
}
]
},
"contents": "{\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_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\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_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_string_calldata_ptrt_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_string_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\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_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 // string -> string\n function abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n\n copy_calldata_to_memory(start, pos, length)\n end := add(pos, length)\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_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_packed_t_string_calldata_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, value1, pos)\n\n end := pos\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 abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value1, tail)\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\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 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 array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\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 cleanup_t_uint256(value) -> cleaned {\n cleaned := value\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 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 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 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 panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\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 validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100625760003560e01c80631003e2d2146100675780635c40826c146100835780636057361d146100b35780636f760f41146100cf5780639e7a13ad146100eb578063a6b7fc5b1461011c575b600080fd5b610081600480360381019061007c919061054c565b61013a565b005b61009d60048036038101906100989190610503565b610151565b6040516100aa91906105ff565b60405180910390f35b6100cd60048036038101906100c8919061054c565b61017f565b005b6100e960048036038101906100e491906104a3565b610189565b005b6101056004803603810190610100919061054c565b610260565b60405161011392919061061a565b60405180910390f35b61012461031c565b60405161013191906105ff565b60405180910390f35b8060005461014891906106c7565b60008190555050565b6001818051602081018201805184825260208301602085012081835280955050505050506000915090505481565b8060008190555050565b6002604051806040016040528083815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508152509080600181540180825580915050600190039060005260206000209060020201600090919091909150600082015181600001556020820151816001019080519060200190610233929190610325565b50505080600184846040516102499291906105e6565b908152602001604051809103902081905550505050565b6002818154811061027057600080fd5b906000526020600020906002020160009150905080600001549080600101805461029990610769565b80601f01602080910402602001604051908101604052809291908181526020018280546102c590610769565b80156103125780601f106102e757610100808354040283529160200191610312565b820191906000526020600020905b8154815290600101906020018083116102f557829003601f168201915b5050505050905082565b60008054905090565b82805461033190610769565b90600052602060002090601f016020900481019282610353576000855561039a565b82601f1061036c57805160ff191683800117855561039a565b8280016001018555821561039a579182015b8281111561039957825182559160200191906001019061037e565b5b5090506103a791906103ab565b5090565b5b808211156103c45760008160009055506001016103ac565b5090565b60006103db6103d68461066f565b61064a565b9050828152602081018484840111156103f7576103f6610868565b5b610402848285610727565b509392505050565b60008083601f8401126104205761041f61085e565b5b8235905067ffffffffffffffff81111561043d5761043c610859565b5b60208301915083600182028301111561045957610458610863565b5b9250929050565b600082601f8301126104755761047461085e565b5b81356104858482602086016103c8565b91505092915050565b60008135905061049d81610888565b92915050565b6000806000604084860312156104bc576104bb610872565b5b600084013567ffffffffffffffff8111156104da576104d961086d565b5b6104e68682870161040a565b935093505060206104f98682870161048e565b9150509250925092565b60006020828403121561051957610518610872565b5b600082013567ffffffffffffffff8111156105375761053661086d565b5b61054384828501610460565b91505092915050565b60006020828403121561056257610561610872565b5b60006105708482850161048e565b91505092915050565b600061058583856106bc565b9350610592838584610727565b82840190509392505050565b60006105a9826106a0565b6105b381856106ab565b93506105c3818560208601610736565b6105cc81610877565b840191505092915050565b6105e08161071d565b82525050565b60006105f3828486610579565b91508190509392505050565b600060208201905061061460008301846105d7565b92915050565b600060408201905061062f60008301856105d7565b8181036020830152610641818461059e565b90509392505050565b6000610654610665565b9050610660828261079b565b919050565b6000604051905090565b600067ffffffffffffffff82111561068a5761068961082a565b5b61069382610877565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b60006106d28261071d565b91506106dd8361071d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610712576107116107cc565b5b828201905092915050565b6000819050919050565b82818337600083830152505050565b60005b83811015610754578082015181840152602081019050610739565b83811115610763576000848401525b50505050565b6000600282049050600182168061078157607f821691505b60208210811415610795576107946107fb565b5b50919050565b6107a482610877565b810181811067ffffffffffffffff821117156107c3576107c261082a565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b6108918161071d565b811461089c57600080fd5b5056fea26469706673582212206c065c28884e69fb1d430714465a410b73b0a58ad3cfc21d931be327425e2f9164736f6c63430008070033",
"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 0x1003E2D2 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x5C40826C EQ PUSH2 0x83 JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0x6F760F41 EQ PUSH2 0xCF JUMPI DUP1 PUSH4 0x9E7A13AD EQ PUSH2 0xEB JUMPI DUP1 PUSH4 0xA6B7FC5B EQ PUSH2 0x11C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x81 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x54C JUMP JUMPDEST PUSH2 0x13A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x98 SWAP2 SWAP1 PUSH2 0x503 JUMP JUMPDEST PUSH2 0x151 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAA SWAP2 SWAP1 PUSH2 0x5FF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC8 SWAP2 SWAP1 PUSH2 0x54C JUMP JUMPDEST PUSH2 0x17F JUMP JUMPDEST STOP JUMPDEST PUSH2 0xE9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE4 SWAP2 SWAP1 PUSH2 0x4A3 JUMP JUMPDEST PUSH2 0x189 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x105 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x100 SWAP2 SWAP1 PUSH2 0x54C JUMP JUMPDEST PUSH2 0x260 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x113 SWAP3 SWAP2 SWAP1 PUSH2 0x61A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x124 PUSH2 0x31C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x131 SWAP2 SWAP1 PUSH2 0x5FF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 PUSH1 0x0 SLOAD PUSH2 0x148 SWAP2 SWAP1 PUSH2 0x6C7 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP3 ADD DUP1 MLOAD DUP5 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP6 ADD KECCAK256 DUP2 DUP4 MSTORE DUP1 SWAP6 POP POP POP POP POP POP PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP6 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP 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 0x2 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 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x233 SWAP3 SWAP2 SWAP1 PUSH2 0x325 JUMP JUMPDEST POP POP POP DUP1 PUSH1 0x1 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x249 SWAP3 SWAP2 SWAP1 PUSH2 0x5E6 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP2 SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x270 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x299 SWAP1 PUSH2 0x769 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 0x2C5 SWAP1 PUSH2 0x769 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x312 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2E7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x312 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 0x2F5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x331 SWAP1 PUSH2 0x769 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x353 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x39A JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x36C JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x39A JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x39A JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x399 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x37E JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x3A7 SWAP2 SWAP1 PUSH2 0x3AB JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x3C4 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x3AC JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DB PUSH2 0x3D6 DUP5 PUSH2 0x66F JUMP JUMPDEST PUSH2 0x64A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x3F7 JUMPI PUSH2 0x3F6 PUSH2 0x868 JUMP JUMPDEST JUMPDEST PUSH2 0x402 DUP5 DUP3 DUP6 PUSH2 0x727 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x420 JUMPI PUSH2 0x41F PUSH2 0x85E JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x43D JUMPI PUSH2 0x43C PUSH2 0x859 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x459 JUMPI PUSH2 0x458 PUSH2 0x863 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x475 JUMPI PUSH2 0x474 PUSH2 0x85E JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x485 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x3C8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x49D DUP2 PUSH2 0x888 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4BC JUMPI PUSH2 0x4BB PUSH2 0x872 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4DA JUMPI PUSH2 0x4D9 PUSH2 0x86D JUMP JUMPDEST JUMPDEST PUSH2 0x4E6 DUP7 DUP3 DUP8 ADD PUSH2 0x40A JUMP JUMPDEST SWAP4 POP SWAP4 POP POP PUSH1 0x20 PUSH2 0x4F9 DUP7 DUP3 DUP8 ADD PUSH2 0x48E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x519 JUMPI PUSH2 0x518 PUSH2 0x872 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x537 JUMPI PUSH2 0x536 PUSH2 0x86D JUMP JUMPDEST JUMPDEST PUSH2 0x543 DUP5 DUP3 DUP6 ADD PUSH2 0x460 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x562 JUMPI PUSH2 0x561 PUSH2 0x872 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x570 DUP5 DUP3 DUP6 ADD PUSH2 0x48E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x585 DUP4 DUP6 PUSH2 0x6BC JUMP JUMPDEST SWAP4 POP PUSH2 0x592 DUP4 DUP6 DUP5 PUSH2 0x727 JUMP JUMPDEST DUP3 DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5A9 DUP3 PUSH2 0x6A0 JUMP JUMPDEST PUSH2 0x5B3 DUP2 DUP6 PUSH2 0x6AB JUMP JUMPDEST SWAP4 POP PUSH2 0x5C3 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x736 JUMP JUMPDEST PUSH2 0x5CC DUP2 PUSH2 0x877 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x5E0 DUP2 PUSH2 0x71D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F3 DUP3 DUP5 DUP7 PUSH2 0x579 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x614 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5D7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x62F PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x5D7 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x641 DUP2 DUP5 PUSH2 0x59E JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x654 PUSH2 0x665 JUMP JUMPDEST SWAP1 POP PUSH2 0x660 DUP3 DUP3 PUSH2 0x79B JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x68A JUMPI PUSH2 0x689 PUSH2 0x82A JUMP JUMPDEST JUMPDEST PUSH2 0x693 DUP3 PUSH2 0x877 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 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 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6D2 DUP3 PUSH2 0x71D JUMP JUMPDEST SWAP2 POP PUSH2 0x6DD DUP4 PUSH2 0x71D JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x712 JUMPI PUSH2 0x711 PUSH2 0x7CC JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x754 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x739 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x763 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x781 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x795 JUMPI PUSH2 0x794 PUSH2 0x7FB JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x7A4 DUP3 PUSH2 0x877 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x7C3 JUMPI PUSH2 0x7C2 PUSH2 0x82A JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT 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 PUSH2 0x891 DUP2 PUSH2 0x71D JUMP JUMPDEST DUP2 EQ PUSH2 0x89C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH13 0x65C28884E69FB1D430714465A COINBASE SIGNEXTEND PUSH20 0xB0A58AD3CFC21D931BE327425E2F9164736F6C63 NUMBER STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "58:874:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;550:93;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;151:62;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;220:101;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;733:196;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;407:22;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;454:90;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;550:93;630:6;613:14;;:23;;;;:::i;:::-;596:14;:40;;;;550:93;:::o;151:62::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;220:101::-;299:15;282:14;:32;;;;220:101;:::o;733:196::-;817:6;829:30;;;;;;;;836:15;829:30;;;;853:5;;829:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;817:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;907:15;870:27;898:5;;870:34;;;;;;;:::i;:::-;;;;;;;;;;;;;:52;;;;733:196;;;:::o;407:22::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;454:90::-;493:7;523:14;;516:21;;454:90;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:412:1:-;85:5;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:112;;;282:79;;:::i;:::-;251:112;372:41;406:6;401:3;396;372:41;:::i;:::-;91:328;7:412;;;;;:::o;439:553::-;497:8;507:6;557:3;550:4;542:6;538:17;534:27;524:122;;565:79;;:::i;:::-;524:122;678:6;665:20;655:30;;708:18;700:6;697:30;694:117;;;730:79;;:::i;:::-;694:117;844:4;836:6;832:17;820:29;;898:3;890:4;882:6;878:17;868:8;864:32;861:41;858:128;;;905:79;;:::i;:::-;858:128;439:553;;;;;:::o;1012:340::-;1068:5;1117:3;1110:4;1102:6;1098:17;1094:27;1084:122;;1125:79;;:::i;:::-;1084:122;1242:6;1229:20;1267:79;1342:3;1334:6;1327:4;1319:6;1315:17;1267:79;:::i;:::-;1258:88;;1074:278;1012:340;;;;:::o;1358:139::-;1404:5;1442:6;1429:20;1420:29;;1458:33;1485:5;1458:33;:::i;:::-;1358:139;;;;:::o;1503:674::-;1583:6;1591;1599;1648:2;1636:9;1627:7;1623:23;1619:32;1616:119;;;1654:79;;:::i;:::-;1616:119;1802:1;1791:9;1787:17;1774:31;1832:18;1824:6;1821:30;1818:117;;;1854:79;;:::i;:::-;1818:117;1967:65;2024:7;2015:6;2004:9;2000:22;1967:65;:::i;:::-;1949:83;;;;1745:297;2081:2;2107:53;2152:7;2143:6;2132:9;2128:22;2107:53;:::i;:::-;2097:63;;2052:118;1503:674;;;;;:::o;2183:509::-;2252:6;2301:2;2289:9;2280:7;2276:23;2272:32;2269:119;;;2307:79;;:::i;:::-;2269:119;2455:1;2444:9;2440:17;2427:31;2485:18;2477:6;2474:30;2471:117;;;2507:79;;:::i;:::-;2471:117;2612:63;2667:7;2658:6;2647:9;2643:22;2612:63;:::i;:::-;2602:73;;2398:287;2183:509;;;;:::o;2698:329::-;2757:6;2806:2;2794:9;2785:7;2781:23;2777:32;2774:119;;;2812:79;;:::i;:::-;2774:119;2932:1;2957:53;3002:7;2993:6;2982:9;2978:22;2957:53;:::i;:::-;2947:63;;2903:117;2698:329;;;;:::o;3057:317::-;3173:3;3194:89;3276:6;3271:3;3194:89;:::i;:::-;3187:96;;3293:43;3329:6;3324:3;3317:5;3293:43;:::i;:::-;3361:6;3356:3;3352:16;3345:23;;3057:317;;;;;:::o;3380:364::-;3468:3;3496:39;3529:5;3496:39;:::i;:::-;3551:71;3615:6;3610:3;3551:71;:::i;:::-;3544:78;;3631:52;3676:6;3671:3;3664:4;3657:5;3653:16;3631:52;:::i;:::-;3708:29;3730:6;3708:29;:::i;:::-;3703:3;3699:39;3692:46;;3472:272;3380:364;;;;:::o;3750:118::-;3837:24;3855:5;3837:24;:::i;:::-;3832:3;3825:37;3750:118;;:::o;3874:295::-;4016:3;4038:105;4139:3;4130:6;4122;4038:105;:::i;:::-;4031:112;;4160:3;4153:10;;3874:295;;;;;:::o;4175:222::-;4268:4;4306:2;4295:9;4291:18;4283:26;;4319:71;4387:1;4376:9;4372:17;4363:6;4319:71;:::i;:::-;4175:222;;;;:::o;4403:423::-;4544:4;4582:2;4571:9;4567:18;4559:26;;4595:71;4663:1;4652:9;4648:17;4639:6;4595:71;:::i;:::-;4713:9;4707:4;4703:20;4698:2;4687:9;4683:18;4676:48;4741:78;4814:4;4805:6;4741:78;:::i;:::-;4733:86;;4403:423;;;;;:::o;4832:129::-;4866:6;4893:20;;:::i;:::-;4883:30;;4922:33;4950:4;4942:6;4922:33;:::i;:::-;4832:129;;;:::o;4967:75::-;5000:6;5033:2;5027:9;5017:19;;4967:75;:::o;5048:308::-;5110:4;5200:18;5192:6;5189:30;5186:56;;;5222:18;;:::i;:::-;5186:56;5260:29;5282:6;5260:29;:::i;:::-;5252:37;;5344:4;5338;5334:15;5326:23;;5048:308;;;:::o;5362:99::-;5414:6;5448:5;5442:12;5432:22;;5362:99;;;:::o;5467:169::-;5551:11;5585:6;5580:3;5573:19;5625:4;5620:3;5616:14;5601:29;;5467:169;;;;:::o;5642:148::-;5744:11;5781:3;5766:18;;5642:148;;;;:::o;5796:305::-;5836:3;5855:20;5873:1;5855:20;:::i;:::-;5850:25;;5889:20;5907:1;5889:20;:::i;:::-;5884:25;;6043:1;5975:66;5971:74;5968:1;5965:81;5962:107;;;6049:18;;:::i;:::-;5962:107;6093:1;6090;6086:9;6079:16;;5796:305;;;;:::o;6107:77::-;6144:7;6173:5;6162:16;;6107:77;;;:::o;6190:154::-;6274:6;6269:3;6264;6251:30;6336:1;6327:6;6322:3;6318:16;6311:27;6190:154;;;:::o;6350:307::-;6418:1;6428:113;6442:6;6439:1;6436:13;6428:113;;;6527:1;6522:3;6518:11;6512:18;6508:1;6503:3;6499:11;6492:39;6464:2;6461:1;6457:10;6452:15;;6428:113;;;6559:6;6556:1;6553:13;6550:101;;;6639:1;6630:6;6625:3;6621:16;6614:27;6550:101;6399:258;6350:307;;;:::o;6663:320::-;6707:6;6744:1;6738:4;6734:12;6724:22;;6791:1;6785:4;6781:12;6812:18;6802:81;;6868:4;6860:6;6856:17;6846:27;;6802:81;6930:2;6922:6;6919:14;6899:18;6896:38;6893:84;;;6949:18;;:::i;:::-;6893:84;6714:269;6663:320;;;:::o;6989:281::-;7072:27;7094:4;7072:27;:::i;:::-;7064:6;7060:40;7202:6;7190:10;7187:22;7166:18;7154:10;7151:34;7148:62;7145:88;;;7213:18;;:::i;:::-;7145:88;7253:10;7249:2;7242:22;7032:238;6989:281;;:::o;7276:180::-;7324:77;7321:1;7314:88;7421:4;7418:1;7411:15;7445:4;7442:1;7435:15;7462:180;7510:77;7507:1;7500:88;7607:4;7604:1;7597:15;7631:4;7628:1;7621:15;7648:180;7696:77;7693:1;7686:88;7793:4;7790:1;7783:15;7817:4;7814:1;7807:15;7834:117;7943:1;7940;7933:12;7957:117;8066:1;8063;8056:12;8080:117;8189:1;8186;8179:12;8203:117;8312:1;8309;8302:12;8326:117;8435:1;8432;8425:12;8449:117;8558:1;8555;8548:12;8572:102;8613:6;8664:2;8660:7;8655:2;8648:5;8644:14;8640:28;8630:38;;8572:102;;;:::o;8680:122::-;8753:24;8771:5;8753:24;:::i;:::-;8746:5;8743:35;8733:63;;8792:1;8789;8782:12;8733:63;8680:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "452200",
"executionCost": "486",
"totalCost": "452686"
},
"external": {
"add(uint256)": "infinite",
"addPerson(string,uint256)": "infinite",
"nameToFavoriteNumberMapping(string)": "infinite",
"people(uint256)": "infinite",
"retrive()": "2525",
"store(uint256)": "22542"
}
},
"methodIdentifiers": {
"add(uint256)": "1003e2d2",
"addPerson(string,uint256)": "6f760f41",
"nameToFavoriteNumberMapping(string)": "5c40826c",
"people(uint256)": "9e7a13ad",
"retrive()": "a6b7fc5b",
"store(uint256)": "6057361d"
}
},
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "add",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "_name",
"type": "string"
},
{
"internalType": "uint256",
"name": "_favoriteNumber",
"type": "uint256"
}
],
"name": "addPerson",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"name": "nameToFavoriteNumberMapping",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "people",
"outputs": [
{
"internalType": "uint256",
"name": "favoriteNumber",
"type": "uint256"
},
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "retrive",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_favoriteNumber",
"type": "uint256"
}
],
"name": "store",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "add",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "_name",
"type": "string"
},
{
"internalType": "uint256",
"name": "_favoriteNumber",
"type": "uint256"
}
],
"name": "addPerson",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"name": "nameToFavoriteNumberMapping",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "people",
"outputs": [
{
"internalType": "uint256",
"name": "favoriteNumber",
"type": "uint256"
},
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "retrive",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_favoriteNumber",
"type": "uint256"
}
],
"name": "store",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/SimpleStorage.sol": "SimpleStorage"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/SimpleStorage.sol": {
"keccak256": "0x17f0996ee8da215a152640ff2c84322d8a29e589ac41bf22ad75688a5904c6ac",
"license": "MIT",
"urls": [
"bzz-raw://fe9621a614c0912a10d6b33daf29c282b2bdcafe1a1f9ff2b39472006175aee7",
"dweb:/ipfs/QmSUJgB7kubg1NYFhMh3i7MKoDdgKUC8wBbCAEkbqhDpP8"
]
}
},
"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
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50610bd2806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631563700f146100465780631dda65411461006257806364591bf11461006c575b600080fd5b610060600480360381019061005b91906101c1565b61009c565b005b61006a6100a0565b005b61008660048036038101906100819190610194565b610133565b6040516100939190610210565b60405180910390f35b5050565b60006040516100ae90610172565b604051809103906000f0801580156100ca573d6000803e3d6000fd5b5090506000819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000818154811061014357600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108f5806102a883390190565b60008135905061018e81610290565b92915050565b6000602082840312156101aa576101a961028b565b5b60006101b88482850161017f565b91505092915050565b600080604083850312156101d8576101d761028b565b5b60006101e68582860161017f565b92505060206101f78582860161017f565b9150509250929050565b61020a81610255565b82525050565b60006020820190506102256000830184610201565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061026082610267565b9050919050565b600061027282610279565b9050919050565b60006102848261022b565b9050919050565b600080fd5b6102998161024b565b81146102a457600080fd5b5056fe608060405234801561001057600080fd5b506108d5806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631003e2d2146100675780635c40826c146100835780636057361d146100b35780636f760f41146100cf5780639e7a13ad146100eb578063a6b7fc5b1461011c575b600080fd5b610081600480360381019061007c919061054c565b61013a565b005b61009d60048036038101906100989190610503565b610151565b6040516100aa91906105ff565b60405180910390f35b6100cd60048036038101906100c8919061054c565b61017f565b005b6100e960048036038101906100e491906104a3565b610189565b005b6101056004803603810190610100919061054c565b610260565b60405161011392919061061a565b60405180910390f35b61012461031c565b60405161013191906105ff565b60405180910390f35b8060005461014891906106c7565b60008190555050565b6001818051602081018201805184825260208301602085012081835280955050505050506000915090505481565b8060008190555050565b6002604051806040016040528083815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508152509080600181540180825580915050600190039060005260206000209060020201600090919091909150600082015181600001556020820151816001019080519060200190610233929190610325565b50505080600184846040516102499291906105e6565b908152602001604051809103902081905550505050565b6002818154811061027057600080fd5b906000526020600020906002020160009150905080600001549080600101805461029990610769565b80601f01602080910402602001604051908101604052809291908181526020018280546102c590610769565b80156103125780601f106102e757610100808354040283529160200191610312565b820191906000526020600020905b8154815290600101906020018083116102f557829003601f168201915b5050505050905082565b60008054905090565b82805461033190610769565b90600052602060002090601f016020900481019282610353576000855561039a565b82601f1061036c57805160ff191683800117855561039a565b8280016001018555821561039a579182015b8281111561039957825182559160200191906001019061037e565b5b5090506103a791906103ab565b5090565b5b808211156103c45760008160009055506001016103ac565b5090565b60006103db6103d68461066f565b61064a565b9050828152602081018484840111156103f7576103f6610868565b5b610402848285610727565b509392505050565b60008083601f8401126104205761041f61085e565b5b8235905067ffffffffffffffff81111561043d5761043c610859565b5b60208301915083600182028301111561045957610458610863565b5b9250929050565b600082601f8301126104755761047461085e565b5b81356104858482602086016103c8565b91505092915050565b60008135905061049d81610888565b92915050565b6000806000604084860312156104bc576104bb610872565b5b600084013567ffffffffffffffff8111156104da576104d961086d565b5b6104e68682870161040a565b935093505060206104f98682870161048e565b9150509250925092565b60006020828403121561051957610518610872565b5b600082013567ffffffffffffffff8111156105375761053661086d565b5b61054384828501610460565b91505092915050565b60006020828403121561056257610561610872565b5b60006105708482850161048e565b91505092915050565b600061058583856106bc565b9350610592838584610727565b82840190509392505050565b60006105a9826106a0565b6105b381856106ab565b93506105c3818560208601610736565b6105cc81610877565b840191505092915050565b6105e08161071d565b82525050565b60006105f3828486610579565b91508190509392505050565b600060208201905061061460008301846105d7565b92915050565b600060408201905061062f60008301856105d7565b8181036020830152610641818461059e565b90509392505050565b6000610654610665565b9050610660828261079b565b919050565b6000604051905090565b600067ffffffffffffffff82111561068a5761068961082a565b5b61069382610877565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b60006106d28261071d565b91506106dd8361071d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610712576107116107cc565b5b828201905092915050565b6000819050919050565b82818337600083830152505050565b60005b83811015610754578082015181840152602081019050610739565b83811115610763576000848401525b50505050565b6000600282049050600182168061078157607f821691505b60208210811415610795576107946107fb565b5b50919050565b6107a482610877565b810181811067ffffffffffffffff821117156107c3576107c261082a565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b6108918161071d565b811461089c57600080fd5b5056fea26469706673582212206c065c28884e69fb1d430714465a410b73b0a58ad3cfc21d931be327425e2f9164736f6c63430008070033a264697066735822122007693be405ada797e1739ca47d25241b139456db1eb7f07dab448fb1a7dbc2a564736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBD2 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 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1563700F EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x1DDA6541 EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0x64591BF1 EQ PUSH2 0x6C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x1C1 JUMP JUMPDEST PUSH2 0x9C JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6A PUSH2 0xA0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x86 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x81 SWAP2 SWAP1 PUSH2 0x194 JUMP JUMPDEST PUSH2 0x133 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x93 SWAP2 SWAP1 PUSH2 0x210 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH2 0xAE SWAP1 PUSH2 0x172 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH2 0xCA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP2 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 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x143 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH2 0x8F5 DUP1 PUSH2 0x2A8 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x18E DUP2 PUSH2 0x290 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1AA JUMPI PUSH2 0x1A9 PUSH2 0x28B JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1B8 DUP5 DUP3 DUP6 ADD PUSH2 0x17F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1D8 JUMPI PUSH2 0x1D7 PUSH2 0x28B JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1E6 DUP6 DUP3 DUP7 ADD PUSH2 0x17F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1F7 DUP6 DUP3 DUP7 ADD PUSH2 0x17F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x20A DUP2 PUSH2 0x255 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x225 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x201 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x260 DUP3 PUSH2 0x267 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x272 DUP3 PUSH2 0x279 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x284 DUP3 PUSH2 0x22B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x299 DUP2 PUSH2 0x24B JUMP JUMPDEST DUP2 EQ PUSH2 0x2A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x8D5 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 0x1003E2D2 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x5C40826C EQ PUSH2 0x83 JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0x6F760F41 EQ PUSH2 0xCF JUMPI DUP1 PUSH4 0x9E7A13AD EQ PUSH2 0xEB JUMPI DUP1 PUSH4 0xA6B7FC5B EQ PUSH2 0x11C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x81 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x54C JUMP JUMPDEST PUSH2 0x13A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x98 SWAP2 SWAP1 PUSH2 0x503 JUMP JUMPDEST PUSH2 0x151 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAA SWAP2 SWAP1 PUSH2 0x5FF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC8 SWAP2 SWAP1 PUSH2 0x54C JUMP JUMPDEST PUSH2 0x17F JUMP JUMPDEST STOP JUMPDEST PUSH2 0xE9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE4 SWAP2 SWAP1 PUSH2 0x4A3 JUMP JUMPDEST PUSH2 0x189 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x105 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x100 SWAP2 SWAP1 PUSH2 0x54C JUMP JUMPDEST PUSH2 0x260 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x113 SWAP3 SWAP2 SWAP1 PUSH2 0x61A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x124 PUSH2 0x31C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x131 SWAP2 SWAP1 PUSH2 0x5FF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 PUSH1 0x0 SLOAD PUSH2 0x148 SWAP2 SWAP1 PUSH2 0x6C7 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP3 ADD DUP1 MLOAD DUP5 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP6 ADD KECCAK256 DUP2 DUP4 MSTORE DUP1 SWAP6 POP POP POP POP POP POP PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP6 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP 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 0x2 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 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x233 SWAP3 SWAP2 SWAP1 PUSH2 0x325 JUMP JUMPDEST POP POP POP DUP1 PUSH1 0x1 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x249 SWAP3 SWAP2 SWAP1 PUSH2 0x5E6 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP2 SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x270 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x299 SWAP1 PUSH2 0x769 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 0x2C5 SWAP1 PUSH2 0x769 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x312 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2E7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x312 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 0x2F5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x331 SWAP1 PUSH2 0x769 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x353 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x39A JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x36C JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x39A JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x39A JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x399 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x37E JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x3A7 SWAP2 SWAP1 PUSH2 0x3AB JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x3C4 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x3AC JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DB PUSH2 0x3D6 DUP5 PUSH2 0x66F JUMP JUMPDEST PUSH2 0x64A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x3F7 JUMPI PUSH2 0x3F6 PUSH2 0x868 JUMP JUMPDEST JUMPDEST PUSH2 0x402 DUP5 DUP3 DUP6 PUSH2 0x727 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x420 JUMPI PUSH2 0x41F PUSH2 0x85E JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x43D JUMPI PUSH2 0x43C PUSH2 0x859 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x459 JUMPI PUSH2 0x458 PUSH2 0x863 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x475 JUMPI PUSH2 0x474 PUSH2 0x85E JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x485 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x3C8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x49D DUP2 PUSH2 0x888 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4BC JUMPI PUSH2 0x4BB PUSH2 0x872 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4DA JUMPI PUSH2 0x4D9 PUSH2 0x86D JUMP JUMPDEST JUMPDEST PUSH2 0x4E6 DUP7 DUP3 DUP8 ADD PUSH2 0x40A JUMP JUMPDEST SWAP4 POP SWAP4 POP POP PUSH1 0x20 PUSH2 0x4F9 DUP7 DUP3 DUP8 ADD PUSH2 0x48E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x519 JUMPI PUSH2 0x518 PUSH2 0x872 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x537 JUMPI PUSH2 0x536 PUSH2 0x86D JUMP JUMPDEST JUMPDEST PUSH2 0x543 DUP5 DUP3 DUP6 ADD PUSH2 0x460 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x562 JUMPI PUSH2 0x561 PUSH2 0x872 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x570 DUP5 DUP3 DUP6 ADD PUSH2 0x48E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x585 DUP4 DUP6 PUSH2 0x6BC JUMP JUMPDEST SWAP4 POP PUSH2 0x592 DUP4 DUP6 DUP5 PUSH2 0x727 JUMP JUMPDEST DUP3 DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5A9 DUP3 PUSH2 0x6A0 JUMP JUMPDEST PUSH2 0x5B3 DUP2 DUP6 PUSH2 0x6AB JUMP JUMPDEST SWAP4 POP PUSH2 0x5C3 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x736 JUMP JUMPDEST PUSH2 0x5CC DUP2 PUSH2 0x877 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x5E0 DUP2 PUSH2 0x71D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F3 DUP3 DUP5 DUP7 PUSH2 0x579 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x614 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5D7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x62F PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x5D7 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x641 DUP2 DUP5 PUSH2 0x59E JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x654 PUSH2 0x665 JUMP JUMPDEST SWAP1 POP PUSH2 0x660 DUP3 DUP3 PUSH2 0x79B JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x68A JUMPI PUSH2 0x689 PUSH2 0x82A JUMP JUMPDEST JUMPDEST PUSH2 0x693 DUP3 PUSH2 0x877 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 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 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6D2 DUP3 PUSH2 0x71D JUMP JUMPDEST SWAP2 POP PUSH2 0x6DD DUP4 PUSH2 0x71D JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x712 JUMPI PUSH2 0x711 PUSH2 0x7CC JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x754 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x739 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x763 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x781 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x795 JUMPI PUSH2 0x794 PUSH2 0x7FB JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x7A4 DUP3 PUSH2 0x877 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x7C3 JUMPI PUSH2 0x7C2 PUSH2 0x82A JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT 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 PUSH2 0x891 DUP2 PUSH2 0x71D JUMP JUMPDEST DUP2 EQ PUSH2 0x89C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH13 0x65C28884E69FB1D430714465A COINBASE SIGNEXTEND PUSH20 0xB0A58AD3CFC21D931BE327425E2F9164736F6C63 NUMBER STOP ADDMOD SMOD STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SMOD PUSH10 0x3BE405ADA797E1739CA4 PUSH30 0x25241B139456DB1EB7F07DAB448FB1A7DBC2A564736F6C63430008070033 ",
"sourceMap": "87:374:1:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@createSimpleStorageContract_95": {
"entryPoint": 160,
"id": 95,
"parameterSlots": 0,
"returnSlots": 0
},
"@sfStore_103": {
"entryPoint": 156,
"id": 103,
"parameterSlots": 2,
"returnSlots": 0
},
"@simpleStorageArray_77": {
"entryPoint": 307,
"id": 77,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 383,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 404,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256t_uint256": {
"entryPoint": 449,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_contract$_SimpleStorage_$70_to_t_address_fromStack": {
"entryPoint": 513,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_contract$_SimpleStorage_$70__to_t_address__fromStack_reversed": {
"entryPoint": 528,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 555,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 587,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_contract$_SimpleStorage_$70_to_t_address": {
"entryPoint": 597,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_uint160_to_t_address": {
"entryPoint": 615,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_uint160_to_t_uint160": {
"entryPoint": 633,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 651,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 656,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:2482:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "59:87:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "69:29:2",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "91:6:2"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "78:12:2"
},
"nodeType": "YulFunctionCall",
"src": "78:20:2"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "69:5:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "134:5:2"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "107:26:2"
},
"nodeType": "YulFunctionCall",
"src": "107:33:2"
},
"nodeType": "YulExpressionStatement",
"src": "107:33:2"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "37:6:2",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "45:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "53:5:2",
"type": ""
}
],
"src": "7:139:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "218:263:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "264:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "266:77:2"
},
"nodeType": "YulFunctionCall",
"src": "266:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "266:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "239:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "248:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "235:3:2"
},
"nodeType": "YulFunctionCall",
"src": "235:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "260:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "231:3:2"
},
"nodeType": "YulFunctionCall",
"src": "231:32:2"
},
"nodeType": "YulIf",
"src": "228:119:2"
},
{
"nodeType": "YulBlock",
"src": "357:117:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "372:15:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "386:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "376:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "401:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "436:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "447:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "432:3:2"
},
"nodeType": "YulFunctionCall",
"src": "432:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "456:7:2"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "411:20:2"
},
"nodeType": "YulFunctionCall",
"src": "411:53:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "401:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "188:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "199:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "211:6:2",
"type": ""
}
],
"src": "152:329:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "570:391:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "616:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "618:77:2"
},
"nodeType": "YulFunctionCall",
"src": "618:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "618:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "591:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "600:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "587:3:2"
},
"nodeType": "YulFunctionCall",
"src": "587:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "612:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "583:3:2"
},
"nodeType": "YulFunctionCall",
"src": "583:32:2"
},
"nodeType": "YulIf",
"src": "580:119:2"
},
{
"nodeType": "YulBlock",
"src": "709:117:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "724:15:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "738:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "728:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "753:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "788:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "799:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "784:3:2"
},
"nodeType": "YulFunctionCall",
"src": "784:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "808:7:2"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "763:20:2"
},
"nodeType": "YulFunctionCall",
"src": "763:53:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "753:6:2"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "836:118:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "851:16:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "865:2:2",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "855:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "881:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "916:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "927:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "912:3:2"
},
"nodeType": "YulFunctionCall",
"src": "912:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "936:7:2"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "891:20:2"
},
"nodeType": "YulFunctionCall",
"src": "891:53:2"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "881:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "532:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "543:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "555:6:2",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "563:6:2",
"type": ""
}
],
"src": "487:474:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1052:86:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1069:3:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1125:5:2"
}
],
"functionName": {
"name": "convert_t_contract$_SimpleStorage_$70_to_t_address",
"nodeType": "YulIdentifier",
"src": "1074:50:2"
},
"nodeType": "YulFunctionCall",
"src": "1074:57:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1062:6:2"
},
"nodeType": "YulFunctionCall",
"src": "1062:70:2"
},
"nodeType": "YulExpressionStatement",
"src": "1062:70:2"
}
]
},
"name": "abi_encode_t_contract$_SimpleStorage_$70_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1040:5:2",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1047:3:2",
"type": ""
}
],
"src": "967:171:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1262:144:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1272:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1284:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1295:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1280:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1280:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1272:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1372:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1385:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1396:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1381:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1381:17:2"
}
],
"functionName": {
"name": "abi_encode_t_contract$_SimpleStorage_$70_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "1308:63:2"
},
"nodeType": "YulFunctionCall",
"src": "1308:91:2"
},
"nodeType": "YulExpressionStatement",
"src": "1308:91:2"
}
]
},
"name": "abi_encode_tuple_t_contract$_SimpleStorage_$70__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1234:9:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1246:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1257:4:2",
"type": ""
}
],
"src": "1144:262:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1452:35:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1462:19:2",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1478:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1472:5:2"
},
"nodeType": "YulFunctionCall",
"src": "1472:9:2"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1462:6:2"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1445:6:2",
"type": ""
}
],
"src": "1412:75:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1538:81:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1548:65:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1563:5:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1570:42:2",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1559:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1559:54:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1548:7:2"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1520:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1530:7:2",
"type": ""
}
],
"src": "1493:126:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1670:32:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1680:16:2",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1691:5:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1680:7:2"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1652:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1662:7:2",
"type": ""
}
],
"src": "1625:77:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1788:66:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1798:50:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1842:5:2"
}
],
"functionName": {
"name": "convert_t_uint160_to_t_address",
"nodeType": "YulIdentifier",
"src": "1811:30:2"
},
"nodeType": "YulFunctionCall",
"src": "1811:37:2"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "1798:9:2"
}
]
}
]
},
"name": "convert_t_contract$_SimpleStorage_$70_to_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1768:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "1778:9:2",
"type": ""
}
],
"src": "1708:146:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1920:66:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1930:50:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1974:5:2"
}
],
"functionName": {
"name": "convert_t_uint160_to_t_uint160",
"nodeType": "YulIdentifier",
"src": "1943:30:2"
},
"nodeType": "YulFunctionCall",
"src": "1943:37:2"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "1930:9:2"
}
]
}
]
},
"name": "convert_t_uint160_to_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1900:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "1910:9:2",
"type": ""
}
],
"src": "1860:126:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2052:53:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2062:37:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2093:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "2075:17:2"
},
"nodeType": "YulFunctionCall",
"src": "2075:24:2"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "2062:9:2"
}
]
}
]
},
"name": "convert_t_uint160_to_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2032:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "2042:9:2",
"type": ""
}
],
"src": "1992:113:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2200:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2217:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2220:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2210:6:2"
},
"nodeType": "YulFunctionCall",
"src": "2210:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "2210:12:2"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "2111:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2323:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2340:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2343:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2333:6:2"
},
"nodeType": "YulFunctionCall",
"src": "2333:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "2333:12:2"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "2234:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2400:79:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2457:16:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2466:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2469:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2459:6:2"
},
"nodeType": "YulFunctionCall",
"src": "2459:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "2459:12:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2423:5:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2448:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2430:17:2"
},
"nodeType": "YulFunctionCall",
"src": "2430:24:2"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "2420:2:2"
},
"nodeType": "YulFunctionCall",
"src": "2420:35:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2413:6:2"
},
"nodeType": "YulFunctionCall",
"src": "2413:43:2"
},
"nodeType": "YulIf",
"src": "2410:63:2"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2393:5:2",
"type": ""
}
],
"src": "2357:122:2"
}
]
},
"contents": "{\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 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_encode_t_contract$_SimpleStorage_$70_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_SimpleStorage_$70_to_t_address(value))\n }\n\n function abi_encode_tuple_t_contract$_SimpleStorage_$70__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_SimpleStorage_$70_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function convert_t_contract$_SimpleStorage_$70_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function convert_t_uint160_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_uint160(value)\n }\n\n function convert_t_uint160_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(value)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 2,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100415760003560e01c80631563700f146100465780631dda65411461006257806364591bf11461006c575b600080fd5b610060600480360381019061005b91906101c1565b61009c565b005b61006a6100a0565b005b61008660048036038101906100819190610194565b610133565b6040516100939190610210565b60405180910390f35b5050565b60006040516100ae90610172565b604051809103906000f0801580156100ca573d6000803e3d6000fd5b5090506000819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000818154811061014357600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108f5806102a883390190565b60008135905061018e81610290565b92915050565b6000602082840312156101aa576101a961028b565b5b60006101b88482850161017f565b91505092915050565b600080604083850312156101d8576101d761028b565b5b60006101e68582860161017f565b92505060206101f78582860161017f565b9150509250929050565b61020a81610255565b82525050565b60006020820190506102256000830184610201565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061026082610267565b9050919050565b600061027282610279565b9050919050565b60006102848261022b565b9050919050565b600080fd5b6102998161024b565b81146102a457600080fd5b5056fe608060405234801561001057600080fd5b506108d5806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631003e2d2146100675780635c40826c146100835780636057361d146100b35780636f760f41146100cf5780639e7a13ad146100eb578063a6b7fc5b1461011c575b600080fd5b610081600480360381019061007c919061054c565b61013a565b005b61009d60048036038101906100989190610503565b610151565b6040516100aa91906105ff565b60405180910390f35b6100cd60048036038101906100c8919061054c565b61017f565b005b6100e960048036038101906100e491906104a3565b610189565b005b6101056004803603810190610100919061054c565b610260565b60405161011392919061061a565b60405180910390f35b61012461031c565b60405161013191906105ff565b60405180910390f35b8060005461014891906106c7565b60008190555050565b6001818051602081018201805184825260208301602085012081835280955050505050506000915090505481565b8060008190555050565b6002604051806040016040528083815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508152509080600181540180825580915050600190039060005260206000209060020201600090919091909150600082015181600001556020820151816001019080519060200190610233929190610325565b50505080600184846040516102499291906105e6565b908152602001604051809103902081905550505050565b6002818154811061027057600080fd5b906000526020600020906002020160009150905080600001549080600101805461029990610769565b80601f01602080910402602001604051908101604052809291908181526020018280546102c590610769565b80156103125780601f106102e757610100808354040283529160200191610312565b820191906000526020600020905b8154815290600101906020018083116102f557829003601f168201915b5050505050905082565b60008054905090565b82805461033190610769565b90600052602060002090601f016020900481019282610353576000855561039a565b82601f1061036c57805160ff191683800117855561039a565b8280016001018555821561039a579182015b8281111561039957825182559160200191906001019061037e565b5b5090506103a791906103ab565b5090565b5b808211156103c45760008160009055506001016103ac565b5090565b60006103db6103d68461066f565b61064a565b9050828152602081018484840111156103f7576103f6610868565b5b610402848285610727565b509392505050565b60008083601f8401126104205761041f61085e565b5b8235905067ffffffffffffffff81111561043d5761043c610859565b5b60208301915083600182028301111561045957610458610863565b5b9250929050565b600082601f8301126104755761047461085e565b5b81356104858482602086016103c8565b91505092915050565b60008135905061049d81610888565b92915050565b6000806000604084860312156104bc576104bb610872565b5b600084013567ffffffffffffffff8111156104da576104d961086d565b5b6104e68682870161040a565b935093505060206104f98682870161048e565b9150509250925092565b60006020828403121561051957610518610872565b5b600082013567ffffffffffffffff8111156105375761053661086d565b5b61054384828501610460565b91505092915050565b60006020828403121561056257610561610872565b5b60006105708482850161048e565b91505092915050565b600061058583856106bc565b9350610592838584610727565b82840190509392505050565b60006105a9826106a0565b6105b381856106ab565b93506105c3818560208601610736565b6105cc81610877565b840191505092915050565b6105e08161071d565b82525050565b60006105f3828486610579565b91508190509392505050565b600060208201905061061460008301846105d7565b92915050565b600060408201905061062f60008301856105d7565b8181036020830152610641818461059e565b90509392505050565b6000610654610665565b9050610660828261079b565b919050565b6000604051905090565b600067ffffffffffffffff82111561068a5761068961082a565b5b61069382610877565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b60006106d28261071d565b91506106dd8361071d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610712576107116107cc565b5b828201905092915050565b6000819050919050565b82818337600083830152505050565b60005b83811015610754578082015181840152602081019050610739565b83811115610763576000848401525b50505050565b6000600282049050600182168061078157607f821691505b60208210811415610795576107946107fb565b5b50919050565b6107a482610877565b810181811067ffffffffffffffff821117156107c3576107c261082a565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b6108918161071d565b811461089c57600080fd5b5056fea26469706673582212206c065c28884e69fb1d430714465a410b73b0a58ad3cfc21d931be327425e2f9164736f6c63430008070033a264697066735822122007693be405ada797e1739ca47d25241b139456db1eb7f07dab448fb1a7dbc2a564736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1563700F EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x1DDA6541 EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0x64591BF1 EQ PUSH2 0x6C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x1C1 JUMP JUMPDEST PUSH2 0x9C JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6A PUSH2 0xA0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x86 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x81 SWAP2 SWAP1 PUSH2 0x194 JUMP JUMPDEST PUSH2 0x133 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x93 SWAP2 SWAP1 PUSH2 0x210 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH2 0xAE SWAP1 PUSH2 0x172 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH2 0xCA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP2 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 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x143 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH2 0x8F5 DUP1 PUSH2 0x2A8 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x18E DUP2 PUSH2 0x290 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1AA JUMPI PUSH2 0x1A9 PUSH2 0x28B JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1B8 DUP5 DUP3 DUP6 ADD PUSH2 0x17F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1D8 JUMPI PUSH2 0x1D7 PUSH2 0x28B JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1E6 DUP6 DUP3 DUP7 ADD PUSH2 0x17F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1F7 DUP6 DUP3 DUP7 ADD PUSH2 0x17F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x20A DUP2 PUSH2 0x255 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x225 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x201 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x260 DUP3 PUSH2 0x267 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x272 DUP3 PUSH2 0x279 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x284 DUP3 PUSH2 0x22B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x299 DUP2 PUSH2 0x24B JUMP JUMPDEST DUP2 EQ PUSH2 0x2A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x8D5 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 0x1003E2D2 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x5C40826C EQ PUSH2 0x83 JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0x6F760F41 EQ PUSH2 0xCF JUMPI DUP1 PUSH4 0x9E7A13AD EQ PUSH2 0xEB JUMPI DUP1 PUSH4 0xA6B7FC5B EQ PUSH2 0x11C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x81 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x54C JUMP JUMPDEST PUSH2 0x13A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x98 SWAP2 SWAP1 PUSH2 0x503 JUMP JUMPDEST PUSH2 0x151 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAA SWAP2 SWAP1 PUSH2 0x5FF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC8 SWAP2 SWAP1 PUSH2 0x54C JUMP JUMPDEST PUSH2 0x17F JUMP JUMPDEST STOP JUMPDEST PUSH2 0xE9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE4 SWAP2 SWAP1 PUSH2 0x4A3 JUMP JUMPDEST PUSH2 0x189 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x105 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x100 SWAP2 SWAP1 PUSH2 0x54C JUMP JUMPDEST PUSH2 0x260 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x113 SWAP3 SWAP2 SWAP1 PUSH2 0x61A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x124 PUSH2 0x31C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x131 SWAP2 SWAP1 PUSH2 0x5FF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 PUSH1 0x0 SLOAD PUSH2 0x148 SWAP2 SWAP1 PUSH2 0x6C7 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP3 ADD DUP1 MLOAD DUP5 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP6 ADD KECCAK256 DUP2 DUP4 MSTORE DUP1 SWAP6 POP POP POP POP POP POP PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP6 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP 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 0x2 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 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x233 SWAP3 SWAP2 SWAP1 PUSH2 0x325 JUMP JUMPDEST POP POP POP DUP1 PUSH1 0x1 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x249 SWAP3 SWAP2 SWAP1 PUSH2 0x5E6 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP2 SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x270 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x299 SWAP1 PUSH2 0x769 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 0x2C5 SWAP1 PUSH2 0x769 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x312 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2E7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x312 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 0x2F5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x331 SWAP1 PUSH2 0x769 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x353 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x39A JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x36C JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x39A JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x39A JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x399 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x37E JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x3A7 SWAP2 SWAP1 PUSH2 0x3AB JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x3C4 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x3AC JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DB PUSH2 0x3D6 DUP5 PUSH2 0x66F JUMP JUMPDEST PUSH2 0x64A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x3F7 JUMPI PUSH2 0x3F6 PUSH2 0x868 JUMP JUMPDEST JUMPDEST PUSH2 0x402 DUP5 DUP3 DUP6 PUSH2 0x727 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x420 JUMPI PUSH2 0x41F PUSH2 0x85E JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x43D JUMPI PUSH2 0x43C PUSH2 0x859 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x459 JUMPI PUSH2 0x458 PUSH2 0x863 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x475 JUMPI PUSH2 0x474 PUSH2 0x85E JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x485 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x3C8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x49D DUP2 PUSH2 0x888 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4BC JUMPI PUSH2 0x4BB PUSH2 0x872 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4DA JUMPI PUSH2 0x4D9 PUSH2 0x86D JUMP JUMPDEST JUMPDEST PUSH2 0x4E6 DUP7 DUP3 DUP8 ADD PUSH2 0x40A JUMP JUMPDEST SWAP4 POP SWAP4 POP POP PUSH1 0x20 PUSH2 0x4F9 DUP7 DUP3 DUP8 ADD PUSH2 0x48E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x519 JUMPI PUSH2 0x518 PUSH2 0x872 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x537 JUMPI PUSH2 0x536 PUSH2 0x86D JUMP JUMPDEST JUMPDEST PUSH2 0x543 DUP5 DUP3 DUP6 ADD PUSH2 0x460 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x562 JUMPI PUSH2 0x561 PUSH2 0x872 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x570 DUP5 DUP3 DUP6 ADD PUSH2 0x48E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x585 DUP4 DUP6 PUSH2 0x6BC JUMP JUMPDEST SWAP4 POP PUSH2 0x592 DUP4 DUP6 DUP5 PUSH2 0x727 JUMP JUMPDEST DUP3 DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5A9 DUP3 PUSH2 0x6A0 JUMP JUMPDEST PUSH2 0x5B3 DUP2 DUP6 PUSH2 0x6AB JUMP JUMPDEST SWAP4 POP PUSH2 0x5C3 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x736 JUMP JUMPDEST PUSH2 0x5CC DUP2 PUSH2 0x877 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x5E0 DUP2 PUSH2 0x71D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F3 DUP3 DUP5 DUP7 PUSH2 0x579 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x614 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5D7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x62F PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x5D7 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x641 DUP2 DUP5 PUSH2 0x59E JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x654 PUSH2 0x665 JUMP JUMPDEST SWAP1 POP PUSH2 0x660 DUP3 DUP3 PUSH2 0x79B JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x68A JUMPI PUSH2 0x689 PUSH2 0x82A JUMP JUMPDEST JUMPDEST PUSH2 0x693 DUP3 PUSH2 0x877 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 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 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6D2 DUP3 PUSH2 0x71D JUMP JUMPDEST SWAP2 POP PUSH2 0x6DD DUP4 PUSH2 0x71D JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x712 JUMPI PUSH2 0x711 PUSH2 0x7CC JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x754 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x739 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x763 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x781 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x795 JUMPI PUSH2 0x794 PUSH2 0x7FB JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x7A4 DUP3 PUSH2 0x877 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x7C3 JUMPI PUSH2 0x7C2 PUSH2 0x82A JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT 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 PUSH2 0x891 DUP2 PUSH2 0x71D JUMP JUMPDEST DUP2 EQ PUSH2 0x89C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH13 0x65C28884E69FB1D430714465A COINBASE SIGNEXTEND PUSH20 0xB0A58AD3CFC21D931BE327425E2F9164736F6C63 NUMBER STOP ADDMOD SMOD STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SMOD PUSH10 0x3BE405ADA797E1739CA4 PUSH30 0x25241B139456DB1EB7F07DAB448FB1A7DBC2A564736F6C63430008070033 ",
"sourceMap": "87:374:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;330:129;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;164:160;;;:::i;:::-;;117:41;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;330:129;;;:::o;164:160::-;220:27;250:19;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;220:49;;279:18;303:13;279:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;210:114;164:160::o;117:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;-1:-1:-1:-;;;;;;;;:::o;7:139:2:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:329::-;211:6;260:2;248:9;239:7;235:23;231:32;228:119;;;266:79;;:::i;:::-;228:119;386:1;411:53;456:7;447:6;436:9;432:22;411:53;:::i;:::-;401:63;;357:117;152:329;;;;:::o;487:474::-;555:6;563;612:2;600:9;591:7;587:23;583:32;580:119;;;618:79;;:::i;:::-;580:119;738:1;763:53;808:7;799:6;788:9;784:22;763:53;:::i;:::-;753:63;;709:117;865:2;891:53;936:7;927:6;916:9;912:22;891:53;:::i;:::-;881:63;;836:118;487:474;;;;;:::o;967:171::-;1074:57;1125:5;1074:57;:::i;:::-;1069:3;1062:70;967:171;;:::o;1144:262::-;1257:4;1295:2;1284:9;1280:18;1272:26;;1308:91;1396:1;1385:9;1381:17;1372:6;1308:91;:::i;:::-;1144:262;;;;:::o;1493:126::-;1530:7;1570:42;1563:5;1559:54;1548:65;;1493:126;;;:::o;1625:77::-;1662:7;1691:5;1680:16;;1625:77;;;:::o;1708:146::-;1778:9;1811:37;1842:5;1811:37;:::i;:::-;1798:50;;1708:146;;;:::o;1860:126::-;1910:9;1943:37;1974:5;1943:37;:::i;:::-;1930:50;;1860:126;;;:::o;1992:113::-;2042:9;2075:24;2093:5;2075:24;:::i;:::-;2062:37;;1992:113;;;:::o;2234:117::-;2343:1;2340;2333:12;2357:122;2430:24;2448:5;2430:24;:::i;:::-;2423:5;2420:35;2410:63;;2469:1;2466;2459:12;2410:63;2357:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "605200",
"executionCost": "638",
"totalCost": "605838"
},
"external": {
"createSimpleStorageContract()": "infinite",
"sfStore(uint256,uint256)": "infinite",
"simpleStorageArray(uint256)": "5064"
}
},
"methodIdentifiers": {
"createSimpleStorageContract()": "1dda6541",
"sfStore(uint256,uint256)": "1563700f",
"simpleStorageArray(uint256)": "64591bf1"
}
},
"abi": [
{
"inputs": [],
"name": "createSimpleStorageContract",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_simpleStorageIndex",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_simpleStorageNumber",
"type": "uint256"
}
],
"name": "sfStore",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "simpleStorageArray",
"outputs": [
{
"internalType": "contract SimpleStorage",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "createSimpleStorageContract",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_simpleStorageIndex",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_simpleStorageNumber",
"type": "uint256"
}
],
"name": "sfStore",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "simpleStorageArray",
"outputs": [
{
"internalType": "contract SimpleStorage",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/StorageFactory.sol": "StorageFactory"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/SimpleStorage.sol": {
"keccak256": "0x17f0996ee8da215a152640ff2c84322d8a29e589ac41bf22ad75688a5904c6ac",
"license": "MIT",
"urls": [
"bzz-raw://fe9621a614c0912a10d6b33daf29c282b2bdcafe1a1f9ff2b39472006175aee7",
"dweb:/ipfs/QmSUJgB7kubg1NYFhMh3i7MKoDdgKUC8wBbCAEkbqhDpP8"
]
},
"contracts/StorageFactory.sol": {
"keccak256": "0x7da382353c6429f6263a2b167ba7d246a95ff1e2639191189a321469ca73e41d",
"license": "MIT",
"urls": [
"bzz-raw://16e02fcd76ac5e275db3d4010948b4352344cc7d1d1e8442c99955280d01ad5c",
"dweb:/ipfs/QmQnmC9vt5UKn9nJdbmQfpy17p8UBM3VEXgVwgdd57e4rw"
]
}
},
"version": 1
}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;
contract SimpleStorage {
// This gets initialized to 0
uint256 favoriteNumber;
mapping(string => uint256 ) public nameToFavoriteNumberMapping;
function store(uint256 _favoriteNumber) public
{
favoriteNumber = _favoriteNumber;
}
struct People {
uint256 favoriteNumber;
string name;
}
People[] public people;
// view, pure
function retrive() public view returns(uint256)
{
return favoriteNumber;
}
function add(uint256 _value) public {
favoriteNumber = favoriteNumber + _value;
}
// calldata: not modifying _name and it's temp
// memory, storage, calldata
function addPerson(string calldata _name, uint256 _favoriteNumber) public {
people.push(People(_favoriteNumber, _name));
nameToFavoriteNumberMapping[_name] = _favoriteNumber;
}
}
// 0xddaAd340b0f1Ef65169Ae5E41A8b10776a75482d
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "./SimpleStorage.sol";
contract StorageFactory {
SimpleStorage[] public simpleStorageArray;
function createSimpleStorageContract() public {
SimpleStorage simpleStorage = new SimpleStorage();
simpleStorageArray.push(simpleStorage);
}
function sfStore(uint256 _simpleStorageIndex, uint256 _simpleStorageNumber) public
{
// Address
// ABI
}
}
This file has been truncated, but you can view the full file.
{
"id": "1cb8e885aaa5b81242583a6da533d71e",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.7",
"solcLongVersion": "0.8.7+commit.e28d00a7",
"input": {
"language": "Solidity",
"sources": {
"contracts/StorageFactory.sol": {
"content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\nimport \"./SimpleStorage.sol\";\n\ncontract StorageFactory {\n SimpleStorage public simpleStorage;\n function createSimpleStorageContract() public {\n simpleStorage = new SimpleStorage();\n }\n}"
},
"contracts/SimpleStorage.sol": {
"content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.7; \n\ncontract SimpleStorage {\n\n // This gets initialized to 0\n uint256 favoriteNumber;\n\n mapping(string => uint256 ) public nameToFavoriteNumberMapping;\n\n function store(uint256 _favoriteNumber) public \n {\n favoriteNumber = _favoriteNumber;\n }\n\n struct People {\n uint256 favoriteNumber;\n string name;\n }\n\n People[] public people;\n\n // view, pure\n function retrive() public view returns(uint256)\n {\n return favoriteNumber;\n }\n\n function add(uint256 _value) public {\n favoriteNumber = favoriteNumber + _value;\n }\n\n // calldata: not modifying _name and it's temp\n // memory, storage, calldata\n function addPerson(string calldata _name, uint256 _favoriteNumber) public {\n people.push(People(_favoriteNumber, _name));\n nameToFavoriteNumberMapping[_name] = _favoriteNumber;\n }\n\n}\n\n// 0xddaAd340b0f1Ef65169Ae5E41A8b10776a75482d\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": {
"contracts/SimpleStorage.sol": {
"SimpleStorage": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "add",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "_name",
"type": "string"
},
{
"internalType": "uint256",
"name": "_favoriteNumber",
"type": "uint256"
}
],
"name": "addPerson",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"name": "nameToFavoriteNumberMapping",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "people",
"outputs": [
{
"internalType": "uint256",
"name": "favoriteNumber",
"type": "uint256"
},
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "retrive",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_favoriteNumber",
"type": "uint256"
}
],
"name": "store",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/SimpleStorage.sol\":58:932 contract SimpleStorage {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/SimpleStorage.sol\":58:932 contract SimpleStorage {... */\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 0x1003e2d2\n eq\n tag_3\n jumpi\n dup1\n 0x5c40826c\n eq\n tag_4\n jumpi\n dup1\n 0x6057361d\n eq\n tag_5\n jumpi\n dup1\n 0x6f760f41\n eq\n tag_6\n jumpi\n dup1\n 0x9e7a13ad\n eq\n tag_7\n jumpi\n dup1\n 0xa6b7fc5b\n eq\n tag_8\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/SimpleStorage.sol\":550:643 function add(uint256 _value) public {... */\n tag_3:\n tag_9\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_10\n swap2\n swap1\n tag_11\n jump\t// in\n tag_10:\n tag_12\n jump\t// in\n tag_9:\n stop\n /* \"contracts/SimpleStorage.sol\":151:213 mapping(string => uint256 ) public nameToFavoriteNumberMapping */\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 mload(0x40)\n tag_17\n swap2\n swap1\n tag_18\n jump\t// in\n tag_17:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/SimpleStorage.sol\":220:321 function store(uint256 _favoriteNumber) public ... */\n tag_5:\n tag_19\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_20\n swap2\n swap1\n tag_11\n jump\t// in\n tag_20:\n tag_21\n jump\t// in\n tag_19:\n stop\n /* \"contracts/SimpleStorage.sol\":733:929 function addPerson(string calldata _name, uint256 _favoriteNumber) public {... */\n tag_6:\n tag_22\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_23\n swap2\n swap1\n tag_24\n jump\t// in\n tag_23:\n tag_25\n jump\t// in\n tag_22:\n stop\n /* \"contracts/SimpleStorage.sol\":407:429 People[] public people */\n tag_7:\n tag_26\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_27\n swap2\n swap1\n tag_11\n jump\t// in\n tag_27:\n tag_28\n jump\t// in\n tag_26:\n mload(0x40)\n tag_29\n swap3\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 /* \"contracts/SimpleStorage.sol\":454:544 function retrive() public view returns(uint256)... */\n tag_8:\n tag_31\n tag_32\n jump\t// in\n tag_31:\n mload(0x40)\n tag_33\n swap2\n swap1\n tag_18\n jump\t// in\n tag_33:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/SimpleStorage.sol\":550:643 function add(uint256 _value) public {... */\n tag_12:\n /* \"contracts/SimpleStorage.sol\":630:636 _value */\n dup1\n /* \"contracts/SimpleStorage.sol\":613:627 favoriteNumber */\n sload(0x00)\n /* \"contracts/SimpleStorage.sol\":613:636 favoriteNumber + _value */\n tag_35\n swap2\n swap1\n tag_36\n jump\t// in\n tag_35:\n /* \"contracts/SimpleStorage.sol\":596:610 favoriteNumber */\n 0x00\n /* \"contracts/SimpleStorage.sol\":596:636 favoriteNumber = favoriteNumber + _value */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/SimpleStorage.sol\":550:643 function add(uint256 _value) public {... */\n pop\n jump\t// out\n /* \"contracts/SimpleStorage.sol\":151:213 mapping(string => uint256 ) public nameToFavoriteNumberMapping */\n tag_16:\n 0x01\n dup2\n dup1\n mload\n 0x20\n dup2\n add\n dup3\n add\n dup1\n mload\n dup5\n dup3\n mstore\n 0x20\n dup4\n add\n 0x20\n dup6\n add\n keccak256\n dup2\n dup4\n mstore\n dup1\n swap6\n pop\n pop\n pop\n pop\n pop\n pop\n 0x00\n swap2\n pop\n swap1\n pop\n sload\n dup2\n jump\t// out\n /* \"contracts/SimpleStorage.sol\":220:321 function store(uint256 _favoriteNumber) public ... */\n tag_21:\n /* \"contracts/SimpleStorage.sol\":299:314 _favoriteNumber */\n dup1\n /* \"contracts/SimpleStorage.sol\":282:296 favoriteNumber */\n 0x00\n /* \"contracts/SimpleStorage.sol\":282:314 favoriteNumber = _favoriteNumber */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/SimpleStorage.sol\":220:321 function store(uint256 _favoriteNumber) public ... */\n pop\n jump\t// out\n /* \"contracts/SimpleStorage.sol\":733:929 function addPerson(string calldata _name, uint256 _favoriteNumber) public {... */\n tag_25:\n /* \"contracts/SimpleStorage.sol\":817:823 people */\n 0x02\n /* \"contracts/SimpleStorage.sol\":829:859 People(_favoriteNumber, _name) */\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n /* \"contracts/SimpleStorage.sol\":836:851 _favoriteNumber */\n dup4\n /* \"contracts/SimpleStorage.sol\":829:859 People(_favoriteNumber, _name) */\n dup2\n mstore\n 0x20\n add\n /* \"contracts/SimpleStorage.sol\":853:858 _name */\n dup6\n dup6\n /* \"contracts/SimpleStorage.sol\":829:859 People(_favoriteNumber, _name) */\n dup1\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 swap4\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup4\n dup4\n dup1\n dup3\n dup5\n calldatacopy\n 0x00\n dup2\n dup5\n add\n mstore\n not(0x1f)\n 0x1f\n dup3\n add\n and\n swap1\n pop\n dup1\n dup4\n add\n swap3\n pop\n pop\n pop\n pop\n pop\n pop\n pop\n dup2\n mstore\n pop\n /* \"contracts/SimpleStorage.sol\":817:860 people.push(People(_favoriteNumber, _name)) */\n swap1\n dup1\n 0x01\n dup2\n sload\n add\n dup1\n dup3\n sstore\n dup1\n swap2\n pop\n pop\n 0x01\n swap1\n sub\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x02\n mul\n add\n 0x00\n swap1\n swap2\n swap1\n swap2\n swap1\n swap2\n pop\n 0x00\n dup3\n add\n mload\n dup2\n 0x00\n add\n sstore\n 0x20\n dup3\n add\n mload\n dup2\n 0x01\n add\n swap1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n tag_40\n swap3\n swap2\n swap1\n tag_41\n jump\t// in\n tag_40:\n pop\n pop\n pop\n /* \"contracts/SimpleStorage.sol\":907:922 _favoriteNumber */\n dup1\n /* \"contracts/SimpleStorage.sol\":870:897 nameToFavoriteNumberMapping */\n 0x01\n /* \"contracts/SimpleStorage.sol\":898:903 _name */\n dup5\n dup5\n /* \"contracts/SimpleStorage.sol\":870:904 nameToFavoriteNumberMapping[_name] */\n mload(0x40)\n tag_42\n swap3\n swap2\n swap1\n tag_43\n jump\t// in\n tag_42:\n swap1\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n keccak256\n /* \"contracts/SimpleStorage.sol\":870:922 nameToFavoriteNumberMapping[_name] = _favoriteNumber */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/SimpleStorage.sol\":733:929 function addPerson(string calldata _name, uint256 _favoriteNumber) public {... */\n pop\n pop\n pop\n jump\t// out\n /* \"contracts/SimpleStorage.sol\":407:429 People[] public people */\n tag_28:\n 0x02\n dup2\n dup2\n sload\n dup2\n lt\n tag_44\n jumpi\n 0x00\n dup1\n revert\n tag_44:\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x02\n mul\n add\n 0x00\n swap2\n pop\n swap1\n pop\n dup1\n 0x00\n add\n sload\n swap1\n dup1\n 0x01\n add\n dup1\n sload\n tag_46\n swap1\n tag_47\n jump\t// in\n tag_46:\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_48\n swap1\n tag_47\n jump\t// in\n tag_48:\n dup1\n iszero\n tag_49\n jumpi\n dup1\n 0x1f\n lt\n tag_50\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_49)\n tag_50:\n dup3\n add\n swap2\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n tag_51:\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_51\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_49:\n pop\n pop\n pop\n pop\n pop\n swap1\n pop\n dup3\n jump\t// out\n /* \"contracts/SimpleStorage.sol\":454:544 function retrive() public view returns(uint256)... */\n tag_32:\n /* \"contracts/SimpleStorage.sol\":493:500 uint256 */\n 0x00\n /* \"contracts/SimpleStorage.sol\":523:537 favoriteNumber */\n dup1\n sload\n /* \"contracts/SimpleStorage.sol\":516:537 return favoriteNumber */\n swap1\n pop\n /* \"contracts/SimpleStorage.sol\":454:544 function retrive() public view returns(uint256)... */\n swap1\n jump\t// out\n tag_41:\n dup3\n dup1\n sload\n tag_53\n swap1\n tag_47\n jump\t// in\n tag_53:\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_55\n jumpi\n 0x00\n dup6\n sstore\n jump(tag_54)\n tag_55:\n dup3\n 0x1f\n lt\n tag_56\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_54)\n tag_56:\n dup3\n dup1\n add\n 0x01\n add\n dup6\n sstore\n dup3\n iszero\n tag_54\n jumpi\n swap2\n dup3\n add\n tag_57:\n dup3\n dup2\n gt\n iszero\n tag_58\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_57)\n tag_58:\n tag_54:\n pop\n swap1\n pop\n tag_59\n swap2\n swap1\n tag_60\n jump\t// in\n tag_59:\n pop\n swap1\n jump\t// out\n tag_60:\n tag_61:\n dup1\n dup3\n gt\n iszero\n tag_62\n jumpi\n 0x00\n dup2\n 0x00\n swap1\n sstore\n pop\n 0x01\n add\n jump(tag_61)\n tag_62:\n pop\n swap1\n jump\t// out\n /* \"#utility.yul\":7:419 */\n tag_64:\n /* \"#utility.yul\":85:90 */\n 0x00\n /* \"#utility.yul\":110:176 */\n tag_66\n /* \"#utility.yul\":126:175 */\n tag_67\n /* \"#utility.yul\":168:174 */\n dup5\n /* \"#utility.yul\":126:175 */\n tag_68\n jump\t// in\n tag_67:\n /* \"#utility.yul\":110:176 */\n tag_69\n jump\t// in\n tag_66:\n /* \"#utility.yul\":101:176 */\n swap1\n pop\n /* \"#utility.yul\":199:205 */\n dup3\n /* \"#utility.yul\":192:197 */\n dup2\n /* \"#utility.yul\":185:206 */\n mstore\n /* \"#utility.yul\":237:241 */\n 0x20\n /* \"#utility.yul\":230:235 */\n dup2\n /* \"#utility.yul\":226:242 */\n add\n /* \"#utility.yul\":275:278 */\n dup5\n /* \"#utility.yul\":266:272 */\n dup5\n /* \"#utility.yul\":261:264 */\n dup5\n /* \"#utility.yul\":257:273 */\n add\n /* \"#utility.yul\":254:279 */\n gt\n /* \"#utility.yul\":251:363 */\n iszero\n tag_70\n jumpi\n /* \"#utility.yul\":282:361 */\n tag_71\n tag_72\n jump\t// in\n tag_71:\n /* \"#utility.yul\":251:363 */\n tag_70:\n /* \"#utility.yul\":372:413 */\n tag_73\n /* \"#utility.yul\":406:412 */\n dup5\n /* \"#utility.yul\":401:404 */\n dup3\n /* \"#utility.yul\":396:399 */\n dup6\n /* \"#utility.yul\":372:413 */\n tag_74\n jump\t// in\n tag_73:\n /* \"#utility.yul\":91:419 */\n pop\n /* \"#utility.yul\":7:419 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":439:992 */\n tag_75:\n /* \"#utility.yul\":497:505 */\n 0x00\n /* \"#utility.yul\":507:513 */\n dup1\n /* \"#utility.yul\":557:560 */\n dup4\n /* \"#utility.yul\":550:554 */\n 0x1f\n /* \"#utility.yul\":542:548 */\n dup5\n /* \"#utility.yul\":538:555 */\n add\n /* \"#utility.yul\":534:561 */\n slt\n /* \"#utility.yul\":524:646 */\n tag_77\n jumpi\n /* \"#utility.yul\":565:644 */\n tag_78\n tag_79\n jump\t// in\n tag_78:\n /* \"#utility.yul\":524:646 */\n tag_77:\n /* \"#utility.yul\":678:684 */\n dup3\n /* \"#utility.yul\":665:685 */\n calldataload\n /* \"#utility.yul\":655:685 */\n swap1\n pop\n /* \"#utility.yul\":708:726 */\n 0xffffffffffffffff\n /* \"#utility.yul\":700:706 */\n dup2\n /* \"#utility.yul\":697:727 */\n gt\n /* \"#utility.yul\":694:811 */\n iszero\n tag_80\n jumpi\n /* \"#utility.yul\":730:809 */\n tag_81\n tag_82\n jump\t// in\n tag_81:\n /* \"#utility.yul\":694:811 */\n tag_80:\n /* \"#utility.yul\":844:848 */\n 0x20\n /* \"#utility.yul\":836:842 */\n dup4\n /* \"#utility.yul\":832:849 */\n add\n /* \"#utility.yul\":820:849 */\n swap2\n pop\n /* \"#utility.yul\":898:901 */\n dup4\n /* \"#utility.yul\":890:894 */\n 0x01\n /* \"#utility.yul\":882:888 */\n dup3\n /* \"#utility.yul\":878:895 */\n mul\n /* \"#utility.yul\":868:876 */\n dup4\n /* \"#utility.yul\":864:896 */\n add\n /* \"#utility.yul\":861:902 */\n gt\n /* \"#utility.yul\":858:986 */\n iszero\n tag_83\n jumpi\n /* \"#utility.yul\":905:984 */\n tag_84\n tag_85\n jump\t// in\n tag_84:\n /* \"#utility.yul\":858:986 */\n tag_83:\n /* \"#utility.yul\":439:992 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1012:1352 */\n tag_86:\n /* \"#utility.yul\":1068:1073 */\n 0x00\n /* \"#utility.yul\":1117:1120 */\n dup3\n /* \"#utility.yul\":1110:1114 */\n 0x1f\n /* \"#utility.yul\":1102:1108 */\n dup4\n /* \"#utility.yul\":1098:1115 */\n add\n /* \"#utility.yul\":1094:1121 */\n slt\n /* \"#utility.yul\":1084:1206 */\n tag_88\n jumpi\n /* \"#utility.yul\":1125:1204 */\n tag_89\n tag_79\n jump\t// in\n tag_89:\n /* \"#utility.yul\":1084:1206 */\n tag_88:\n /* \"#utility.yul\":1242:1248 */\n dup2\n /* \"#utility.yul\":1229:1249 */\n calldataload\n /* \"#utility.yul\":1267:1346 */\n tag_90\n /* \"#utility.yul\":1342:1345 */\n dup5\n /* \"#utility.yul\":1334:1340 */\n dup3\n /* \"#utility.yul\":1327:1331 */\n 0x20\n /* \"#utility.yul\":1319:1325 */\n dup7\n /* \"#utility.yul\":1315:1332 */\n add\n /* \"#utility.yul\":1267:1346 */\n tag_64\n jump\t// in\n tag_90:\n /* \"#utility.yul\":1258:1346 */\n swap2\n pop\n /* \"#utility.yul\":1074:1352 */\n pop\n /* \"#utility.yul\":1012:1352 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1358:1497 */\n tag_91:\n /* \"#utility.yul\":1404:1409 */\n 0x00\n /* \"#utility.yul\":1442:1448 */\n dup2\n /* \"#utility.yul\":1429:1449 */\n calldataload\n /* \"#utility.yul\":1420:1449 */\n swap1\n pop\n /* \"#utility.yul\":1458:1491 */\n tag_93\n /* \"#utility.yul\":1485:1490 */\n dup2\n /* \"#utility.yul\":1458:1491 */\n tag_94\n jump\t// in\n tag_93:\n /* \"#utility.yul\":1358:1497 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1503:2177 */\n tag_24:\n /* \"#utility.yul\":1583:1589 */\n 0x00\n /* \"#utility.yul\":1591:1597 */\n dup1\n /* \"#utility.yul\":1599:1605 */\n 0x00\n /* \"#utility.yul\":1648:1650 */\n 0x40\n /* \"#utility.yul\":1636:1645 */\n dup5\n /* \"#utility.yul\":1627:1634 */\n dup7\n /* \"#utility.yul\":1623:1646 */\n sub\n /* \"#utility.yul\":1619:1651 */\n slt\n /* \"#utility.yul\":1616:1735 */\n iszero\n tag_96\n jumpi\n /* \"#utility.yul\":1654:1733 */\n tag_97\n tag_98\n jump\t// in\n tag_97:\n /* \"#utility.yul\":1616:1735 */\n tag_96:\n /* \"#utility.yul\":1802:1803 */\n 0x00\n /* \"#utility.yul\":1791:1800 */\n dup5\n /* \"#utility.yul\":1787:1804 */\n add\n /* \"#utility.yul\":1774:1805 */\n calldataload\n /* \"#utility.yul\":1832:1850 */\n 0xffffffffffffffff\n /* \"#utility.yul\":1824:1830 */\n dup2\n /* \"#utility.yul\":1821:1851 */\n gt\n /* \"#utility.yul\":1818:1935 */\n iszero\n tag_99\n jumpi\n /* \"#utility.yul\":1854:1933 */\n tag_100\n tag_101\n jump\t// in\n tag_100:\n /* \"#utility.yul\":1818:1935 */\n tag_99:\n /* \"#utility.yul\":1967:2032 */\n tag_102\n /* \"#utility.yul\":2024:2031 */\n dup7\n /* \"#utility.yul\":2015:2021 */\n dup3\n /* \"#utility.yul\":2004:2013 */\n dup8\n /* \"#utility.yul\":2000:2022 */\n add\n /* \"#utility.yul\":1967:2032 */\n tag_75\n jump\t// in\n tag_102:\n /* \"#utility.yul\":1949:2032 */\n swap4\n pop\n swap4\n pop\n /* \"#utility.yul\":1745:2042 */\n pop\n /* \"#utility.yul\":2081:2083 */\n 0x20\n /* \"#utility.yul\":2107:2160 */\n tag_103\n /* \"#utility.yul\":2152:2159 */\n dup7\n /* \"#utility.yul\":2143:2149 */\n dup3\n /* \"#utility.yul\":2132:2141 */\n dup8\n /* \"#utility.yul\":2128:2150 */\n add\n /* \"#utility.yul\":2107:2160 */\n tag_91\n jump\t// in\n tag_103:\n /* \"#utility.yul\":2097:2160 */\n swap2\n pop\n /* \"#utility.yul\":2052:2170 */\n pop\n /* \"#utility.yul\":1503:2177 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"#utility.yul\":2183:2692 */\n tag_15:\n /* \"#utility.yul\":2252:2258 */\n 0x00\n /* \"#utility.yul\":2301:2303 */\n 0x20\n /* \"#utility.yul\":2289:2298 */\n dup3\n /* \"#utility.yul\":2280:2287 */\n dup5\n /* \"#utility.yul\":2276:2299 */\n sub\n /* \"#utility.yul\":2272:2304 */\n slt\n /* \"#utility.yul\":2269:2388 */\n iszero\n tag_105\n jumpi\n /* \"#utility.yul\":2307:2386 */\n tag_106\n tag_98\n jump\t// in\n tag_106:\n /* \"#utility.yul\":2269:2388 */\n tag_105:\n /* \"#utility.yul\":2455:2456 */\n 0x00\n /* \"#utility.yul\":2444:2453 */\n dup3\n /* \"#utility.yul\":2440:2457 */\n add\n /* \"#utility.yul\":2427:2458 */\n calldataload\n /* \"#utility.yul\":2485:2503 */\n 0xffffffffffffffff\n /* \"#utility.yul\":2477:2483 */\n dup2\n /* \"#utility.yul\":2474:2504 */\n gt\n /* \"#utility.yul\":2471:2588 */\n iszero\n tag_107\n jumpi\n /* \"#utility.yul\":2507:2586 */\n tag_108\n tag_101\n jump\t// in\n tag_108:\n /* \"#utility.yul\":2471:2588 */\n tag_107:\n /* \"#utility.yul\":2612:2675 */\n tag_109\n /* \"#utility.yul\":2667:2674 */\n dup5\n /* \"#utility.yul\":2658:2664 */\n dup3\n /* \"#utility.yul\":2647:2656 */\n dup6\n /* \"#utility.yul\":2643:2665 */\n add\n /* \"#utility.yul\":2612:2675 */\n tag_86\n jump\t// in\n tag_109:\n /* \"#utility.yul\":2602:2675 */\n swap2\n pop\n /* \"#utility.yul\":2398:2685 */\n pop\n /* \"#utility.yul\":2183:2692 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2698:3027 */\n tag_11:\n /* \"#utility.yul\":2757:2763 */\n 0x00\n /* \"#utility.yul\":2806:2808 */\n 0x20\n /* \"#utility.yul\":2794:2803 */\n dup3\n /* \"#utility.yul\":2785:2792 */\n dup5\n /* \"#utility.yul\":2781:2804 */\n sub\n /* \"#utility.yul\":2777:2809 */\n slt\n /* \"#utility.yul\":2774:2893 */\n iszero\n tag_111\n jumpi\n /* \"#utility.yul\":2812:2891 */\n tag_112\n tag_98\n jump\t// in\n tag_112:\n /* \"#utility.yul\":2774:2893 */\n tag_111:\n /* \"#utility.yul\":2932:2933 */\n 0x00\n /* \"#utility.yul\":2957:3010 */\n tag_113\n /* \"#utility.yul\":3002:3009 */\n dup5\n /* \"#utility.yul\":2993:2999 */\n dup3\n /* \"#utility.yul\":2982:2991 */\n dup6\n /* \"#utility.yul\":2978:3000 */\n add\n /* \"#utility.yul\":2957:3010 */\n tag_91\n jump\t// in\n tag_113:\n /* \"#utility.yul\":2947:3010 */\n swap2\n pop\n /* \"#utility.yul\":2903:3020 */\n pop\n /* \"#utility.yul\":2698:3027 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3057:3374 */\n tag_114:\n /* \"#utility.yul\":3173:3176 */\n 0x00\n /* \"#utility.yul\":3194:3283 */\n tag_116\n /* \"#utility.yul\":3276:3282 */\n dup4\n /* \"#utility.yul\":3271:3274 */\n dup6\n /* \"#utility.yul\":3194:3283 */\n tag_117\n jump\t// in\n tag_116:\n /* \"#utility.yul\":3187:3283 */\n swap4\n pop\n /* \"#utility.yul\":3293:3336 */\n tag_118\n /* \"#utility.yul\":3329:3335 */\n dup4\n /* \"#utility.yul\":3324:3327 */\n dup6\n /* \"#utility.yul\":3317:3322 */\n dup5\n /* \"#utility.yul\":3293:3336 */\n tag_74\n jump\t// in\n tag_118:\n /* \"#utility.yul\":3361:3367 */\n dup3\n /* \"#utility.yul\":3356:3359 */\n dup5\n /* \"#utility.yul\":3352:3368 */\n add\n /* \"#utility.yul\":3345:3368 */\n swap1\n pop\n /* \"#utility.yul\":3057:3374 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3380:3744 */\n tag_119:\n /* \"#utility.yul\":3468:3471 */\n 0x00\n /* \"#utility.yul\":3496:3535 */\n tag_121\n /* \"#utility.yul\":3529:3534 */\n dup3\n /* \"#utility.yul\":3496:3535 */\n tag_122\n jump\t// in\n tag_121:\n /* \"#utility.yul\":3551:3622 */\n tag_123\n /* \"#utility.yul\":3615:3621 */\n dup2\n /* \"#utility.yul\":3610:3613 */\n dup6\n /* \"#utility.yul\":3551:3622 */\n tag_124\n jump\t// in\n tag_123:\n /* \"#utility.yul\":3544:3622 */\n swap4\n pop\n /* \"#utility.yul\":3631:3683 */\n tag_125\n /* \"#utility.yul\":3676:3682 */\n dup2\n /* \"#utility.yul\":3671:3674 */\n dup6\n /* \"#utility.yul\":3664:3668 */\n 0x20\n /* \"#utility.yul\":3657:3662 */\n dup7\n /* \"#utility.yul\":3653:3669 */\n add\n /* \"#utility.yul\":3631:3683 */\n tag_126\n jump\t// in\n tag_125:\n /* \"#utility.yul\":3708:3737 */\n tag_127\n /* \"#utility.yul\":3730:3736 */\n dup2\n /* \"#utility.yul\":3708:3737 */\n tag_128\n jump\t// in\n tag_127:\n /* \"#utility.yul\":3703:3706 */\n dup5\n /* \"#utility.yul\":3699:3738 */\n add\n /* \"#utility.yul\":3692:3738 */\n swap2\n pop\n /* \"#utility.yul\":3472:3744 */\n pop\n /* \"#utility.yul\":3380:3744 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3750:3868 */\n tag_129:\n /* \"#utility.yul\":3837:3861 */\n tag_131\n /* \"#utility.yul\":3855:3860 */\n dup2\n /* \"#utility.yul\":3837:3861 */\n tag_132\n jump\t// in\n tag_131:\n /* \"#utility.yul\":3832:3835 */\n dup3\n /* \"#utility.yul\":3825:3862 */\n mstore\n /* \"#utility.yul\":3750:3868 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3874:4169 */\n tag_43:\n /* \"#utility.yul\":4016:4019 */\n 0x00\n /* \"#utility.yul\":4038:4143 */\n tag_134\n /* \"#utility.yul\":4139:4142 */\n dup3\n /* \"#utility.yul\":4130:4136 */\n dup5\n /* \"#utility.yul\":4122:4128 */\n dup7\n /* \"#utility.yul\":4038:4143 */\n tag_114\n jump\t// in\n tag_134:\n /* \"#utility.yul\":4031:4143 */\n swap2\n pop\n /* \"#utility.yul\":4160:4163 */\n dup2\n /* \"#utility.yul\":4153:4163 */\n swap1\n pop\n /* \"#utility.yul\":3874:4169 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4175:4397 */\n tag_18:\n /* \"#utility.yul\":4268:4272 */\n 0x00\n /* \"#utility.yul\":4306:4308 */\n 0x20\n /* \"#utility.yul\":4295:4304 */\n dup3\n /* \"#utility.yul\":4291:4309 */\n add\n /* \"#utility.yul\":4283:4309 */\n swap1\n pop\n /* \"#utility.yul\":4319:4390 */\n tag_136\n /* \"#utility.yul\":4387:4388 */\n 0x00\n /* \"#utility.yul\":4376:4385 */\n dup4\n /* \"#utility.yul\":4372:4389 */\n add\n /* \"#utility.yul\":4363:4369 */\n dup5\n /* \"#utility.yul\":4319:4390 */\n tag_129\n jump\t// in\n tag_136:\n /* \"#utility.yul\":4175:4397 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4403:4826 */\n tag_30:\n /* \"#utility.yul\":4544:4548 */\n 0x00\n /* \"#utility.yul\":4582:4584 */\n 0x40\n /* \"#utility.yul\":4571:4580 */\n dup3\n /* \"#utility.yul\":4567:4585 */\n add\n /* \"#utility.yul\":4559:4585 */\n swap1\n pop\n /* \"#utility.yul\":4595:4666 */\n tag_138\n /* \"#utility.yul\":4663:4664 */\n 0x00\n /* \"#utility.yul\":4652:4661 */\n dup4\n /* \"#utility.yul\":4648:4665 */\n add\n /* \"#utility.yul\":4639:4645 */\n dup6\n /* \"#utility.yul\":4595:4666 */\n tag_129\n jump\t// in\n tag_138:\n /* \"#utility.yul\":4713:4722 */\n dup2\n /* \"#utility.yul\":4707:4711 */\n dup2\n /* \"#utility.yul\":4703:4723 */\n sub\n /* \"#utility.yul\":4698:4700 */\n 0x20\n /* \"#utility.yul\":4687:4696 */\n dup4\n /* \"#utility.yul\":4683:4701 */\n add\n /* \"#utility.yul\":4676:4724 */\n mstore\n /* \"#utility.yul\":4741:4819 */\n tag_139\n /* \"#utility.yul\":4814:4818 */\n dup2\n /* \"#utility.yul\":4805:4811 */\n dup5\n /* \"#utility.yul\":4741:4819 */\n tag_119\n jump\t// in\n tag_139:\n /* \"#utility.yul\":4733:4819 */\n swap1\n pop\n /* \"#utility.yul\":4403:4826 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4832:4961 */\n tag_69:\n /* \"#utility.yul\":4866:4872 */\n 0x00\n /* \"#utility.yul\":4893:4913 */\n tag_141\n tag_142\n jump\t// in\n tag_141:\n /* \"#utility.yul\":4883:4913 */\n swap1\n pop\n /* \"#utility.yul\":4922:4955 */\n tag_143\n /* \"#utility.yul\":4950:4954 */\n dup3\n /* \"#utility.yul\":4942:4948 */\n dup3\n /* \"#utility.yul\":4922:4955 */\n tag_144\n jump\t// in\n tag_143:\n /* \"#utility.yul\":4832:4961 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4967:5042 */\n tag_142:\n /* \"#utility.yul\":5000:5006 */\n 0x00\n /* \"#utility.yul\":5033:5035 */\n 0x40\n /* \"#utility.yul\":5027:5036 */\n mload\n /* \"#utility.yul\":5017:5036 */\n swap1\n pop\n /* \"#utility.yul\":4967:5042 */\n swap1\n jump\t// out\n /* \"#utility.yul\":5048:5356 */\n tag_68:\n /* \"#utility.yul\":5110:5114 */\n 0x00\n /* \"#utility.yul\":5200:5218 */\n 0xffffffffffffffff\n /* \"#utility.yul\":5192:5198 */\n dup3\n /* \"#utility.yul\":5189:5219 */\n gt\n /* \"#utility.yul\":5186:5242 */\n iszero\n tag_147\n jumpi\n /* \"#utility.yul\":5222:5240 */\n tag_148\n tag_149\n jump\t// in\n tag_148:\n /* \"#utility.yul\":5186:5242 */\n tag_147:\n /* \"#utility.yul\":5260:5289 */\n tag_150\n /* \"#utility.yul\":5282:5288 */\n dup3\n /* \"#utility.yul\":5260:5289 */\n tag_128\n jump\t// in\n tag_150:\n /* \"#utility.yul\":5252:5289 */\n swap1\n pop\n /* \"#utility.yul\":5344:5348 */\n 0x20\n /* \"#utility.yul\":5338:5342 */\n dup2\n /* \"#utility.yul\":5334:5349 */\n add\n /* \"#utility.yul\":5326:5349 */\n swap1\n pop\n /* \"#utility.yul\":5048:5356 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5362:5461 */\n tag_122:\n /* \"#utility.yul\":5414:5420 */\n 0x00\n /* \"#utility.yul\":5448:5453 */\n dup2\n /* \"#utility.yul\":5442:5454 */\n mload\n /* \"#utility.yul\":5432:5454 */\n swap1\n pop\n /* \"#utility.yul\":5362:5461 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5467:5636 */\n tag_124:\n /* \"#utility.yul\":5551:5562 */\n 0x00\n /* \"#utility.yul\":5585:5591 */\n dup3\n /* \"#utility.yul\":5580:5583 */\n dup3\n /* \"#utility.yul\":5573:5592 */\n mstore\n /* \"#utility.yul\":5625:5629 */\n 0x20\n /* \"#utility.yul\":5620:5623 */\n dup3\n /* \"#utility.yul\":5616:5630 */\n add\n /* \"#utility.yul\":5601:5630 */\n swap1\n pop\n /* \"#utility.yul\":5467:5636 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5642:5790 */\n tag_117:\n /* \"#utility.yul\":5744:5755 */\n 0x00\n /* \"#utility.yul\":5781:5784 */\n dup2\n /* \"#utility.yul\":5766:5784 */\n swap1\n pop\n /* \"#utility.yul\":5642:5790 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5796:6101 */\n tag_36:\n /* \"#utility.yul\":5836:5839 */\n 0x00\n /* \"#utility.yul\":5855:5875 */\n tag_155\n /* \"#utility.yul\":5873:5874 */\n dup3\n /* \"#utility.yul\":5855:5875 */\n tag_132\n jump\t// in\n tag_155:\n /* \"#utility.yul\":5850:5875 */\n swap2\n pop\n /* \"#utility.yul\":5889:5909 */\n tag_156\n /* \"#utility.yul\":5907:5908 */\n dup4\n /* \"#utility.yul\":5889:5909 */\n tag_132\n jump\t// in\n tag_156:\n /* \"#utility.yul\":5884:5909 */\n swap3\n pop\n /* \"#utility.yul\":6043:6044 */\n dup3\n /* \"#utility.yul\":5975:6041 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":5971:6045 */\n sub\n /* \"#utility.yul\":5968:5969 */\n dup3\n /* \"#utility.yul\":5965:6046 */\n gt\n /* \"#utility.yul\":5962:6069 */\n iszero\n tag_157\n jumpi\n /* \"#utility.yul\":6049:6067 */\n tag_158\n tag_159\n jump\t// in\n tag_158:\n /* \"#utility.yul\":5962:6069 */\n tag_157:\n /* \"#utility.yul\":6093:6094 */\n dup3\n /* \"#utility.yul\":6090:6091 */\n dup3\n /* \"#utility.yul\":6086:6095 */\n add\n /* \"#utility.yul\":6079:6095 */\n swap1\n pop\n /* \"#utility.yul\":5796:6101 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6107:6184 */\n tag_132:\n /* \"#utility.yul\":6144:6151 */\n 0x00\n /* \"#utility.yul\":6173:6178 */\n dup2\n /* \"#utility.yul\":6162:6178 */\n swap1\n pop\n /* \"#utility.yul\":6107:6184 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6190:6344 */\n tag_74:\n /* \"#utility.yul\":6274:6280 */\n dup3\n /* \"#utility.yul\":6269:6272 */\n dup2\n /* \"#utility.yul\":6264:6267 */\n dup4\n /* \"#utility.yul\":6251:6281 */\n calldatacopy\n /* \"#utility.yul\":6336:6337 */\n 0x00\n /* \"#utility.yul\":6327:6333 */\n dup4\n /* \"#utility.yul\":6322:6325 */\n dup4\n /* \"#utility.yul\":6318:6334 */\n add\n /* \"#utility.yul\":6311:6338 */\n mstore\n /* \"#utility.yul\":6190:6344 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6350:6657 */\n tag_126:\n /* \"#utility.yul\":6418:6419 */\n 0x00\n /* \"#utility.yul\":6428:6541 */\n tag_163:\n /* \"#utility.yul\":6442:6448 */\n dup4\n /* \"#utility.yul\":6439:6440 */\n dup2\n /* \"#utility.yul\":6436:6449 */\n lt\n /* \"#utility.yul\":6428:6541 */\n iszero\n tag_165\n jumpi\n /* \"#utility.yul\":6527:6528 */\n dup1\n /* \"#utility.yul\":6522:6525 */\n dup3\n /* \"#utility.yul\":6518:6529 */\n add\n /* \"#utility.yul\":6512:6530 */\n mload\n /* \"#utility.yul\":6508:6509 */\n dup2\n /* \"#utility.yul\":6503:6506 */\n dup5\n /* \"#utility.yul\":6499:6510 */\n add\n /* \"#utility.yul\":6492:6531 */\n mstore\n /* \"#utility.yul\":6464:6466 */\n 0x20\n /* \"#utility.yul\":6461:6462 */\n dup2\n /* \"#utility.yul\":6457:6467 */\n add\n /* \"#utility.yul\":6452:6467 */\n swap1\n pop\n /* \"#utility.yul\":6428:6541 */\n jump(tag_163)\n tag_165:\n /* \"#utility.yul\":6559:6565 */\n dup4\n /* \"#utility.yul\":6556:6557 */\n dup2\n /* \"#utility.yul\":6553:6566 */\n gt\n /* \"#utility.yul\":6550:6651 */\n iszero\n tag_166\n jumpi\n /* \"#utility.yul\":6639:6640 */\n 0x00\n /* \"#utility.yul\":6630:6636 */\n dup5\n /* \"#utility.yul\":6625:6628 */\n dup5\n /* \"#utility.yul\":6621:6637 */\n add\n /* \"#utility.yul\":6614:6641 */\n mstore\n /* \"#utility.yul\":6550:6651 */\n tag_166:\n /* \"#utility.yul\":6399:6657 */\n pop\n /* \"#utility.yul\":6350:6657 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6663:6983 */\n tag_47:\n /* \"#utility.yul\":6707:6713 */\n 0x00\n /* \"#utility.yul\":6744:6745 */\n 0x02\n /* \"#utility.yul\":6738:6742 */\n dup3\n /* \"#utility.yul\":6734:6746 */\n div\n /* \"#utility.yul\":6724:6746 */\n swap1\n pop\n /* \"#utility.yul\":6791:6792 */\n 0x01\n /* \"#utility.yul\":6785:6789 */\n dup3\n /* \"#utility.yul\":6781:6793 */\n and\n /* \"#utility.yul\":6812:6830 */\n dup1\n /* \"#utility.yul\":6802:6883 */\n tag_168\n jumpi\n /* \"#utility.yul\":6868:6872 */\n 0x7f\n /* \"#utility.yul\":6860:6866 */\n dup3\n /* \"#utility.yul\":6856:6873 */\n and\n /* \"#utility.yul\":6846:6873 */\n swap2\n pop\n /* \"#utility.yul\":6802:6883 */\n tag_168:\n /* \"#utility.yul\":6930:6932 */\n 0x20\n /* \"#utility.yul\":6922:6928 */\n dup3\n /* \"#utility.yul\":6919:6933 */\n lt\n /* \"#utility.yul\":6899:6917 */\n dup2\n /* \"#utility.yul\":6896:6934 */\n eq\n /* \"#utility.yul\":6893:6977 */\n iszero\n tag_169\n jumpi\n /* \"#utility.yul\":6949:6967 */\n tag_170\n tag_171\n jump\t// in\n tag_170:\n /* \"#utility.yul\":6893:6977 */\n tag_169:\n /* \"#utility.yul\":6714:6983 */\n pop\n /* \"#utility.yul\":6663:6983 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6989:7270 */\n tag_144:\n /* \"#utility.yul\":7072:7099 */\n tag_173\n /* \"#utility.yul\":7094:7098 */\n dup3\n /* \"#utility.yul\":7072:7099 */\n tag_128\n jump\t// in\n tag_173:\n /* \"#utility.yul\":7064:7070 */\n dup2\n /* \"#utility.yul\":7060:7100 */\n add\n /* \"#utility.yul\":7202:7208 */\n dup2\n /* \"#utility.yul\":7190:7200 */\n dup2\n /* \"#utility.yul\":7187:7209 */\n lt\n /* \"#utility.yul\":7166:7184 */\n 0xffffffffffffffff\n /* \"#utility.yul\":7154:7164 */\n dup3\n /* \"#utility.yul\":7151:7185 */\n gt\n /* \"#utility.yul\":7148:7210 */\n or\n /* \"#utility.yul\":7145:7233 */\n iszero\n tag_174\n jumpi\n /* \"#utility.yul\":7213:7231 */\n tag_175\n tag_149\n jump\t// in\n tag_175:\n /* \"#utility.yul\":7145:7233 */\n tag_174:\n /* \"#utility.yul\":7253:7263 */\n dup1\n /* \"#utility.yul\":7249:7251 */\n 0x40\n /* \"#utility.yul\":7242:7264 */\n mstore\n /* \"#utility.yul\":7032:7270 */\n pop\n /* \"#utility.yul\":6989:7270 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7276:7456 */\n tag_159:\n /* \"#utility.yul\":7324:7401 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":7321:7322 */\n 0x00\n /* \"#utility.yul\":7314:7402 */\n mstore\n /* \"#utility.yul\":7421:7425 */\n 0x11\n /* \"#utility.yul\":7418:7419 */\n 0x04\n /* \"#utility.yul\":7411:7426 */\n mstore\n /* \"#utility.yul\":7445:7449 */\n 0x24\n /* \"#utility.yul\":7442:7443 */\n 0x00\n /* \"#utility.yul\":7435:7450 */\n revert\n /* \"#utility.yul\":7462:7642 */\n tag_171:\n /* \"#utility.yul\":7510:7587 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":7507:7508 */\n 0x00\n /* \"#utility.yul\":7500:7588 */\n mstore\n /* \"#utility.yul\":7607:7611 */\n 0x22\n /* \"#utility.yul\":7604:7605 */\n 0x04\n /* \"#utility.yul\":7597:7612 */\n mstore\n /* \"#utility.yul\":7631:7635 */\n 0x24\n /* \"#utility.yul\":7628:7629 */\n 0x00\n /* \"#utility.yul\":7621:7636 */\n revert\n /* \"#utility.yul\":7648:7828 */\n tag_149:\n /* \"#utility.yul\":7696:7773 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":7693:7694 */\n 0x00\n /* \"#utility.yul\":7686:7774 */\n mstore\n /* \"#utility.yul\":7793:7797 */\n 0x41\n /* \"#utility.yul\":7790:7791 */\n 0x04\n /* \"#utility.yul\":7783:7798 */\n mstore\n /* \"#utility.yul\":7817:7821 */\n 0x24\n /* \"#utility.yul\":7814:7815 */\n 0x00\n /* \"#utility.yul\":7807:7822 */\n revert\n /* \"#utility.yul\":7834:7951 */\n tag_82:\n /* \"#utility.yul\":7943:7944 */\n 0x00\n /* \"#utility.yul\":7940:7941 */\n dup1\n /* \"#utility.yul\":7933:7945 */\n revert\n /* \"#utility.yul\":7957:8074 */\n tag_79:\n /* \"#utility.yul\":8066:8067 */\n 0x00\n /* \"#utility.yul\":8063:8064 */\n dup1\n /* \"#utility.yul\":8056:8068 */\n revert\n /* \"#utility.yul\":8080:8197 */\n tag_85:\n /* \"#utility.yul\":8189:8190 */\n 0x00\n /* \"#utility.yul\":8186:8187 */\n dup1\n /* \"#utility.yul\":8179:8191 */\n revert\n /* \"#utility.yul\":8203:8320 */\n tag_72:\n /* \"#utility.yul\":8312:8313 */\n 0x00\n /* \"#utility.yul\":8309:8310 */\n dup1\n /* \"#utility.yul\":8302:8314 */\n revert\n /* \"#utility.yul\":8326:8443 */\n tag_101:\n /* \"#utility.yul\":8435:8436 */\n 0x00\n /* \"#utility.yul\":8432:8433 */\n dup1\n /* \"#utility.yul\":8425:8437 */\n revert\n /* \"#utility.yul\":8449:8566 */\n tag_98:\n /* \"#utility.yul\":8558:8559 */\n 0x00\n /* \"#utility.yul\":8555:8556 */\n dup1\n /* \"#utility.yul\":8548:8560 */\n revert\n /* \"#utility.yul\":8572:8674 */\n tag_128:\n /* \"#utility.yul\":8613:8619 */\n 0x00\n /* \"#utility.yul\":8664:8666 */\n 0x1f\n /* \"#utility.yul\":8660:8667 */\n not\n /* \"#utility.yul\":8655:8657 */\n 0x1f\n /* \"#utility.yul\":8648:8653 */\n dup4\n /* \"#utility.yul\":8644:8658 */\n add\n /* \"#utility.yul\":8640:8668 */\n and\n /* \"#utility.yul\":8630:8668 */\n swap1\n pop\n /* \"#utility.yul\":8572:8674 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":8680:8802 */\n tag_94:\n /* \"#utility.yul\":8753:8777 */\n tag_187\n /* \"#utility.yul\":8771:8776 */\n dup2\n /* \"#utility.yul\":8753:8777 */\n tag_132\n jump\t// in\n tag_187:\n /* \"#utility.yul\":8746:8751 */\n dup2\n /* \"#utility.yul\":8743:8778 */\n eq\n /* \"#utility.yul\":8733:8796 */\n tag_188\n jumpi\n /* \"#utility.yul\":8792:8793 */\n 0x00\n /* \"#utility.yul\":8789:8790 */\n dup1\n /* \"#utility.yul\":8782:8794 */\n revert\n /* \"#utility.yul\":8733:8796 */\n tag_188:\n /* \"#utility.yul\":8680:8802 */\n pop\n jump\t// out\n\n auxdata: 0xa26469706673582212206c065c28884e69fb1d430714465a410b73b0a58ad3cfc21d931be327425e2f9164736f6c63430008070033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506108d5806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631003e2d2146100675780635c40826c146100835780636057361d146100b35780636f760f41146100cf5780639e7a13ad146100eb578063a6b7fc5b1461011c575b600080fd5b610081600480360381019061007c919061054c565b61013a565b005b61009d60048036038101906100989190610503565b610151565b6040516100aa91906105ff565b60405180910390f35b6100cd60048036038101906100c8919061054c565b61017f565b005b6100e960048036038101906100e491906104a3565b610189565b005b6101056004803603810190610100919061054c565b610260565b60405161011392919061061a565b60405180910390f35b61012461031c565b60405161013191906105ff565b60405180910390f35b8060005461014891906106c7565b60008190555050565b6001818051602081018201805184825260208301602085012081835280955050505050506000915090505481565b8060008190555050565b6002604051806040016040528083815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508152509080600181540180825580915050600190039060005260206000209060020201600090919091909150600082015181600001556020820151816001019080519060200190610233929190610325565b50505080600184846040516102499291906105e6565b908152602001604051809103902081905550505050565b6002818154811061027057600080fd5b906000526020600020906002020160009150905080600001549080600101805461029990610769565b80601f01602080910402602001604051908101604052809291908181526020018280546102c590610769565b80156103125780601f106102e757610100808354040283529160200191610312565b820191906000526020600020905b8154815290600101906020018083116102f557829003601f168201915b5050505050905082565b60008054905090565b82805461033190610769565b90600052602060002090601f016020900481019282610353576000855561039a565b82601f1061036c57805160ff191683800117855561039a565b8280016001018555821561039a579182015b8281111561039957825182559160200191906001019061037e565b5b5090506103a791906103ab565b5090565b5b808211156103c45760008160009055506001016103ac565b5090565b60006103db6103d68461066f565b61064a565b9050828152602081018484840111156103f7576103f6610868565b5b610402848285610727565b509392505050565b60008083601f8401126104205761041f61085e565b5b8235905067ffffffffffffffff81111561043d5761043c610859565b5b60208301915083600182028301111561045957610458610863565b5b9250929050565b600082601f8301126104755761047461085e565b5b81356104858482602086016103c8565b91505092915050565b60008135905061049d81610888565b92915050565b6000806000604084860312156104bc576104bb610872565b5b600084013567ffffffffffffffff8111156104da576104d961086d565b5b6104e68682870161040a565b935093505060206104f98682870161048e565b9150509250925092565b60006020828403121561051957610518610872565b5b600082013567ffffffffffffffff8111156105375761053661086d565b5b61054384828501610460565b91505092915050565b60006020828403121561056257610561610872565b5b60006105708482850161048e565b91505092915050565b600061058583856106bc565b9350610592838584610727565b82840190509392505050565b60006105a9826106a0565b6105b381856106ab565b93506105c3818560208601610736565b6105cc81610877565b840191505092915050565b6105e08161071d565b82525050565b60006105f3828486610579565b91508190509392505050565b600060208201905061061460008301846105d7565b92915050565b600060408201905061062f60008301856105d7565b8181036020830152610641818461059e565b90509392505050565b6000610654610665565b9050610660828261079b565b919050565b6000604051905090565b600067ffffffffffffffff82111561068a5761068961082a565b5b61069382610877565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b60006106d28261071d565b91506106dd8361071d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610712576107116107cc565b5b828201905092915050565b6000819050919050565b82818337600083830152505050565b60005b83811015610754578082015181840152602081019050610739565b83811115610763576000848401525b50505050565b6000600282049050600182168061078157607f821691505b60208210811415610795576107946107fb565b5b50919050565b6107a482610877565b810181811067ffffffffffffffff821117156107c3576107c261082a565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b6108918161071d565b811461089c57600080fd5b5056fea26469706673582212206c065c28884e69fb1d430714465a410b73b0a58ad3cfc21d931be327425e2f9164736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x8D5 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 0x1003E2D2 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x5C40826C EQ PUSH2 0x83 JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0x6F760F41 EQ PUSH2 0xCF JUMPI DUP1 PUSH4 0x9E7A13AD EQ PUSH2 0xEB JUMPI DUP1 PUSH4 0xA6B7FC5B EQ PUSH2 0x11C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x81 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x54C JUMP JUMPDEST PUSH2 0x13A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x98 SWAP2 SWAP1 PUSH2 0x503 JUMP JUMPDEST PUSH2 0x151 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAA SWAP2 SWAP1 PUSH2 0x5FF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC8 SWAP2 SWAP1 PUSH2 0x54C JUMP JUMPDEST PUSH2 0x17F JUMP JUMPDEST STOP JUMPDEST PUSH2 0xE9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE4 SWAP2 SWAP1 PUSH2 0x4A3 JUMP JUMPDEST PUSH2 0x189 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x105 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x100 SWAP2 SWAP1 PUSH2 0x54C JUMP JUMPDEST PUSH2 0x260 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x113 SWAP3 SWAP2 SWAP1 PUSH2 0x61A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x124 PUSH2 0x31C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x131 SWAP2 SWAP1 PUSH2 0x5FF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 PUSH1 0x0 SLOAD PUSH2 0x148 SWAP2 SWAP1 PUSH2 0x6C7 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP3 ADD DUP1 MLOAD DUP5 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP6 ADD KECCAK256 DUP2 DUP4 MSTORE DUP1 SWAP6 POP POP POP POP POP POP PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP6 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP 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 0x2 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 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x233 SWAP3 SWAP2 SWAP1 PUSH2 0x325 JUMP JUMPDEST POP POP POP DUP1 PUSH1 0x1 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x249 SWAP3 SWAP2 SWAP1 PUSH2 0x5E6 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP2 SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x270 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x299 SWAP1 PUSH2 0x769 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 0x2C5 SWAP1 PUSH2 0x769 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x312 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2E7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x312 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 0x2F5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x331 SWAP1 PUSH2 0x769 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x353 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x39A JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x36C JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x39A JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x39A JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x399 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x37E JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x3A7 SWAP2 SWAP1 PUSH2 0x3AB JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x3C4 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x3AC JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DB PUSH2 0x3D6 DUP5 PUSH2 0x66F JUMP JUMPDEST PUSH2 0x64A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x3F7 JUMPI PUSH2 0x3F6 PUSH2 0x868 JUMP JUMPDEST JUMPDEST PUSH2 0x402 DUP5 DUP3 DUP6 PUSH2 0x727 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x420 JUMPI PUSH2 0x41F PUSH2 0x85E JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x43D JUMPI PUSH2 0x43C PUSH2 0x859 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x459 JUMPI PUSH2 0x458 PUSH2 0x863 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x475 JUMPI PUSH2 0x474 PUSH2 0x85E JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x485 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x3C8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x49D DUP2 PUSH2 0x888 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4BC JUMPI PUSH2 0x4BB PUSH2 0x872 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4DA JUMPI PUSH2 0x4D9 PUSH2 0x86D JUMP JUMPDEST JUMPDEST PUSH2 0x4E6 DUP7 DUP3 DUP8 ADD PUSH2 0x40A JUMP JUMPDEST SWAP4 POP SWAP4 POP POP PUSH1 0x20 PUSH2 0x4F9 DUP7 DUP3 DUP8 ADD PUSH2 0x48E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x519 JUMPI PUSH2 0x518 PUSH2 0x872 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x537 JUMPI PUSH2 0x536 PUSH2 0x86D JUMP JUMPDEST JUMPDEST PUSH2 0x543 DUP5 DUP3 DUP6 ADD PUSH2 0x460 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x562 JUMPI PUSH2 0x561 PUSH2 0x872 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x570 DUP5 DUP3 DUP6 ADD PUSH2 0x48E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x585 DUP4 DUP6 PUSH2 0x6BC JUMP JUMPDEST SWAP4 POP PUSH2 0x592 DUP4 DUP6 DUP5 PUSH2 0x727 JUMP JUMPDEST DUP3 DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5A9 DUP3 PUSH2 0x6A0 JUMP JUMPDEST PUSH2 0x5B3 DUP2 DUP6 PUSH2 0x6AB JUMP JUMPDEST SWAP4 POP PUSH2 0x5C3 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x736 JUMP JUMPDEST PUSH2 0x5CC DUP2 PUSH2 0x877 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x5E0 DUP2 PUSH2 0x71D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F3 DUP3 DUP5 DUP7 PUSH2 0x579 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x614 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5D7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x62F PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x5D7 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x641 DUP2 DUP5 PUSH2 0x59E JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x654 PUSH2 0x665 JUMP JUMPDEST SWAP1 POP PUSH2 0x660 DUP3 DUP3 PUSH2 0x79B JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x68A JUMPI PUSH2 0x689 PUSH2 0x82A JUMP JUMPDEST JUMPDEST PUSH2 0x693 DUP3 PUSH2 0x877 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 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 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6D2 DUP3 PUSH2 0x71D JUMP JUMPDEST SWAP2 POP PUSH2 0x6DD DUP4 PUSH2 0x71D JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x712 JUMPI PUSH2 0x711 PUSH2 0x7CC JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x754 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x739 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x763 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x781 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x795 JUMPI PUSH2 0x794 PUSH2 0x7FB JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x7A4 DUP3 PUSH2 0x877 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x7C3 JUMPI PUSH2 0x7C2 PUSH2 0x82A JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT 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 PUSH2 0x891 DUP2 PUSH2 0x71D JUMP JUMPDEST DUP2 EQ PUSH2 0x89C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH13 0x65C28884E69FB1D430714465A COINBASE SIGNEXTEND PUSH20 0xB0A58AD3CFC21D931BE327425E2F9164736F6C63 NUMBER STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "58:874:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@addPerson_69": {
"entryPoint": 393,
"id": 69,
"parameterSlots": 3,
"returnSlots": 0
},
"@add_46": {
"entryPoint": 314,
"id": 46,
"parameterSlots": 1,
"returnSlots": 0
},
"@nameToFavoriteNumberMapping_7": {
"entryPoint": 337,
"id": 7,
"parameterSlots": 0,
"returnSlots": 0
},
"@people_26": {
"entryPoint": 608,
"id": 26,
"parameterSlots": 0,
"returnSlots": 0
},
"@retrive_34": {
"entryPoint": 796,
"id": 34,
"parameterSlots": 0,
"returnSlots": 1
},
"@store_17": {
"entryPoint": 383,
"id": 17,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_available_length_t_string_memory_ptr": {
"entryPoint": 968,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_string_calldata_ptr": {
"entryPoint": 1034,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_t_string_memory_ptr": {
"entryPoint": 1120,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 1166,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_string_calldata_ptrt_uint256": {
"entryPoint": 1187,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_string_memory_ptr": {
"entryPoint": 1283,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 1356,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack": {
"entryPoint": 1401,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1438,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 1495,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_packed_t_string_calldata_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": {
"entryPoint": 1510,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 1535,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1562,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 1610,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 1637,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_string_memory_ptr": {
"entryPoint": 1647,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 1696,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 1707,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack": {
"entryPoint": 1724,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 1735,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 1821,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_calldata_to_memory": {
"entryPoint": 1831,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"copy_memory_to_memory": {
"entryPoint": 1846,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 1897,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 1947,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"panic_error_0x11": {
"entryPoint": 1996,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 2043,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 2090,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490": {
"entryPoint": 2137,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 2142,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": {
"entryPoint": 2147,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": {
"entryPoint": 2152,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 2157,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 2162,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 2167,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_uint256": {
"entryPoint": 2184,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:8805:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "91:328:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "101:75:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "168:6:2"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "126:41:2"
},
"nodeType": "YulFunctionCall",
"src": "126:49:2"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "110:15:2"
},
"nodeType": "YulFunctionCall",
"src": "110:66:2"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "101:5:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "192:5:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "199:6:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "185:6:2"
},
"nodeType": "YulFunctionCall",
"src": "185:21:2"
},
"nodeType": "YulExpressionStatement",
"src": "185:21:2"
},
{
"nodeType": "YulVariableDeclaration",
"src": "215:27:2",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "230:5:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "237:4:2",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "226:3:2"
},
"nodeType": "YulFunctionCall",
"src": "226:16:2"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "219:3:2",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "280:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulIdentifier",
"src": "282:77:2"
},
"nodeType": "YulFunctionCall",
"src": "282:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "282:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "261:3:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "266:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "257:3:2"
},
"nodeType": "YulFunctionCall",
"src": "257:16:2"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "275:3:2"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "254:2:2"
},
"nodeType": "YulFunctionCall",
"src": "254:25:2"
},
"nodeType": "YulIf",
"src": "251:112:2"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "396:3:2"
},
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "401:3:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "406:6:2"
}
],
"functionName": {
"name": "copy_calldata_to_memory",
"nodeType": "YulIdentifier",
"src": "372:23:2"
},
"nodeType": "YulFunctionCall",
"src": "372:41:2"
},
"nodeType": "YulExpressionStatement",
"src": "372:41:2"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "64:3:2",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "69:6:2",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "77:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "85:5:2",
"type": ""
}
],
"src": "7:412:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "514:478:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "563:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "565:77:2"
},
"nodeType": "YulFunctionCall",
"src": "565:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "565:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "542:6:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "550:4:2",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "538:3:2"
},
"nodeType": "YulFunctionCall",
"src": "538:17:2"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "557:3:2"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "534:3:2"
},
"nodeType": "YulFunctionCall",
"src": "534:27:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "527:6:2"
},
"nodeType": "YulFunctionCall",
"src": "527:35:2"
},
"nodeType": "YulIf",
"src": "524:122:2"
},
{
"nodeType": "YulAssignment",
"src": "655:30:2",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "678:6:2"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "665:12:2"
},
"nodeType": "YulFunctionCall",
"src": "665:20:2"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "655:6:2"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "728:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
"nodeType": "YulIdentifier",
"src": "730:77:2"
},
"nodeType": "YulFunctionCall",
"src": "730:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "730:79:2"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "700:6:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "708:18:2",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "697:2:2"
},
"nodeType": "YulFunctionCall",
"src": "697:30:2"
},
"nodeType": "YulIf",
"src": "694:117:2"
},
{
"nodeType": "YulAssignment",
"src": "820:29:2",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "836:6:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "844:4:2",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "832:3:2"
},
"nodeType": "YulFunctionCall",
"src": "832:17:2"
},
"variableNames": [
{
"name": "arrayPos",
"nodeType": "YulIdentifier",
"src": "820:8:2"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "903:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulIdentifier",
"src": "905:77:2"
},
"nodeType": "YulFunctionCall",
"src": "905:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "905:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "arrayPos",
"nodeType": "YulIdentifier",
"src": "868:8:2"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "882:6:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "890:4:2",
"type": "",
"value": "0x01"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "878:3:2"
},
"nodeType": "YulFunctionCall",
"src": "878:17:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "864:3:2"
},
"nodeType": "YulFunctionCall",
"src": "864:32:2"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "898:3:2"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "861:2:2"
},
"nodeType": "YulFunctionCall",
"src": "861:41:2"
},
"nodeType": "YulIf",
"src": "858:128:2"
}
]
},
"name": "abi_decode_t_string_calldata_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "481:6:2",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "489:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "arrayPos",
"nodeType": "YulTypedName",
"src": "497:8:2",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "507:6:2",
"type": ""
}
],
"src": "439:553:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1074:278:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1123:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "1125:77:2"
},
"nodeType": "YulFunctionCall",
"src": "1125:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "1125:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1102:6:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1110:4:2",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1098:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1098:17:2"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1117:3:2"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1094:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1094:27:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1087:6:2"
},
"nodeType": "YulFunctionCall",
"src": "1087:35:2"
},
"nodeType": "YulIf",
"src": "1084:122:2"
},
{
"nodeType": "YulVariableDeclaration",
"src": "1215:34:2",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1242:6:2"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1229:12:2"
},
"nodeType": "YulFunctionCall",
"src": "1229:20:2"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1219:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1258:88:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1319:6:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1327:4:2",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1315:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1315:17:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1334:6:2"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1342:3:2"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1267:47:2"
},
"nodeType": "YulFunctionCall",
"src": "1267:79:2"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "1258:5:2"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1052:6:2",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1060:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "1068:5:2",
"type": ""
}
],
"src": "1012:340:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1410:87:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1420:29:2",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1442:6:2"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1429:12:2"
},
"nodeType": "YulFunctionCall",
"src": "1429:20:2"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1420:5:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1485:5:2"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "1458:26:2"
},
"nodeType": "YulFunctionCall",
"src": "1458:33:2"
},
"nodeType": "YulExpressionStatement",
"src": "1458:33:2"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1388:6:2",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1396:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1404:5:2",
"type": ""
}
],
"src": "1358:139:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1606:571:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1652:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1654:77:2"
},
"nodeType": "YulFunctionCall",
"src": "1654:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "1654:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1627:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1636:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1623:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1623:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1648:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1619:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1619:32:2"
},
"nodeType": "YulIf",
"src": "1616:119:2"
},
{
"nodeType": "YulBlock",
"src": "1745:297:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1760:45:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1791:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1802:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1787:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1787:17:2"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1774:12:2"
},
"nodeType": "YulFunctionCall",
"src": "1774:31:2"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1764:6:2",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1852:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "1854:77:2"
},
"nodeType": "YulFunctionCall",
"src": "1854:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "1854:79:2"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1824:6:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1832:18:2",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1821:2:2"
},
"nodeType": "YulFunctionCall",
"src": "1821:30:2"
},
"nodeType": "YulIf",
"src": "1818:117:2"
},
{
"nodeType": "YulAssignment",
"src": "1949:83:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2004:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2015:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2000:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2000:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2024:7:2"
}
],
"functionName": {
"name": "abi_decode_t_string_calldata_ptr",
"nodeType": "YulIdentifier",
"src": "1967:32:2"
},
"nodeType": "YulFunctionCall",
"src": "1967:65:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1949:6:2"
},
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1957:6:2"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "2052:118:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2067:16:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2081:2:2",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2071:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2097:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2132:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2143:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2128:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2128:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2152:7:2"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "2107:20:2"
},
"nodeType": "YulFunctionCall",
"src": "2107:53:2"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "2097:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_calldata_ptrt_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1560:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1571:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1583:6:2",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1591:6:2",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "1599:6:2",
"type": ""
}
],
"src": "1503:674:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2259:433:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2305:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "2307:77:2"
},
"nodeType": "YulFunctionCall",
"src": "2307:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "2307:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2280:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2289:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2276:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2276:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2301:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "2272:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2272:32:2"
},
"nodeType": "YulIf",
"src": "2269:119:2"
},
{
"nodeType": "YulBlock",
"src": "2398:287:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2413:45:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2444:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2455:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2440:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2440:17:2"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "2427:12:2"
},
"nodeType": "YulFunctionCall",
"src": "2427:31:2"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2417:6:2",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2505:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "2507:77:2"
},
"nodeType": "YulFunctionCall",
"src": "2507:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "2507:79:2"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2477:6:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2485:18:2",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2474:2:2"
},
"nodeType": "YulFunctionCall",
"src": "2474:30:2"
},
"nodeType": "YulIf",
"src": "2471:117:2"
},
{
"nodeType": "YulAssignment",
"src": "2602:73:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2647:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2658:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2643:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2643:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2667:7:2"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2612:30:2"
},
"nodeType": "YulFunctionCall",
"src": "2612:63:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2602:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2229:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "2240:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2252:6:2",
"type": ""
}
],
"src": "2183:509:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2764:263:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2810:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "2812:77:2"
},
"nodeType": "YulFunctionCall",
"src": "2812:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "2812:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2785:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2794:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2781:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2781:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2806:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "2777:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2777:32:2"
},
"nodeType": "YulIf",
"src": "2774:119:2"
},
{
"nodeType": "YulBlock",
"src": "2903:117:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2918:15:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2932:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2922:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2947:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2982:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2993:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2978:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2978:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3002:7:2"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "2957:20:2"
},
"nodeType": "YulFunctionCall",
"src": "2957:53:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2947:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2734:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "2745:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2757:6:2",
"type": ""
}
],
"src": "2698:329:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3177:197:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3187:96:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3271:3:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3276:6:2"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "3194:76:2"
},
"nodeType": "YulFunctionCall",
"src": "3194:89:2"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3187:3:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "3317:5:2"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3324:3:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3329:6:2"
}
],
"functionName": {
"name": "copy_calldata_to_memory",
"nodeType": "YulIdentifier",
"src": "3293:23:2"
},
"nodeType": "YulFunctionCall",
"src": "3293:43:2"
},
"nodeType": "YulExpressionStatement",
"src": "3293:43:2"
},
{
"nodeType": "YulAssignment",
"src": "3345:23:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3356:3:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3361:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3352:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3352:16:2"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3345:3:2"
}
]
}
]
},
"name": "abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "start",
"nodeType": "YulTypedName",
"src": "3150:5:2",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3157:6:2",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3165:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3173:3:2",
"type": ""
}
],
"src": "3057:317:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3472:272:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3482:53:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3529:5:2"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "3496:32:2"
},
"nodeType": "YulFunctionCall",
"src": "3496:39:2"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3486:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3544:78:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3610:3:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3615:6:2"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3551:58:2"
},
"nodeType": "YulFunctionCall",
"src": "3551:71:2"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3544:3:2"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3657:5:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3664:4:2",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3653:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3653:16:2"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3671:3:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3676:6:2"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "3631:21:2"
},
"nodeType": "YulFunctionCall",
"src": "3631:52:2"
},
"nodeType": "YulExpressionStatement",
"src": "3631:52:2"
},
{
"nodeType": "YulAssignment",
"src": "3692:46:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3703:3:2"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3730:6:2"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "3708:21:2"
},
"nodeType": "YulFunctionCall",
"src": "3708:29:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3699:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3699:39:2"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3692:3:2"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3453:5:2",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3460:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3468:3:2",
"type": ""
}
],
"src": "3380:364:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3815:53:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3832:3:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3855:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3837:17:2"
},
"nodeType": "YulFunctionCall",
"src": "3837:24:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3825:6:2"
},
"nodeType": "YulFunctionCall",
"src": "3825:37:2"
},
"nodeType": "YulExpressionStatement",
"src": "3825:37:2"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3803:5:2",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3810:3:2",
"type": ""
}
],
"src": "3750:118:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4020:149:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4031:112:2",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4122:6:2"
},
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "4130:6:2"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4139:3:2"
}
],
"functionName": {
"name": "abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "4038:83:2"
},
"nodeType": "YulFunctionCall",
"src": "4038:105:2"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4031:3:2"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4153:10:2",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4160:3:2"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4153:3:2"
}
]
}
]
},
"name": "abi_encode_tuple_packed_t_string_calldata_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3991:3:2",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "3997:6:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4005:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "4016:3:2",
"type": ""
}
],
"src": "3874:295:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4273:124:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4283:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4295:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4306:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4291:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4291:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4283:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4363:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4376:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4387:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4372:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4372:17:2"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "4319:43:2"
},
"nodeType": "YulFunctionCall",
"src": "4319:71:2"
},
"nodeType": "YulExpressionStatement",
"src": "4319:71:2"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4245:9:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4257:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4268:4:2",
"type": ""
}
],
"src": "4175:222:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4549:277:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4559:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4571:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4582:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4567:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4567:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4559:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4639:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4652:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4663:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4648:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4648:17:2"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "4595:43:2"
},
"nodeType": "YulFunctionCall",
"src": "4595:71:2"
},
"nodeType": "YulExpressionStatement",
"src": "4595:71:2"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4687:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4698:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4683:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4683:18:2"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4707:4:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4713:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4703:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4703:20:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4676:6:2"
},
"nodeType": "YulFunctionCall",
"src": "4676:48:2"
},
"nodeType": "YulExpressionStatement",
"src": "4676:48:2"
},
{
"nodeType": "YulAssignment",
"src": "4733:86:2",
"value": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "4805:6:2"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4814:4:2"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4741:63:2"
},
"nodeType": "YulFunctionCall",
"src": "4741:78:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4733:4:2"
}
]
}
]
},
"name": "abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4513:9:2",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "4525:6:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4533:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4544:4:2",
"type": ""
}
],
"src": "4403:423:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4873:88:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4883:30:2",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "4893:18:2"
},
"nodeType": "YulFunctionCall",
"src": "4893:20:2"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4883:6:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4942:6:2"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4950:4:2"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "4922:19:2"
},
"nodeType": "YulFunctionCall",
"src": "4922:33:2"
},
"nodeType": "YulExpressionStatement",
"src": "4922:33:2"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "4857:4:2",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4866:6:2",
"type": ""
}
],
"src": "4832:129:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5007:35:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5017:19:2",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5033:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5027:5:2"
},
"nodeType": "YulFunctionCall",
"src": "5027:9:2"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "5017:6:2"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "5000:6:2",
"type": ""
}
],
"src": "4967:75:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5115:241:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "5220:22:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "5222:16:2"
},
"nodeType": "YulFunctionCall",
"src": "5222:18:2"
},
"nodeType": "YulExpressionStatement",
"src": "5222:18:2"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5192:6:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5200:18:2",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "5189:2:2"
},
"nodeType": "YulFunctionCall",
"src": "5189:30:2"
},
"nodeType": "YulIf",
"src": "5186:56:2"
},
{
"nodeType": "YulAssignment",
"src": "5252:37:2",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5282:6:2"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "5260:21:2"
},
"nodeType": "YulFunctionCall",
"src": "5260:29:2"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "5252:4:2"
}
]
},
{
"nodeType": "YulAssignment",
"src": "5326:23:2",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "5338:4:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5344:4:2",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5334:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5334:15:2"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "5326:4:2"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5099:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "5110:4:2",
"type": ""
}
],
"src": "5048:308:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5421:40:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5432:22:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5448:5:2"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5442:5:2"
},
"nodeType": "YulFunctionCall",
"src": "5442:12:2"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5432:6:2"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5404:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5414:6:2",
"type": ""
}
],
"src": "5362:99:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5563:73:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5580:3:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5585:6:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5573:6:2"
},
"nodeType": "YulFunctionCall",
"src": "5573:19:2"
},
"nodeType": "YulExpressionStatement",
"src": "5573:19:2"
},
{
"nodeType": "YulAssignment",
"src": "5601:29:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5620:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5625:4:2",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5616:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5616:14:2"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "5601:11:2"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5535:3:2",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5540:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "5551:11:2",
"type": ""
}
],
"src": "5467:169:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5756:34:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5766:18:2",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5781:3:2"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "5766:11:2"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5728:3:2",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5733:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "5744:11:2",
"type": ""
}
],
"src": "5642:148:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5840:261:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5850:25:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5873:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "5855:17:2"
},
"nodeType": "YulFunctionCall",
"src": "5855:20:2"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5850:1:2"
}
]
},
{
"nodeType": "YulAssignment",
"src": "5884:25:2",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5907:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "5889:17:2"
},
"nodeType": "YulFunctionCall",
"src": "5889:20:2"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5884:1:2"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6047:22:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "6049:16:2"
},
"nodeType": "YulFunctionCall",
"src": "6049:18:2"
},
"nodeType": "YulExpressionStatement",
"src": "6049:18:2"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5968:1:2"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5975:66:2",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "6043:1:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "5971:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5971:74:2"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "5965:2:2"
},
"nodeType": "YulFunctionCall",
"src": "5965:81:2"
},
"nodeType": "YulIf",
"src": "5962:107:2"
},
{
"nodeType": "YulAssignment",
"src": "6079:16:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "6090:1:2"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "6093:1:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6086:3:2"
},
"nodeType": "YulFunctionCall",
"src": "6086:9:2"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "6079:3:2"
}
]
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "5827:1:2",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "5830:1:2",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "5836:3:2",
"type": ""
}
],
"src": "5796:305:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6152:32:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6162:16:2",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "6173:5:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "6162:7:2"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6134:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "6144:7:2",
"type": ""
}
],
"src": "6107:77:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6241:103:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "6264:3:2"
},
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "6269:3:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6274:6:2"
}
],
"functionName": {
"name": "calldatacopy",
"nodeType": "YulIdentifier",
"src": "6251:12:2"
},
"nodeType": "YulFunctionCall",
"src": "6251:30:2"
},
"nodeType": "YulExpressionStatement",
"src": "6251:30:2"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "6322:3:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6327:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6318:3:2"
},
"nodeType": "YulFunctionCall",
"src": "6318:16:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6336:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6311:6:2"
},
"nodeType": "YulFunctionCall",
"src": "6311:27:2"
},
"nodeType": "YulExpressionStatement",
"src": "6311:27:2"
}
]
},
"name": "copy_calldata_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "6223:3:2",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "6228:3:2",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "6233:6:2",
"type": ""
}
],
"src": "6190:154:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6399:258:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6409:10:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "6418:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "6413:1:2",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6478:63:2",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "6503:3:2"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "6508:1:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6499:3:2"
},
"nodeType": "YulFunctionCall",
"src": "6499:11:2"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "6522:3:2"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "6527:1:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6518:3:2"
},
"nodeType": "YulFunctionCall",
"src": "6518:11:2"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "6512:5:2"
},
"nodeType": "YulFunctionCall",
"src": "6512:18:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6492:6:2"
},
"nodeType": "YulFunctionCall",
"src": "6492:39:2"
},
"nodeType": "YulExpressionStatement",
"src": "6492:39:2"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "6439:1:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6442:6:2"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "6436:2:2"
},
"nodeType": "YulFunctionCall",
"src": "6436:13:2"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "6450:19:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6452:15:2",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "6461:1:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6464:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6457:3:2"
},
"nodeType": "YulFunctionCall",
"src": "6457:10:2"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "6452:1:2"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "6432:3:2",
"statements": []
},
"src": "6428:113:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6575:76:2",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "6625:3:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6630:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6621:3:2"
},
"nodeType": "YulFunctionCall",
"src": "6621:16:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6639:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6614:6:2"
},
"nodeType": "YulFunctionCall",
"src": "6614:27:2"
},
"nodeType": "YulExpressionStatement",
"src": "6614:27:2"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "6556:1:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6559:6:2"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "6553:2:2"
},
"nodeType": "YulFunctionCall",
"src": "6553:13:2"
},
"nodeType": "YulIf",
"src": "6550:101:2"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "6381:3:2",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "6386:3:2",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "6391:6:2",
"type": ""
}
],
"src": "6350:307:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6714:269:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6724:22:2",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "6738:4:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6744:1:2",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "6734:3:2"
},
"nodeType": "YulFunctionCall",
"src": "6734:12:2"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6724:6:2"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "6755:38:2",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "6785:4:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6791:1:2",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6781:3:2"
},
"nodeType": "YulFunctionCall",
"src": "6781:12:2"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "6759:18:2",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6832:51:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6846:27:2",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6860:6:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6868:4:2",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6856:3:2"
},
"nodeType": "YulFunctionCall",
"src": "6856:17:2"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6846:6:2"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "6812:18:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "6805:6:2"
},
"nodeType": "YulFunctionCall",
"src": "6805:26:2"
},
"nodeType": "YulIf",
"src": "6802:81:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6935:42:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "6949:16:2"
},
"nodeType": "YulFunctionCall",
"src": "6949:18:2"
},
"nodeType": "YulExpressionStatement",
"src": "6949:18:2"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "6899:18:2"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6922:6:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6930:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "6919:2:2"
},
"nodeType": "YulFunctionCall",
"src": "6919:14:2"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "6896:2:2"
},
"nodeType": "YulFunctionCall",
"src": "6896:38:2"
},
"nodeType": "YulIf",
"src": "6893:84:2"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "6698:4:2",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "6707:6:2",
"type": ""
}
],
"src": "6663:320:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7032:238:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "7042:58:2",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7064:6:2"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "7094:4:2"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "7072:21:2"
},
"nodeType": "YulFunctionCall",
"src": "7072:27:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7060:3:2"
},
"nodeType": "YulFunctionCall",
"src": "7060:40:2"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "7046:10:2",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "7211:22:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "7213:16:2"
},
"nodeType": "YulFunctionCall",
"src": "7213:18:2"
},
"nodeType": "YulExpressionStatement",
"src": "7213:18:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "7154:10:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7166:18:2",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "7151:2:2"
},
"nodeType": "YulFunctionCall",
"src": "7151:34:2"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "7190:10:2"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7202:6:2"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "7187:2:2"
},
"nodeType": "YulFunctionCall",
"src": "7187:22:2"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "7148:2:2"
},
"nodeType": "YulFunctionCall",
"src": "7148:62:2"
},
"nodeType": "YulIf",
"src": "7145:88:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7249:2:2",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "7253:10:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7242:6:2"
},
"nodeType": "YulFunctionCall",
"src": "7242:22:2"
},
"nodeType": "YulExpressionStatement",
"src": "7242:22:2"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "7018:6:2",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "7026:4:2",
"type": ""
}
],
"src": "6989:281:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7304:152:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7321:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7324:77:2",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7314:6:2"
},
"nodeType": "YulFunctionCall",
"src": "7314:88:2"
},
"nodeType": "YulExpressionStatement",
"src": "7314:88:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7418:1:2",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7421:4:2",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7411:6:2"
},
"nodeType": "YulFunctionCall",
"src": "7411:15:2"
},
"nodeType": "YulExpressionStatement",
"src": "7411:15:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7442:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7445:4:2",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7435:6:2"
},
"nodeType": "YulFunctionCall",
"src": "7435:15:2"
},
"nodeType": "YulExpressionStatement",
"src": "7435:15:2"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "7276:180:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7490:152:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7507:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7510:77:2",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7500:6:2"
},
"nodeType": "YulFunctionCall",
"src": "7500:88:2"
},
"nodeType": "YulExpressionStatement",
"src": "7500:88:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7604:1:2",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7607:4:2",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7597:6:2"
},
"nodeType": "YulFunctionCall",
"src": "7597:15:2"
},
"nodeType": "YulExpressionStatement",
"src": "7597:15:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7628:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7631:4:2",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7621:6:2"
},
"nodeType": "YulFunctionCall",
"src": "7621:15:2"
},
"nodeType": "YulExpressionStatement",
"src": "7621:15:2"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "7462:180:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7676:152:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7693:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7696:77:2",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7686:6:2"
},
"nodeType": "YulFunctionCall",
"src": "7686:88:2"
},
"nodeType": "YulExpressionStatement",
"src": "7686:88:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7790:1:2",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7793:4:2",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7783:6:2"
},
"nodeType": "YulFunctionCall",
"src": "7783:15:2"
},
"nodeType": "YulExpressionStatement",
"src": "7783:15:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7814:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7817:4:2",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7807:6:2"
},
"nodeType": "YulFunctionCall",
"src": "7807:15:2"
},
"nodeType": "YulExpressionStatement",
"src": "7807:15:2"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "7648:180:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7923:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7940:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7943:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7933:6:2"
},
"nodeType": "YulFunctionCall",
"src": "7933:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "7933:12:2"
}
]
},
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
"nodeType": "YulFunctionDefinition",
"src": "7834:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8046:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8063:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8066:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8056:6:2"
},
"nodeType": "YulFunctionCall",
"src": "8056:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "8056:12:2"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "7957:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8169:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8186:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8189:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8179:6:2"
},
"nodeType": "YulFunctionCall",
"src": "8179:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "8179:12:2"
}
]
},
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulFunctionDefinition",
"src": "8080:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8292:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8309:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8312:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8302:6:2"
},
"nodeType": "YulFunctionCall",
"src": "8302:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "8302:12:2"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulFunctionDefinition",
"src": "8203:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8415:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8432:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8435:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8425:6:2"
},
"nodeType": "YulFunctionCall",
"src": "8425:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "8425:12:2"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "8326:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8538:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8555:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8558:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8548:6:2"
},
"nodeType": "YulFunctionCall",
"src": "8548:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "8548:12:2"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "8449:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8620:54:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8630:38:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8648:5:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8655:2:2",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8644:3:2"
},
"nodeType": "YulFunctionCall",
"src": "8644:14:2"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8664:2:2",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "8660:3:2"
},
"nodeType": "YulFunctionCall",
"src": "8660:7:2"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "8640:3:2"
},
"nodeType": "YulFunctionCall",
"src": "8640:28:2"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "8630:6:2"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8603:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "8613:6:2",
"type": ""
}
],
"src": "8572:102:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8723:79:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "8780:16:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8789:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8792:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8782:6:2"
},
"nodeType": "YulFunctionCall",
"src": "8782:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "8782:12:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8746:5:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8771:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "8753:17:2"
},
"nodeType": "YulFunctionCall",
"src": "8753:24:2"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "8743:2:2"
},
"nodeType": "YulFunctionCall",
"src": "8743:35:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "8736:6:2"
},
"nodeType": "YulFunctionCall",
"src": "8736:43:2"
},
"nodeType": "YulIf",
"src": "8733:63:2"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8716:5:2",
"type": ""
}
],
"src": "8680:122:2"
}
]
},
"contents": "{\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_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\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_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_string_calldata_ptrt_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_string_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\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_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 // string -> string\n function abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n\n copy_calldata_to_memory(start, pos, length)\n end := add(pos, length)\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_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_packed_t_string_calldata_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, value1, pos)\n\n end := pos\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 abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value1, tail)\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\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 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 array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\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 cleanup_t_uint256(value) -> cleaned {\n cleaned := value\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 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 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 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 panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\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 validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 2,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100625760003560e01c80631003e2d2146100675780635c40826c146100835780636057361d146100b35780636f760f41146100cf5780639e7a13ad146100eb578063a6b7fc5b1461011c575b600080fd5b610081600480360381019061007c919061054c565b61013a565b005b61009d60048036038101906100989190610503565b610151565b6040516100aa91906105ff565b60405180910390f35b6100cd60048036038101906100c8919061054c565b61017f565b005b6100e960048036038101906100e491906104a3565b610189565b005b6101056004803603810190610100919061054c565b610260565b60405161011392919061061a565b60405180910390f35b61012461031c565b60405161013191906105ff565b60405180910390f35b8060005461014891906106c7565b60008190555050565b6001818051602081018201805184825260208301602085012081835280955050505050506000915090505481565b8060008190555050565b6002604051806040016040528083815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508152509080600181540180825580915050600190039060005260206000209060020201600090919091909150600082015181600001556020820151816001019080519060200190610233929190610325565b50505080600184846040516102499291906105e6565b908152602001604051809103902081905550505050565b6002818154811061027057600080fd5b906000526020600020906002020160009150905080600001549080600101805461029990610769565b80601f01602080910402602001604051908101604052809291908181526020018280546102c590610769565b80156103125780601f106102e757610100808354040283529160200191610312565b820191906000526020600020905b8154815290600101906020018083116102f557829003601f168201915b5050505050905082565b60008054905090565b82805461033190610769565b90600052602060002090601f016020900481019282610353576000855561039a565b82601f1061036c57805160ff191683800117855561039a565b8280016001018555821561039a579182015b8281111561039957825182559160200191906001019061037e565b5b5090506103a791906103ab565b5090565b5b808211156103c45760008160009055506001016103ac565b5090565b60006103db6103d68461066f565b61064a565b9050828152602081018484840111156103f7576103f6610868565b5b610402848285610727565b509392505050565b60008083601f8401126104205761041f61085e565b5b8235905067ffffffffffffffff81111561043d5761043c610859565b5b60208301915083600182028301111561045957610458610863565b5b9250929050565b600082601f8301126104755761047461085e565b5b81356104858482602086016103c8565b91505092915050565b60008135905061049d81610888565b92915050565b6000806000604084860312156104bc576104bb610872565b5b600084013567ffffffffffffffff8111156104da576104d961086d565b5b6104e68682870161040a565b935093505060206104f98682870161048e565b9150509250925092565b60006020828403121561051957610518610872565b5b600082013567ffffffffffffffff8111156105375761053661086d565b5b61054384828501610460565b91505092915050565b60006020828403121561056257610561610872565b5b60006105708482850161048e565b91505092915050565b600061058583856106bc565b9350610592838584610727565b82840190509392505050565b60006105a9826106a0565b6105b381856106ab565b93506105c3818560208601610736565b6105cc81610877565b840191505092915050565b6105e08161071d565b82525050565b60006105f3828486610579565b91508190509392505050565b600060208201905061061460008301846105d7565b92915050565b600060408201905061062f60008301856105d7565b8181036020830152610641818461059e565b90509392505050565b6000610654610665565b9050610660828261079b565b919050565b6000604051905090565b600067ffffffffffffffff82111561068a5761068961082a565b5b61069382610877565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b60006106d28261071d565b91506106dd8361071d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610712576107116107cc565b5b828201905092915050565b6000819050919050565b82818337600083830152505050565b60005b83811015610754578082015181840152602081019050610739565b83811115610763576000848401525b50505050565b6000600282049050600182168061078157607f821691505b60208210811415610795576107946107fb565b5b50919050565b6107a482610877565b810181811067ffffffffffffffff821117156107c3576107c261082a565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b6108918161071d565b811461089c57600080fd5b5056fea26469706673582212206c065c28884e69fb1d430714465a410b73b0a58ad3cfc21d931be327425e2f9164736f6c63430008070033",
"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 0x1003E2D2 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x5C40826C EQ PUSH2 0x83 JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0x6F760F41 EQ PUSH2 0xCF JUMPI DUP1 PUSH4 0x9E7A13AD EQ PUSH2 0xEB JUMPI DUP1 PUSH4 0xA6B7FC5B EQ PUSH2 0x11C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x81 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x54C JUMP JUMPDEST PUSH2 0x13A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x98 SWAP2 SWAP1 PUSH2 0x503 JUMP JUMPDEST PUSH2 0x151 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAA SWAP2 SWAP1 PUSH2 0x5FF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC8 SWAP2 SWAP1 PUSH2 0x54C JUMP JUMPDEST PUSH2 0x17F JUMP JUMPDEST STOP JUMPDEST PUSH2 0xE9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE4 SWAP2 SWAP1 PUSH2 0x4A3 JUMP JUMPDEST PUSH2 0x189 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x105 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x100 SWAP2 SWAP1 PUSH2 0x54C JUMP JUMPDEST PUSH2 0x260 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x113 SWAP3 SWAP2 SWAP1 PUSH2 0x61A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x124 PUSH2 0x31C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x131 SWAP2 SWAP1 PUSH2 0x5FF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 PUSH1 0x0 SLOAD PUSH2 0x148 SWAP2 SWAP1 PUSH2 0x6C7 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP3 ADD DUP1 MLOAD DUP5 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP6 ADD KECCAK256 DUP2 DUP4 MSTORE DUP1 SWAP6 POP POP POP POP POP POP PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP6 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP 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 0x2 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 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x233 SWAP3 SWAP2 SWAP1 PUSH2 0x325 JUMP JUMPDEST POP POP POP DUP1 PUSH1 0x1 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x249 SWAP3 SWAP2 SWAP1 PUSH2 0x5E6 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP2 SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x270 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x299 SWAP1 PUSH2 0x769 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 0x2C5 SWAP1 PUSH2 0x769 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x312 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2E7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x312 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 0x2F5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x331 SWAP1 PUSH2 0x769 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x353 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x39A JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x36C JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x39A JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x39A JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x399 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x37E JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x3A7 SWAP2 SWAP1 PUSH2 0x3AB JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x3C4 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x3AC JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DB PUSH2 0x3D6 DUP5 PUSH2 0x66F JUMP JUMPDEST PUSH2 0x64A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x3F7 JUMPI PUSH2 0x3F6 PUSH2 0x868 JUMP JUMPDEST JUMPDEST PUSH2 0x402 DUP5 DUP3 DUP6 PUSH2 0x727 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x420 JUMPI PUSH2 0x41F PUSH2 0x85E JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x43D JUMPI PUSH2 0x43C PUSH2 0x859 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x459 JUMPI PUSH2 0x458 PUSH2 0x863 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x475 JUMPI PUSH2 0x474 PUSH2 0x85E JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x485 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x3C8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x49D DUP2 PUSH2 0x888 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4BC JUMPI PUSH2 0x4BB PUSH2 0x872 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4DA JUMPI PUSH2 0x4D9 PUSH2 0x86D JUMP JUMPDEST JUMPDEST PUSH2 0x4E6 DUP7 DUP3 DUP8 ADD PUSH2 0x40A JUMP JUMPDEST SWAP4 POP SWAP4 POP POP PUSH1 0x20 PUSH2 0x4F9 DUP7 DUP3 DUP8 ADD PUSH2 0x48E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x519 JUMPI PUSH2 0x518 PUSH2 0x872 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x537 JUMPI PUSH2 0x536 PUSH2 0x86D JUMP JUMPDEST JUMPDEST PUSH2 0x543 DUP5 DUP3 DUP6 ADD PUSH2 0x460 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x562 JUMPI PUSH2 0x561 PUSH2 0x872 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x570 DUP5 DUP3 DUP6 ADD PUSH2 0x48E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x585 DUP4 DUP6 PUSH2 0x6BC JUMP JUMPDEST SWAP4 POP PUSH2 0x592 DUP4 DUP6 DUP5 PUSH2 0x727 JUMP JUMPDEST DUP3 DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5A9 DUP3 PUSH2 0x6A0 JUMP JUMPDEST PUSH2 0x5B3 DUP2 DUP6 PUSH2 0x6AB JUMP JUMPDEST SWAP4 POP PUSH2 0x5C3 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x736 JUMP JUMPDEST PUSH2 0x5CC DUP2 PUSH2 0x877 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x5E0 DUP2 PUSH2 0x71D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F3 DUP3 DUP5 DUP7 PUSH2 0x579 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x614 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5D7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x62F PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x5D7 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x641 DUP2 DUP5 PUSH2 0x59E JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x654 PUSH2 0x665 JUMP JUMPDEST SWAP1 POP PUSH2 0x660 DUP3 DUP3 PUSH2 0x79B JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x68A JUMPI PUSH2 0x689 PUSH2 0x82A JUMP JUMPDEST JUMPDEST PUSH2 0x693 DUP3 PUSH2 0x877 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 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 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6D2 DUP3 PUSH2 0x71D JUMP JUMPDEST SWAP2 POP PUSH2 0x6DD DUP4 PUSH2 0x71D JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x712 JUMPI PUSH2 0x711 PUSH2 0x7CC JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x754 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x739 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x763 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x781 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x795 JUMPI PUSH2 0x794 PUSH2 0x7FB JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x7A4 DUP3 PUSH2 0x877 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x7C3 JUMPI PUSH2 0x7C2 PUSH2 0x82A JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT 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 PUSH2 0x891 DUP2 PUSH2 0x71D JUMP JUMPDEST DUP2 EQ PUSH2 0x89C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH13 0x65C28884E69FB1D430714465A COINBASE SIGNEXTEND PUSH20 0xB0A58AD3CFC21D931BE327425E2F9164736F6C63 NUMBER STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "58:874:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;550:93;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;151:62;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;220:101;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;733:196;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;407:22;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;454:90;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;550:93;630:6;613:14;;:23;;;;:::i;:::-;596:14;:40;;;;550:93;:::o;151:62::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;220:101::-;299:15;282:14;:32;;;;220:101;:::o;733:196::-;817:6;829:30;;;;;;;;836:15;829:30;;;;853:5;;829:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;817:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;907:15;870:27;898:5;;870:34;;;;;;;:::i;:::-;;;;;;;;;;;;;:52;;;;733:196;;;:::o;407:22::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;454:90::-;493:7;523:14;;516:21;;454:90;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:412:2:-;85:5;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:112;;;282:79;;:::i;:::-;251:112;372:41;406:6;401:3;396;372:41;:::i;:::-;91:328;7:412;;;;;:::o;439:553::-;497:8;507:6;557:3;550:4;542:6;538:17;534:27;524:122;;565:79;;:::i;:::-;524:122;678:6;665:20;655:30;;708:18;700:6;697:30;694:117;;;730:79;;:::i;:::-;694:117;844:4;836:6;832:17;820:29;;898:3;890:4;882:6;878:17;868:8;864:32;861:41;858:128;;;905:79;;:::i;:::-;858:128;439:553;;;;;:::o;1012:340::-;1068:5;1117:3;1110:4;1102:6;1098:17;1094:27;1084:122;;1125:79;;:::i;:::-;1084:122;1242:6;1229:20;1267:79;1342:3;1334:6;1327:4;1319:6;1315:17;1267:79;:::i;:::-;1258:88;;1074:278;1012:340;;;;:::o;1358:139::-;1404:5;1442:6;1429:20;1420:29;;1458:33;1485:5;1458:33;:::i;:::-;1358:139;;;;:::o;1503:674::-;1583:6;1591;1599;1648:2;1636:9;1627:7;1623:23;1619:32;1616:119;;;1654:79;;:::i;:::-;1616:119;1802:1;1791:9;1787:17;1774:31;1832:18;1824:6;1821:30;1818:117;;;1854:79;;:::i;:::-;1818:117;1967:65;2024:7;2015:6;2004:9;2000:22;1967:65;:::i;:::-;1949:83;;;;1745:297;2081:2;2107:53;2152:7;2143:6;2132:9;2128:22;2107:53;:::i;:::-;2097:63;;2052:118;1503:674;;;;;:::o;2183:509::-;2252:6;2301:2;2289:9;2280:7;2276:23;2272:32;2269:119;;;2307:79;;:::i;:::-;2269:119;2455:1;2444:9;2440:17;2427:31;2485:18;2477:6;2474:30;2471:117;;;2507:79;;:::i;:::-;2471:117;2612:63;2667:7;2658:6;2647:9;2643:22;2612:63;:::i;:::-;2602:73;;2398:287;2183:509;;;;:::o;2698:329::-;2757:6;2806:2;2794:9;2785:7;2781:23;2777:32;2774:119;;;2812:79;;:::i;:::-;2774:119;2932:1;2957:53;3002:7;2993:6;2982:9;2978:22;2957:53;:::i;:::-;2947:63;;2903:117;2698:329;;;;:::o;3057:317::-;3173:3;3194:89;3276:6;3271:3;3194:89;:::i;:::-;3187:96;;3293:43;3329:6;3324:3;3317:5;3293:43;:::i;:::-;3361:6;3356:3;3352:16;3345:23;;3057:317;;;;;:::o;3380:364::-;3468:3;3496:39;3529:5;3496:39;:::i;:::-;3551:71;3615:6;3610:3;3551:71;:::i;:::-;3544:78;;3631:52;3676:6;3671:3;3664:4;3657:5;3653:16;3631:52;:::i;:::-;3708:29;3730:6;3708:29;:::i;:::-;3703:3;3699:39;3692:46;;3472:272;3380:364;;;;:::o;3750:118::-;3837:24;3855:5;3837:24;:::i;:::-;3832:3;3825:37;3750:118;;:::o;3874:295::-;4016:3;4038:105;4139:3;4130:6;4122;4038:105;:::i;:::-;4031:112;;4160:3;4153:10;;3874:295;;;;;:::o;4175:222::-;4268:4;4306:2;4295:9;4291:18;4283:26;;4319:71;4387:1;4376:9;4372:17;4363:6;4319:71;:::i;:::-;4175:222;;;;:::o;4403:423::-;4544:4;4582:2;4571:9;4567:18;4559:26;;4595:71;4663:1;4652:9;4648:17;4639:6;4595:71;:::i;:::-;4713:9;4707:4;4703:20;4698:2;4687:9;4683:18;4676:48;4741:78;4814:4;4805:6;4741:78;:::i;:::-;4733:86;;4403:423;;;;;:::o;4832:129::-;4866:6;4893:20;;:::i;:::-;4883:30;;4922:33;4950:4;4942:6;4922:33;:::i;:::-;4832:129;;;:::o;4967:75::-;5000:6;5033:2;5027:9;5017:19;;4967:75;:::o;5048:308::-;5110:4;5200:18;5192:6;5189:30;5186:56;;;5222:18;;:::i;:::-;5186:56;5260:29;5282:6;5260:29;:::i;:::-;5252:37;;5344:4;5338;5334:15;5326:23;;5048:308;;;:::o;5362:99::-;5414:6;5448:5;5442:12;5432:22;;5362:99;;;:::o;5467:169::-;5551:11;5585:6;5580:3;5573:19;5625:4;5620:3;5616:14;5601:29;;5467:169;;;;:::o;5642:148::-;5744:11;5781:3;5766:18;;5642:148;;;;:::o;5796:305::-;5836:3;5855:20;5873:1;5855:20;:::i;:::-;5850:25;;5889:20;5907:1;5889:20;:::i;:::-;5884:25;;6043:1;5975:66;5971:74;5968:1;5965:81;5962:107;;;6049:18;;:::i;:::-;5962:107;6093:1;6090;6086:9;6079:16;;5796:305;;;;:::o;6107:77::-;6144:7;6173:5;6162:16;;6107:77;;;:::o;6190:154::-;6274:6;6269:3;6264;6251:30;6336:1;6327:6;6322:3;6318:16;6311:27;6190:154;;;:::o;6350:307::-;6418:1;6428:113;6442:6;6439:1;6436:13;6428:113;;;6527:1;6522:3;6518:11;6512:18;6508:1;6503:3;6499:11;6492:39;6464:2;6461:1;6457:10;6452:15;;6428:113;;;6559:6;6556:1;6553:13;6550:101;;;6639:1;6630:6;6625:3;6621:16;6614:27;6550:101;6399:258;6350:307;;;:::o;6663:320::-;6707:6;6744:1;6738:4;6734:12;6724:22;;6791:1;6785:4;6781:12;6812:18;6802:81;;6868:4;6860:6;6856:17;6846:27;;6802:81;6930:2;6922:6;6919:14;6899:18;6896:38;6893:84;;;6949:18;;:::i;:::-;6893:84;6714:269;6663:320;;;:::o;6989:281::-;7072:27;7094:4;7072:27;:::i;:::-;7064:6;7060:40;7202:6;7190:10;7187:22;7166:18;7154:10;7151:34;7148:62;7145:88;;;7213:18;;:::i;:::-;7145:88;7253:10;7249:2;7242:22;7032:238;6989:281;;:::o;7276:180::-;7324:77;7321:1;7314:88;7421:4;7418:1;7411:15;7445:4;7442:1;7435:15;7462:180;7510:77;7507:1;7500:88;7607:4;7604:1;7597:15;7631:4;7628:1;7621:15;7648:180;7696:77;7693:1;7686:88;7793:4;7790:1;7783:15;7817:4;7814:1;7807:15;7834:117;7943:1;7940;7933:12;7957:117;8066:1;8063;8056:12;8080:117;8189:1;8186;8179:12;8203:117;8312:1;8309;8302:12;8326:117;8435:1;8432;8425:12;8449:117;8558:1;8555;8548:12;8572:102;8613:6;8664:2;8660:7;8655:2;8648:5;8644:14;8640:28;8630:38;;8572:102;;;:::o;8680:122::-;8753:24;8771:5;8753:24;:::i;:::-;8746:5;8743:35;8733:63;;8792:1;8789;8782:12;8733:63;8680:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "452200",
"executionCost": "486",
"totalCost": "452686"
},
"external": {
"add(uint256)": "infinite",
"addPerson(string,uint256)": "infinite",
"nameToFavoriteNumberMapping(string)": "infinite",
"people(uint256)": "infinite",
"retrive()": "2525",
"store(uint256)": "22542"
}
},
"legacyAssembly": {
".code": [
{
"begin": 58,
"end": 932,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 58,
"end": 932,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 58,
"end": 932,
"name": "MSTORE",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "ISZERO",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 58,
"end": 932,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 932,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "REVERT",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 58,
"end": 932,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "POP",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 58,
"end": 932,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 58,
"end": 932,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 932,
"name": "CODECOPY",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 932,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a26469706673582212206c065c28884e69fb1d430714465a410b73b0a58ad3cfc21d931be327425e2f9164736f6c63430008070033",
".code": [
{
"begin": 58,
"end": 932,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 58,
"end": 932,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 58,
"end": 932,
"name": "MSTORE",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "ISZERO",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 58,
"end": 932,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 932,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "REVERT",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 58,
"end": 932,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "POP",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 58,
"end": 932,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "LT",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 58,
"end": 932,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 932,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 58,
"end": 932,
"name": "SHR",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "PUSH",
"source": 0,
"value": "1003E2D2"
},
{
"begin": 58,
"end": 932,
"name": "EQ",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 58,
"end": 932,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "PUSH",
"source": 0,
"value": "5C40826C"
},
{
"begin": 58,
"end": 932,
"name": "EQ",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 58,
"end": 932,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "PUSH",
"source": 0,
"value": "6057361D"
},
{
"begin": 58,
"end": 932,
"name": "EQ",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 58,
"end": 932,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "PUSH",
"source": 0,
"value": "6F760F41"
},
{
"begin": 58,
"end": 932,
"name": "EQ",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 58,
"end": 932,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "PUSH",
"source": 0,
"value": "9E7A13AD"
},
{
"begin": 58,
"end": 932,
"name": "EQ",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 58,
"end": 932,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "PUSH",
"source": 0,
"value": "A6B7FC5B"
},
{
"begin": 58,
"end": 932,
"name": "EQ",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 58,
"end": 932,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 58,
"end": 932,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 932,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 932,
"name": "REVERT",
"source": 0
},
{
"begin": 550,
"end": 643,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 550,
"end": 643,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 550,
"end": 643,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 550,
"end": 643,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 550,
"end": 643,
"name": "DUP1",
"source": 0
},
{
"begin": 550,
"end": 643,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 550,
"end": 643,
"name": "SUB",
"source": 0
},
{
"begin": 550,
"end": 643,
"name": "DUP2",
"source": 0
},
{
"begin": 550,
"end": 643,
"name": "ADD",
"source": 0
},
{
"begin": 550,
"end": 643,
"name": "SWAP1",
"source": 0
},
{
"begin": 550,
"end": 643,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 550,
"end": 643,
"name": "SWAP2",
"source": 0
},
{
"begin": 550,
"end": 643,
"name": "SWAP1",
"source": 0
},
{
"begin": 550,
"end": 643,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 550,
"end": 643,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 550,
"end": 643,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 550,
"end": 643,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 550,
"end": 643,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 550,
"end": 643,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 550,
"end": 643,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 550,
"end": 643,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 550,
"end": 643,
"name": "STOP",
"source": 0
},
{
"begin": 151,
"end": 213,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 151,
"end": 213,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 151,
"end": 213,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 151,
"end": 213,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 151,
"end": 213,
"name": "DUP1",
"source": 0
},
{
"begin": 151,
"end": 213,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 151,
"end": 213,
"name": "SUB",
"source": 0
},
{
"begin": 151,
"end": 213,
"name": "DUP2",
"source": 0
},
{
"begin": 151,
"end": 213,
"name": "ADD",
"source": 0
},
{
"begin": 151,
"end": 213,
"name": "SWAP1",
"source": 0
},
{
"begin": 151,
"end": 213,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 151,
"end": 213,
"name": "SWAP2",
"source": 0
},
{
"begin": 151,
"end": 213,
"name": "SWAP1",
"source": 0
},
{
"begin": 151,
"end": 213,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 151,
"end": 213,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 151,
"end": 213,
"name": "tag",
"source": 0,
"value": "14"
},
{
"begin": 151,
"end": 213,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 151,
"end": 213,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 151,
"end": 213,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 151,
"end": 213,
"name": "tag",
"source": 0,
"value": "13"
},
{
"begin": 151,
"end": 213,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 151,
"end": 213,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 151,
"end": 213,
"name": "MLOAD",
"source": 0
},
{
"begin": 151,
"end": 213,
"name": "PUSH [tag]",
"source": 0,
"value": "17"
},
{
"begin": 151,
"end": 213,
"name": "SWAP2",
"source": 0
},
{
"begin": 151,
"end": 213,
"name": "SWAP1",
"source": 0
},
{
"begin": 151,
"end": 213,
"name": "PUSH [tag]",
"source": 0,
"value": "18"
},
{
"begin": 151,
"end": 213,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 151,
"end": 213,
"name": "tag",
"source": 0,
"value": "17"
},
{
"begin": 151,
"end": 213,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 151,
"end": 213,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 151,
"end": 213,
"name": "MLOAD",
"source": 0
},
{
"begin": 151,
"end": 213,
"name": "DUP1",
"source": 0
},
{
"begin": 151,
"end": 213,
"name": "SWAP2",
"source": 0
},
{
"begin": 151,
"end": 213,
"name": "SUB",
"source": 0
},
{
"begin": 151,
"end": 213,
"name": "SWAP1",
"source": 0
},
{
"begin": 151,
"end": 213,
"name": "RETURN",
"source": 0
},
{
"begin": 220,
"end": 321,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 220,
"end": 321,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 220,
"end": 321,
"name": "PUSH [tag]",
"source": 0,
"value": "19"
},
{
"begin": 220,
"end": 321,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 220,
"end": 321,
"name": "DUP1",
"source": 0
},
{
"begin": 220,
"end": 321,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 220,
"end": 321,
"name": "SUB",
"source": 0
},
{
"begin": 220,
"end": 321,
"name": "DUP2",
"source": 0
},
{
"begin": 220,
"end": 321,
"name": "ADD",
"source": 0
},
{
"begin": 220,
"end": 321,
"name": "SWAP1",
"source": 0
},
{
"begin": 220,
"end": 321,
"name": "PUSH [tag]",
"source": 0,
"value": "20"
},
{
"begin": 220,
"end": 321,
"name": "SWAP2",
"source": 0
},
{
"begin": 220,
"end": 321,
"name": "SWAP1",
"source": 0
},
{
"begin": 220,
"end": 321,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 220,
"end": 321,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 220,
"end": 321,
"name": "tag",
"source": 0,
"value": "20"
},
{
"begin": 220,
"end": 321,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 220,
"end": 321,
"name": "PUSH [tag]",
"source": 0,
"value": "21"
},
{
"begin": 220,
"end": 321,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 220,
"end": 321,
"name": "tag",
"source": 0,
"value": "19"
},
{
"begin": 220,
"end": 321,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 220,
"end": 321,
"name": "STOP",
"source": 0
},
{
"begin": 733,
"end": 929,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 733,
"end": 929,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 733,
"end": 929,
"name": "PUSH [tag]",
"source": 0,
"value": "22"
},
{
"begin": 733,
"end": 929,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 733,
"end": 929,
"name": "DUP1",
"source": 0
},
{
"begin": 733,
"end": 929,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 733,
"end": 929,
"name": "SUB",
"source": 0
},
{
"begin": 733,
"end": 929,
"name": "DUP2",
"source": 0
},
{
"begin": 733,
"end": 929,
"name": "ADD",
"source": 0
},
{
"begin": 733,
"end": 929,
"name": "SWAP1",
"source": 0
},
{
"begin": 733,
"end": 929,
"name": "PUSH [tag]",
"source": 0,
"value": "23"
},
{
"begin": 733,
"end": 929,
"name": "SWAP2",
"source": 0
},
{
"begin": 733,
"end": 929,
"name": "SWAP1",
"source": 0
},
{
"begin": 733,
"end": 929,
"name": "PUSH [tag]",
"source": 0,
"value": "24"
},
{
"begin": 733,
"end": 929,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 733,
"end": 929,
"name": "tag",
"source": 0,
"value": "23"
},
{
"begin": 733,
"end": 929,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 733,
"end": 929,
"name": "PUSH [tag]",
"source": 0,
"value": "25"
},
{
"begin": 733,
"end": 929,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 733,
"end": 929,
"name": "tag",
"source": 0,
"value": "22"
},
{
"begin": 733,
"end": 929,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 733,
"end": 929,
"name": "STOP",
"source": 0
},
{
"begin": 407,
"end": 429,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 407,
"end": 429,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 407,
"end": 429,
"name": "PUSH [tag]",
"source": 0,
"value": "26"
},
{
"begin": 407,
"end": 429,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 407,
"end": 429,
"name": "DUP1",
"source": 0
},
{
"begin": 407,
"end": 429,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 407,
"end": 429,
"name": "SUB",
"source": 0
},
{
"begin": 407,
"end": 429,
"name": "DUP2",
"source": 0
},
{
"begin": 407,
"end": 429,
"name": "ADD",
"source": 0
},
{
"begin": 407,
"end": 429,
"name": "SWAP1",
"source": 0
},
{
"begin": 407,
"end": 429,
"name": "PUSH [tag]",
"source": 0,
"value": "27"
},
{
"begin": 407,
"end": 429,
"name": "SWAP2",
"source": 0
},
{
"begin": 407,
"end": 429,
"name": "SWAP1",
"source": 0
},
{
"begin": 407,
"end": 429,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 407,
"end": 429,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 407,
"end": 429,
"name": "tag",
"source": 0,
"value": "27"
},
{
"begin": 407,
"end": 429,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 407,
"end": 429,
"name": "PUSH [tag]",
"source": 0,
"value": "28"
},
{
"begin": 407,
"end": 429,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 407,
"end": 429,
"name": "tag",
"source": 0,
"value": "26"
},
{
"begin": 407,
"end": 429,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 407,
"end": 429,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 407,
"end": 429,
"name": "MLOAD",
"source": 0
},
{
"begin": 407,
"end": 429,
"name": "PUSH [tag]",
"source": 0,
"value": "29"
},
{
"begin": 407,
"end": 429,
"name": "SWAP3",
"source": 0
},
{
"begin": 407,
"end": 429,
"name": "SWAP2",
"source": 0
},
{
"begin": 407,
"end": 429,
"name": "SWAP1",
"source": 0
},
{
"begin": 407,
"end": 429,
"name": "PUSH [tag]",
"source": 0,
"value": "30"
},
{
"begin": 407,
"end": 429,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 407,
"end": 429,
"name": "tag",
"source": 0,
"value": "29"
},
{
"begin": 407,
"end": 429,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 407,
"end": 429,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 407,
"end": 429,
"name": "MLOAD",
"source": 0
},
{
"begin": 407,
"end": 429,
"name": "DUP1",
"source": 0
},
{
"begin": 407,
"end": 429,
"name": "SWAP2",
"source": 0
},
{
"begin": 407,
"end": 429,
"name": "SUB",
"source": 0
},
{
"begin": 407,
"end": 429,
"name": "SWAP1",
"source": 0
},
{
"begin": 407,
"end": 429,
"name": "RETURN",
"source": 0
},
{
"begin": 454,
"end": 544,
"name": "tag",
"source": 0,
"value": "8"
},
{
"begin": 454,
"end": 544,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 454,
"end": 544,
"name": "PUSH [tag]",
"source": 0,
"value": "31"
},
{
"begin": 454,
"end": 544,
"name": "PUSH [tag]",
"source": 0,
"value": "32"
},
{
"begin": 454,
"end": 544,
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