Skip to content

Instantly share code, notes, and snippets.

@TheJojoJoseph
Created April 27, 2022 12:35
Show Gist options
  • Save TheJojoJoseph/b0219892ee662e405aa753e7c6d075c4 to your computer and use it in GitHub Desktop.
Save TheJojoJoseph/b0219892ee662e405aa753e7c6d075c4 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.4.26+commit.4563c3fc.js&optimize=false&runs=200&gist=
REMIX DEFAULT WORKSPACE
Remix default workspace is present when:
i. Remix loads for the very first time
ii. A new workspace is created
iii. There are no files existing in the File Explorer
This workspace contains 3 directories:
1. 'contracts': Holds three contracts with different complexity level, denoted with number prefix in file name.
2. 'scripts': Holds two scripts to deploy a contract. It is explained below.
3. 'tests': Contains one Solidity test file for 'Ballot' contract & one JS test file for 'Storage' contract
SCRIPTS
The 'scripts' folder contains two example async/await scripts for deploying the 'Storage' contract.
For the deployment of any other contract, 'contractName' and 'constructorArgs' should be updated (along with other code if required).
Also, there is a script containing some unit tests for Storage contract inside tests directory.
To run a script, right click on file name in the file explorer and click 'Run'. Remember, Solidity file must already be compiled.
Output from script will appear in remix terminal.
Please note, 'require' statement is supported in a limited manner for Remix supported modules.
For now, modules supported by Remix are ethers, web3, swarmgw, chai, remix and hardhat only for hardhat.ethers object/plugin.
For unsupported modules, an error like this will be thrown: '<module_name> module require is not supported by Remix IDE will be shown.'
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
/**
* @title Storage
* @dev Store & retrieve value in a variable
* @custom:dev-run-script ./scripts/deploy_with_ethers.ts
*/
contract Storage {
uint256 number;
/**
* @dev Store value in variable
* @param num value to store
*/
function store(uint256 num) public {
number = num;
}
/**
* @dev Return value
* @return value of 'number'
*/
function retrieve() public view returns (uint256){
return number;
}
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
import "hardhat/console.sol";
/**
* @title Owner
* @dev Set & change owner
*/
contract Owner {
address private owner;
// event for EVM logging
event OwnerSet(address indexed oldOwner, address indexed newOwner);
// modifier to check if caller is owner
modifier isOwner() {
// If the first argument of 'require' evaluates to 'false', execution terminates and all
// changes to the state and to Ether balances are reverted.
// This used to consume all gas in old EVM versions, but not anymore.
// It is often a good idea to use 'require' to check if functions are called correctly.
// As a second argument, you can also provide an explanation about what went wrong.
require(msg.sender == owner, "Caller is not owner");
_;
}
/**
* @dev Set contract deployer as owner
*/
constructor() {
console.log("Owner contract deployed by:", msg.sender);
owner = msg.sender; // 'msg.sender' is sender of current call, contract deployer for a constructor
emit OwnerSet(address(0), owner);
}
/**
* @dev Change owner
* @param newOwner address of new owner
*/
function changeOwner(address newOwner) public isOwner {
emit OwnerSet(owner, newOwner);
owner = newOwner;
}
/**
* @dev Return owner address
* @return address of owner
*/
function getOwner() external view returns (address) {
return owner;
}
}
pragma solidity ^0.4.17;
contract Inbox{
string public message;
function Inbox(string initialMessage)public {
message = initialMessage;
}
function setMessage(string initialMessage)public {
message = initialMessage;
}
function getMessage() public view returns (string) {
return message;
}
function doMath(int a, int b) {
a+b;
a-b;
a == 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
},
"görli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_71": {
"entryPoint": null,
"id": 71,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_available_length_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory": {
"entryPoint": 667,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory": {
"entryPoint": 783,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bytes32_fromMemory": {
"entryPoint": 644,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory": {
"entryPoint": 834,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 525,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 382,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_array$_t_bytes32_$dyn_memory_ptr": {
"entryPoint": 556,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bytes32": {
"entryPoint": 608,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 1009,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 471,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"increment_t_uint256": {
"entryPoint": 1019,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 962,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x32": {
"entryPoint": 915,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 424,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 402,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": {
"entryPoint": 603,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 397,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 392,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 407,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_bytes32": {
"entryPoint": 618,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:4387:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "423:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "440:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "443:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "433:6:1"
},
"nodeType": "YulFunctionCall",
"src": "433:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "433:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "334:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "505:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "515:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "533:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "540:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "529:3:1"
},
"nodeType": "YulFunctionCall",
"src": "529:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "549:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "545:3:1"
},
"nodeType": "YulFunctionCall",
"src": "545:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "525:3:1"
},
"nodeType": "YulFunctionCall",
"src": "525:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "515:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "488:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "498:6:1",
"type": ""
}
],
"src": "457:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "593:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "610:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "613:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "603:6:1"
},
"nodeType": "YulFunctionCall",
"src": "603:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "603:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "707:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "710:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "700:6:1"
},
"nodeType": "YulFunctionCall",
"src": "700:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "700:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "731:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "734:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "724:6:1"
},
"nodeType": "YulFunctionCall",
"src": "724:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "724:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "565:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "794:238:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "804:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "826:6:1"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "856:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "834:21:1"
},
"nodeType": "YulFunctionCall",
"src": "834:27:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "822:3:1"
},
"nodeType": "YulFunctionCall",
"src": "822:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "808:10:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "973:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "975:16:1"
},
"nodeType": "YulFunctionCall",
"src": "975:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "975:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "916:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "928:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "913:2:1"
},
"nodeType": "YulFunctionCall",
"src": "913:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "952:10:1"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "964:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "949:2:1"
},
"nodeType": "YulFunctionCall",
"src": "949:22:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "910:2:1"
},
"nodeType": "YulFunctionCall",
"src": "910:62:1"
},
"nodeType": "YulIf",
"src": "907:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1011:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "1015:10:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1004:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1004:22:1"
},
"nodeType": "YulExpressionStatement",
"src": "1004:22:1"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "780:6:1",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "788:4:1",
"type": ""
}
],
"src": "751:281:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1079:88:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1089:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "1099:18:1"
},
"nodeType": "YulFunctionCall",
"src": "1099:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1089:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1148:6:1"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "1156:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "1128:19:1"
},
"nodeType": "YulFunctionCall",
"src": "1128:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "1128:33:1"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "1063:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1072:6:1",
"type": ""
}
],
"src": "1038:129:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1255:229:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1360:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "1362:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1362:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1362:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1332:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1340:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1329:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1329:30:1"
},
"nodeType": "YulIf",
"src": "1326:56:1"
},
{
"nodeType": "YulAssignment",
"src": "1392:25:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1404:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1412:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "1400:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1400:17:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "1392:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1454:23:1",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "1466:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1472:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1462:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1462:15:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "1454:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_array$_t_bytes32_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1239:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "1250:4:1",
"type": ""
}
],
"src": "1173:311:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1579:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1596:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1599:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1589:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1589:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1589:12:1"
}
]
},
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulFunctionDefinition",
"src": "1490:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1658:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1668:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1679:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1668:7:1"
}
]
}
]
},
"name": "cleanup_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1640:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1650:7:1",
"type": ""
}
],
"src": "1613:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1739:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1796:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1805:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1808:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1798:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1798:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1798:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1762:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1787:5:1"
}
],
"functionName": {
"name": "cleanup_t_bytes32",
"nodeType": "YulIdentifier",
"src": "1769:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1769:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1759:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1759:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1752:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1752:43:1"
},
"nodeType": "YulIf",
"src": "1749:63:1"
}
]
},
"name": "validator_revert_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1732:5:1",
"type": ""
}
],
"src": "1696:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1887:80:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1897:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1912:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1906:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1906:13:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1897:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1955:5:1"
}
],
"functionName": {
"name": "validator_revert_t_bytes32",
"nodeType": "YulIdentifier",
"src": "1928:26:1"
},
"nodeType": "YulFunctionCall",
"src": "1928:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "1928:33:1"
}
]
},
"name": "abi_decode_t_bytes32_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1865:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1873:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1881:5:1",
"type": ""
}
],
"src": "1824:143:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2103:619:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2113:90:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2195:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_array$_t_bytes32_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2138:56:1"
},
"nodeType": "YulFunctionCall",
"src": "2138:64:1"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "2122:15:1"
},
"nodeType": "YulFunctionCall",
"src": "2122:81:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "2113:5:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2212:16:1",
"value": {
"name": "array",
"nodeType": "YulIdentifier",
"src": "2223:5:1"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "2216:3:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "2245:5:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2252:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2238:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2238:21:1"
},
"nodeType": "YulExpressionStatement",
"src": "2238:21:1"
},
{
"nodeType": "YulAssignment",
"src": "2268:23:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "2279:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2286:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2275:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2275:16:1"
},
"variableNames": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2268:3:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2301:44:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2319:6:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2331:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2339:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "2327:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2327:17:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2315:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2315:30:1"
},
"variables": [
{
"name": "srcEnd",
"nodeType": "YulTypedName",
"src": "2305:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2373:103:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulIdentifier",
"src": "2387:77:1"
},
"nodeType": "YulFunctionCall",
"src": "2387:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "2387:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "srcEnd",
"nodeType": "YulIdentifier",
"src": "2360:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2368:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2357:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2357:15:1"
},
"nodeType": "YulIf",
"src": "2354:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2561:155:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2576:21:1",
"value": {
"name": "src",
"nodeType": "YulIdentifier",
"src": "2594:3:1"
},
"variables": [
{
"name": "elementPos",
"nodeType": "YulTypedName",
"src": "2580:10:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2618:3:1"
},
{
"arguments": [
{
"name": "elementPos",
"nodeType": "YulIdentifier",
"src": "2655:10:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2667:3:1"
}
],
"functionName": {
"name": "abi_decode_t_bytes32_fromMemory",
"nodeType": "YulIdentifier",
"src": "2623:31:1"
},
"nodeType": "YulFunctionCall",
"src": "2623:48:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2611:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2611:61:1"
},
"nodeType": "YulExpressionStatement",
"src": "2611:61:1"
},
{
"nodeType": "YulAssignment",
"src": "2685:21:1",
"value": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2696:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2701:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2692:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2692:14:1"
},
"variableNames": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2685:3:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "2514:3:1"
},
{
"name": "srcEnd",
"nodeType": "YulIdentifier",
"src": "2519:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2511:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2511:15:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "2527:25:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2529:21:1",
"value": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "2540:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2545:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2536:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2536:14:1"
},
"variableNames": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "2529:3:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "2489:21:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2491:17:1",
"value": {
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2502:6:1"
},
"variables": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "2495:3:1",
"type": ""
}
]
}
]
},
"src": "2485:231:1"
}
]
},
"name": "abi_decode_available_length_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2073:6:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2081:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2089:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "2097:5:1",
"type": ""
}
],
"src": "1990:732:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2833:297:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2882:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "2884:77:1"
},
"nodeType": "YulFunctionCall",
"src": "2884:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "2884:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2861:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2869:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2857:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2857:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2876:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "2853:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2853:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2846:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2846:35:1"
},
"nodeType": "YulIf",
"src": "2843:122:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "2974:27:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2994:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2988:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2988:13:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2978:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3010:114:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3097:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3105:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3093:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3093:17:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3112:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3120:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory",
"nodeType": "YulIdentifier",
"src": "3019:73:1"
},
"nodeType": "YulFunctionCall",
"src": "3019:105:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "3010:5:1"
}
]
}
]
},
"name": "abi_decode_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2811:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2819:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "2827:5:1",
"type": ""
}
],
"src": "2745:385:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3238:452:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3284:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "3286:77:1"
},
"nodeType": "YulFunctionCall",
"src": "3286:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "3286:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3259:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3268:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3255:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3255:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3280:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "3251:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3251:32:1"
},
"nodeType": "YulIf",
"src": "3248:119:1"
},
{
"nodeType": "YulBlock",
"src": "3377:306:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3392:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3416:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3427:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3412:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3412:17:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "3406:5:1"
},
"nodeType": "YulFunctionCall",
"src": "3406:24:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3396:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3477:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "3479:77:1"
},
"nodeType": "YulFunctionCall",
"src": "3479:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "3479:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3449:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3457:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "3446:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3446:30:1"
},
"nodeType": "YulIf",
"src": "3443:117:1"
},
{
"nodeType": "YulAssignment",
"src": "3574:99:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3645:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3656:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3641:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3641:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3665:7:1"
}
],
"functionName": {
"name": "abi_decode_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory",
"nodeType": "YulIdentifier",
"src": "3584:56:1"
},
"nodeType": "YulFunctionCall",
"src": "3584:89:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3574:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3208:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "3219:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3231:6:1",
"type": ""
}
],
"src": "3136:554:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3724:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3741:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3744:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3734:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3734:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "3734:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3838:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3841:4:1",
"type": "",
"value": "0x32"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3831:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3831:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3831:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3862:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3865:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3855:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3855:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3855:15:1"
}
]
},
"name": "panic_error_0x32",
"nodeType": "YulFunctionDefinition",
"src": "3696:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3910:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3927:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3930:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3920:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3920:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "3920:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4024:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4027:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4017:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4017:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "4017:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4048:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4051:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4041:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4041:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "4041:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "3882:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4113:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4123:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "4134:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "4123:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4095:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "4105:7:1",
"type": ""
}
],
"src": "4068:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4194:190:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4204:33:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4231:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4213:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4213:24:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4204:5:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4327:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "4329:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4329:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4329:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4252:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4259:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "4249:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4249:77:1"
},
"nodeType": "YulIf",
"src": "4246:103:1"
},
{
"nodeType": "YulAssignment",
"src": "4358:20:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4369:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4376:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4365:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4365:13:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "4358:3:1"
}
]
}
]
},
"name": "increment_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4180:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "4190:3:1",
"type": ""
}
],
"src": "4151:233:1"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_array$_t_bytes32_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes32(value)\n }\n\n // bytes32[]\n function abi_decode_available_length_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_bytes32_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_bytes32_fromMemory(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // bytes32[]\n function abi_decode_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "60806040523480156200001157600080fd5b506040516200146038038062001460833981810160405281019062000037919062000342565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555060005b81518110156200017657600260405180604001604052808484815181106200010f576200010e62000393565b5b60200260200101518152602001600081525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010155505080806200016d90620003fb565b915050620000e2565b505062000448565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620001e28262000197565b810181811067ffffffffffffffff82111715620002045762000203620001a8565b5b80604052505050565b6000620002196200017e565b9050620002278282620001d7565b919050565b600067ffffffffffffffff8211156200024a5762000249620001a8565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b620002758162000260565b81146200028157600080fd5b50565b60008151905062000295816200026a565b92915050565b6000620002b2620002ac846200022c565b6200020d565b90508083825260208201905060208402830185811115620002d857620002d76200025b565b5b835b81811015620003055780620002f0888262000284565b845260208401935050602081019050620002da565b5050509392505050565b600082601f83011262000327576200032662000192565b5b8151620003398482602086016200029b565b91505092915050565b6000602082840312156200035b576200035a62000188565b5b600082015167ffffffffffffffff8111156200037c576200037b6200018d565b5b6200038a848285016200030f565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b60006200040882620003f1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036200043d576200043c620003c2565b5b600182019050919050565b61100880620004586000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063609ff1bd1161005b578063609ff1bd146101145780639e7b8d6114610132578063a3ec138d1461014e578063e2ba53f01461018157610088565b80630121b93f1461008d578063013cf08b146100a95780632e4176cf146100da5780635c19a95c146100f8575b600080fd5b6100a760048036038101906100a291906109e2565b61019f565b005b6100c360048036038101906100be91906109e2565b6102e5565b6040516100d1929190610a37565b60405180910390f35b6100e2610319565b6040516100ef9190610aa1565b60405180910390f35b610112600480360381019061010d9190610ae8565b61033d565b005b61011c6106d7565b6040516101299190610b15565b60405180910390f35b61014c60048036038101906101479190610ae8565b61075f565b005b61016860048036038101906101639190610ae8565b610916565b6040516101789493929190610b4b565b60405180910390f35b610189610973565b6040516101969190610b90565b60405180910390f35b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816000015403610229576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161022090610c08565b60405180910390fd5b8060010160009054906101000a900460ff161561027b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027290610c74565b60405180910390fd5b60018160010160006101000a81548160ff0219169083151502179055508181600201819055508060000154600283815481106102ba576102b9610c94565b5b906000526020600020906002020160010160008282546102da9190610cf2565b925050819055505050565b600281815481106102f557600080fd5b90600052602060002090600202016000915090508060000154908060010154905082565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a900460ff16156103d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c990610d94565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610440576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043790610e00565b60405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105af57600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691503373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036105aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a190610e6c565b60405180910390fd5b610441565b60018160010160006101000a81548160ff021916908315150217905550818160010160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a900460ff16156106b2578160000154600282600201548154811061068657610685610c94565b5b906000526020600020906002020160010160008282546106a69190610cf2565b925050819055506106d2565b81600001548160000160008282546106ca9190610cf2565b925050819055505b505050565b6000806000905060005b60028054905081101561075a57816002828154811061070357610702610c94565b5b9060005260206000209060020201600101541115610747576002818154811061072f5761072e610c94565b5b90600052602060002090600202016001015491508092505b808061075290610e8c565b9150506106e1565b505090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e490610f46565b60405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff161561087d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087490610fb2565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154146108cc57600080fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16908060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905084565b6000600261097f6106d7565b815481106109905761098f610c94565b5b906000526020600020906002020160000154905090565b600080fd5b6000819050919050565b6109bf816109ac565b81146109ca57600080fd5b50565b6000813590506109dc816109b6565b92915050565b6000602082840312156109f8576109f76109a7565b5b6000610a06848285016109cd565b91505092915050565b6000819050919050565b610a2281610a0f565b82525050565b610a31816109ac565b82525050565b6000604082019050610a4c6000830185610a19565b610a596020830184610a28565b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610a8b82610a60565b9050919050565b610a9b81610a80565b82525050565b6000602082019050610ab66000830184610a92565b92915050565b610ac581610a80565b8114610ad057600080fd5b50565b600081359050610ae281610abc565b92915050565b600060208284031215610afe57610afd6109a7565b5b6000610b0c84828501610ad3565b91505092915050565b6000602082019050610b2a6000830184610a28565b92915050565b60008115159050919050565b610b4581610b30565b82525050565b6000608082019050610b606000830187610a28565b610b6d6020830186610b3c565b610b7a6040830185610a92565b610b876060830184610a28565b95945050505050565b6000602082019050610ba56000830184610a19565b92915050565b600082825260208201905092915050565b7f486173206e6f20726967687420746f20766f7465000000000000000000000000600082015250565b6000610bf2601483610bab565b9150610bfd82610bbc565b602082019050919050565b60006020820190508181036000830152610c2181610be5565b9050919050565b7f416c726561647920766f7465642e000000000000000000000000000000000000600082015250565b6000610c5e600e83610bab565b9150610c6982610c28565b602082019050919050565b60006020820190508181036000830152610c8d81610c51565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610cfd826109ac565b9150610d08836109ac565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610d3d57610d3c610cc3565b5b828201905092915050565b7f596f7520616c726561647920766f7465642e0000000000000000000000000000600082015250565b6000610d7e601283610bab565b9150610d8982610d48565b602082019050919050565b60006020820190508181036000830152610dad81610d71565b9050919050565b7f53656c662d64656c65676174696f6e20697320646973616c6c6f7765642e0000600082015250565b6000610dea601e83610bab565b9150610df582610db4565b602082019050919050565b60006020820190508181036000830152610e1981610ddd565b9050919050565b7f466f756e64206c6f6f7020696e2064656c65676174696f6e2e00000000000000600082015250565b6000610e56601983610bab565b9150610e6182610e20565b602082019050919050565b60006020820190508181036000830152610e8581610e49565b9050919050565b6000610e97826109ac565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610ec957610ec8610cc3565b5b600182019050919050565b7f4f6e6c79206368616972706572736f6e2063616e20676976652072696768742060008201527f746f20766f74652e000000000000000000000000000000000000000000000000602082015250565b6000610f30602883610bab565b9150610f3b82610ed4565b604082019050919050565b60006020820190508181036000830152610f5f81610f23565b9050919050565b7f54686520766f74657220616c726561647920766f7465642e0000000000000000600082015250565b6000610f9c601883610bab565b9150610fa782610f66565b602082019050919050565b60006020820190508181036000830152610fcb81610f8f565b905091905056fea264697066735822122039eb1aed10c802704f8313eef4e42180fe1339e78ec932c9c2c30125f013e80064736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1460 CODESIZE SUB DUP1 PUSH3 0x1460 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x342 JUMP JUMPDEST CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x1 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD DUP2 SWAP1 SSTORE POP PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH3 0x176 JUMPI PUSH1 0x2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH3 0x10F JUMPI PUSH3 0x10E PUSH3 0x393 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 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 SSTORE POP POP DUP1 DUP1 PUSH3 0x16D SWAP1 PUSH3 0x3FB JUMP JUMPDEST SWAP2 POP POP PUSH3 0xE2 JUMP JUMPDEST POP POP PUSH3 0x448 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP 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 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x1E2 DUP3 PUSH3 0x197 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x204 JUMPI PUSH3 0x203 PUSH3 0x1A8 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x219 PUSH3 0x17E JUMP JUMPDEST SWAP1 POP PUSH3 0x227 DUP3 DUP3 PUSH3 0x1D7 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x24A JUMPI PUSH3 0x249 PUSH3 0x1A8 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x275 DUP2 PUSH3 0x260 JUMP JUMPDEST DUP2 EQ PUSH3 0x281 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x295 DUP2 PUSH3 0x26A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2B2 PUSH3 0x2AC DUP5 PUSH3 0x22C JUMP JUMPDEST PUSH3 0x20D JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH3 0x2D8 JUMPI PUSH3 0x2D7 PUSH3 0x25B JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x305 JUMPI DUP1 PUSH3 0x2F0 DUP9 DUP3 PUSH3 0x284 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x2DA JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x327 JUMPI PUSH3 0x326 PUSH3 0x192 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x339 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x29B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0x35B JUMPI PUSH3 0x35A PUSH3 0x188 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x37C JUMPI PUSH3 0x37B PUSH3 0x18D JUMP JUMPDEST JUMPDEST PUSH3 0x38A DUP5 DUP3 DUP6 ADD PUSH3 0x30F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x408 DUP3 PUSH3 0x3F1 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH3 0x43D JUMPI PUSH3 0x43C PUSH3 0x3C2 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1008 DUP1 PUSH3 0x458 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 0x88 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x609FF1BD GT PUSH2 0x5B JUMPI DUP1 PUSH4 0x609FF1BD EQ PUSH2 0x114 JUMPI DUP1 PUSH4 0x9E7B8D61 EQ PUSH2 0x132 JUMPI DUP1 PUSH4 0xA3EC138D EQ PUSH2 0x14E JUMPI DUP1 PUSH4 0xE2BA53F0 EQ PUSH2 0x181 JUMPI PUSH2 0x88 JUMP JUMPDEST DUP1 PUSH4 0x121B93F EQ PUSH2 0x8D JUMPI DUP1 PUSH4 0x13CF08B EQ PUSH2 0xA9 JUMPI DUP1 PUSH4 0x2E4176CF EQ PUSH2 0xDA JUMPI DUP1 PUSH4 0x5C19A95C EQ PUSH2 0xF8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA2 SWAP2 SWAP1 PUSH2 0x9E2 JUMP JUMPDEST PUSH2 0x19F JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xBE SWAP2 SWAP1 PUSH2 0x9E2 JUMP JUMPDEST PUSH2 0x2E5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD1 SWAP3 SWAP2 SWAP1 PUSH2 0xA37 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE2 PUSH2 0x319 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xEF SWAP2 SWAP1 PUSH2 0xAA1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x112 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x10D SWAP2 SWAP1 PUSH2 0xAE8 JUMP JUMPDEST PUSH2 0x33D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x11C PUSH2 0x6D7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x129 SWAP2 SWAP1 PUSH2 0xB15 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x14C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x147 SWAP2 SWAP1 PUSH2 0xAE8 JUMP JUMPDEST PUSH2 0x75F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x168 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x163 SWAP2 SWAP1 PUSH2 0xAE8 JUMP JUMPDEST PUSH2 0x916 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x178 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xB4B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x189 PUSH2 0x973 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x196 SWAP2 SWAP1 PUSH2 0xB90 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x0 ADD SLOAD SUB PUSH2 0x229 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x220 SWAP1 PUSH2 0xC08 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x27B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x272 SWAP1 PUSH2 0xC74 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP2 DUP2 PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x0 ADD SLOAD PUSH1 0x2 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x2BA JUMPI PUSH2 0x2B9 PUSH2 0xC94 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x2DA SWAP2 SWAP1 PUSH2 0xCF2 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x2F5 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 SLOAD SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x3D2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3C9 SWAP1 PUSH2 0xD94 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x440 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x437 SWAP1 PUSH2 0xE00 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x5AF JUMPI PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP2 POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x5AA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5A1 SWAP1 PUSH2 0xE6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x441 JUMP JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP2 DUP2 PUSH1 0x1 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x6B2 JUMPI DUP2 PUSH1 0x0 ADD SLOAD PUSH1 0x2 DUP3 PUSH1 0x2 ADD SLOAD DUP2 SLOAD DUP2 LT PUSH2 0x686 JUMPI PUSH2 0x685 PUSH2 0xC94 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x6A6 SWAP2 SWAP1 PUSH2 0xCF2 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0x6D2 JUMP JUMPDEST DUP2 PUSH1 0x0 ADD SLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x6CA SWAP2 SWAP1 PUSH2 0xCF2 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 POP PUSH1 0x0 JUMPDEST PUSH1 0x2 DUP1 SLOAD SWAP1 POP DUP2 LT ISZERO PUSH2 0x75A JUMPI DUP2 PUSH1 0x2 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x703 JUMPI PUSH2 0x702 PUSH2 0xC94 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD SLOAD GT ISZERO PUSH2 0x747 JUMPI PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x72F JUMPI PUSH2 0x72E PUSH2 0xC94 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD SLOAD SWAP2 POP DUP1 SWAP3 POP JUMPDEST DUP1 DUP1 PUSH2 0x752 SWAP1 PUSH2 0xE8C JUMP JUMPDEST SWAP2 POP POP PUSH2 0x6E1 JUMP JUMPDEST POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x7ED JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7E4 SWAP1 PUSH2 0xF46 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x87D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x874 SWAP1 PUSH2 0xFB2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD SLOAD EQ PUSH2 0x8CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH2 0x97F PUSH2 0x6D7 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x990 JUMPI PUSH2 0x98F PUSH2 0xC94 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9BF DUP2 PUSH2 0x9AC JUMP JUMPDEST DUP2 EQ PUSH2 0x9CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x9DC DUP2 PUSH2 0x9B6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x9F8 JUMPI PUSH2 0x9F7 PUSH2 0x9A7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xA06 DUP5 DUP3 DUP6 ADD PUSH2 0x9CD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA22 DUP2 PUSH2 0xA0F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xA31 DUP2 PUSH2 0x9AC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xA4C PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xA19 JUMP JUMPDEST PUSH2 0xA59 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xA28 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA8B DUP3 PUSH2 0xA60 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA9B DUP2 PUSH2 0xA80 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xAB6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xA92 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xAC5 DUP2 PUSH2 0xA80 JUMP JUMPDEST DUP2 EQ PUSH2 0xAD0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xAE2 DUP2 PUSH2 0xABC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xAFE JUMPI PUSH2 0xAFD PUSH2 0x9A7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xB0C DUP5 DUP3 DUP6 ADD PUSH2 0xAD3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB2A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xA28 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB45 DUP2 PUSH2 0xB30 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0xB60 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0xA28 JUMP JUMPDEST PUSH2 0xB6D PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0xB3C JUMP JUMPDEST PUSH2 0xB7A PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0xA92 JUMP JUMPDEST PUSH2 0xB87 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0xA28 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBA5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xA19 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x486173206E6F20726967687420746F20766F7465000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBF2 PUSH1 0x14 DUP4 PUSH2 0xBAB JUMP JUMPDEST SWAP2 POP PUSH2 0xBFD DUP3 PUSH2 0xBBC JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xC21 DUP2 PUSH2 0xBE5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x416C726561647920766F7465642E000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC5E PUSH1 0xE DUP4 PUSH2 0xBAB JUMP JUMPDEST SWAP2 POP PUSH2 0xC69 DUP3 PUSH2 0xC28 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xC8D DUP2 PUSH2 0xC51 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xCFD DUP3 PUSH2 0x9AC JUMP JUMPDEST SWAP2 POP PUSH2 0xD08 DUP4 PUSH2 0x9AC JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0xD3D JUMPI PUSH2 0xD3C PUSH2 0xCC3 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x596F7520616C726561647920766F7465642E0000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD7E PUSH1 0x12 DUP4 PUSH2 0xBAB JUMP JUMPDEST SWAP2 POP PUSH2 0xD89 DUP3 PUSH2 0xD48 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xDAD DUP2 PUSH2 0xD71 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x53656C662D64656C65676174696F6E20697320646973616C6C6F7765642E0000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDEA PUSH1 0x1E DUP4 PUSH2 0xBAB JUMP JUMPDEST SWAP2 POP PUSH2 0xDF5 DUP3 PUSH2 0xDB4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE19 DUP2 PUSH2 0xDDD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x466F756E64206C6F6F7020696E2064656C65676174696F6E2E00000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE56 PUSH1 0x19 DUP4 PUSH2 0xBAB JUMP JUMPDEST SWAP2 POP PUSH2 0xE61 DUP3 PUSH2 0xE20 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE85 DUP2 PUSH2 0xE49 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE97 DUP3 PUSH2 0x9AC JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0xEC9 JUMPI PUSH2 0xEC8 PUSH2 0xCC3 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4F6E6C79206368616972706572736F6E2063616E206769766520726967687420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x746F20766F74652E000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF30 PUSH1 0x28 DUP4 PUSH2 0xBAB JUMP JUMPDEST SWAP2 POP PUSH2 0xF3B DUP3 PUSH2 0xED4 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xF5F DUP2 PUSH2 0xF23 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x54686520766F74657220616C726561647920766F7465642E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF9C PUSH1 0x18 DUP4 PUSH2 0xBAB JUMP JUMPDEST SWAP2 POP PUSH2 0xFA7 DUP3 PUSH2 0xF66 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xFCB DUP2 PUSH2 0xF8F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CODECOPY 0xEB BYTE 0xED LT 0xC8 MUL PUSH17 0x4F8313EEF4E42180FE1339E78EC932C9C2 0xC3 ADD 0x25 CREATE SGT 0xE8 STOP PUSH5 0x736F6C6343 STOP ADDMOD 0xD STOP CALLER ",
"sourceMap": "157:4362:0:-:0;;;958:481;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1026:10;1012:11;;:24;;;;;;;;;;;;;;;;;;1075:1;1046:6;:19;1053:11;;;;;;;;;;;1046:19;;;;;;;;;;;;;;;:26;;:30;;;;1092:6;1087:346;1108:13;:20;1104:1;:24;1087:346;;;1312:9;1327:94;;;;;;;;1360:13;1374:1;1360:16;;;;;;;;:::i;:::-;;;;;;;;1327:94;;;;1405:1;1327:94;;;1312:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1130:3;;;;;:::i;:::-;;;;1087:346;;;;958:481;157:4362;;7:75:1;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:77;1650:7;1679:5;1668:16;;1613:77;;;:::o;1696:122::-;1769:24;1787:5;1769:24;:::i;:::-;1762:5;1759:35;1749:63;;1808:1;1805;1798:12;1749:63;1696:122;:::o;1824:143::-;1881:5;1912:6;1906:13;1897:22;;1928:33;1955:5;1928:33;:::i;:::-;1824:143;;;;:::o;1990:732::-;2097:5;2122:81;2138:64;2195:6;2138:64;:::i;:::-;2122:81;:::i;:::-;2113:90;;2223:5;2252:6;2245:5;2238:21;2286:4;2279:5;2275:16;2268:23;;2339:4;2331:6;2327:17;2319:6;2315:30;2368:3;2360:6;2357:15;2354:122;;;2387:79;;:::i;:::-;2354:122;2502:6;2485:231;2519:6;2514:3;2511:15;2485:231;;;2594:3;2623:48;2667:3;2655:10;2623:48;:::i;:::-;2618:3;2611:61;2701:4;2696:3;2692:14;2685:21;;2561:155;2545:4;2540:3;2536:14;2529:21;;2485:231;;;2489:21;2103:619;;1990:732;;;;;:::o;2745:385::-;2827:5;2876:3;2869:4;2861:6;2857:17;2853:27;2843:122;;2884:79;;:::i;:::-;2843:122;2994:6;2988:13;3019:105;3120:3;3112:6;3105:4;3097:6;3093:17;3019:105;:::i;:::-;3010:114;;2833:297;2745:385;;;;:::o;3136:554::-;3231:6;3280:2;3268:9;3259:7;3255:23;3251:32;3248:119;;;3286:79;;:::i;:::-;3248:119;3427:1;3416:9;3412:17;3406:24;3457:18;3449:6;3446:30;3443:117;;;3479:79;;:::i;:::-;3443:117;3584:89;3665:7;3656:6;3645:9;3641:22;3584:89;:::i;:::-;3574:99;;3377:306;3136:554;;;;:::o;3696:180::-;3744:77;3741:1;3734:88;3841:4;3838:1;3831:15;3865:4;3862:1;3855:15;3882:180;3930:77;3927:1;3920:88;4027:4;4024:1;4017:15;4051:4;4048:1;4041:15;4068:77;4105:7;4134:5;4123:16;;4068:77;;;:::o;4151:233::-;4190:3;4213:24;4231:5;4213:24;:::i;:::-;4204:33;;4259:66;4252:5;4249:77;4246:103;;4329:18;;:::i;:::-;4246:103;4376:1;4369:5;4365:13;4358:20;;4151:233;;;:::o;157:4362:0:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@chairperson_18": {
"entryPoint": 793,
"id": 18,
"parameterSlots": 0,
"returnSlots": 0
},
"@delegate_207": {
"entryPoint": 829,
"id": 207,
"parameterSlots": 1,
"returnSlots": 0
},
"@giveRightToVote_111": {
"entryPoint": 1887,
"id": 111,
"parameterSlots": 1,
"returnSlots": 0
},
"@proposals_27": {
"entryPoint": 741,
"id": 27,
"parameterSlots": 0,
"returnSlots": 0
},
"@vote_257": {
"entryPoint": 415,
"id": 257,
"parameterSlots": 1,
"returnSlots": 0
},
"@voters_23": {
"entryPoint": 2326,
"id": 23,
"parameterSlots": 0,
"returnSlots": 0
},
"@winnerName_315": {
"entryPoint": 2419,
"id": 315,
"parameterSlots": 0,
"returnSlots": 1
},
"@winningProposal_300": {
"entryPoint": 1751,
"id": 300,
"parameterSlots": 0,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 2771,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 2509,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 2792,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 2530,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 2706,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 2876,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bytes32_to_t_bytes32_fromStack": {
"entryPoint": 2585,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_stringliteral_0dc527e8fa9b76c996eb5eda9ddb749b21540f5509781b94e1e37f7027e7f50e_to_t_string_memory_ptr_fromStack": {
"entryPoint": 3045,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_56aab92b7164a4ea72a098d2d95a5e763b71d07f265e8d46fc7240404017fa84_to_t_string_memory_ptr_fromStack": {
"entryPoint": 3153,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_657c6119c4ed567c60278fba62242b17c2fedf38962e651040dabfb3c9e15a5f_to_t_string_memory_ptr_fromStack": {
"entryPoint": 3441,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_80126ce3251ab2b6e4ade14fe5b2bc11f593510cbe9e3550c09bff1989e33b95_to_t_string_memory_ptr_fromStack": {
"entryPoint": 3875,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_8bd75322489f7ff7ab0b18506f4dcde935a32eca2a506b00f4d21b0becfa093c_to_t_string_memory_ptr_fromStack": {
"entryPoint": 3657,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_d39b1db28626750c546703ffb72f30ea3facdfed1bebd47408e22ef18a76ba2d_to_t_string_memory_ptr_fromStack": {
"entryPoint": 3983,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_f37bf1aca80f8fa291a40f639db6aeaa1425ceb0e8c61c8648f0e2efa282a947_to_t_string_memory_ptr_fromStack": {
"entryPoint": 3549,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 2600,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 2721,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": {
"entryPoint": 2960,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed": {
"entryPoint": 2615,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_0dc527e8fa9b76c996eb5eda9ddb749b21540f5509781b94e1e37f7027e7f50e__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 3080,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_56aab92b7164a4ea72a098d2d95a5e763b71d07f265e8d46fc7240404017fa84__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 3188,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_657c6119c4ed567c60278fba62242b17c2fedf38962e651040dabfb3c9e15a5f__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 3476,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_80126ce3251ab2b6e4ade14fe5b2bc11f593510cbe9e3550c09bff1989e33b95__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 3910,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_8bd75322489f7ff7ab0b18506f4dcde935a32eca2a506b00f4d21b0becfa093c__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 3692,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_d39b1db28626750c546703ffb72f30ea3facdfed1bebd47408e22ef18a76ba2d__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 4018,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_f37bf1aca80f8fa291a40f639db6aeaa1425ceb0e8c61c8648f0e2efa282a947__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 3584,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 2837,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256_t_bool_t_address_t_uint256__to_t_uint256_t_bool_t_address_t_uint256__fromStack_reversed": {
"entryPoint": 2891,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 2987,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 3314,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 2688,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 2864,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bytes32": {
"entryPoint": 2575,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 2656,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 2476,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"increment_t_uint256": {
"entryPoint": 3724,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 3267,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x32": {
"entryPoint": 3220,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 2471,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"store_literal_in_memory_0dc527e8fa9b76c996eb5eda9ddb749b21540f5509781b94e1e37f7027e7f50e": {
"entryPoint": 3004,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_56aab92b7164a4ea72a098d2d95a5e763b71d07f265e8d46fc7240404017fa84": {
"entryPoint": 3112,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_657c6119c4ed567c60278fba62242b17c2fedf38962e651040dabfb3c9e15a5f": {
"entryPoint": 3400,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_80126ce3251ab2b6e4ade14fe5b2bc11f593510cbe9e3550c09bff1989e33b95": {
"entryPoint": 3796,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_8bd75322489f7ff7ab0b18506f4dcde935a32eca2a506b00f4d21b0becfa093c": {
"entryPoint": 3616,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_d39b1db28626750c546703ffb72f30ea3facdfed1bebd47408e22ef18a76ba2d": {
"entryPoint": 3942,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_f37bf1aca80f8fa291a40f639db6aeaa1425ceb0e8c61c8648f0e2efa282a947": {
"entryPoint": 3508,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 2748,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 2486,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:12075:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "400:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "460:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "517:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "526:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "529:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "519:6:1"
},
"nodeType": "YulFunctionCall",
"src": "519:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "519:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "483:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "508:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "490:17:1"
},
"nodeType": "YulFunctionCall",
"src": "490:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "480:2:1"
},
"nodeType": "YulFunctionCall",
"src": "480:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "473:6:1"
},
"nodeType": "YulFunctionCall",
"src": "473:43:1"
},
"nodeType": "YulIf",
"src": "470:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "453:5:1",
"type": ""
}
],
"src": "417:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "597:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "607:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "629:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "616:12:1"
},
"nodeType": "YulFunctionCall",
"src": "616:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "607:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "672:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "645:26:1"
},
"nodeType": "YulFunctionCall",
"src": "645:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "645:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "575:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "583:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "591:5:1",
"type": ""
}
],
"src": "545:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "756:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "802:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "804:77:1"
},
"nodeType": "YulFunctionCall",
"src": "804:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "804:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "777:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "786:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "773:3:1"
},
"nodeType": "YulFunctionCall",
"src": "773:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "798:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "769:3:1"
},
"nodeType": "YulFunctionCall",
"src": "769:32:1"
},
"nodeType": "YulIf",
"src": "766:119:1"
},
{
"nodeType": "YulBlock",
"src": "895:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "910:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "924:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "914:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "939:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "974:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "985:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "970:3:1"
},
"nodeType": "YulFunctionCall",
"src": "970:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "994:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "949:20:1"
},
"nodeType": "YulFunctionCall",
"src": "949:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "939:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "726:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "737:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "749:6:1",
"type": ""
}
],
"src": "690:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1070:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1080:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1091:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1080:7:1"
}
]
}
]
},
"name": "cleanup_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1052:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1062:7:1",
"type": ""
}
],
"src": "1025:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1173:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1190:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1213:5:1"
}
],
"functionName": {
"name": "cleanup_t_bytes32",
"nodeType": "YulIdentifier",
"src": "1195:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1195:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1183:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1183:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1183:37:1"
}
]
},
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1161:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1168:3:1",
"type": ""
}
],
"src": "1108:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1297:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1314:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1337:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1319:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1319:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1307:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1307:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1307:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1285:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1292:3:1",
"type": ""
}
],
"src": "1232:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1482:206:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1492:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1504:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1515:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1500:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1500:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1492:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1572:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1585:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1596:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1581:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1581:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack",
"nodeType": "YulIdentifier",
"src": "1528:43:1"
},
"nodeType": "YulFunctionCall",
"src": "1528:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "1528:71:1"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1653:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1666:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1677:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1662:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1662:18:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "1609:43:1"
},
"nodeType": "YulFunctionCall",
"src": "1609:72:1"
},
"nodeType": "YulExpressionStatement",
"src": "1609:72:1"
}
]
},
"name": "abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1446:9:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1458:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1466:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1477:4:1",
"type": ""
}
],
"src": "1356:332:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1739:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1749:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1764:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1771:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1760:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1760:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1749:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1721:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1731:7:1",
"type": ""
}
],
"src": "1694:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1871:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1881:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1910:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "1892:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1892:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1881:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1853:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1863:7:1",
"type": ""
}
],
"src": "1826:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1993:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2010:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2033:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "2015:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2015:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2003:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2003:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "2003:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1981:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1988:3:1",
"type": ""
}
],
"src": "1928:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2150:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2160:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2172:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2183:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2168:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2168:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2160:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2240:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2253:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2264:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2249:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2249:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "2196:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2196:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2196:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2122:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2134:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2145:4:1",
"type": ""
}
],
"src": "2052:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2323:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2380:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2389:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2392:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2382:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2382:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "2382:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2346:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2371:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "2353:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2353:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "2343:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2343:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2336:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2336:43:1"
},
"nodeType": "YulIf",
"src": "2333:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2316:5:1",
"type": ""
}
],
"src": "2280:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2460:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2470:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2492:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "2479:12:1"
},
"nodeType": "YulFunctionCall",
"src": "2479:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2470:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2535:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "2508:26:1"
},
"nodeType": "YulFunctionCall",
"src": "2508:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "2508:33:1"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2438:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2446:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2454:5:1",
"type": ""
}
],
"src": "2408:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2619:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2665:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "2667:77:1"
},
"nodeType": "YulFunctionCall",
"src": "2667:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "2667:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2640:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2649:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2636:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2636:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2661:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "2632:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2632:32:1"
},
"nodeType": "YulIf",
"src": "2629:119:1"
},
{
"nodeType": "YulBlock",
"src": "2758:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2773:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2787:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2777:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2802:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2837:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2848:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2833:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2833:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2857:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "2812:20:1"
},
"nodeType": "YulFunctionCall",
"src": "2812:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2802:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2589:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "2600:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2612:6:1",
"type": ""
}
],
"src": "2553:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2986:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2996:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3008:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3019:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3004:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3004:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2996:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3076:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3089:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3100:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3085:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3085:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "3032:43:1"
},
"nodeType": "YulFunctionCall",
"src": "3032:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "3032:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2958:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2970:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2981:4:1",
"type": ""
}
],
"src": "2888:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3158:48:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3168:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3193:5:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3186:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3186:13:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3179:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3179:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3168:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3140:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3150:7:1",
"type": ""
}
],
"src": "3116:90:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3271:50:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3288:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3308:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "3293:14:1"
},
"nodeType": "YulFunctionCall",
"src": "3293:21:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3281:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3281:34:1"
},
"nodeType": "YulExpressionStatement",
"src": "3281:34:1"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3259:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3266:3:1",
"type": ""
}
],
"src": "3212:109:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3503:365:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3513:27:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3525:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3536:3:1",
"type": "",
"value": "128"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3521:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3521:19:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3513:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3594:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3607:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3618:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3603:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3603:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "3550:43:1"
},
"nodeType": "YulFunctionCall",
"src": "3550:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "3550:71:1"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "3669:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3682:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3693:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3678:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3678:18:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulIdentifier",
"src": "3631:37:1"
},
"nodeType": "YulFunctionCall",
"src": "3631:66:1"
},
"nodeType": "YulExpressionStatement",
"src": "3631:66:1"
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "3751:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3764:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3775:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3760:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3760:18:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "3707:43:1"
},
"nodeType": "YulFunctionCall",
"src": "3707:72:1"
},
"nodeType": "YulExpressionStatement",
"src": "3707:72:1"
},
{
"expression": {
"arguments": [
{
"name": "value3",
"nodeType": "YulIdentifier",
"src": "3833:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3846:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3857:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3842:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3842:18:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "3789:43:1"
},
"nodeType": "YulFunctionCall",
"src": "3789:72:1"
},
"nodeType": "YulExpressionStatement",
"src": "3789:72:1"
}
]
},
"name": "abi_encode_tuple_t_uint256_t_bool_t_address_t_uint256__to_t_uint256_t_bool_t_address_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3451:9:1",
"type": ""
},
{
"name": "value3",
"nodeType": "YulTypedName",
"src": "3463:6:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "3471:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "3479:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3487:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3498:4:1",
"type": ""
}
],
"src": "3327:541:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3972:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3982:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3994:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4005:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3990:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3990:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3982:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4062:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4075:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4086:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4071:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4071:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack",
"nodeType": "YulIdentifier",
"src": "4018:43:1"
},
"nodeType": "YulFunctionCall",
"src": "4018:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "4018:71:1"
}
]
},
"name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3944:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3956:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3967:4:1",
"type": ""
}
],
"src": "3874:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4198:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4215:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4220:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4208:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4208:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "4208:19:1"
},
{
"nodeType": "YulAssignment",
"src": "4236:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4255:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4260:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4251:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4251:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "4236:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4170:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4175:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "4186:11:1",
"type": ""
}
],
"src": "4102:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4383:64:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4405:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4413:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4401:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4401:14:1"
},
{
"hexValue": "486173206e6f20726967687420746f20766f7465",
"kind": "string",
"nodeType": "YulLiteral",
"src": "4417:22:1",
"type": "",
"value": "Has no right to vote"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4394:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4394:46:1"
},
"nodeType": "YulExpressionStatement",
"src": "4394:46:1"
}
]
},
"name": "store_literal_in_memory_0dc527e8fa9b76c996eb5eda9ddb749b21540f5509781b94e1e37f7027e7f50e",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4375:6:1",
"type": ""
}
],
"src": "4277:170:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4599:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4609:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4675:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4680:2:1",
"type": "",
"value": "20"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4616:58:1"
},
"nodeType": "YulFunctionCall",
"src": "4616:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4609:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4781:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_0dc527e8fa9b76c996eb5eda9ddb749b21540f5509781b94e1e37f7027e7f50e",
"nodeType": "YulIdentifier",
"src": "4692:88:1"
},
"nodeType": "YulFunctionCall",
"src": "4692:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "4692:93:1"
},
{
"nodeType": "YulAssignment",
"src": "4794:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4805:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4810:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4801:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4801:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4794:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_0dc527e8fa9b76c996eb5eda9ddb749b21540f5509781b94e1e37f7027e7f50e_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4587:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "4595:3:1",
"type": ""
}
],
"src": "4453:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4996:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5006:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5018:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5029:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5014:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5014:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5006:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5053:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5064:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5049:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5049:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5072:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5078:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "5068:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5068:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5042:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5042:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "5042:47:1"
},
{
"nodeType": "YulAssignment",
"src": "5098:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5232:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_0dc527e8fa9b76c996eb5eda9ddb749b21540f5509781b94e1e37f7027e7f50e_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "5106:124:1"
},
"nodeType": "YulFunctionCall",
"src": "5106:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5098:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_0dc527e8fa9b76c996eb5eda9ddb749b21540f5509781b94e1e37f7027e7f50e__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4976:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4991:4:1",
"type": ""
}
],
"src": "4825:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5356:58:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "5378:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5386:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5374:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5374:14:1"
},
{
"hexValue": "416c726561647920766f7465642e",
"kind": "string",
"nodeType": "YulLiteral",
"src": "5390:16:1",
"type": "",
"value": "Already voted."
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5367:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5367:40:1"
},
"nodeType": "YulExpressionStatement",
"src": "5367:40:1"
}
]
},
"name": "store_literal_in_memory_56aab92b7164a4ea72a098d2d95a5e763b71d07f265e8d46fc7240404017fa84",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "5348:6:1",
"type": ""
}
],
"src": "5250:164:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5566:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5576:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5642:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5647:2:1",
"type": "",
"value": "14"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "5583:58:1"
},
"nodeType": "YulFunctionCall",
"src": "5583:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5576:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5748:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_56aab92b7164a4ea72a098d2d95a5e763b71d07f265e8d46fc7240404017fa84",
"nodeType": "YulIdentifier",
"src": "5659:88:1"
},
"nodeType": "YulFunctionCall",
"src": "5659:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "5659:93:1"
},
{
"nodeType": "YulAssignment",
"src": "5761:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5772:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5777:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5768:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5768:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "5761:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_56aab92b7164a4ea72a098d2d95a5e763b71d07f265e8d46fc7240404017fa84_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5554:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "5562:3:1",
"type": ""
}
],
"src": "5420:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5963:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5973:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5985:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5996:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5981:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5981:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5973:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6020:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6031:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6016:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6016:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6039:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6045:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6035:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6035:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6009:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6009:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "6009:47:1"
},
{
"nodeType": "YulAssignment",
"src": "6065:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6199:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_56aab92b7164a4ea72a098d2d95a5e763b71d07f265e8d46fc7240404017fa84_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "6073:124:1"
},
"nodeType": "YulFunctionCall",
"src": "6073:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6065:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_56aab92b7164a4ea72a098d2d95a5e763b71d07f265e8d46fc7240404017fa84__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5943:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5958:4:1",
"type": ""
}
],
"src": "5792:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6245:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6262:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6265:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6255:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6255:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "6255:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6359:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6362:4:1",
"type": "",
"value": "0x32"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6352:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6352:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6352:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6383:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6386:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6376:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6376:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6376:15:1"
}
]
},
"name": "panic_error_0x32",
"nodeType": "YulFunctionDefinition",
"src": "6217:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6431:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6448:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6451:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6441:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6441:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "6441:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6545:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6548:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6538:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6538:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6538:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6569:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6572:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6562:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6562:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6562:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "6403:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6633:261:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6643:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "6666:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6648:17:1"
},
"nodeType": "YulFunctionCall",
"src": "6648:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "6643:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "6677:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "6700:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6682:17:1"
},
"nodeType": "YulFunctionCall",
"src": "6682:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "6677:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6840:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "6842:16:1"
},
"nodeType": "YulFunctionCall",
"src": "6842:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "6842:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "6761:1:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6768:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "6836:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6764:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6764:74:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "6758:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6758:81:1"
},
"nodeType": "YulIf",
"src": "6755:107:1"
},
{
"nodeType": "YulAssignment",
"src": "6872:16:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "6883:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "6886:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6879:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6879:9:1"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "6872:3:1"
}
]
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "6620:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "6623:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "6629:3:1",
"type": ""
}
],
"src": "6589:305:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7006:62:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7028:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7036:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7024:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7024:14:1"
},
{
"hexValue": "596f7520616c726561647920766f7465642e",
"kind": "string",
"nodeType": "YulLiteral",
"src": "7040:20:1",
"type": "",
"value": "You already voted."
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7017:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7017:44:1"
},
"nodeType": "YulExpressionStatement",
"src": "7017:44:1"
}
]
},
"name": "store_literal_in_memory_657c6119c4ed567c60278fba62242b17c2fedf38962e651040dabfb3c9e15a5f",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "6998:6:1",
"type": ""
}
],
"src": "6900:168:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7220:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7230:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7296:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7301:2:1",
"type": "",
"value": "18"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "7237:58:1"
},
"nodeType": "YulFunctionCall",
"src": "7237:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7230:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7402:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_657c6119c4ed567c60278fba62242b17c2fedf38962e651040dabfb3c9e15a5f",
"nodeType": "YulIdentifier",
"src": "7313:88:1"
},
"nodeType": "YulFunctionCall",
"src": "7313:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "7313:93:1"
},
{
"nodeType": "YulAssignment",
"src": "7415:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7426:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7431:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7422:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7422:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "7415:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_657c6119c4ed567c60278fba62242b17c2fedf38962e651040dabfb3c9e15a5f_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "7208:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "7216:3:1",
"type": ""
}
],
"src": "7074:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7617:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7627:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7639:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7650:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7635:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7635:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7627:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7674:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7685:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7670:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7670:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7693:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7699:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "7689:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7689:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7663:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7663:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "7663:47:1"
},
{
"nodeType": "YulAssignment",
"src": "7719:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7853:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_657c6119c4ed567c60278fba62242b17c2fedf38962e651040dabfb3c9e15a5f_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "7727:124:1"
},
"nodeType": "YulFunctionCall",
"src": "7727:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7719:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_657c6119c4ed567c60278fba62242b17c2fedf38962e651040dabfb3c9e15a5f__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "7597:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "7612:4:1",
"type": ""
}
],
"src": "7446:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7977:74:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7999:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8007:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7995:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7995:14:1"
},
{
"hexValue": "53656c662d64656c65676174696f6e20697320646973616c6c6f7765642e",
"kind": "string",
"nodeType": "YulLiteral",
"src": "8011:32:1",
"type": "",
"value": "Self-delegation is disallowed."
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7988:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7988:56:1"
},
"nodeType": "YulExpressionStatement",
"src": "7988:56:1"
}
]
},
"name": "store_literal_in_memory_f37bf1aca80f8fa291a40f639db6aeaa1425ceb0e8c61c8648f0e2efa282a947",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "7969:6:1",
"type": ""
}
],
"src": "7871:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8203:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8213:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8279:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8284:2:1",
"type": "",
"value": "30"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "8220:58:1"
},
"nodeType": "YulFunctionCall",
"src": "8220:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8213:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8385:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_f37bf1aca80f8fa291a40f639db6aeaa1425ceb0e8c61c8648f0e2efa282a947",
"nodeType": "YulIdentifier",
"src": "8296:88:1"
},
"nodeType": "YulFunctionCall",
"src": "8296:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "8296:93:1"
},
{
"nodeType": "YulAssignment",
"src": "8398:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8409:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8414:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8405:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8405:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "8398:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_f37bf1aca80f8fa291a40f639db6aeaa1425ceb0e8c61c8648f0e2efa282a947_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "8191:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "8199:3:1",
"type": ""
}
],
"src": "8057:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8600:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8610:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8622:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8633:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8618:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8618:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8610:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8657:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8668:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8653:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8653:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8676:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8682:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "8672:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8672:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8646:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8646:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "8646:47:1"
},
{
"nodeType": "YulAssignment",
"src": "8702:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8836:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_f37bf1aca80f8fa291a40f639db6aeaa1425ceb0e8c61c8648f0e2efa282a947_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "8710:124:1"
},
"nodeType": "YulFunctionCall",
"src": "8710:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8702:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_f37bf1aca80f8fa291a40f639db6aeaa1425ceb0e8c61c8648f0e2efa282a947__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "8580:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "8595:4:1",
"type": ""
}
],
"src": "8429:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8960:69:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "8982:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8990:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8978:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8978:14:1"
},
{
"hexValue": "466f756e64206c6f6f7020696e2064656c65676174696f6e2e",
"kind": "string",
"nodeType": "YulLiteral",
"src": "8994:27:1",
"type": "",
"value": "Found loop in delegation."
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8971:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8971:51:1"
},
"nodeType": "YulExpressionStatement",
"src": "8971:51:1"
}
]
},
"name": "store_literal_in_memory_8bd75322489f7ff7ab0b18506f4dcde935a32eca2a506b00f4d21b0becfa093c",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "8952:6:1",
"type": ""
}
],
"src": "8854:175:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9181:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9191:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "9257:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9262:2:1",
"type": "",
"value": "25"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "9198:58:1"
},
"nodeType": "YulFunctionCall",
"src": "9198:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "9191:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "9363:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_8bd75322489f7ff7ab0b18506f4dcde935a32eca2a506b00f4d21b0becfa093c",
"nodeType": "YulIdentifier",
"src": "9274:88:1"
},
"nodeType": "YulFunctionCall",
"src": "9274:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "9274:93:1"
},
{
"nodeType": "YulAssignment",
"src": "9376:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "9387:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9392:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9383:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9383:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "9376:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_8bd75322489f7ff7ab0b18506f4dcde935a32eca2a506b00f4d21b0becfa093c_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "9169:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "9177:3:1",
"type": ""
}
],
"src": "9035:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9578:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9588:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "9600:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9611:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9596:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9596:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "9588:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "9635:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9646:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9631:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9631:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "9654:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "9660:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "9650:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9650:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9624:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9624:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "9624:47:1"
},
{
"nodeType": "YulAssignment",
"src": "9680:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "9814:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_8bd75322489f7ff7ab0b18506f4dcde935a32eca2a506b00f4d21b0becfa093c_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "9688:124:1"
},
"nodeType": "YulFunctionCall",
"src": "9688:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "9680:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_8bd75322489f7ff7ab0b18506f4dcde935a32eca2a506b00f4d21b0becfa093c__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "9558:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "9573:4:1",
"type": ""
}
],
"src": "9407:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9875:190:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9885:33:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "9912:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "9894:17:1"
},
"nodeType": "YulFunctionCall",
"src": "9894:24:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "9885:5:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "10008:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "10010:16:1"
},
"nodeType": "YulFunctionCall",
"src": "10010:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "10010:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "9933:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9940:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "9930:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9930:77:1"
},
"nodeType": "YulIf",
"src": "9927:103:1"
},
{
"nodeType": "YulAssignment",
"src": "10039:20:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "10050:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10057:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10046:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10046:13:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "10039:3:1"
}
]
}
]
},
"name": "increment_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "9861:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "9871:3:1",
"type": ""
}
],
"src": "9832:233:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10177:121:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "10199:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10207:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10195:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10195:14:1"
},
{
"hexValue": "4f6e6c79206368616972706572736f6e2063616e206769766520726967687420",
"kind": "string",
"nodeType": "YulLiteral",
"src": "10211:34:1",
"type": "",
"value": "Only chairperson can give right "
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "10188:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10188:58:1"
},
"nodeType": "YulExpressionStatement",
"src": "10188:58:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "10267:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10275:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10263:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10263:15:1"
},
{
"hexValue": "746f20766f74652e",
"kind": "string",
"nodeType": "YulLiteral",
"src": "10280:10:1",
"type": "",
"value": "to vote."
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "10256:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10256:35:1"
},
"nodeType": "YulExpressionStatement",
"src": "10256:35:1"
}
]
},
"name": "store_literal_in_memory_80126ce3251ab2b6e4ade14fe5b2bc11f593510cbe9e3550c09bff1989e33b95",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "10169:6:1",
"type": ""
}
],
"src": "10071:227:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10450:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "10460:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10526:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10531:2:1",
"type": "",
"value": "40"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "10467:58:1"
},
"nodeType": "YulFunctionCall",
"src": "10467:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10460:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10632:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_80126ce3251ab2b6e4ade14fe5b2bc11f593510cbe9e3550c09bff1989e33b95",
"nodeType": "YulIdentifier",
"src": "10543:88:1"
},
"nodeType": "YulFunctionCall",
"src": "10543:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "10543:93:1"
},
{
"nodeType": "YulAssignment",
"src": "10645:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10656:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10661:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10652:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10652:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "10645:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_80126ce3251ab2b6e4ade14fe5b2bc11f593510cbe9e3550c09bff1989e33b95_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "10438:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "10446:3:1",
"type": ""
}
],
"src": "10304:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10847:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "10857:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "10869:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10880:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10865:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10865:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "10857:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "10904:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10915:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10900:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10900:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "10923:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "10929:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "10919:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10919:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "10893:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10893:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "10893:47:1"
},
{
"nodeType": "YulAssignment",
"src": "10949:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "11083:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_80126ce3251ab2b6e4ade14fe5b2bc11f593510cbe9e3550c09bff1989e33b95_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "10957:124:1"
},
"nodeType": "YulFunctionCall",
"src": "10957:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "10949:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_80126ce3251ab2b6e4ade14fe5b2bc11f593510cbe9e3550c09bff1989e33b95__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "10827:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "10842:4:1",
"type": ""
}
],
"src": "10676:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11207:68:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "11229:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11237:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11225:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11225:14:1"
},
{
"hexValue": "54686520766f74657220616c726561647920766f7465642e",
"kind": "string",
"nodeType": "YulLiteral",
"src": "11241:26:1",
"type": "",
"value": "The voter already voted."
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "11218:6:1"
},
"nodeType": "YulFunctionCall",
"src": "11218:50:1"
},
"nodeType": "YulExpressionStatement",
"src": "11218:50:1"
}
]
},
"name": "store_literal_in_memory_d39b1db28626750c546703ffb72f30ea3facdfed1bebd47408e22ef18a76ba2d",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "11199:6:1",
"type": ""
}
],
"src": "11101:174:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11427:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "11437:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11503:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11508:2:1",
"type": "",
"value": "24"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "11444:58:1"
},
"nodeType": "YulFunctionCall",
"src": "11444:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11437:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11609:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_d39b1db28626750c546703ffb72f30ea3facdfed1bebd47408e22ef18a76ba2d",
"nodeType": "YulIdentifier",
"src": "11520:88:1"
},
"nodeType": "YulFunctionCall",
"src": "11520:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "11520:93:1"
},
{
"nodeType": "YulAssignment",
"src": "11622:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11633:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11638:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11629:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11629:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "11622:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_d39b1db28626750c546703ffb72f30ea3facdfed1bebd47408e22ef18a76ba2d_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "11415:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "11423:3:1",
"type": ""
}
],
"src": "11281:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11824:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "11834:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "11846:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11857:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11842:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11842:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "11834:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "11881:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11892:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11877:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11877:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "11900:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "11906:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "11896:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11896:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "11870:6:1"
},
"nodeType": "YulFunctionCall",
"src": "11870:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "11870:47:1"
},
{
"nodeType": "YulAssignment",
"src": "11926:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12060:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_d39b1db28626750c546703ffb72f30ea3facdfed1bebd47408e22ef18a76ba2d_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "11934:124:1"
},
"nodeType": "YulFunctionCall",
"src": "11934:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "11926:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_d39b1db28626750c546703ffb72f30ea3facdfed1bebd47408e22ef18a76ba2d__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "11804:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "11819:4:1",
"type": ""
}
],
"src": "11653:419:1"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_uint256_t_bool_t_address_t_uint256__to_t_uint256_t_bool_t_address_t_uint256__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_bool_to_t_bool_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_0dc527e8fa9b76c996eb5eda9ddb749b21540f5509781b94e1e37f7027e7f50e(memPtr) {\n\n mstore(add(memPtr, 0), \"Has no right to vote\")\n\n }\n\n function abi_encode_t_stringliteral_0dc527e8fa9b76c996eb5eda9ddb749b21540f5509781b94e1e37f7027e7f50e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 20)\n store_literal_in_memory_0dc527e8fa9b76c996eb5eda9ddb749b21540f5509781b94e1e37f7027e7f50e(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_0dc527e8fa9b76c996eb5eda9ddb749b21540f5509781b94e1e37f7027e7f50e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_0dc527e8fa9b76c996eb5eda9ddb749b21540f5509781b94e1e37f7027e7f50e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_56aab92b7164a4ea72a098d2d95a5e763b71d07f265e8d46fc7240404017fa84(memPtr) {\n\n mstore(add(memPtr, 0), \"Already voted.\")\n\n }\n\n function abi_encode_t_stringliteral_56aab92b7164a4ea72a098d2d95a5e763b71d07f265e8d46fc7240404017fa84_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 14)\n store_literal_in_memory_56aab92b7164a4ea72a098d2d95a5e763b71d07f265e8d46fc7240404017fa84(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_56aab92b7164a4ea72a098d2d95a5e763b71d07f265e8d46fc7240404017fa84__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_56aab92b7164a4ea72a098d2d95a5e763b71d07f265e8d46fc7240404017fa84_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function store_literal_in_memory_657c6119c4ed567c60278fba62242b17c2fedf38962e651040dabfb3c9e15a5f(memPtr) {\n\n mstore(add(memPtr, 0), \"You already voted.\")\n\n }\n\n function abi_encode_t_stringliteral_657c6119c4ed567c60278fba62242b17c2fedf38962e651040dabfb3c9e15a5f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 18)\n store_literal_in_memory_657c6119c4ed567c60278fba62242b17c2fedf38962e651040dabfb3c9e15a5f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_657c6119c4ed567c60278fba62242b17c2fedf38962e651040dabfb3c9e15a5f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_657c6119c4ed567c60278fba62242b17c2fedf38962e651040dabfb3c9e15a5f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_f37bf1aca80f8fa291a40f639db6aeaa1425ceb0e8c61c8648f0e2efa282a947(memPtr) {\n\n mstore(add(memPtr, 0), \"Self-delegation is disallowed.\")\n\n }\n\n function abi_encode_t_stringliteral_f37bf1aca80f8fa291a40f639db6aeaa1425ceb0e8c61c8648f0e2efa282a947_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 30)\n store_literal_in_memory_f37bf1aca80f8fa291a40f639db6aeaa1425ceb0e8c61c8648f0e2efa282a947(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_f37bf1aca80f8fa291a40f639db6aeaa1425ceb0e8c61c8648f0e2efa282a947__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_f37bf1aca80f8fa291a40f639db6aeaa1425ceb0e8c61c8648f0e2efa282a947_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_8bd75322489f7ff7ab0b18506f4dcde935a32eca2a506b00f4d21b0becfa093c(memPtr) {\n\n mstore(add(memPtr, 0), \"Found loop in delegation.\")\n\n }\n\n function abi_encode_t_stringliteral_8bd75322489f7ff7ab0b18506f4dcde935a32eca2a506b00f4d21b0becfa093c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_8bd75322489f7ff7ab0b18506f4dcde935a32eca2a506b00f4d21b0becfa093c(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_8bd75322489f7ff7ab0b18506f4dcde935a32eca2a506b00f4d21b0becfa093c__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_8bd75322489f7ff7ab0b18506f4dcde935a32eca2a506b00f4d21b0becfa093c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function store_literal_in_memory_80126ce3251ab2b6e4ade14fe5b2bc11f593510cbe9e3550c09bff1989e33b95(memPtr) {\n\n mstore(add(memPtr, 0), \"Only chairperson can give right \")\n\n mstore(add(memPtr, 32), \"to vote.\")\n\n }\n\n function abi_encode_t_stringliteral_80126ce3251ab2b6e4ade14fe5b2bc11f593510cbe9e3550c09bff1989e33b95_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 40)\n store_literal_in_memory_80126ce3251ab2b6e4ade14fe5b2bc11f593510cbe9e3550c09bff1989e33b95(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_80126ce3251ab2b6e4ade14fe5b2bc11f593510cbe9e3550c09bff1989e33b95__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_80126ce3251ab2b6e4ade14fe5b2bc11f593510cbe9e3550c09bff1989e33b95_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_d39b1db28626750c546703ffb72f30ea3facdfed1bebd47408e22ef18a76ba2d(memPtr) {\n\n mstore(add(memPtr, 0), \"The voter already voted.\")\n\n }\n\n function abi_encode_t_stringliteral_d39b1db28626750c546703ffb72f30ea3facdfed1bebd47408e22ef18a76ba2d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_d39b1db28626750c546703ffb72f30ea3facdfed1bebd47408e22ef18a76ba2d(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_d39b1db28626750c546703ffb72f30ea3facdfed1bebd47408e22ef18a76ba2d__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_d39b1db28626750c546703ffb72f30ea3facdfed1bebd47408e22ef18a76ba2d_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100885760003560e01c8063609ff1bd1161005b578063609ff1bd146101145780639e7b8d6114610132578063a3ec138d1461014e578063e2ba53f01461018157610088565b80630121b93f1461008d578063013cf08b146100a95780632e4176cf146100da5780635c19a95c146100f8575b600080fd5b6100a760048036038101906100a291906109e2565b61019f565b005b6100c360048036038101906100be91906109e2565b6102e5565b6040516100d1929190610a37565b60405180910390f35b6100e2610319565b6040516100ef9190610aa1565b60405180910390f35b610112600480360381019061010d9190610ae8565b61033d565b005b61011c6106d7565b6040516101299190610b15565b60405180910390f35b61014c60048036038101906101479190610ae8565b61075f565b005b61016860048036038101906101639190610ae8565b610916565b6040516101789493929190610b4b565b60405180910390f35b610189610973565b6040516101969190610b90565b60405180910390f35b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816000015403610229576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161022090610c08565b60405180910390fd5b8060010160009054906101000a900460ff161561027b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027290610c74565b60405180910390fd5b60018160010160006101000a81548160ff0219169083151502179055508181600201819055508060000154600283815481106102ba576102b9610c94565b5b906000526020600020906002020160010160008282546102da9190610cf2565b925050819055505050565b600281815481106102f557600080fd5b90600052602060002090600202016000915090508060000154908060010154905082565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a900460ff16156103d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c990610d94565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610440576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043790610e00565b60405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105af57600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691503373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036105aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a190610e6c565b60405180910390fd5b610441565b60018160010160006101000a81548160ff021916908315150217905550818160010160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a900460ff16156106b2578160000154600282600201548154811061068657610685610c94565b5b906000526020600020906002020160010160008282546106a69190610cf2565b925050819055506106d2565b81600001548160000160008282546106ca9190610cf2565b925050819055505b505050565b6000806000905060005b60028054905081101561075a57816002828154811061070357610702610c94565b5b9060005260206000209060020201600101541115610747576002818154811061072f5761072e610c94565b5b90600052602060002090600202016001015491508092505b808061075290610e8c565b9150506106e1565b505090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e490610f46565b60405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff161561087d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087490610fb2565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154146108cc57600080fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16908060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905084565b6000600261097f6106d7565b815481106109905761098f610c94565b5b906000526020600020906002020160000154905090565b600080fd5b6000819050919050565b6109bf816109ac565b81146109ca57600080fd5b50565b6000813590506109dc816109b6565b92915050565b6000602082840312156109f8576109f76109a7565b5b6000610a06848285016109cd565b91505092915050565b6000819050919050565b610a2281610a0f565b82525050565b610a31816109ac565b82525050565b6000604082019050610a4c6000830185610a19565b610a596020830184610a28565b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610a8b82610a60565b9050919050565b610a9b81610a80565b82525050565b6000602082019050610ab66000830184610a92565b92915050565b610ac581610a80565b8114610ad057600080fd5b50565b600081359050610ae281610abc565b92915050565b600060208284031215610afe57610afd6109a7565b5b6000610b0c84828501610ad3565b91505092915050565b6000602082019050610b2a6000830184610a28565b92915050565b60008115159050919050565b610b4581610b30565b82525050565b6000608082019050610b606000830187610a28565b610b6d6020830186610b3c565b610b7a6040830185610a92565b610b876060830184610a28565b95945050505050565b6000602082019050610ba56000830184610a19565b92915050565b600082825260208201905092915050565b7f486173206e6f20726967687420746f20766f7465000000000000000000000000600082015250565b6000610bf2601483610bab565b9150610bfd82610bbc565b602082019050919050565b60006020820190508181036000830152610c2181610be5565b9050919050565b7f416c726561647920766f7465642e000000000000000000000000000000000000600082015250565b6000610c5e600e83610bab565b9150610c6982610c28565b602082019050919050565b60006020820190508181036000830152610c8d81610c51565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610cfd826109ac565b9150610d08836109ac565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610d3d57610d3c610cc3565b5b828201905092915050565b7f596f7520616c726561647920766f7465642e0000000000000000000000000000600082015250565b6000610d7e601283610bab565b9150610d8982610d48565b602082019050919050565b60006020820190508181036000830152610dad81610d71565b9050919050565b7f53656c662d64656c65676174696f6e20697320646973616c6c6f7765642e0000600082015250565b6000610dea601e83610bab565b9150610df582610db4565b602082019050919050565b60006020820190508181036000830152610e1981610ddd565b9050919050565b7f466f756e64206c6f6f7020696e2064656c65676174696f6e2e00000000000000600082015250565b6000610e56601983610bab565b9150610e6182610e20565b602082019050919050565b60006020820190508181036000830152610e8581610e49565b9050919050565b6000610e97826109ac565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610ec957610ec8610cc3565b5b600182019050919050565b7f4f6e6c79206368616972706572736f6e2063616e20676976652072696768742060008201527f746f20766f74652e000000000000000000000000000000000000000000000000602082015250565b6000610f30602883610bab565b9150610f3b82610ed4565b604082019050919050565b60006020820190508181036000830152610f5f81610f23565b9050919050565b7f54686520766f74657220616c726561647920766f7465642e0000000000000000600082015250565b6000610f9c601883610bab565b9150610fa782610f66565b602082019050919050565b60006020820190508181036000830152610fcb81610f8f565b905091905056fea264697066735822122039eb1aed10c802704f8313eef4e42180fe1339e78ec932c9c2c30125f013e80064736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x88 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x609FF1BD GT PUSH2 0x5B JUMPI DUP1 PUSH4 0x609FF1BD EQ PUSH2 0x114 JUMPI DUP1 PUSH4 0x9E7B8D61 EQ PUSH2 0x132 JUMPI DUP1 PUSH4 0xA3EC138D EQ PUSH2 0x14E JUMPI DUP1 PUSH4 0xE2BA53F0 EQ PUSH2 0x181 JUMPI PUSH2 0x88 JUMP JUMPDEST DUP1 PUSH4 0x121B93F EQ PUSH2 0x8D JUMPI DUP1 PUSH4 0x13CF08B EQ PUSH2 0xA9 JUMPI DUP1 PUSH4 0x2E4176CF EQ PUSH2 0xDA JUMPI DUP1 PUSH4 0x5C19A95C EQ PUSH2 0xF8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA2 SWAP2 SWAP1 PUSH2 0x9E2 JUMP JUMPDEST PUSH2 0x19F JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xBE SWAP2 SWAP1 PUSH2 0x9E2 JUMP JUMPDEST PUSH2 0x2E5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD1 SWAP3 SWAP2 SWAP1 PUSH2 0xA37 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE2 PUSH2 0x319 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xEF SWAP2 SWAP1 PUSH2 0xAA1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x112 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x10D SWAP2 SWAP1 PUSH2 0xAE8 JUMP JUMPDEST PUSH2 0x33D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x11C PUSH2 0x6D7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x129 SWAP2 SWAP1 PUSH2 0xB15 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x14C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x147 SWAP2 SWAP1 PUSH2 0xAE8 JUMP JUMPDEST PUSH2 0x75F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x168 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x163 SWAP2 SWAP1 PUSH2 0xAE8 JUMP JUMPDEST PUSH2 0x916 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x178 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xB4B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x189 PUSH2 0x973 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x196 SWAP2 SWAP1 PUSH2 0xB90 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x0 ADD SLOAD SUB PUSH2 0x229 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x220 SWAP1 PUSH2 0xC08 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x27B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x272 SWAP1 PUSH2 0xC74 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP2 DUP2 PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x0 ADD SLOAD PUSH1 0x2 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x2BA JUMPI PUSH2 0x2B9 PUSH2 0xC94 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x2DA SWAP2 SWAP1 PUSH2 0xCF2 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x2F5 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 SLOAD SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x3D2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3C9 SWAP1 PUSH2 0xD94 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x440 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x437 SWAP1 PUSH2 0xE00 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x5AF JUMPI PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP2 POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x5AA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5A1 SWAP1 PUSH2 0xE6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x441 JUMP JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP2 DUP2 PUSH1 0x1 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x6B2 JUMPI DUP2 PUSH1 0x0 ADD SLOAD PUSH1 0x2 DUP3 PUSH1 0x2 ADD SLOAD DUP2 SLOAD DUP2 LT PUSH2 0x686 JUMPI PUSH2 0x685 PUSH2 0xC94 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x6A6 SWAP2 SWAP1 PUSH2 0xCF2 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0x6D2 JUMP JUMPDEST DUP2 PUSH1 0x0 ADD SLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x6CA SWAP2 SWAP1 PUSH2 0xCF2 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 POP PUSH1 0x0 JUMPDEST PUSH1 0x2 DUP1 SLOAD SWAP1 POP DUP2 LT ISZERO PUSH2 0x75A JUMPI DUP2 PUSH1 0x2 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x703 JUMPI PUSH2 0x702 PUSH2 0xC94 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD SLOAD GT ISZERO PUSH2 0x747 JUMPI PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x72F JUMPI PUSH2 0x72E PUSH2 0xC94 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD SLOAD SWAP2 POP DUP1 SWAP3 POP JUMPDEST DUP1 DUP1 PUSH2 0x752 SWAP1 PUSH2 0xE8C JUMP JUMPDEST SWAP2 POP POP PUSH2 0x6E1 JUMP JUMPDEST POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x7ED JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7E4 SWAP1 PUSH2 0xF46 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x87D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x874 SWAP1 PUSH2 0xFB2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD SLOAD EQ PUSH2 0x8CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH2 0x97F PUSH2 0x6D7 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x990 JUMPI PUSH2 0x98F PUSH2 0xC94 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9BF DUP2 PUSH2 0x9AC JUMP JUMPDEST DUP2 EQ PUSH2 0x9CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x9DC DUP2 PUSH2 0x9B6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x9F8 JUMPI PUSH2 0x9F7 PUSH2 0x9A7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xA06 DUP5 DUP3 DUP6 ADD PUSH2 0x9CD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA22 DUP2 PUSH2 0xA0F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xA31 DUP2 PUSH2 0x9AC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xA4C PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xA19 JUMP JUMPDEST PUSH2 0xA59 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xA28 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA8B DUP3 PUSH2 0xA60 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA9B DUP2 PUSH2 0xA80 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xAB6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xA92 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xAC5 DUP2 PUSH2 0xA80 JUMP JUMPDEST DUP2 EQ PUSH2 0xAD0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xAE2 DUP2 PUSH2 0xABC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xAFE JUMPI PUSH2 0xAFD PUSH2 0x9A7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xB0C DUP5 DUP3 DUP6 ADD PUSH2 0xAD3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB2A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xA28 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB45 DUP2 PUSH2 0xB30 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0xB60 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0xA28 JUMP JUMPDEST PUSH2 0xB6D PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0xB3C JUMP JUMPDEST PUSH2 0xB7A PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0xA92 JUMP JUMPDEST PUSH2 0xB87 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0xA28 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBA5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xA19 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x486173206E6F20726967687420746F20766F7465000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBF2 PUSH1 0x14 DUP4 PUSH2 0xBAB JUMP JUMPDEST SWAP2 POP PUSH2 0xBFD DUP3 PUSH2 0xBBC JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xC21 DUP2 PUSH2 0xBE5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x416C726561647920766F7465642E000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC5E PUSH1 0xE DUP4 PUSH2 0xBAB JUMP JUMPDEST SWAP2 POP PUSH2 0xC69 DUP3 PUSH2 0xC28 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xC8D DUP2 PUSH2 0xC51 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xCFD DUP3 PUSH2 0x9AC JUMP JUMPDEST SWAP2 POP PUSH2 0xD08 DUP4 PUSH2 0x9AC JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0xD3D JUMPI PUSH2 0xD3C PUSH2 0xCC3 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x596F7520616C726561647920766F7465642E0000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD7E PUSH1 0x12 DUP4 PUSH2 0xBAB JUMP JUMPDEST SWAP2 POP PUSH2 0xD89 DUP3 PUSH2 0xD48 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xDAD DUP2 PUSH2 0xD71 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x53656C662D64656C65676174696F6E20697320646973616C6C6F7765642E0000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDEA PUSH1 0x1E DUP4 PUSH2 0xBAB JUMP JUMPDEST SWAP2 POP PUSH2 0xDF5 DUP3 PUSH2 0xDB4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE19 DUP2 PUSH2 0xDDD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x466F756E64206C6F6F7020696E2064656C65676174696F6E2E00000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE56 PUSH1 0x19 DUP4 PUSH2 0xBAB JUMP JUMPDEST SWAP2 POP PUSH2 0xE61 DUP3 PUSH2 0xE20 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE85 DUP2 PUSH2 0xE49 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE97 DUP3 PUSH2 0x9AC JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0xEC9 JUMPI PUSH2 0xEC8 PUSH2 0xCC3 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4F6E6C79206368616972706572736F6E2063616E206769766520726967687420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x746F20766F74652E000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF30 PUSH1 0x28 DUP4 PUSH2 0xBAB JUMP JUMPDEST SWAP2 POP PUSH2 0xF3B DUP3 PUSH2 0xED4 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xF5F DUP2 PUSH2 0xF23 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x54686520766F74657220616C726561647920766F7465642E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF9C PUSH1 0x18 DUP4 PUSH2 0xBAB JUMP JUMPDEST SWAP2 POP PUSH2 0xFA7 DUP3 PUSH2 0xF66 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xFCB DUP2 PUSH2 0xF8F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CODECOPY 0xEB BYTE 0xED LT 0xC8 MUL PUSH17 0x4F8313EEF4E42180FE1339E78EC932C9C2 0xC3 ADD 0x25 CREATE SGT 0xE8 STOP PUSH5 0x736F6C6343 STOP ADDMOD 0xD STOP CALLER ",
"sourceMap": "157:4362:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3173:458;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;794:27;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;715:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2078:907;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3817:365;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1599:355;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;748:39;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;4373:144;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3173:458;3219:20;3242:6;:18;3249:10;3242:18;;;;;;;;;;;;;;;3219:41;;3295:1;3278:6;:13;;;:18;3270:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;3340:6;:12;;;;;;;;;;;;3339:13;3331:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;3396:4;3381:6;:12;;;:19;;;;;;;;;;;;;;;;;;3424:8;3410:6;:11;;:22;;;;3611:6;:13;;;3578:9;3588:8;3578:19;;;;;;;;:::i;:::-;;;;;;;;;;;;:29;;;:46;;;;;;;:::i;:::-;;;;;;;;3209:422;3173:458;:::o;794:27::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;715:26::-;;;;;;;;;;;;:::o;2078:907::-;2125:20;2148:6;:18;2155:10;2148:18;;;;;;;;;;;;;;;2125:41;;2185:6;:12;;;;;;;;;;;;2184:13;2176:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;2244:10;2238:16;;:2;:16;;;2230:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;2300:223;2338:1;2307:33;;:6;:10;2314:2;2307:10;;;;;;;;;;;;;;;:19;;;;;;;;;;;;:33;;;2300:223;;2361:6;:10;2368:2;2361:10;;;;;;;;;;;;;;;:19;;;;;;;;;;;;2356:24;;2472:10;2466:16;;:2;:16;;;2458:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;2300:223;;;2547:4;2532:6;:12;;;:19;;;;;;;;;;;;;;;;;;2579:2;2561:6;:15;;;:20;;;;;;;;;;;;;;;;;;2591:23;2617:6;:10;2624:2;2617:10;;;;;;;;;;;;;;;2591:36;;2641:9;:15;;;;;;;;;;;;2637:342;;;2808:6;:13;;;2769:9;2779;:14;;;2769:25;;;;;;;;:::i;:::-;;;;;;;;;;;;:35;;;:52;;;;;;;:::i;:::-;;;;;;;;2637:342;;;2955:6;:13;;;2935:9;:16;;;:33;;;;;;;:::i;:::-;;;;;;;;2637:342;2115:870;;2078:907;:::o;3817:365::-;3877:21;3914;3938:1;3914:25;;3954:6;3949:227;3970:9;:16;;;;3966:1;:20;3949:227;;;4036:16;4011:9;4021:1;4011:12;;;;;;;;:::i;:::-;;;;;;;;;;;;:22;;;:41;4007:159;;;4091:9;4101:1;4091:12;;;;;;;;:::i;:::-;;;;;;;;;;;;:22;;;4072:41;;4150:1;4131:20;;4007:159;3988:3;;;;;:::i;:::-;;;;3949:227;;;;3904:278;3817:365;:::o;1599:355::-;1691:11;;;;;;;;;;1677:25;;:10;:25;;;1656:112;;;;;;;;;;;;:::i;:::-;;;;;;;;;1800:6;:13;1807:5;1800:13;;;;;;;;;;;;;;;:19;;;;;;;;;;;;1799:20;1778:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;1911:1;1887:6;:13;1894:5;1887:13;;;;;;;;;;;;;;;:20;;;:25;1879:34;;;;;;1946:1;1923:6;:13;1930:5;1923:13;;;;;;;;;;;;;;;:20;;:24;;;;1599:355;:::o;748:39::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4373:144::-;4428:19;4477:9;4487:17;:15;:17::i;:::-;4477:28;;;;;;;;:::i;:::-;;;;;;;;;;;;:33;;;4463:47;;4373:144;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:77::-;1062:7;1091:5;1080:16;;1025:77;;;:::o;1108:118::-;1195:24;1213:5;1195:24;:::i;:::-;1190:3;1183:37;1108:118;;:::o;1232:::-;1319:24;1337:5;1319:24;:::i;:::-;1314:3;1307:37;1232:118;;:::o;1356:332::-;1477:4;1515:2;1504:9;1500:18;1492:26;;1528:71;1596:1;1585:9;1581:17;1572:6;1528:71;:::i;:::-;1609:72;1677:2;1666:9;1662:18;1653:6;1609:72;:::i;:::-;1356:332;;;;;:::o;1694:126::-;1731:7;1771:42;1764:5;1760:54;1749:65;;1694:126;;;:::o;1826:96::-;1863:7;1892:24;1910:5;1892:24;:::i;:::-;1881:35;;1826:96;;;:::o;1928:118::-;2015:24;2033:5;2015:24;:::i;:::-;2010:3;2003:37;1928:118;;:::o;2052:222::-;2145:4;2183:2;2172:9;2168:18;2160:26;;2196:71;2264:1;2253:9;2249:17;2240:6;2196:71;:::i;:::-;2052:222;;;;:::o;2280:122::-;2353:24;2371:5;2353:24;:::i;:::-;2346:5;2343:35;2333:63;;2392:1;2389;2382:12;2333:63;2280:122;:::o;2408:139::-;2454:5;2492:6;2479:20;2470:29;;2508:33;2535:5;2508:33;:::i;:::-;2408:139;;;;:::o;2553:329::-;2612:6;2661:2;2649:9;2640:7;2636:23;2632:32;2629:119;;;2667:79;;:::i;:::-;2629:119;2787:1;2812:53;2857:7;2848:6;2837:9;2833:22;2812:53;:::i;:::-;2802:63;;2758:117;2553:329;;;;:::o;2888:222::-;2981:4;3019:2;3008:9;3004:18;2996:26;;3032:71;3100:1;3089:9;3085:17;3076:6;3032:71;:::i;:::-;2888:222;;;;:::o;3116:90::-;3150:7;3193:5;3186:13;3179:21;3168:32;;3116:90;;;:::o;3212:109::-;3293:21;3308:5;3293:21;:::i;:::-;3288:3;3281:34;3212:109;;:::o;3327:541::-;3498:4;3536:3;3525:9;3521:19;3513:27;;3550:71;3618:1;3607:9;3603:17;3594:6;3550:71;:::i;:::-;3631:66;3693:2;3682:9;3678:18;3669:6;3631:66;:::i;:::-;3707:72;3775:2;3764:9;3760:18;3751:6;3707:72;:::i;:::-;3789;3857:2;3846:9;3842:18;3833:6;3789:72;:::i;:::-;3327:541;;;;;;;:::o;3874:222::-;3967:4;4005:2;3994:9;3990:18;3982:26;;4018:71;4086:1;4075:9;4071:17;4062:6;4018:71;:::i;:::-;3874:222;;;;:::o;4102:169::-;4186:11;4220:6;4215:3;4208:19;4260:4;4255:3;4251:14;4236:29;;4102:169;;;;:::o;4277:170::-;4417:22;4413:1;4405:6;4401:14;4394:46;4277:170;:::o;4453:366::-;4595:3;4616:67;4680:2;4675:3;4616:67;:::i;:::-;4609:74;;4692:93;4781:3;4692:93;:::i;:::-;4810:2;4805:3;4801:12;4794:19;;4453:366;;;:::o;4825:419::-;4991:4;5029:2;5018:9;5014:18;5006:26;;5078:9;5072:4;5068:20;5064:1;5053:9;5049:17;5042:47;5106:131;5232:4;5106:131;:::i;:::-;5098:139;;4825:419;;;:::o;5250:164::-;5390:16;5386:1;5378:6;5374:14;5367:40;5250:164;:::o;5420:366::-;5562:3;5583:67;5647:2;5642:3;5583:67;:::i;:::-;5576:74;;5659:93;5748:3;5659:93;:::i;:::-;5777:2;5772:3;5768:12;5761:19;;5420:366;;;:::o;5792:419::-;5958:4;5996:2;5985:9;5981:18;5973:26;;6045:9;6039:4;6035:20;6031:1;6020:9;6016:17;6009:47;6073:131;6199:4;6073:131;:::i;:::-;6065:139;;5792:419;;;:::o;6217:180::-;6265:77;6262:1;6255:88;6362:4;6359:1;6352:15;6386:4;6383:1;6376:15;6403:180;6451:77;6448:1;6441:88;6548:4;6545:1;6538:15;6572:4;6569:1;6562:15;6589:305;6629:3;6648:20;6666:1;6648:20;:::i;:::-;6643:25;;6682:20;6700:1;6682:20;:::i;:::-;6677:25;;6836:1;6768:66;6764:74;6761:1;6758:81;6755:107;;;6842:18;;:::i;:::-;6755:107;6886:1;6883;6879:9;6872:16;;6589:305;;;;:::o;6900:168::-;7040:20;7036:1;7028:6;7024:14;7017:44;6900:168;:::o;7074:366::-;7216:3;7237:67;7301:2;7296:3;7237:67;:::i;:::-;7230:74;;7313:93;7402:3;7313:93;:::i;:::-;7431:2;7426:3;7422:12;7415:19;;7074:366;;;:::o;7446:419::-;7612:4;7650:2;7639:9;7635:18;7627:26;;7699:9;7693:4;7689:20;7685:1;7674:9;7670:17;7663:47;7727:131;7853:4;7727:131;:::i;:::-;7719:139;;7446:419;;;:::o;7871:180::-;8011:32;8007:1;7999:6;7995:14;7988:56;7871:180;:::o;8057:366::-;8199:3;8220:67;8284:2;8279:3;8220:67;:::i;:::-;8213:74;;8296:93;8385:3;8296:93;:::i;:::-;8414:2;8409:3;8405:12;8398:19;;8057:366;;;:::o;8429:419::-;8595:4;8633:2;8622:9;8618:18;8610:26;;8682:9;8676:4;8672:20;8668:1;8657:9;8653:17;8646:47;8710:131;8836:4;8710:131;:::i;:::-;8702:139;;8429:419;;;:::o;8854:175::-;8994:27;8990:1;8982:6;8978:14;8971:51;8854:175;:::o;9035:366::-;9177:3;9198:67;9262:2;9257:3;9198:67;:::i;:::-;9191:74;;9274:93;9363:3;9274:93;:::i;:::-;9392:2;9387:3;9383:12;9376:19;;9035:366;;;:::o;9407:419::-;9573:4;9611:2;9600:9;9596:18;9588:26;;9660:9;9654:4;9650:20;9646:1;9635:9;9631:17;9624:47;9688:131;9814:4;9688:131;:::i;:::-;9680:139;;9407:419;;;:::o;9832:233::-;9871:3;9894:24;9912:5;9894:24;:::i;:::-;9885:33;;9940:66;9933:5;9930:77;9927:103;;10010:18;;:::i;:::-;9927:103;10057:1;10050:5;10046:13;10039:20;;9832:233;;;:::o;10071:227::-;10211:34;10207:1;10199:6;10195:14;10188:58;10280:10;10275:2;10267:6;10263:15;10256:35;10071:227;:::o;10304:366::-;10446:3;10467:67;10531:2;10526:3;10467:67;:::i;:::-;10460:74;;10543:93;10632:3;10543:93;:::i;:::-;10661:2;10656:3;10652:12;10645:19;;10304:366;;;:::o;10676:419::-;10842:4;10880:2;10869:9;10865:18;10857:26;;10929:9;10923:4;10919:20;10915:1;10904:9;10900:17;10893:47;10957:131;11083:4;10957:131;:::i;:::-;10949:139;;10676:419;;;:::o;11101:174::-;11241:26;11237:1;11229:6;11225:14;11218:50;11101:174;:::o;11281:366::-;11423:3;11444:67;11508:2;11503:3;11444:67;:::i;:::-;11437:74;;11520:93;11609:3;11520:93;:::i;:::-;11638:2;11633:3;11629:12;11622:19;;11281:366;;;:::o;11653:419::-;11819:4;11857:2;11846:9;11842:18;11834:26;;11906:9;11900:4;11896:20;11892:1;11881:9;11877:17;11870:47;11934:131;12060:4;11934:131;:::i;:::-;11926:139;;11653:419;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "820800",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"chairperson()": "2556",
"delegate(address)": "infinite",
"giveRightToVote(address)": "29325",
"proposals(uint256)": "infinite",
"vote(uint256)": "infinite",
"voters(address)": "infinite",
"winnerName()": "infinite",
"winningProposal()": "infinite"
}
},
"methodIdentifiers": {
"chairperson()": "2e4176cf",
"delegate(address)": "5c19a95c",
"giveRightToVote(address)": "9e7b8d61",
"proposals(uint256)": "013cf08b",
"vote(uint256)": "0121b93f",
"voters(address)": "a3ec138d",
"winnerName()": "e2ba53f0",
"winningProposal()": "609ff1bd"
}
},
"abi": [
{
"inputs": [
{
"internalType": "bytes32[]",
"name": "proposalNames",
"type": "bytes32[]"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "chairperson",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
}
],
"name": "delegate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "voter",
"type": "address"
}
],
"name": "giveRightToVote",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "proposals",
"outputs": [
{
"internalType": "bytes32",
"name": "name",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "voteCount",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposal",
"type": "uint256"
}
],
"name": "vote",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "voters",
"outputs": [
{
"internalType": "uint256",
"name": "weight",
"type": "uint256"
},
{
"internalType": "bool",
"name": "voted",
"type": "bool"
},
{
"internalType": "address",
"name": "delegate",
"type": "address"
},
{
"internalType": "uint256",
"name": "vote",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "winnerName",
"outputs": [
{
"internalType": "bytes32",
"name": "winnerName_",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "winningProposal",
"outputs": [
{
"internalType": "uint256",
"name": "winningProposal_",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.13+commit.abaa5c0e"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "bytes32[]",
"name": "proposalNames",
"type": "bytes32[]"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "chairperson",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
}
],
"name": "delegate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "voter",
"type": "address"
}
],
"name": "giveRightToVote",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "proposals",
"outputs": [
{
"internalType": "bytes32",
"name": "name",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "voteCount",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposal",
"type": "uint256"
}
],
"name": "vote",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "voters",
"outputs": [
{
"internalType": "uint256",
"name": "weight",
"type": "uint256"
},
{
"internalType": "bool",
"name": "voted",
"type": "bool"
},
{
"internalType": "address",
"name": "delegate",
"type": "address"
},
{
"internalType": "uint256",
"name": "vote",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "winnerName",
"outputs": [
{
"internalType": "bytes32",
"name": "winnerName_",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "winningProposal",
"outputs": [
{
"internalType": "uint256",
"name": "winningProposal_",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"details": "Implements voting process along with vote delegation",
"kind": "dev",
"methods": {
"constructor": {
"details": "Create a new ballot to choose one of 'proposalNames'.",
"params": {
"proposalNames": "names of proposals"
}
},
"delegate(address)": {
"details": "Delegate your vote to the voter 'to'.",
"params": {
"to": "address to which vote is delegated"
}
},
"giveRightToVote(address)": {
"details": "Give 'voter' the right to vote on this ballot. May only be called by 'chairperson'.",
"params": {
"voter": "address of voter"
}
},
"vote(uint256)": {
"details": "Give your vote (including votes delegated to you) to proposal 'proposals[proposal].name'.",
"params": {
"proposal": "index of proposal in the proposals array"
}
},
"winnerName()": {
"details": "Calls winningProposal() function to get the index of the winner contained in the proposals array and then",
"returns": {
"winnerName_": "the name of the winner"
}
},
"winningProposal()": {
"details": "Computes the winning proposal taking all previous votes into account.",
"returns": {
"winningProposal_": "index of winning proposal in the proposals array"
}
}
},
"title": "Ballot",
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/3_Ballot.sol": "Ballot"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/3_Ballot.sol": {
"keccak256": "0xdd897b48a563d1d32369fdb327187dfcd2660159cfcd3787196bb6be6a312c8d",
"license": "GPL-3.0",
"urls": [
"bzz-raw://551d7a6d3e2abc66a7b37fbd8b0e4c07b43c72c3b55958e66ac421348311fed4",
"dweb:/ipfs/Qmd4XV9j79GPfv5cgVsg62vKzaLuf6igx7VSW2BKaUyF3w"
]
}
},
"version": 1
}
{
"id": "01c802447b1359ec0776479813f7b880",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.4.26",
"solcLongVersion": "0.4.26+commit.4563c3fc",
"input": {
"language": "Solidity",
"sources": {
"contracts/3_Ballot.sol": {
"content": "pragma solidity ^0.4.17;\n\ncontract Inbox{\n string public message;\n\n function Inbox(string initialMessage)public {\n message = initialMessage;\n }\n function setMessage(string initialMessage)public {\n message = initialMessage;\n } \n function getMessage() public view returns (string) {\n return message;\n } \n\n function doMath(int a, int b) {\n a+b;\n \n }\n}"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"contracts/3_Ballot.sol": {
"Inbox": {
"abi": [
{
"constant": false,
"inputs": [
{
"name": "initialMessage",
"type": "string"
}
],
"name": "setMessage",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "getMessage",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "a",
"type": "int256"
},
{
"name": "b",
"type": "int256"
}
],
"name": "doMath",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "message",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"name": "initialMessage",
"type": "string"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
}
],
"devdoc": {
"methods": {}
},
"evm": {
"assembly": " /* \"contracts/3_Ballot.sol\":26:412 contract Inbox{... */\n mstore(0x40, 0x80)\n /* \"contracts/3_Ballot.sol\":74:159 function Inbox(string initialMessage)public {... */\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_1\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x0\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\ntag_1:\n /* \"contracts/3_Ballot.sol\":74:159 function Inbox(string initialMessage)public {... */\n pop\n mload(0x40)\n sub(codesize, bytecodeSize)\n dup1\n bytecodeSize\n dup4\n codecopy\n dup2\n add\n dup1\n 0x40\n mstore\n dup2\n add\n swap1\n dup1\n dup1\n mload\n dup3\n add\n swap3\n swap2\n swap1\n pop\n pop\n pop\n /* \"contracts/3_Ballot.sol\":138:152 initialMessage */\n dup1\n /* \"contracts/3_Ballot.sol\":128:135 message */\n 0x0\n /* \"contracts/3_Ballot.sol\":128:152 message = initialMessage */\n swap1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n tag_4\n swap3\n swap2\n swap1\n jump\t// in(tag_5)\ntag_4:\n pop\n /* \"contracts/3_Ballot.sol\":74:159 function Inbox(string initialMessage)public {... */\n pop\n /* \"contracts/3_Ballot.sol\":26:412 contract Inbox{... */\n jump(tag_6)\ntag_5:\n dup3\n dup1\n sload\n 0x1\n dup2\n 0x1\n and\n iszero\n 0x100\n mul\n sub\n and\n 0x2\n swap1\n div\n swap1\n 0x0\n mstore\n keccak256(0x0, 0x20)\n swap1\n 0x1f\n add\n 0x20\n swap1\n div\n dup2\n add\n swap3\n dup3\n 0x1f\n lt\n tag_8\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_7)\ntag_8:\n dup3\n dup1\n add\n 0x1\n add\n dup6\n sstore\n dup3\n iszero\n tag_7\n jumpi\n swap2\n dup3\n add\ntag_9:\n dup3\n dup2\n gt\n iszero\n tag_10\n jumpi\n dup3\n mload\n dup3\n sstore\n swap2\n 0x20\n add\n swap2\n swap1\n 0x1\n add\n swap1\n jump(tag_9)\ntag_10:\ntag_7:\n pop\n swap1\n pop\n tag_11\n swap2\n swap1\n jump\t// in(tag_12)\ntag_11:\n pop\n swap1\n jump\t// out\ntag_12:\n tag_13\n swap2\n swap1\ntag_14:\n dup1\n dup3\n gt\n iszero\n tag_15\n jumpi\n 0x0\n dup2\n 0x0\n swap1\n sstore\n pop\n 0x1\n add\n jump(tag_14)\ntag_15:\n pop\n swap1\n jump\ntag_13:\n swap1\n jump\t// out\ntag_6:\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x0\n codecopy\n 0x0\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/3_Ballot.sol\":26:412 contract Inbox{... */\n mstore(0x40, 0x80)\n jumpi(tag_1, lt(calldatasize, 0x4))\n calldataload(0x0)\n 0x100000000000000000000000000000000000000000000000000000000\n swap1\n div\n 0xffffffff\n and\n dup1\n 0x368b8772\n eq\n tag_2\n jumpi\n dup1\n 0xce6d41de\n eq\n tag_3\n jumpi\n dup1\n 0xd545dd8c\n eq\n tag_4\n jumpi\n dup1\n 0xe21f37ce\n eq\n tag_5\n jumpi\n tag_1:\n 0x0\n dup1\n revert\n /* \"contracts/3_Ballot.sol\":164:254 function setMessage(string initialMessage)public {... */\n tag_2:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_6\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x0\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_6:\n /* \"contracts/3_Ballot.sol\":164:254 function setMessage(string initialMessage)public {... */\n pop\n tag_7\n 0x4\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n dup1\n dup1\n calldataload\n swap1\n 0x20\n add\n swap1\n dup3\n add\n dup1\n calldataload\n swap1\n 0x20\n add\n swap1\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 dup3\n add\n swap2\n pop\n pop\n pop\n pop\n pop\n pop\n swap2\n swap3\n swap2\n swap3\n swap1\n pop\n pop\n pop\n jump(tag_8)\n tag_7:\n stop\n /* \"contracts/3_Ballot.sol\":262:344 function getMessage() public view returns (string) {... */\n tag_3:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_9\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x0\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_9:\n /* \"contracts/3_Ballot.sol\":262:344 function getMessage() public view returns (string) {... */\n pop\n tag_10\n jump(tag_11)\n tag_10:\n mload(0x40)\n dup1\n dup1\n 0x20\n add\n dup3\n dup2\n sub\n dup3\n mstore\n dup4\n dup2\n dup2\n mload\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n dup1\n dup4\n dup4\n /* \"--CODEGEN--\":23:24 */\n 0x0\n /* \"--CODEGEN--\":8:108 */\n tag_12:\n /* \"--CODEGEN--\":33:36 */\n dup4\n /* \"--CODEGEN--\":30:31 */\n dup2\n /* \"--CODEGEN--\":27:37 */\n lt\n /* \"--CODEGEN--\":8:108 */\n iszero\n tag_13\n jumpi\n /* \"--CODEGEN--\":99:100 */\n dup1\n /* \"--CODEGEN--\":94:97 */\n dup3\n /* \"--CODEGEN--\":90:101 */\n add\n /* \"--CODEGEN--\":84:102 */\n mload\n /* \"--CODEGEN--\":80:81 */\n dup2\n /* \"--CODEGEN--\":75:78 */\n dup5\n /* \"--CODEGEN--\":71:82 */\n add\n /* \"--CODEGEN--\":64:103 */\n mstore\n /* \"--CODEGEN--\":52:54 */\n 0x20\n /* \"--CODEGEN--\":49:50 */\n dup2\n /* \"--CODEGEN--\":45:55 */\n add\n /* \"--CODEGEN--\":40:55 */\n swap1\n pop\n /* \"--CODEGEN--\":8:108 */\n jump(tag_12)\n tag_13:\n /* \"--CODEGEN--\":12:26 */\n pop\n /* \"contracts/3_Ballot.sol\":262:344 function getMessage() public view returns (string) {... */\n pop\n pop\n pop\n swap1\n pop\n swap1\n dup2\n add\n swap1\n 0x1f\n and\n dup1\n iszero\n tag_15\n jumpi\n dup1\n dup3\n sub\n dup1\n mload\n 0x1\n dup4\n 0x20\n sub\n 0x100\n exp\n sub\n not\n and\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n tag_15:\n pop\n swap3\n pop\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/3_Ballot.sol\":351:410 function doMath(int a, int b) {... */\n tag_4:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_16\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x0\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_16:\n /* \"contracts/3_Ballot.sol\":351:410 function doMath(int a, int b) {... */\n pop\n tag_17\n 0x4\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n dup1\n dup1\n calldataload\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n dup1\n calldataload\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n pop\n pop\n pop\n jump(tag_18)\n tag_17:\n stop\n /* \"contracts/3_Ballot.sol\":46:67 string public message */\n tag_5:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_19\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x0\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_19:\n /* \"contracts/3_Ballot.sol\":46:67 string public message */\n pop\n tag_20\n jump(tag_21)\n tag_20:\n mload(0x40)\n dup1\n dup1\n 0x20\n add\n dup3\n dup2\n sub\n dup3\n mstore\n dup4\n dup2\n dup2\n mload\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n dup1\n dup4\n dup4\n /* \"--CODEGEN--\":23:24 */\n 0x0\n /* \"--CODEGEN--\":8:108 */\n tag_22:\n /* \"--CODEGEN--\":33:36 */\n dup4\n /* \"--CODEGEN--\":30:31 */\n dup2\n /* \"--CODEGEN--\":27:37 */\n lt\n /* \"--CODEGEN--\":8:108 */\n iszero\n tag_23\n jumpi\n /* \"--CODEGEN--\":99:100 */\n dup1\n /* \"--CODEGEN--\":94:97 */\n dup3\n /* \"--CODEGEN--\":90:101 */\n add\n /* \"--CODEGEN--\":84:102 */\n mload\n /* \"--CODEGEN--\":80:81 */\n dup2\n /* \"--CODEGEN--\":75:78 */\n dup5\n /* \"--CODEGEN--\":71:82 */\n add\n /* \"--CODEGEN--\":64:103 */\n mstore\n /* \"--CODEGEN--\":52:54 */\n 0x20\n /* \"--CODEGEN--\":49:50 */\n dup2\n /* \"--CODEGEN--\":45:55 */\n add\n /* \"--CODEGEN--\":40:55 */\n swap1\n pop\n /* \"--CODEGEN--\":8:108 */\n jump(tag_22)\n tag_23:\n /* \"--CODEGEN--\":12:26 */\n pop\n /* \"contracts/3_Ballot.sol\":46:67 string public message */\n pop\n pop\n pop\n swap1\n pop\n swap1\n dup2\n add\n swap1\n 0x1f\n and\n dup1\n iszero\n tag_25\n jumpi\n dup1\n dup3\n sub\n dup1\n mload\n 0x1\n dup4\n 0x20\n sub\n 0x100\n exp\n sub\n not\n and\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n tag_25:\n pop\n swap3\n pop\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/3_Ballot.sol\":164:254 function setMessage(string initialMessage)public {... */\n tag_8:\n /* \"contracts/3_Ballot.sol\":233:247 initialMessage */\n dup1\n /* \"contracts/3_Ballot.sol\":223:230 message */\n 0x0\n /* \"contracts/3_Ballot.sol\":223:247 message = initialMessage */\n swap1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n tag_27\n swap3\n swap2\n swap1\n jump\t// in(tag_28)\n tag_27:\n pop\n /* \"contracts/3_Ballot.sol\":164:254 function setMessage(string initialMessage)public {... */\n pop\n jump\t// out\n /* \"contracts/3_Ballot.sol\":262:344 function getMessage() public view returns (string) {... */\n tag_11:\n /* \"contracts/3_Ballot.sol\":305:311 string */\n 0x60\n /* \"contracts/3_Ballot.sol\":330:337 message */\n 0x0\n /* \"contracts/3_Ballot.sol\":323:337 return message */\n dup1\n sload\n 0x1\n dup2\n 0x1\n and\n iszero\n 0x100\n mul\n sub\n and\n 0x2\n swap1\n div\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 0x1\n dup2\n 0x1\n and\n iszero\n 0x100\n mul\n sub\n and\n 0x2\n swap1\n div\n dup1\n iszero\n tag_30\n jumpi\n dup1\n 0x1f\n lt\n tag_31\n jumpi\n 0x100\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_30)\n tag_31:\n dup3\n add\n swap2\n swap1\n 0x0\n mstore\n keccak256(0x0, 0x20)\n swap1\n tag_32:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x1\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_32\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_30:\n pop\n pop\n pop\n pop\n pop\n swap1\n pop\n /* \"contracts/3_Ballot.sol\":262:344 function getMessage() public view returns (string) {... */\n swap1\n jump\t// out\n /* \"contracts/3_Ballot.sol\":351:410 function doMath(int a, int b) {... */\n tag_18:\n pop\n pop\n jump\t// out\n /* \"contracts/3_Ballot.sol\":46:67 string public message */\n tag_21:\n 0x0\n dup1\n sload\n 0x1\n dup2\n 0x1\n and\n iszero\n 0x100\n mul\n sub\n and\n 0x2\n swap1\n div\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 0x1\n dup2\n 0x1\n and\n iszero\n 0x100\n mul\n sub\n and\n 0x2\n swap1\n div\n dup1\n iszero\n tag_34\n jumpi\n dup1\n 0x1f\n lt\n tag_35\n jumpi\n 0x100\n dup1\n dup4\n sload\n div\n mul\n dup4\n mstore\n swap2\n 0x20\n add\n swap2\n jump(tag_34)\n tag_35:\n dup3\n add\n swap2\n swap1\n 0x0\n mstore\n keccak256(0x0, 0x20)\n swap1\n tag_36:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x1\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_36\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_34:\n pop\n pop\n pop\n pop\n pop\n dup2\n jump\t// out\n /* \"contracts/3_Ballot.sol\":26:412 contract Inbox{... */\n tag_28:\n dup3\n dup1\n sload\n 0x1\n dup2\n 0x1\n and\n iszero\n 0x100\n mul\n sub\n and\n 0x2\n swap1\n div\n swap1\n 0x0\n mstore\n keccak256(0x0, 0x20)\n swap1\n 0x1f\n add\n 0x20\n swap1\n div\n dup2\n add\n swap3\n dup3\n 0x1f\n lt\n tag_38\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_37)\n tag_38:\n dup3\n dup1\n add\n 0x1\n add\n dup6\n sstore\n dup3\n iszero\n tag_37\n jumpi\n swap2\n dup3\n add\n tag_39:\n dup3\n dup2\n gt\n iszero\n tag_40\n jumpi\n dup3\n mload\n dup3\n sstore\n swap2\n 0x20\n add\n swap2\n swap1\n 0x1\n add\n swap1\n jump(tag_39)\n tag_40:\n tag_37:\n pop\n swap1\n pop\n tag_41\n swap2\n swap1\n jump\t// in(tag_42)\n tag_41:\n pop\n swap1\n jump\t// out\n tag_42:\n tag_43\n swap2\n swap1\n tag_44:\n dup1\n dup3\n gt\n iszero\n tag_45\n jumpi\n 0x0\n dup2\n 0x0\n swap1\n sstore\n pop\n 0x1\n add\n jump(tag_44)\n tag_45:\n pop\n swap1\n jump\n tag_43:\n swap1\n jump\t// out\n\n auxdata: 0xa165627a7a723058208363fd1e817040b88bb75ce998a58d4ceb8ac58c65c5560b0506d62a2c93c8460029\n}\n",
"bytecode": {
"linkReferences": {},
"object": "608060405234801561001057600080fd5b5060405161055a38038061055a833981018060405281019080805182019291905050508060009080519060200190610049929190610050565b50506100f5565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061009157805160ff19168380011785556100bf565b828001600101855582156100bf579182015b828111156100be5782518255916020019190600101906100a3565b5b5090506100cc91906100d0565b5090565b6100f291905b808211156100ee5760008160009055506001016100d6565b5090565b90565b610456806101046000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063368b877214610067578063ce6d41de146100d0578063d545dd8c14610160578063e21f37ce14610197575b600080fd5b34801561007357600080fd5b506100ce600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610227565b005b3480156100dc57600080fd5b506100e5610241565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561012557808201518184015260208101905061010a565b50505050905090810190601f1680156101525780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561016c57600080fd5b5061019560048036038101908080359060200190929190803590602001909291905050506102e3565b005b3480156101a357600080fd5b506101ac6102e7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ec5780820151818401526020810190506101d1565b50505050905090810190601f1680156102195780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b806000908051906020019061023d929190610385565b5050565b606060008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102d95780601f106102ae576101008083540402835291602001916102d9565b820191906000526020600020905b8154815290600101906020018083116102bc57829003601f168201915b5050505050905090565b5050565b60008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561037d5780601f106103525761010080835404028352916020019161037d565b820191906000526020600020905b81548152906001019060200180831161036057829003601f168201915b505050505081565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106103c657805160ff19168380011785556103f4565b828001600101855582156103f4579182015b828111156103f35782518255916020019190600101906103d8565b5b5090506104019190610405565b5090565b61042791905b8082111561042357600081600090555060010161040b565b5090565b905600a165627a7a723058208363fd1e817040b88bb75ce998a58d4ceb8ac58c65c5560b0506d62a2c93c8460029",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x55A CODESIZE SUB DUP1 PUSH2 0x55A DUP4 CODECOPY DUP2 ADD DUP1 PUSH1 0x40 MSTORE DUP2 ADD SWAP1 DUP1 DUP1 MLOAD DUP3 ADD SWAP3 SWAP2 SWAP1 POP POP POP DUP1 PUSH1 0x0 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x49 SWAP3 SWAP2 SWAP1 PUSH2 0x50 JUMP JUMPDEST POP POP PUSH2 0xF5 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0x91 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0xBF JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0xBF JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0xBE JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xA3 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0xCC SWAP2 SWAP1 PUSH2 0xD0 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0xF2 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xEE JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0xD6 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0x456 DUP1 PUSH2 0x104 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x368B8772 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0xCE6D41DE EQ PUSH2 0xD0 JUMPI DUP1 PUSH4 0xD545DD8C EQ PUSH2 0x160 JUMPI DUP1 PUSH4 0xE21F37CE EQ PUSH2 0x197 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP3 ADD DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 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 DUP3 ADD SWAP2 POP POP POP POP POP POP SWAP2 SWAP3 SWAP2 SWAP3 SWAP1 POP POP POP PUSH2 0x227 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE5 PUSH2 0x241 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x125 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x10A JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x152 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x16C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x195 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2E3 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1AC PUSH2 0x2E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1EC JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1D1 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x219 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 PUSH1 0x0 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x23D SWAP3 SWAP2 SWAP1 PUSH2 0x385 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV 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 PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x2D9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2AE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2D9 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 0x2BC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV 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 PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x37D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x352 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x37D 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 0x360 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0x3C6 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x3F4 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x3F4 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x3F3 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x3D8 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x401 SWAP2 SWAP1 PUSH2 0x405 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x427 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x423 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x40B JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 DUP4 PUSH4 0xFD1E8170 BLOCKHASH 0xb8 DUP12 0xb7 0x5c 0xe9 SWAP9 0xa5 DUP14 0x4c 0xeb DUP11 0xc5 DUP13 PUSH6 0xC5560B0506D6 0x2a 0x2c SWAP4 0xc8 0x46 STOP 0x29 ",
"sourceMap": "26:386:0:-;;;74:85;8:9:-1;5:2;;;30:1;27;20:12;5:2;74:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;138:14;128:7;:24;;;;;;;;;;;;:::i;:::-;;74:85;26:386;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;"
},
"deployedBytecode": {
"linkReferences": {},
"object": "608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063368b877214610067578063ce6d41de146100d0578063d545dd8c14610160578063e21f37ce14610197575b600080fd5b34801561007357600080fd5b506100ce600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610227565b005b3480156100dc57600080fd5b506100e5610241565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561012557808201518184015260208101905061010a565b50505050905090810190601f1680156101525780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561016c57600080fd5b5061019560048036038101908080359060200190929190803590602001909291905050506102e3565b005b3480156101a357600080fd5b506101ac6102e7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ec5780820151818401526020810190506101d1565b50505050905090810190601f1680156102195780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b806000908051906020019061023d929190610385565b5050565b606060008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102d95780601f106102ae576101008083540402835291602001916102d9565b820191906000526020600020905b8154815290600101906020018083116102bc57829003601f168201915b5050505050905090565b5050565b60008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561037d5780601f106103525761010080835404028352916020019161037d565b820191906000526020600020905b81548152906001019060200180831161036057829003601f168201915b505050505081565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106103c657805160ff19168380011785556103f4565b828001600101855582156103f4579182015b828111156103f35782518255916020019190600101906103d8565b5b5090506104019190610405565b5090565b61042791905b8082111561042357600081600090555060010161040b565b5090565b905600a165627a7a723058208363fd1e817040b88bb75ce998a58d4ceb8ac58c65c5560b0506d62a2c93c8460029",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x368B8772 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0xCE6D41DE EQ PUSH2 0xD0 JUMPI DUP1 PUSH4 0xD545DD8C EQ PUSH2 0x160 JUMPI DUP1 PUSH4 0xE21F37CE EQ PUSH2 0x197 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP3 ADD DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 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 DUP3 ADD SWAP2 POP POP POP POP POP POP SWAP2 SWAP3 SWAP2 SWAP3 SWAP1 POP POP POP PUSH2 0x227 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE5 PUSH2 0x241 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x125 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x10A JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x152 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x16C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x195 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2E3 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1AC PUSH2 0x2E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1EC JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1D1 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x219 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 PUSH1 0x0 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x23D SWAP3 SWAP2 SWAP1 PUSH2 0x385 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV 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 PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x2D9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2AE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2D9 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 0x2BC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV 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 PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x37D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x352 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x37D 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 0x360 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0x3C6 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x3F4 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x3F4 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x3F3 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x3D8 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x401 SWAP2 SWAP1 PUSH2 0x405 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x427 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x423 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x40B JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 DUP4 PUSH4 0xFD1E8170 BLOCKHASH 0xb8 DUP12 0xb7 0x5c 0xe9 SWAP9 0xa5 DUP14 0x4c 0xeb DUP11 0xc5 DUP13 PUSH6 0xC5560B0506D6 0x2a 0x2c SWAP4 0xc8 0x46 STOP 0x29 ",
"sourceMap": "26:386:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;164:90;;8:9:-1;5:2;;;30:1;27;20:12;5:2;164:90:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;262:82;;8:9:-1;5:2;;;30:1;27;20:12;5:2;262:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;262:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;351:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;351:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;46:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;46:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;164:90;233:14;223:7;:24;;;;;;;;;;;;:::i;:::-;;164:90;:::o;262:82::-;305:6;330:7;323:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;262:82;:::o;351:59::-;;;:::o;46:21::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;26:386::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "222000",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"doMath(int256,int256)": "264",
"getMessage()": "infinite",
"message()": "infinite",
"setMessage(string)": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "80"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "40"
},
{
"begin": 26,
"end": 412,
"name": "MSTORE"
},
{
"begin": 74,
"end": 159,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "1"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "1"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 74,
"end": 159,
"name": "POP"
},
{
"begin": 74,
"end": 159,
"name": "PUSH",
"value": "40"
},
{
"begin": 74,
"end": 159,
"name": "MLOAD"
},
{
"begin": 74,
"end": 159,
"name": "PUSHSIZE"
},
{
"begin": 74,
"end": 159,
"name": "CODESIZE"
},
{
"begin": 74,
"end": 159,
"name": "SUB"
},
{
"begin": 74,
"end": 159,
"name": "DUP1"
},
{
"begin": 74,
"end": 159,
"name": "PUSHSIZE"
},
{
"begin": 74,
"end": 159,
"name": "DUP4"
},
{
"begin": 74,
"end": 159,
"name": "CODECOPY"
},
{
"begin": 74,
"end": 159,
"name": "DUP2"
},
{
"begin": 74,
"end": 159,
"name": "ADD"
},
{
"begin": 74,
"end": 159,
"name": "DUP1"
},
{
"begin": 74,
"end": 159,
"name": "PUSH",
"value": "40"
},
{
"begin": 74,
"end": 159,
"name": "MSTORE"
},
{
"begin": 74,
"end": 159,
"name": "DUP2"
},
{
"begin": 74,
"end": 159,
"name": "ADD"
},
{
"begin": 74,
"end": 159,
"name": "SWAP1"
},
{
"begin": 74,
"end": 159,
"name": "DUP1"
},
{
"begin": 74,
"end": 159,
"name": "DUP1"
},
{
"begin": 74,
"end": 159,
"name": "MLOAD"
},
{
"begin": 74,
"end": 159,
"name": "DUP3"
},
{
"begin": 74,
"end": 159,
"name": "ADD"
},
{
"begin": 74,
"end": 159,
"name": "SWAP3"
},
{
"begin": 74,
"end": 159,
"name": "SWAP2"
},
{
"begin": 74,
"end": 159,
"name": "SWAP1"
},
{
"begin": 74,
"end": 159,
"name": "POP"
},
{
"begin": 74,
"end": 159,
"name": "POP"
},
{
"begin": 74,
"end": 159,
"name": "POP"
},
{
"begin": 138,
"end": 152,
"name": "DUP1"
},
{
"begin": 128,
"end": 135,
"name": "PUSH",
"value": "0"
},
{
"begin": 128,
"end": 152,
"name": "SWAP1"
},
{
"begin": 128,
"end": 152,
"name": "DUP1"
},
{
"begin": 128,
"end": 152,
"name": "MLOAD"
},
{
"begin": 128,
"end": 152,
"name": "SWAP1"
},
{
"begin": 128,
"end": 152,
"name": "PUSH",
"value": "20"
},
{
"begin": 128,
"end": 152,
"name": "ADD"
},
{
"begin": 128,
"end": 152,
"name": "SWAP1"
},
{
"begin": 128,
"end": 152,
"name": "PUSH [tag]",
"value": "4"
},
{
"begin": 128,
"end": 152,
"name": "SWAP3"
},
{
"begin": 128,
"end": 152,
"name": "SWAP2"
},
{
"begin": 128,
"end": 152,
"name": "SWAP1"
},
{
"begin": 128,
"end": 152,
"name": "PUSH [tag]",
"value": "5"
},
{
"begin": 128,
"end": 152,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 128,
"end": 152,
"name": "tag",
"value": "4"
},
{
"begin": 128,
"end": 152,
"name": "JUMPDEST"
},
{
"begin": 128,
"end": 152,
"name": "POP"
},
{
"begin": 74,
"end": 159,
"name": "POP"
},
{
"begin": 26,
"end": 412,
"name": "PUSH [tag]",
"value": "6"
},
{
"begin": 26,
"end": 412,
"name": "JUMP"
},
{
"begin": 26,
"end": 412,
"name": "tag",
"value": "5"
},
{
"begin": 26,
"end": 412,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 412,
"name": "DUP3"
},
{
"begin": 26,
"end": 412,
"name": "DUP1"
},
{
"begin": 26,
"end": 412,
"name": "SLOAD"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "1"
},
{
"begin": 26,
"end": 412,
"name": "DUP2"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "1"
},
{
"begin": 26,
"end": 412,
"name": "AND"
},
{
"begin": 26,
"end": 412,
"name": "ISZERO"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "100"
},
{
"begin": 26,
"end": 412,
"name": "MUL"
},
{
"begin": 26,
"end": 412,
"name": "SUB"
},
{
"begin": 26,
"end": 412,
"name": "AND"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "2"
},
{
"begin": 26,
"end": 412,
"name": "SWAP1"
},
{
"begin": 26,
"end": 412,
"name": "DIV"
},
{
"begin": 26,
"end": 412,
"name": "SWAP1"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 412,
"name": "MSTORE"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "20"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 412,
"name": "KECCAK256"
},
{
"begin": 26,
"end": 412,
"name": "SWAP1"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "1F"
},
{
"begin": 26,
"end": 412,
"name": "ADD"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "20"
},
{
"begin": 26,
"end": 412,
"name": "SWAP1"
},
{
"begin": 26,
"end": 412,
"name": "DIV"
},
{
"begin": 26,
"end": 412,
"name": "DUP2"
},
{
"begin": 26,
"end": 412,
"name": "ADD"
},
{
"begin": 26,
"end": 412,
"name": "SWAP3"
},
{
"begin": 26,
"end": 412,
"name": "DUP3"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "1F"
},
{
"begin": 26,
"end": 412,
"name": "LT"
},
{
"begin": 26,
"end": 412,
"name": "PUSH [tag]",
"value": "8"
},
{
"begin": 26,
"end": 412,
"name": "JUMPI"
},
{
"begin": 26,
"end": 412,
"name": "DUP1"
},
{
"begin": 26,
"end": 412,
"name": "MLOAD"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "FF"
},
{
"begin": 26,
"end": 412,
"name": "NOT"
},
{
"begin": 26,
"end": 412,
"name": "AND"
},
{
"begin": 26,
"end": 412,
"name": "DUP4"
},
{
"begin": 26,
"end": 412,
"name": "DUP1"
},
{
"begin": 26,
"end": 412,
"name": "ADD"
},
{
"begin": 26,
"end": 412,
"name": "OR"
},
{
"begin": 26,
"end": 412,
"name": "DUP6"
},
{
"begin": 26,
"end": 412,
"name": "SSTORE"
},
{
"begin": 26,
"end": 412,
"name": "PUSH [tag]",
"value": "7"
},
{
"begin": 26,
"end": 412,
"name": "JUMP"
},
{
"begin": 26,
"end": 412,
"name": "tag",
"value": "8"
},
{
"begin": 26,
"end": 412,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 412,
"name": "DUP3"
},
{
"begin": 26,
"end": 412,
"name": "DUP1"
},
{
"begin": 26,
"end": 412,
"name": "ADD"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "1"
},
{
"begin": 26,
"end": 412,
"name": "ADD"
},
{
"begin": 26,
"end": 412,
"name": "DUP6"
},
{
"begin": 26,
"end": 412,
"name": "SSTORE"
},
{
"begin": 26,
"end": 412,
"name": "DUP3"
},
{
"begin": 26,
"end": 412,
"name": "ISZERO"
},
{
"begin": 26,
"end": 412,
"name": "PUSH [tag]",
"value": "7"
},
{
"begin": 26,
"end": 412,
"name": "JUMPI"
},
{
"begin": 26,
"end": 412,
"name": "SWAP2"
},
{
"begin": 26,
"end": 412,
"name": "DUP3"
},
{
"begin": 26,
"end": 412,
"name": "ADD"
},
{
"begin": 26,
"end": 412,
"name": "tag",
"value": "9"
},
{
"begin": 26,
"end": 412,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 412,
"name": "DUP3"
},
{
"begin": 26,
"end": 412,
"name": "DUP2"
},
{
"begin": 26,
"end": 412,
"name": "GT"
},
{
"begin": 26,
"end": 412,
"name": "ISZERO"
},
{
"begin": 26,
"end": 412,
"name": "PUSH [tag]",
"value": "10"
},
{
"begin": 26,
"end": 412,
"name": "JUMPI"
},
{
"begin": 26,
"end": 412,
"name": "DUP3"
},
{
"begin": 26,
"end": 412,
"name": "MLOAD"
},
{
"begin": 26,
"end": 412,
"name": "DUP3"
},
{
"begin": 26,
"end": 412,
"name": "SSTORE"
},
{
"begin": 26,
"end": 412,
"name": "SWAP2"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "20"
},
{
"begin": 26,
"end": 412,
"name": "ADD"
},
{
"begin": 26,
"end": 412,
"name": "SWAP2"
},
{
"begin": 26,
"end": 412,
"name": "SWAP1"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "1"
},
{
"begin": 26,
"end": 412,
"name": "ADD"
},
{
"begin": 26,
"end": 412,
"name": "SWAP1"
},
{
"begin": 26,
"end": 412,
"name": "PUSH [tag]",
"value": "9"
},
{
"begin": 26,
"end": 412,
"name": "JUMP"
},
{
"begin": 26,
"end": 412,
"name": "tag",
"value": "10"
},
{
"begin": 26,
"end": 412,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 412,
"name": "tag",
"value": "7"
},
{
"begin": 26,
"end": 412,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 412,
"name": "POP"
},
{
"begin": 26,
"end": 412,
"name": "SWAP1"
},
{
"begin": 26,
"end": 412,
"name": "POP"
},
{
"begin": 26,
"end": 412,
"name": "PUSH [tag]",
"value": "11"
},
{
"begin": 26,
"end": 412,
"name": "SWAP2"
},
{
"begin": 26,
"end": 412,
"name": "SWAP1"
},
{
"begin": 26,
"end": 412,
"name": "PUSH [tag]",
"value": "12"
},
{
"begin": 26,
"end": 412,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 26,
"end": 412,
"name": "tag",
"value": "11"
},
{
"begin": 26,
"end": 412,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 412,
"name": "POP"
},
{
"begin": 26,
"end": 412,
"name": "SWAP1"
},
{
"begin": 26,
"end": 412,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 26,
"end": 412,
"name": "tag",
"value": "12"
},
{
"begin": 26,
"end": 412,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 412,
"name": "PUSH [tag]",
"value": "13"
},
{
"begin": 26,
"end": 412,
"name": "SWAP2"
},
{
"begin": 26,
"end": 412,
"name": "SWAP1"
},
{
"begin": 26,
"end": 412,
"name": "tag",
"value": "14"
},
{
"begin": 26,
"end": 412,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 412,
"name": "DUP1"
},
{
"begin": 26,
"end": 412,
"name": "DUP3"
},
{
"begin": 26,
"end": 412,
"name": "GT"
},
{
"begin": 26,
"end": 412,
"name": "ISZERO"
},
{
"begin": 26,
"end": 412,
"name": "PUSH [tag]",
"value": "15"
},
{
"begin": 26,
"end": 412,
"name": "JUMPI"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 412,
"name": "DUP2"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 412,
"name": "SWAP1"
},
{
"begin": 26,
"end": 412,
"name": "SSTORE"
},
{
"begin": 26,
"end": 412,
"name": "POP"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "1"
},
{
"begin": 26,
"end": 412,
"name": "ADD"
},
{
"begin": 26,
"end": 412,
"name": "PUSH [tag]",
"value": "14"
},
{
"begin": 26,
"end": 412,
"name": "JUMP"
},
{
"begin": 26,
"end": 412,
"name": "tag",
"value": "15"
},
{
"begin": 26,
"end": 412,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 412,
"name": "POP"
},
{
"begin": 26,
"end": 412,
"name": "SWAP1"
},
{
"begin": 26,
"end": 412,
"name": "JUMP"
},
{
"begin": 26,
"end": 412,
"name": "tag",
"value": "13"
},
{
"begin": 26,
"end": 412,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 412,
"name": "SWAP1"
},
{
"begin": 26,
"end": 412,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 26,
"end": 412,
"name": "tag",
"value": "6"
},
{
"begin": 26,
"end": 412,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 412,
"name": "PUSH #[$]",
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 26,
"end": 412,
"name": "DUP1"
},
{
"begin": 26,
"end": 412,
"name": "PUSH [$]",
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 412,
"name": "CODECOPY"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 412,
"name": "RETURN"
}
],
".data": {
"0": {
".auxdata": "a165627a7a723058208363fd1e817040b88bb75ce998a58d4ceb8ac58c65c5560b0506d62a2c93c8460029",
".code": [
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "80"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "40"
},
{
"begin": 26,
"end": 412,
"name": "MSTORE"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "4"
},
{
"begin": 26,
"end": 412,
"name": "CALLDATASIZE"
},
{
"begin": 26,
"end": 412,
"name": "LT"
},
{
"begin": 26,
"end": 412,
"name": "PUSH [tag]",
"value": "1"
},
{
"begin": 26,
"end": 412,
"name": "JUMPI"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 412,
"name": "CALLDATALOAD"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 26,
"end": 412,
"name": "SWAP1"
},
{
"begin": 26,
"end": 412,
"name": "DIV"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "FFFFFFFF"
},
{
"begin": 26,
"end": 412,
"name": "AND"
},
{
"begin": 26,
"end": 412,
"name": "DUP1"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "368B8772"
},
{
"begin": 26,
"end": 412,
"name": "EQ"
},
{
"begin": 26,
"end": 412,
"name": "PUSH [tag]",
"value": "2"
},
{
"begin": 26,
"end": 412,
"name": "JUMPI"
},
{
"begin": 26,
"end": 412,
"name": "DUP1"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "CE6D41DE"
},
{
"begin": 26,
"end": 412,
"name": "EQ"
},
{
"begin": 26,
"end": 412,
"name": "PUSH [tag]",
"value": "3"
},
{
"begin": 26,
"end": 412,
"name": "JUMPI"
},
{
"begin": 26,
"end": 412,
"name": "DUP1"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "D545DD8C"
},
{
"begin": 26,
"end": 412,
"name": "EQ"
},
{
"begin": 26,
"end": 412,
"name": "PUSH [tag]",
"value": "4"
},
{
"begin": 26,
"end": 412,
"name": "JUMPI"
},
{
"begin": 26,
"end": 412,
"name": "DUP1"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "E21F37CE"
},
{
"begin": 26,
"end": 412,
"name": "EQ"
},
{
"begin": 26,
"end": 412,
"name": "PUSH [tag]",
"value": "5"
},
{
"begin": 26,
"end": 412,
"name": "JUMPI"
},
{
"begin": 26,
"end": 412,
"name": "tag",
"value": "1"
},
{
"begin": 26,
"end": 412,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 412,
"name": "DUP1"
},
{
"begin": 26,
"end": 412,
"name": "REVERT"
},
{
"begin": 164,
"end": 254,
"name": "tag",
"value": "2"
},
{
"begin": 164,
"end": 254,
"name": "JUMPDEST"
},
{
"begin": 164,
"end": 254,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "6"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "6"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 164,
"end": 254,
"name": "POP"
},
{
"begin": 164,
"end": 254,
"name": "PUSH [tag]",
"value": "7"
},
{
"begin": 164,
"end": 254,
"name": "PUSH",
"value": "4"
},
{
"begin": 164,
"end": 254,
"name": "DUP1"
},
{
"begin": 164,
"end": 254,
"name": "CALLDATASIZE"
},
{
"begin": 164,
"end": 254,
"name": "SUB"
},
{
"begin": 164,
"end": 254,
"name": "DUP2"
},
{
"begin": 164,
"end": 254,
"name": "ADD"
},
{
"begin": 164,
"end": 254,
"name": "SWAP1"
},
{
"begin": 164,
"end": 254,
"name": "DUP1"
},
{
"begin": 164,
"end": 254,
"name": "DUP1"
},
{
"begin": 164,
"end": 254,
"name": "CALLDATALOAD"
},
{
"begin": 164,
"end": 254,
"name": "SWAP1"
},
{
"begin": 164,
"end": 254,
"name": "PUSH",
"value": "20"
},
{
"begin": 164,
"end": 254,
"name": "ADD"
},
{
"begin": 164,
"end": 254,
"name": "SWAP1"
},
{
"begin": 164,
"end": 254,
"name": "DUP3"
},
{
"begin": 164,
"end": 254,
"name": "ADD"
},
{
"begin": 164,
"end": 254,
"name": "DUP1"
},
{
"begin": 164,
"end": 254,
"name": "CALLDATALOAD"
},
{
"begin": 164,
"end": 254,
"name": "SWAP1"
},
{
"begin": 164,
"end": 254,
"name": "PUSH",
"value": "20"
},
{
"begin": 164,
"end": 254,
"name": "ADD"
},
{
"begin": 164,
"end": 254,
"name": "SWAP1"
},
{
"begin": 164,
"end": 254,
"name": "DUP1"
},
{
"begin": 164,
"end": 254,
"name": "DUP1"
},
{
"begin": 164,
"end": 254,
"name": "PUSH",
"value": "1F"
},
{
"begin": 164,
"end": 254,
"name": "ADD"
},
{
"begin": 164,
"end": 254,
"name": "PUSH",
"value": "20"
},
{
"begin": 164,
"end": 254,
"name": "DUP1"
},
{
"begin": 164,
"end": 254,
"name": "SWAP2"
},
{
"begin": 164,
"end": 254,
"name": "DIV"
},
{
"begin": 164,
"end": 254,
"name": "MUL"
},
{
"begin": 164,
"end": 254,
"name": "PUSH",
"value": "20"
},
{
"begin": 164,
"end": 254,
"name": "ADD"
},
{
"begin": 164,
"end": 254,
"name": "PUSH",
"value": "40"
},
{
"begin": 164,
"end": 254,
"name": "MLOAD"
},
{
"begin": 164,
"end": 254,
"name": "SWAP1"
},
{
"begin": 164,
"end": 254,
"name": "DUP2"
},
{
"begin": 164,
"end": 254,
"name": "ADD"
},
{
"begin": 164,
"end": 254,
"name": "PUSH",
"value": "40"
},
{
"begin": 164,
"end": 254,
"name": "MSTORE"
},
{
"begin": 164,
"end": 254,
"name": "DUP1"
},
{
"begin": 164,
"end": 254,
"name": "SWAP4"
},
{
"begin": 164,
"end": 254,
"name": "SWAP3"
},
{
"begin": 164,
"end": 254,
"name": "SWAP2"
},
{
"begin": 164,
"end": 254,
"name": "SWAP1"
},
{
"begin": 164,
"end": 254,
"name": "DUP2"
},
{
"begin": 164,
"end": 254,
"name": "DUP2"
},
{
"begin": 164,
"end": 254,
"name": "MSTORE"
},
{
"begin": 164,
"end": 254,
"name": "PUSH",
"value": "20"
},
{
"begin": 164,
"end": 254,
"name": "ADD"
},
{
"begin": 164,
"end": 254,
"name": "DUP4"
},
{
"begin": 164,
"end": 254,
"name": "DUP4"
},
{
"begin": 164,
"end": 254,
"name": "DUP1"
},
{
"begin": 164,
"end": 254,
"name": "DUP3"
},
{
"begin": 164,
"end": 254,
"name": "DUP5"
},
{
"begin": 164,
"end": 254,
"name": "CALLDATACOPY"
},
{
"begin": 164,
"end": 254,
"name": "DUP3"
},
{
"begin": 164,
"end": 254,
"name": "ADD"
},
{
"begin": 164,
"end": 254,
"name": "SWAP2"
},
{
"begin": 164,
"end": 254,
"name": "POP"
},
{
"begin": 164,
"end": 254,
"name": "POP"
},
{
"begin": 164,
"end": 254,
"name": "POP"
},
{
"begin": 164,
"end": 254,
"name": "POP"
},
{
"begin": 164,
"end": 254,
"name": "POP"
},
{
"begin": 164,
"end": 254,
"name": "POP"
},
{
"begin": 164,
"end": 254,
"name": "SWAP2"
},
{
"begin": 164,
"end": 254,
"name": "SWAP3"
},
{
"begin": 164,
"end": 254,
"name": "SWAP2"
},
{
"begin": 164,
"end": 254,
"name": "SWAP3"
},
{
"begin": 164,
"end": 254,
"name": "SWAP1"
},
{
"begin": 164,
"end": 254,
"name": "POP"
},
{
"begin": 164,
"end": 254,
"name": "POP"
},
{
"begin": 164,
"end": 254,
"name": "POP"
},
{
"begin": 164,
"end": 254,
"name": "PUSH [tag]",
"value": "8"
},
{
"begin": 164,
"end": 254,
"name": "JUMP"
},
{
"begin": 164,
"end": 254,
"name": "tag",
"value": "7"
},
{
"begin": 164,
"end": 254,
"name": "JUMPDEST"
},
{
"begin": 164,
"end": 254,
"name": "STOP"
},
{
"begin": 262,
"end": 344,
"name": "tag",
"value": "3"
},
{
"begin": 262,
"end": 344,
"name": "JUMPDEST"
},
{
"begin": 262,
"end": 344,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "9"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "9"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 262,
"end": 344,
"name": "POP"
},
{
"begin": 262,
"end": 344,
"name": "PUSH [tag]",
"value": "10"
},
{
"begin": 262,
"end": 344,
"name": "PUSH [tag]",
"value": "11"
},
{
"begin": 262,
"end": 344,
"name": "JUMP"
},
{
"begin": 262,
"end": 344,
"name": "tag",
"value": "10"
},
{
"begin": 262,
"end": 344,
"name": "JUMPDEST"
},
{
"begin": 262,
"end": 344,
"name": "PUSH",
"value": "40"
},
{
"begin": 262,
"end": 344,
"name": "MLOAD"
},
{
"begin": 262,
"end": 344,
"name": "DUP1"
},
{
"begin": 262,
"end": 344,
"name": "DUP1"
},
{
"begin": 262,
"end": 344,
"name": "PUSH",
"value": "20"
},
{
"begin": 262,
"end": 344,
"name": "ADD"
},
{
"begin": 262,
"end": 344,
"name": "DUP3"
},
{
"begin": 262,
"end": 344,
"name": "DUP2"
},
{
"begin": 262,
"end": 344,
"name": "SUB"
},
{
"begin": 262,
"end": 344,
"name": "DUP3"
},
{
"begin": 262,
"end": 344,
"name": "MSTORE"
},
{
"begin": 262,
"end": 344,
"name": "DUP4"
},
{
"begin": 262,
"end": 344,
"name": "DUP2"
},
{
"begin": 262,
"end": 344,
"name": "DUP2"
},
{
"begin": 262,
"end": 344,
"name": "MLOAD"
},
{
"begin": 262,
"end": 344,
"name": "DUP2"
},
{
"begin": 262,
"end": 344,
"name": "MSTORE"
},
{
"begin": 262,
"end": 344,
"name": "PUSH",
"value": "20"
},
{
"begin": 262,
"end": 344,
"name": "ADD"
},
{
"begin": 262,
"end": 344,
"name": "SWAP2"
},
{
"begin": 262,
"end": 344,
"name": "POP"
},
{
"begin": 262,
"end": 344,
"name": "DUP1"
},
{
"begin": 262,
"end": 344,
"name": "MLOAD"
},
{
"begin": 262,
"end": 344,
"name": "SWAP1"
},
{
"begin": 262,
"end": 344,
"name": "PUSH",
"value": "20"
},
{
"begin": 262,
"end": 344,
"name": "ADD"
},
{
"begin": 262,
"end": 344,
"name": "SWAP1"
},
{
"begin": 262,
"end": 344,
"name": "DUP1"
},
{
"begin": 262,
"end": 344,
"name": "DUP4"
},
{
"begin": 262,
"end": 344,
"name": "DUP4"
},
{
"begin": 23,
"end": 24,
"name": "PUSH",
"value": "0"
},
{
"begin": 8,
"end": 108,
"name": "tag",
"value": "12"
},
{
"begin": 8,
"end": 108,
"name": "JUMPDEST"
},
{
"begin": 33,
"end": 36,
"name": "DUP4"
},
{
"begin": 30,
"end": 31,
"name": "DUP2"
},
{
"begin": 27,
"end": 37,
"name": "LT"
},
{
"begin": 8,
"end": 108,
"name": "ISZERO"
},
{
"begin": 8,
"end": 108,
"name": "PUSH [tag]",
"value": "13"
},
{
"begin": 8,
"end": 108,
"name": "JUMPI"
},
{
"begin": 99,
"end": 100,
"name": "DUP1"
},
{
"begin": 94,
"end": 97,
"name": "DUP3"
},
{
"begin": 90,
"end": 101,
"name": "ADD"
},
{
"begin": 84,
"end": 102,
"name": "MLOAD"
},
{
"begin": 80,
"end": 81,
"name": "DUP2"
},
{
"begin": 75,
"end": 78,
"name": "DUP5"
},
{
"begin": 71,
"end": 82,
"name": "ADD"
},
{
"begin": 64,
"end": 103,
"name": "MSTORE"
},
{
"begin": 52,
"end": 54,
"name": "PUSH",
"value": "20"
},
{
"begin": 49,
"end": 50,
"name": "DUP2"
},
{
"begin": 45,
"end": 55,
"name": "ADD"
},
{
"begin": 40,
"end": 55,
"name": "SWAP1"
},
{
"begin": 40,
"end": 55,
"name": "POP"
},
{
"begin": 8,
"end": 108,
"name": "PUSH [tag]",
"value": "12"
},
{
"begin": 8,
"end": 108,
"name": "JUMP"
},
{
"begin": 8,
"end": 108,
"name": "tag",
"value": "13"
},
{
"begin": 8,
"end": 108,
"name": "JUMPDEST"
},
{
"begin": 12,
"end": 26,
"name": "POP"
},
{
"begin": 262,
"end": 344,
"name": "POP"
},
{
"begin": 262,
"end": 344,
"name": "POP"
},
{
"begin": 262,
"end": 344,
"name": "POP"
},
{
"begin": 262,
"end": 344,
"name": "SWAP1"
},
{
"begin": 262,
"end": 344,
"name": "POP"
},
{
"begin": 262,
"end": 344,
"name": "SWAP1"
},
{
"begin": 262,
"end": 344,
"name": "DUP2"
},
{
"begin": 262,
"end": 344,
"name": "ADD"
},
{
"begin": 262,
"end": 344,
"name": "SWAP1"
},
{
"begin": 262,
"end": 344,
"name": "PUSH",
"value": "1F"
},
{
"begin": 262,
"end": 344,
"name": "AND"
},
{
"begin": 262,
"end": 344,
"name": "DUP1"
},
{
"begin": 262,
"end": 344,
"name": "ISZERO"
},
{
"begin": 262,
"end": 344,
"name": "PUSH [tag]",
"value": "15"
},
{
"begin": 262,
"end": 344,
"name": "JUMPI"
},
{
"begin": 262,
"end": 344,
"name": "DUP1"
},
{
"begin": 262,
"end": 344,
"name": "DUP3"
},
{
"begin": 262,
"end": 344,
"name": "SUB"
},
{
"begin": 262,
"end": 344,
"name": "DUP1"
},
{
"begin": 262,
"end": 344,
"name": "MLOAD"
},
{
"begin": 262,
"end": 344,
"name": "PUSH",
"value": "1"
},
{
"begin": 262,
"end": 344,
"name": "DUP4"
},
{
"begin": 262,
"end": 344,
"name": "PUSH",
"value": "20"
},
{
"begin": 262,
"end": 344,
"name": "SUB"
},
{
"begin": 262,
"end": 344,
"name": "PUSH",
"value": "100"
},
{
"begin": 262,
"end": 344,
"name": "EXP"
},
{
"begin": 262,
"end": 344,
"name": "SUB"
},
{
"begin": 262,
"end": 344,
"name": "NOT"
},
{
"begin": 262,
"end": 344,
"name": "AND"
},
{
"begin": 262,
"end": 344,
"name": "DUP2"
},
{
"begin": 262,
"end": 344,
"name": "MSTORE"
},
{
"begin": 262,
"end": 344,
"name": "PUSH",
"value": "20"
},
{
"begin": 262,
"end": 344,
"name": "ADD"
},
{
"begin": 262,
"end": 344,
"name": "SWAP2"
},
{
"begin": 262,
"end": 344,
"name": "POP"
},
{
"begin": 262,
"end": 344,
"name": "tag",
"value": "15"
},
{
"begin": 262,
"end": 344,
"name": "JUMPDEST"
},
{
"begin": 262,
"end": 344,
"name": "POP"
},
{
"begin": 262,
"end": 344,
"name": "SWAP3"
},
{
"begin": 262,
"end": 344,
"name": "POP"
},
{
"begin": 262,
"end": 344,
"name": "POP"
},
{
"begin": 262,
"end": 344,
"name": "POP"
},
{
"begin": 262,
"end": 344,
"name": "PUSH",
"value": "40"
},
{
"begin": 262,
"end": 344,
"name": "MLOAD"
},
{
"begin": 262,
"end": 344,
"name": "DUP1"
},
{
"begin": 262,
"end": 344,
"name": "SWAP2"
},
{
"begin": 262,
"end": 344,
"name": "SUB"
},
{
"begin": 262,
"end": 344,
"name": "SWAP1"
},
{
"begin": 262,
"end": 344,
"name": "RETURN"
},
{
"begin": 351,
"end": 410,
"name": "tag",
"value": "4"
},
{
"begin": 351,
"end": 410,
"name": "JUMPDEST"
},
{
"begin": 351,
"end": 410,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "16"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "16"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 351,
"end": 410,
"name": "POP"
},
{
"begin": 351,
"end": 410,
"name": "PUSH [tag]",
"value": "17"
},
{
"begin": 351,
"end": 410,
"name": "PUSH",
"value": "4"
},
{
"begin": 351,
"end": 410,
"name": "DUP1"
},
{
"begin": 351,
"end": 410,
"name": "CALLDATASIZE"
},
{
"begin": 351,
"end": 410,
"name": "SUB"
},
{
"begin": 351,
"end": 410,
"name": "DUP2"
},
{
"begin": 351,
"end": 410,
"name": "ADD"
},
{
"begin": 351,
"end": 410,
"name": "SWAP1"
},
{
"begin": 351,
"end": 410,
"name": "DUP1"
},
{
"begin": 351,
"end": 410,
"name": "DUP1"
},
{
"begin": 351,
"end": 410,
"name": "CALLDATALOAD"
},
{
"begin": 351,
"end": 410,
"name": "SWAP1"
},
{
"begin": 351,
"end": 410,
"name": "PUSH",
"value": "20"
},
{
"begin": 351,
"end": 410,
"name": "ADD"
},
{
"begin": 351,
"end": 410,
"name": "SWAP1"
},
{
"begin": 351,
"end": 410,
"name": "SWAP3"
},
{
"begin": 351,
"end": 410,
"name": "SWAP2"
},
{
"begin": 351,
"end": 410,
"name": "SWAP1"
},
{
"begin": 351,
"end": 410,
"name": "DUP1"
},
{
"begin": 351,
"end": 410,
"name": "CALLDATALOAD"
},
{
"begin": 351,
"end": 410,
"name": "SWAP1"
},
{
"begin": 351,
"end": 410,
"name": "PUSH",
"value": "20"
},
{
"begin": 351,
"end": 410,
"name": "ADD"
},
{
"begin": 351,
"end": 410,
"name": "SWAP1"
},
{
"begin": 351,
"end": 410,
"name": "SWAP3"
},
{
"begin": 351,
"end": 410,
"name": "SWAP2"
},
{
"begin": 351,
"end": 410,
"name": "SWAP1"
},
{
"begin": 351,
"end": 410,
"name": "POP"
},
{
"begin": 351,
"end": 410,
"name": "POP"
},
{
"begin": 351,
"end": 410,
"name": "POP"
},
{
"begin": 351,
"end": 410,
"name": "PUSH [tag]",
"value": "18"
},
{
"begin": 351,
"end": 410,
"name": "JUMP"
},
{
"begin": 351,
"end": 410,
"name": "tag",
"value": "17"
},
{
"begin": 351,
"end": 410,
"name": "JUMPDEST"
},
{
"begin": 351,
"end": 410,
"name": "STOP"
},
{
"begin": 46,
"end": 67,
"name": "tag",
"value": "5"
},
{
"begin": 46,
"end": 67,
"name": "JUMPDEST"
},
{
"begin": 46,
"end": 67,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "19"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "19"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "PUSH [tag]",
"value": "20"
},
{
"begin": 46,
"end": 67,
"name": "PUSH [tag]",
"value": "21"
},
{
"begin": 46,
"end": 67,
"name": "JUMP"
},
{
"begin": 46,
"end": 67,
"name": "tag",
"value": "20"
},
{
"begin": 46,
"end": 67,
"name": "JUMPDEST"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "40"
},
{
"begin": 46,
"end": 67,
"name": "MLOAD"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "20"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "DUP3"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "SUB"
},
{
"begin": 46,
"end": 67,
"name": "DUP3"
},
{
"begin": 46,
"end": 67,
"name": "MSTORE"
},
{
"begin": 46,
"end": 67,
"name": "DUP4"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "MLOAD"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "MSTORE"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "20"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "SWAP2"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "MLOAD"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "20"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "DUP4"
},
{
"begin": 46,
"end": 67,
"name": "DUP4"
},
{
"begin": 23,
"end": 24,
"name": "PUSH",
"value": "0"
},
{
"begin": 8,
"end": 108,
"name": "tag",
"value": "22"
},
{
"begin": 8,
"end": 108,
"name": "JUMPDEST"
},
{
"begin": 33,
"end": 36,
"name": "DUP4"
},
{
"begin": 30,
"end": 31,
"name": "DUP2"
},
{
"begin": 27,
"end": 37,
"name": "LT"
},
{
"begin": 8,
"end": 108,
"name": "ISZERO"
},
{
"begin": 8,
"end": 108,
"name": "PUSH [tag]",
"value": "23"
},
{
"begin": 8,
"end": 108,
"name": "JUMPI"
},
{
"begin": 99,
"end": 100,
"name": "DUP1"
},
{
"begin": 94,
"end": 97,
"name": "DUP3"
},
{
"begin": 90,
"end": 101,
"name": "ADD"
},
{
"begin": 84,
"end": 102,
"name": "MLOAD"
},
{
"begin": 80,
"end": 81,
"name": "DUP2"
},
{
"begin": 75,
"end": 78,
"name": "DUP5"
},
{
"begin": 71,
"end": 82,
"name": "ADD"
},
{
"begin": 64,
"end": 103,
"name": "MSTORE"
},
{
"begin": 52,
"end": 54,
"name": "PUSH",
"value": "20"
},
{
"begin": 49,
"end": 50,
"name": "DUP2"
},
{
"begin": 45,
"end": 55,
"name": "ADD"
},
{
"begin": 40,
"end": 55,
"name": "SWAP1"
},
{
"begin": 40,
"end": 55,
"name": "POP"
},
{
"begin": 8,
"end": 108,
"name": "PUSH [tag]",
"value": "22"
},
{
"begin": 8,
"end": 108,
"name": "JUMP"
},
{
"begin": 8,
"end": 108,
"name": "tag",
"value": "23"
},
{
"begin": 8,
"end": 108,
"name": "JUMPDEST"
},
{
"begin": 12,
"end": 26,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "1F"
},
{
"begin": 46,
"end": 67,
"name": "AND"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "ISZERO"
},
{
"begin": 46,
"end": 67,
"name": "PUSH [tag]",
"value": "25"
},
{
"begin": 46,
"end": 67,
"name": "JUMPI"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "DUP3"
},
{
"begin": 46,
"end": 67,
"name": "SUB"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "MLOAD"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "1"
},
{
"begin": 46,
"end": 67,
"name": "DUP4"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "20"
},
{
"begin": 46,
"end": 67,
"name": "SUB"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "100"
},
{
"begin": 46,
"end": 67,
"name": "EXP"
},
{
"begin": 46,
"end": 67,
"name": "SUB"
},
{
"begin": 46,
"end": 67,
"name": "NOT"
},
{
"begin": 46,
"end": 67,
"name": "AND"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "MSTORE"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "20"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "SWAP2"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "tag",
"value": "25"
},
{
"begin": 46,
"end": 67,
"name": "JUMPDEST"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "SWAP3"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "40"
},
{
"begin": 46,
"end": 67,
"name": "MLOAD"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "SWAP2"
},
{
"begin": 46,
"end": 67,
"name": "SUB"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "RETURN"
},
{
"begin": 164,
"end": 254,
"name": "tag",
"value": "8"
},
{
"begin": 164,
"end": 254,
"name": "JUMPDEST"
},
{
"begin": 233,
"end": 247,
"name": "DUP1"
},
{
"begin": 223,
"end": 230,
"name": "PUSH",
"value": "0"
},
{
"begin": 223,
"end": 247,
"name": "SWAP1"
},
{
"begin": 223,
"end": 247,
"name": "DUP1"
},
{
"begin": 223,
"end": 247,
"name": "MLOAD"
},
{
"begin": 223,
"end": 247,
"name": "SWAP1"
},
{
"begin": 223,
"end": 247,
"name": "PUSH",
"value": "20"
},
{
"begin": 223,
"end": 247,
"name": "ADD"
},
{
"begin": 223,
"end": 247,
"name": "SWAP1"
},
{
"begin": 223,
"end": 247,
"name": "PUSH [tag]",
"value": "27"
},
{
"begin": 223,
"end": 247,
"name": "SWAP3"
},
{
"begin": 223,
"end": 247,
"name": "SWAP2"
},
{
"begin": 223,
"end": 247,
"name": "SWAP1"
},
{
"begin": 223,
"end": 247,
"name": "PUSH [tag]",
"value": "28"
},
{
"begin": 223,
"end": 247,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 223,
"end": 247,
"name": "tag",
"value": "27"
},
{
"begin": 223,
"end": 247,
"name": "JUMPDEST"
},
{
"begin": 223,
"end": 247,
"name": "POP"
},
{
"begin": 164,
"end": 254,
"name": "POP"
},
{
"begin": 164,
"end": 254,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 262,
"end": 344,
"name": "tag",
"value": "11"
},
{
"begin": 262,
"end": 344,
"name": "JUMPDEST"
},
{
"begin": 305,
"end": 311,
"name": "PUSH",
"value": "60"
},
{
"begin": 330,
"end": 337,
"name": "PUSH",
"value": "0"
},
{
"begin": 323,
"end": 337,
"name": "DUP1"
},
{
"begin": 323,
"end": 337,
"name": "SLOAD"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "1"
},
{
"begin": 323,
"end": 337,
"name": "DUP2"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "1"
},
{
"begin": 323,
"end": 337,
"name": "AND"
},
{
"begin": 323,
"end": 337,
"name": "ISZERO"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "100"
},
{
"begin": 323,
"end": 337,
"name": "MUL"
},
{
"begin": 323,
"end": 337,
"name": "SUB"
},
{
"begin": 323,
"end": 337,
"name": "AND"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "2"
},
{
"begin": 323,
"end": 337,
"name": "SWAP1"
},
{
"begin": 323,
"end": 337,
"name": "DIV"
},
{
"begin": 323,
"end": 337,
"name": "DUP1"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "1F"
},
{
"begin": 323,
"end": 337,
"name": "ADD"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "20"
},
{
"begin": 323,
"end": 337,
"name": "DUP1"
},
{
"begin": 323,
"end": 337,
"name": "SWAP2"
},
{
"begin": 323,
"end": 337,
"name": "DIV"
},
{
"begin": 323,
"end": 337,
"name": "MUL"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "20"
},
{
"begin": 323,
"end": 337,
"name": "ADD"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "40"
},
{
"begin": 323,
"end": 337,
"name": "MLOAD"
},
{
"begin": 323,
"end": 337,
"name": "SWAP1"
},
{
"begin": 323,
"end": 337,
"name": "DUP2"
},
{
"begin": 323,
"end": 337,
"name": "ADD"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "40"
},
{
"begin": 323,
"end": 337,
"name": "MSTORE"
},
{
"begin": 323,
"end": 337,
"name": "DUP1"
},
{
"begin": 323,
"end": 337,
"name": "SWAP3"
},
{
"begin": 323,
"end": 337,
"name": "SWAP2"
},
{
"begin": 323,
"end": 337,
"name": "SWAP1"
},
{
"begin": 323,
"end": 337,
"name": "DUP2"
},
{
"begin": 323,
"end": 337,
"name": "DUP2"
},
{
"begin": 323,
"end": 337,
"name": "MSTORE"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "20"
},
{
"begin": 323,
"end": 337,
"name": "ADD"
},
{
"begin": 323,
"end": 337,
"name": "DUP3"
},
{
"begin": 323,
"end": 337,
"name": "DUP1"
},
{
"begin": 323,
"end": 337,
"name": "SLOAD"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "1"
},
{
"begin": 323,
"end": 337,
"name": "DUP2"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "1"
},
{
"begin": 323,
"end": 337,
"name": "AND"
},
{
"begin": 323,
"end": 337,
"name": "ISZERO"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "100"
},
{
"begin": 323,
"end": 337,
"name": "MUL"
},
{
"begin": 323,
"end": 337,
"name": "SUB"
},
{
"begin": 323,
"end": 337,
"name": "AND"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "2"
},
{
"begin": 323,
"end": 337,
"name": "SWAP1"
},
{
"begin": 323,
"end": 337,
"name": "DIV"
},
{
"begin": 323,
"end": 337,
"name": "DUP1"
},
{
"begin": 323,
"end": 337,
"name": "ISZERO"
},
{
"begin": 323,
"end": 337,
"name": "PUSH [tag]",
"value": "30"
},
{
"begin": 323,
"end": 337,
"name": "JUMPI"
},
{
"begin": 323,
"end": 337,
"name": "DUP1"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "1F"
},
{
"begin": 323,
"end": 337,
"name": "LT"
},
{
"begin": 323,
"end": 337,
"name": "PUSH [tag]",
"value": "31"
},
{
"begin": 323,
"end": 337,
"name": "JUMPI"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "100"
},
{
"begin": 323,
"end": 337,
"name": "DUP1"
},
{
"begin": 323,
"end": 337,
"name": "DUP4"
},
{
"begin": 323,
"end": 337,
"name": "SLOAD"
},
{
"begin": 323,
"end": 337,
"name": "DIV"
},
{
"begin": 323,
"end": 337,
"name": "MUL"
},
{
"begin": 323,
"end": 337,
"name": "DUP4"
},
{
"begin": 323,
"end": 337,
"name": "MSTORE"
},
{
"begin": 323,
"end": 337,
"name": "SWAP2"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "20"
},
{
"begin": 323,
"end": 337,
"name": "ADD"
},
{
"begin": 323,
"end": 337,
"name": "SWAP2"
},
{
"begin": 323,
"end": 337,
"name": "PUSH [tag]",
"value": "30"
},
{
"begin": 323,
"end": 337,
"name": "JUMP"
},
{
"begin": 323,
"end": 337,
"name": "tag",
"value": "31"
},
{
"begin": 323,
"end": 337,
"name": "JUMPDEST"
},
{
"begin": 323,
"end": 337,
"name": "DUP3"
},
{
"begin": 323,
"end": 337,
"name": "ADD"
},
{
"begin": 323,
"end": 337,
"name": "SWAP2"
},
{
"begin": 323,
"end": 337,
"name": "SWAP1"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "0"
},
{
"begin": 323,
"end": 337,
"name": "MSTORE"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "20"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "0"
},
{
"begin": 323,
"end": 337,
"name": "KECCAK256"
},
{
"begin": 323,
"end": 337,
"name": "SWAP1"
},
{
"begin": 323,
"end": 337,
"name": "tag",
"value": "32"
},
{
"begin": 323,
"end": 337,
"name": "JUMPDEST"
},
{
"begin": 323,
"end": 337,
"name": "DUP2"
},
{
"begin": 323,
"end": 337,
"name": "SLOAD"
},
{
"begin": 323,
"end": 337,
"name": "DUP2"
},
{
"begin": 323,
"end": 337,
"name": "MSTORE"
},
{
"begin": 323,
"end": 337,
"name": "SWAP1"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "1"
},
{
"begin": 323,
"end": 337,
"name": "ADD"
},
{
"begin": 323,
"end": 337,
"name": "SWAP1"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "20"
},
{
"begin": 323,
"end": 337,
"name": "ADD"
},
{
"begin": 323,
"end": 337,
"name": "DUP1"
},
{
"begin": 323,
"end": 337,
"name": "DUP4"
},
{
"begin": 323,
"end": 337,
"name": "GT"
},
{
"begin": 323,
"end": 337,
"name": "PUSH [tag]",
"value": "32"
},
{
"begin": 323,
"end": 337,
"name": "JUMPI"
},
{
"begin": 323,
"end": 337,
"name": "DUP3"
},
{
"begin": 323,
"end": 337,
"name": "SWAP1"
},
{
"begin": 323,
"end": 337,
"name": "SUB"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "1F"
},
{
"begin": 323,
"end": 337,
"name": "AND"
},
{
"begin": 323,
"end": 337,
"name": "DUP3"
},
{
"begin": 323,
"end": 337,
"name": "ADD"
},
{
"begin": 323,
"end": 337,
"name": "SWAP2"
},
{
"begin": 323,
"end": 337,
"name": "tag",
"value": "30"
},
{
"begin": 323,
"end": 337,
"name": "JUMPDEST"
},
{
"begin": 323,
"end": 337,
"name": "POP"
},
{
"begin": 323,
"end": 337,
"name": "POP"
},
{
"begin": 323,
"end": 337,
"name": "POP"
},
{
"begin": 323,
"end": 337,
"name": "POP"
},
{
"begin": 323,
"end": 337,
"name": "POP"
},
{
"begin": 323,
"end": 337,
"name": "SWAP1"
},
{
"begin": 323,
"end": 337,
"name": "POP"
},
{
"begin": 262,
"end": 344,
"name": "SWAP1"
},
{
"begin": 262,
"end": 344,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 351,
"end": 410,
"name": "tag",
"value": "18"
},
{
"begin": 351,
"end": 410,
"name": "JUMPDEST"
},
{
"begin": 351,
"end": 410,
"name": "POP"
},
{
"begin": 351,
"end": 410,
"name": "POP"
},
{
"begin": 351,
"end": 410,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 46,
"end": 67,
"name": "tag",
"value": "21"
},
{
"begin": 46,
"end": 67,
"name": "JUMPDEST"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "0"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "SLOAD"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "1"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "1"
},
{
"begin": 46,
"end": 67,
"name": "AND"
},
{
"begin": 46,
"end": 67,
"name": "ISZERO"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "100"
},
{
"begin": 46,
"end": 67,
"name": "MUL"
},
{
"begin": 46,
"end": 67,
"name": "SUB"
},
{
"begin": 46,
"end": 67,
"name": "AND"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "2"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "DIV"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "1F"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "20"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "SWAP2"
},
{
"begin": 46,
"end": 67,
"name": "DIV"
},
{
"begin": 46,
"end": 67,
"name": "MUL"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "20"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "40"
},
{
"begin": 46,
"end": 67,
"name": "MLOAD"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "40"
},
{
"begin": 46,
"end": 67,
"name": "MSTORE"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "SWAP3"
},
{
"begin": 46,
"end": 67,
"name": "SWAP2"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "MSTORE"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "20"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "DUP3"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "SLOAD"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "1"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "1"
},
{
"begin": 46,
"end": 67,
"name": "AND"
},
{
"begin": 46,
"end": 67,
"name": "ISZERO"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "100"
},
{
"begin": 46,
"end": 67,
"name": "MUL"
},
{
"begin": 46,
"end": 67,
"name": "SUB"
},
{
"begin": 46,
"end": 67,
"name": "AND"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "2"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "DIV"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "ISZERO"
},
{
"begin": 46,
"end": 67,
"name": "PUSH [tag]",
"value": "34"
},
{
"begin": 46,
"end": 67,
"name": "JUMPI"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "1F"
},
{
"begin": 46,
"end": 67,
"name": "LT"
},
{
"begin": 46,
"end": 67,
"name": "PUSH [tag]",
"value": "35"
},
{
"begin": 46,
"end": 67,
"name": "JUMPI"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "100"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "DUP4"
},
{
"begin": 46,
"end": 67,
"name": "SLOAD"
},
{
"begin": 46,
"end": 67,
"name": "DIV"
},
{
"begin": 46,
"end": 67,
"name": "MUL"
},
{
"begin": 46,
"end": 67,
"name": "DUP4"
},
{
"begin": 46,
"end": 67,
"name": "MSTORE"
},
{
"begin": 46,
"end": 67,
"name": "SWAP2"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "20"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "SWAP2"
},
{
"begin": 46,
"end": 67,
"name": "PUSH [tag]",
"value": "34"
},
{
"begin": 46,
"end": 67,
"name": "JUMP"
},
{
"begin": 46,
"end": 67,
"name": "tag",
"value": "35"
},
{
"begin": 46,
"end": 67,
"name": "JUMPDEST"
},
{
"begin": 46,
"end": 67,
"name": "DUP3"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "SWAP2"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "0"
},
{
"begin": 46,
"end": 67,
"name": "MSTORE"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "20"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "0"
},
{
"begin": 46,
"end": 67,
"name": "KECCAK256"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "tag",
"value": "36"
},
{
"begin": 46,
"end": 67,
"name": "JUMPDEST"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "SLOAD"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "MSTORE"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "1"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "20"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "DUP4"
},
{
"begin": 46,
"end": 67,
"name": "GT"
},
{
"begin": 46,
"end": 67,
"name": "PUSH [tag]",
"value": "36"
},
{
"begin": 46,
"end": 67,
"name": "JUMPI"
},
{
"begin": 46,
"end": 67,
"name": "DUP3"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "SUB"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "1F"
},
{
"begin": 46,
"end": 67,
"name": "AND"
},
{
"begin": 46,
"end": 67,
"name": "DUP3"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "SWAP2"
},
{
"begin": 46,
"end": 67,
"name": "tag",
"value": "34"
},
{
"begin": 46,
"end": 67,
"name": "JUMPDEST"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 26,
"end": 412,
"name": "tag",
"value": "28"
},
{
"begin": 26,
"end": 412,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 412,
"name": "DUP3"
},
{
"begin": 26,
"end": 412,
"name": "DUP1"
},
{
"begin": 26,
"end": 412,
"name": "SLOAD"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "1"
},
{
"begin": 26,
"end": 412,
"name": "DUP2"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "1"
},
{
"begin": 26,
"end": 412,
"name": "AND"
},
{
"begin": 26,
"end": 412,
"name": "ISZERO"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "100"
},
{
"begin": 26,
"end": 412,
"name": "MUL"
},
{
"begin": 26,
"end": 412,
"name": "SUB"
},
{
"begin": 26,
"end": 412,
"name": "AND"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "2"
},
{
"begin": 26,
"end": 412,
"name": "SWAP1"
},
{
"begin": 26,
"end": 412,
"name": "DIV"
},
{
"begin": 26,
"end": 412,
"name": "SWAP1"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 412,
"name": "MSTORE"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "20"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 412,
"name": "KECCAK256"
},
{
"begin": 26,
"end": 412,
"name": "SWAP1"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "1F"
},
{
"begin": 26,
"end": 412,
"name": "ADD"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "20"
},
{
"begin": 26,
"end": 412,
"name": "SWAP1"
},
{
"begin": 26,
"end": 412,
"name": "DIV"
},
{
"begin": 26,
"end": 412,
"name": "DUP2"
},
{
"begin": 26,
"end": 412,
"name": "ADD"
},
{
"begin": 26,
"end": 412,
"name": "SWAP3"
},
{
"begin": 26,
"end": 412,
"name": "DUP3"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "1F"
},
{
"begin": 26,
"end": 412,
"name": "LT"
},
{
"begin": 26,
"end": 412,
"name": "PUSH [tag]",
"value": "38"
},
{
"begin": 26,
"end": 412,
"name": "JUMPI"
},
{
"begin": 26,
"end": 412,
"name": "DUP1"
},
{
"begin": 26,
"end": 412,
"name": "MLOAD"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "FF"
},
{
"begin": 26,
"end": 412,
"name": "NOT"
},
{
"begin": 26,
"end": 412,
"name": "AND"
},
{
"begin": 26,
"end": 412,
"name": "DUP4"
},
{
"begin": 26,
"end": 412,
"name": "DUP1"
},
{
"begin": 26,
"end": 412,
"name": "ADD"
},
{
"begin": 26,
"end": 412,
"name": "OR"
},
{
"begin": 26,
"end": 412,
"name": "DUP6"
},
{
"begin": 26,
"end": 412,
"name": "SSTORE"
},
{
"begin": 26,
"end": 412,
"name": "PUSH [tag]",
"value": "37"
},
{
"begin": 26,
"end": 412,
"name": "JUMP"
},
{
"begin": 26,
"end": 412,
"name": "tag",
"value": "38"
},
{
"begin": 26,
"end": 412,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 412,
"name": "DUP3"
},
{
"begin": 26,
"end": 412,
"name": "DUP1"
},
{
"begin": 26,
"end": 412,
"name": "ADD"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "1"
},
{
"begin": 26,
"end": 412,
"name": "ADD"
},
{
"begin": 26,
"end": 412,
"name": "DUP6"
},
{
"begin": 26,
"end": 412,
"name": "SSTORE"
},
{
"begin": 26,
"end": 412,
"name": "DUP3"
},
{
"begin": 26,
"end": 412,
"name": "ISZERO"
},
{
"begin": 26,
"end": 412,
"name": "PUSH [tag]",
"value": "37"
},
{
"begin": 26,
"end": 412,
"name": "JUMPI"
},
{
"begin": 26,
"end": 412,
"name": "SWAP2"
},
{
"begin": 26,
"end": 412,
"name": "DUP3"
},
{
"begin": 26,
"end": 412,
"name": "ADD"
},
{
"begin": 26,
"end": 412,
"name": "tag",
"value": "39"
},
{
"begin": 26,
"end": 412,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 412,
"name": "DUP3"
},
{
"begin": 26,
"end": 412,
"name": "DUP2"
},
{
"begin": 26,
"end": 412,
"name": "GT"
},
{
"begin": 26,
"end": 412,
"name": "ISZERO"
},
{
"begin": 26,
"end": 412,
"name": "PUSH [tag]",
"value": "40"
},
{
"begin": 26,
"end": 412,
"name": "JUMPI"
},
{
"begin": 26,
"end": 412,
"name": "DUP3"
},
{
"begin": 26,
"end": 412,
"name": "MLOAD"
},
{
"begin": 26,
"end": 412,
"name": "DUP3"
},
{
"begin": 26,
"end": 412,
"name": "SSTORE"
},
{
"begin": 26,
"end": 412,
"name": "SWAP2"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "20"
},
{
"begin": 26,
"end": 412,
"name": "ADD"
},
{
"begin": 26,
"end": 412,
"name": "SWAP2"
},
{
"begin": 26,
"end": 412,
"name": "SWAP1"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "1"
},
{
"begin": 26,
"end": 412,
"name": "ADD"
},
{
"begin": 26,
"end": 412,
"name": "SWAP1"
},
{
"begin": 26,
"end": 412,
"name": "PUSH [tag]",
"value": "39"
},
{
"begin": 26,
"end": 412,
"name": "JUMP"
},
{
"begin": 26,
"end": 412,
"name": "tag",
"value": "40"
},
{
"begin": 26,
"end": 412,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 412,
"name": "tag",
"value": "37"
},
{
"begin": 26,
"end": 412,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 412,
"name": "POP"
},
{
"begin": 26,
"end": 412,
"name": "SWAP1"
},
{
"begin": 26,
"end": 412,
"name": "POP"
},
{
"begin": 26,
"end": 412,
"name": "PUSH [tag]",
"value": "41"
},
{
"begin": 26,
"end": 412,
"name": "SWAP2"
},
{
"begin": 26,
"end": 412,
"name": "SWAP1"
},
{
"begin": 26,
"end": 412,
"name": "PUSH [tag]",
"value": "42"
},
{
"begin": 26,
"end": 412,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 26,
"end": 412,
"name": "tag",
"value": "41"
},
{
"begin": 26,
"end": 412,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 412,
"name": "POP"
},
{
"begin": 26,
"end": 412,
"name": "SWAP1"
},
{
"begin": 26,
"end": 412,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 26,
"end": 412,
"name": "tag",
"value": "42"
},
{
"begin": 26,
"end": 412,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 412,
"name": "PUSH [tag]",
"value": "43"
},
{
"begin": 26,
"end": 412,
"name": "SWAP2"
},
{
"begin": 26,
"end": 412,
"name": "SWAP1"
},
{
"begin": 26,
"end": 412,
"name": "tag",
"value": "44"
},
{
"begin": 26,
"end": 412,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 412,
"name": "DUP1"
},
{
"begin": 26,
"end": 412,
"name": "DUP3"
},
{
"begin": 26,
"end": 412,
"name": "GT"
},
{
"begin": 26,
"end": 412,
"name": "ISZERO"
},
{
"begin": 26,
"end": 412,
"name": "PUSH [tag]",
"value": "45"
},
{
"begin": 26,
"end": 412,
"name": "JUMPI"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 412,
"name": "DUP2"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 412,
"name": "SWAP1"
},
{
"begin": 26,
"end": 412,
"name": "SSTORE"
},
{
"begin": 26,
"end": 412,
"name": "POP"
},
{
"begin": 26,
"end": 412,
"name": "PUSH",
"value": "1"
},
{
"begin": 26,
"end": 412,
"name": "ADD"
},
{
"begin": 26,
"end": 412,
"name": "PUSH [tag]",
"value": "44"
},
{
"begin": 26,
"end": 412,
"name": "JUMP"
},
{
"begin": 26,
"end": 412,
"name": "tag",
"value": "45"
},
{
"begin": 26,
"end": 412,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 412,
"name": "POP"
},
{
"begin": 26,
"end": 412,
"name": "SWAP1"
},
{
"begin": 26,
"end": 412,
"name": "JUMP"
},
{
"begin": 26,
"end": 412,
"name": "tag",
"value": "43"
},
{
"begin": 26,
"end": 412,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 412,
"name": "SWAP1"
},
{
"begin": 26,
"end": 412,
"name": "JUMP",
"value": "[out]"
}
]
}
}
},
"methodIdentifiers": {
"doMath(int256,int256)": "d545dd8c",
"getMessage()": "ce6d41de",
"message()": "e21f37ce",
"setMessage(string)": "368b8772"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.4.26+commit.4563c3fc\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"initialMessage\",\"type\":\"string\"}],\"name\":\"setMessage\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getMessage\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"a\",\"type\":\"int256\"},{\"name\":\"b\",\"type\":\"int256\"}],\"name\":\"doMath\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"message\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"initialMessage\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"contracts/3_Ballot.sol\":\"Inbox\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/3_Ballot.sol\":{\"keccak256\":\"0x566f5b1d49bc04da73558f0243fcec92f5f9ad7bba02b64b667ea265514d68a1\",\"urls\":[\"bzzr://761ab284b193104e16f38911853a5c060a07e22d502a6f0efc867ce9841f9279\"]}},\"version\":1}",
"userdoc": {
"methods": {}
}
}
}
},
"errors": [
{
"component": "general",
"formattedMessage": "contracts/3_Ballot.sol:6:5: Warning: Defining constructors as functions with the same name as the contract is deprecated. Use \"constructor(...) { ... }\" instead.\n function Inbox(string initialMessage)public {\n ^ (Relevant source part starts here and spans across multiple lines).\n",
"message": "Defining constructors as functions with the same name as the contract is deprecated. Use \"constructor(...) { ... }\" instead.",
"severity": "warning",
"sourceLocation": {
"end": 159,
"file": "contracts/3_Ballot.sol",
"start": 74
},
"type": "Warning"
},
{
"component": "general",
"formattedMessage": "contracts/3_Ballot.sol:16:5: Warning: No visibility specified. Defaulting to \"public\". \n function doMath(int a, int b) {\n ^ (Relevant source part starts here and spans across multiple lines).\n",
"message": "No visibility specified. Defaulting to \"public\". ",
"severity": "warning",
"sourceLocation": {
"end": 410,
"file": "contracts/3_Ballot.sol",
"start": 351
},
"type": "Warning"
},
{
"component": "general",
"formattedMessage": "contracts/3_Ballot.sol:16:5: Warning: Function state mutability can be restricted to pure\n function doMath(int a, int b) {\n ^ (Relevant source part starts here and spans across multiple lines).\n",
"message": "Function state mutability can be restricted to pure",
"severity": "warning",
"sourceLocation": {
"end": 410,
"file": "contracts/3_Ballot.sol",
"start": 351
},
"type": "Warning"
}
],
"sources": {
"contracts/3_Ballot.sol": {
"ast": {
"absolutePath": "contracts/3_Ballot.sol",
"exportedSymbols": {
"Inbox": [
44
]
},
"id": 45,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.4",
".17"
],
"nodeType": "PragmaDirective",
"src": "0:24:0"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 44,
"linearizedBaseContracts": [
44
],
"name": "Inbox",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 3,
"name": "message",
"nodeType": "VariableDeclaration",
"scope": 44,
"src": "46:21:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string"
},
"typeName": {
"id": 2,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "46:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "public"
},
{
"body": {
"id": 12,
"nodeType": "Block",
"src": "118:41:0",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 10,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 8,
"name": "message",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "128:7:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 9,
"name": "initialMessage",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5,
"src": "138:14:0",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "128:24:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"id": 11,
"nodeType": "ExpressionStatement",
"src": "128:24:0"
}
]
},
"documentation": null,
"id": 13,
"implemented": true,
"isConstructor": true,
"isDeclaredConst": false,
"modifiers": [],
"name": "Inbox",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 6,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5,
"name": "initialMessage",
"nodeType": "VariableDeclaration",
"scope": 13,
"src": "89:21:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 4,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "89:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "88:23:0"
},
"payable": false,
"returnParameters": {
"id": 7,
"nodeType": "ParameterList",
"parameters": [],
"src": "118:0:0"
},
"scope": 44,
"src": "74:85:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 22,
"nodeType": "Block",
"src": "213:41:0",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 20,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 18,
"name": "message",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "223:7:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 19,
"name": "initialMessage",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 15,
"src": "233:14:0",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "223:24:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"id": 21,
"nodeType": "ExpressionStatement",
"src": "223:24:0"
}
]
},
"documentation": null,
"id": 23,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "setMessage",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 16,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 15,
"name": "initialMessage",
"nodeType": "VariableDeclaration",
"scope": 23,
"src": "184:21:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 14,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "184:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "183:23:0"
},
"payable": false,
"returnParameters": {
"id": 17,
"nodeType": "ParameterList",
"parameters": [],
"src": "213:0:0"
},
"scope": 44,
"src": "164:90:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 30,
"nodeType": "Block",
"src": "313:31:0",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 28,
"name": "message",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "330:7:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"functionReturnParameters": 27,
"id": 29,
"nodeType": "Return",
"src": "323:14:0"
}
]
},
"documentation": null,
"id": 31,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getMessage",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 24,
"nodeType": "ParameterList",
"parameters": [],
"src": "281:2:0"
},
"payable": false,
"returnParameters": {
"id": 27,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 26,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 31,
"src": "305:6:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 25,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "305:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "304:8:0"
},
"scope": 44,
"src": "262:82:0",
"stateMutability": "view",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 42,
"nodeType": "Block",
"src": "381:29:0",
"statements": [
{
"expression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"id": 40,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 38,
"name": "a",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 33,
"src": "391:1:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"id": 39,
"name": "b",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 35,
"src": "393:1:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"src": "391:3:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"id": 41,
"nodeType": "ExpressionStatement",
"src": "391:3:0"
}
]
},
"documentation": null,
"id": 43,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "doMath",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 36,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 33,
"name": "a",
"nodeType": "VariableDeclaration",
"scope": 43,
"src": "367:5:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"typeName": {
"id": 32,
"name": "int",
"nodeType": "ElementaryTypeName",
"src": "367:3:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 35,
"name": "b",
"nodeType": "VariableDeclaration",
"scope": 43,
"src": "374:5:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"typeName": {
"id": 34,
"name": "int",
"nodeType": "ElementaryTypeName",
"src": "374:3:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "366:14:0"
},
"payable": false,
"returnParameters": {
"id": 37,
"nodeType": "ParameterList",
"parameters": [],
"src": "381:0:0"
},
"scope": 44,
"src": "351:59:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
}
],
"scope": 45,
"src": "26:386:0"
}
],
"src": "0:412:0"
},
"id": 0
}
}
}
}
{
"id": "094eeab8d5e8deb9cc2c471daf5c0967",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.4.26",
"solcLongVersion": "0.4.26+commit.4563c3fc",
"input": {
"language": "Solidity",
"sources": {
"contracts/3_Ballot.sol": {
"content": "pragma solidity ^0.4.17;\n\ncontract Inbox{\n \n}"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"contracts/3_Ballot.sol": {
"Inbox": {
"abi": [],
"devdoc": {
"methods": {}
},
"evm": {
"assembly": " /* \"contracts/3_Ballot.sol\":26:48 contract Inbox{... */\n mstore(0x40, 0x80)\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_1\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x0\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\ntag_1:\n /* \"contracts/3_Ballot.sol\":26:48 contract Inbox{... */\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x0\n codecopy\n 0x0\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/3_Ballot.sol\":26:48 contract Inbox{... */\n mstore(0x40, 0x80)\n 0x0\n dup1\n revert\n\n auxdata: 0xa165627a7a72305820dc6b7ecdfc815ef742188920671766a41ea815880839dd5ea9e54434576a10960029\n}\n",
"bytecode": {
"linkReferences": {},
"object": "6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a72305820dc6b7ecdfc815ef742188920671766a41ea815880839dd5ea9e54434576a10960029",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x35 DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xdc PUSH12 0x7ECDFC815EF7421889206717 PUSH7 0xA41EA815880839 0xdd 0x5e 0xa9 0xe5 DIFFICULTY CALLVALUE JUMPI PUSH11 0x1096002900000000000000 ",
"sourceMap": "26:22:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26:22:0;;;;;;;"
},
"deployedBytecode": {
"linkReferences": {},
"object": "6080604052600080fd00a165627a7a72305820dc6b7ecdfc815ef742188920671766a41ea815880839dd5ea9e54434576a10960029",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xdc PUSH12 0x7ECDFC815EF7421889206717 PUSH7 0xA41EA815880839 0xdd 0x5e 0xa9 0xe5 DIFFICULTY CALLVALUE JUMPI PUSH11 0x1096002900000000000000 ",
"sourceMap": "26:22:0:-;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "10600",
"executionCost": "66",
"totalCost": "10666"
}
},
"legacyAssembly": {
".code": [
{
"begin": 26,
"end": 48,
"name": "PUSH",
"value": "80"
},
{
"begin": 26,
"end": 48,
"name": "PUSH",
"value": "40"
},
{
"begin": 26,
"end": 48,
"name": "MSTORE"
},
{
"begin": 26,
"end": 48,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "1"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "1"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 48,
"name": "POP"
},
{
"begin": 26,
"end": 48,
"name": "PUSH #[$]",
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 26,
"end": 48,
"name": "DUP1"
},
{
"begin": 26,
"end": 48,
"name": "PUSH [$]",
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 26,
"end": 48,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 48,
"name": "CODECOPY"
},
{
"begin": 26,
"end": 48,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 48,
"name": "RETURN"
}
],
".data": {
"0": {
".auxdata": "a165627a7a72305820dc6b7ecdfc815ef742188920671766a41ea815880839dd5ea9e54434576a10960029",
".code": [
{
"begin": 26,
"end": 48,
"name": "PUSH",
"value": "80"
},
{
"begin": 26,
"end": 48,
"name": "PUSH",
"value": "40"
},
{
"begin": 26,
"end": 48,
"name": "MSTORE"
},
{
"begin": 26,
"end": 48,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 48,
"name": "DUP1"
},
{
"begin": 26,
"end": 48,
"name": "REVERT"
}
]
}
}
},
"methodIdentifiers": {}
},
"metadata": "{\"compiler\":{\"version\":\"0.4.26+commit.4563c3fc\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"contracts/3_Ballot.sol\":\"Inbox\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/3_Ballot.sol\":{\"keccak256\":\"0xf0c659f2574bee42dad137a9ec2f63777f35b30445233a2ac119d3ae9629fe29\",\"urls\":[\"bzzr://1dd8ae05f472c8574c74c43c164887f92397eb59dab156c4e7ecd496a25fde93\"]}},\"version\":1}",
"userdoc": {
"methods": {}
}
}
}
},
"sources": {
"contracts/3_Ballot.sol": {
"ast": {
"absolutePath": "contracts/3_Ballot.sol",
"exportedSymbols": {
"Inbox": [
2
]
},
"id": 3,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.4",
".17"
],
"nodeType": "PragmaDirective",
"src": "0:24:0"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 2,
"linearizedBaseContracts": [
2
],
"name": "Inbox",
"nodeType": "ContractDefinition",
"nodes": [],
"scope": 3,
"src": "26:22:0"
}
],
"src": "0:48:0"
},
"id": 0
}
}
}
}
{
"id": "1e9be214ca875cf37ceb5213af2b2565",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.4.26",
"solcLongVersion": "0.4.26+commit.4563c3fc",
"input": {
"language": "Solidity",
"sources": {
"contracts/3_Ballot.sol": {
"content": "pragma solidity ^0.4.17;\n\ncontract Inbox{\n string public message;\n\n function Inbox(string initialMessage)public {\n message = initialMessage;\n }\n function setMessage(string initialMessage)public {\n message = initialMessage;\n } \n function getMessage() public view returns (string) {\n return message;\n } \n\n function doMath(int a, int b) {\n a+b;\n a-b;\n a == 0; \n }\n}"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"contracts/3_Ballot.sol": {
"Inbox": {
"abi": [
{
"constant": false,
"inputs": [
{
"name": "initialMessage",
"type": "string"
}
],
"name": "setMessage",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "getMessage",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "a",
"type": "int256"
},
{
"name": "b",
"type": "int256"
}
],
"name": "doMath",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "message",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"name": "initialMessage",
"type": "string"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
}
],
"devdoc": {
"methods": {}
},
"evm": {
"assembly": " /* \"contracts/3_Ballot.sol\":26:433 contract Inbox{... */\n mstore(0x40, 0x80)\n /* \"contracts/3_Ballot.sol\":74:159 function Inbox(string initialMessage)public {... */\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_1\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x0\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\ntag_1:\n /* \"contracts/3_Ballot.sol\":74:159 function Inbox(string initialMessage)public {... */\n pop\n mload(0x40)\n sub(codesize, bytecodeSize)\n dup1\n bytecodeSize\n dup4\n codecopy\n dup2\n add\n dup1\n 0x40\n mstore\n dup2\n add\n swap1\n dup1\n dup1\n mload\n dup3\n add\n swap3\n swap2\n swap1\n pop\n pop\n pop\n /* \"contracts/3_Ballot.sol\":138:152 initialMessage */\n dup1\n /* \"contracts/3_Ballot.sol\":128:135 message */\n 0x0\n /* \"contracts/3_Ballot.sol\":128:152 message = initialMessage */\n swap1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n tag_4\n swap3\n swap2\n swap1\n jump\t// in(tag_5)\ntag_4:\n pop\n /* \"contracts/3_Ballot.sol\":74:159 function Inbox(string initialMessage)public {... */\n pop\n /* \"contracts/3_Ballot.sol\":26:433 contract Inbox{... */\n jump(tag_6)\ntag_5:\n dup3\n dup1\n sload\n 0x1\n dup2\n 0x1\n and\n iszero\n 0x100\n mul\n sub\n and\n 0x2\n swap1\n div\n swap1\n 0x0\n mstore\n keccak256(0x0, 0x20)\n swap1\n 0x1f\n add\n 0x20\n swap1\n div\n dup2\n add\n swap3\n dup3\n 0x1f\n lt\n tag_8\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_7)\ntag_8:\n dup3\n dup1\n add\n 0x1\n add\n dup6\n sstore\n dup3\n iszero\n tag_7\n jumpi\n swap2\n dup3\n add\ntag_9:\n dup3\n dup2\n gt\n iszero\n tag_10\n jumpi\n dup3\n mload\n dup3\n sstore\n swap2\n 0x20\n add\n swap2\n swap1\n 0x1\n add\n swap1\n jump(tag_9)\ntag_10:\ntag_7:\n pop\n swap1\n pop\n tag_11\n swap2\n swap1\n jump\t// in(tag_12)\ntag_11:\n pop\n swap1\n jump\t// out\ntag_12:\n tag_13\n swap2\n swap1\ntag_14:\n dup1\n dup3\n gt\n iszero\n tag_15\n jumpi\n 0x0\n dup2\n 0x0\n swap1\n sstore\n pop\n 0x1\n add\n jump(tag_14)\ntag_15:\n pop\n swap1\n jump\ntag_13:\n swap1\n jump\t// out\ntag_6:\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x0\n codecopy\n 0x0\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/3_Ballot.sol\":26:433 contract Inbox{... */\n mstore(0x40, 0x80)\n jumpi(tag_1, lt(calldatasize, 0x4))\n calldataload(0x0)\n 0x100000000000000000000000000000000000000000000000000000000\n swap1\n div\n 0xffffffff\n and\n dup1\n 0x368b8772\n eq\n tag_2\n jumpi\n dup1\n 0xce6d41de\n eq\n tag_3\n jumpi\n dup1\n 0xd545dd8c\n eq\n tag_4\n jumpi\n dup1\n 0xe21f37ce\n eq\n tag_5\n jumpi\n tag_1:\n 0x0\n dup1\n revert\n /* \"contracts/3_Ballot.sol\":164:254 function setMessage(string initialMessage)public {... */\n tag_2:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_6\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x0\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_6:\n /* \"contracts/3_Ballot.sol\":164:254 function setMessage(string initialMessage)public {... */\n pop\n tag_7\n 0x4\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n dup1\n dup1\n calldataload\n swap1\n 0x20\n add\n swap1\n dup3\n add\n dup1\n calldataload\n swap1\n 0x20\n add\n swap1\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 dup3\n add\n swap2\n pop\n pop\n pop\n pop\n pop\n pop\n swap2\n swap3\n swap2\n swap3\n swap1\n pop\n pop\n pop\n jump(tag_8)\n tag_7:\n stop\n /* \"contracts/3_Ballot.sol\":262:344 function getMessage() public view returns (string) {... */\n tag_3:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_9\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x0\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_9:\n /* \"contracts/3_Ballot.sol\":262:344 function getMessage() public view returns (string) {... */\n pop\n tag_10\n jump(tag_11)\n tag_10:\n mload(0x40)\n dup1\n dup1\n 0x20\n add\n dup3\n dup2\n sub\n dup3\n mstore\n dup4\n dup2\n dup2\n mload\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n dup1\n dup4\n dup4\n /* \"--CODEGEN--\":23:24 */\n 0x0\n /* \"--CODEGEN--\":8:108 */\n tag_12:\n /* \"--CODEGEN--\":33:36 */\n dup4\n /* \"--CODEGEN--\":30:31 */\n dup2\n /* \"--CODEGEN--\":27:37 */\n lt\n /* \"--CODEGEN--\":8:108 */\n iszero\n tag_13\n jumpi\n /* \"--CODEGEN--\":99:100 */\n dup1\n /* \"--CODEGEN--\":94:97 */\n dup3\n /* \"--CODEGEN--\":90:101 */\n add\n /* \"--CODEGEN--\":84:102 */\n mload\n /* \"--CODEGEN--\":80:81 */\n dup2\n /* \"--CODEGEN--\":75:78 */\n dup5\n /* \"--CODEGEN--\":71:82 */\n add\n /* \"--CODEGEN--\":64:103 */\n mstore\n /* \"--CODEGEN--\":52:54 */\n 0x20\n /* \"--CODEGEN--\":49:50 */\n dup2\n /* \"--CODEGEN--\":45:55 */\n add\n /* \"--CODEGEN--\":40:55 */\n swap1\n pop\n /* \"--CODEGEN--\":8:108 */\n jump(tag_12)\n tag_13:\n /* \"--CODEGEN--\":12:26 */\n pop\n /* \"contracts/3_Ballot.sol\":262:344 function getMessage() public view returns (string) {... */\n pop\n pop\n pop\n swap1\n pop\n swap1\n dup2\n add\n swap1\n 0x1f\n and\n dup1\n iszero\n tag_15\n jumpi\n dup1\n dup3\n sub\n dup1\n mload\n 0x1\n dup4\n 0x20\n sub\n 0x100\n exp\n sub\n not\n and\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n tag_15:\n pop\n swap3\n pop\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/3_Ballot.sol\":351:431 function doMath(int a, int b) {... */\n tag_4:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_16\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x0\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_16:\n /* \"contracts/3_Ballot.sol\":351:431 function doMath(int a, int b) {... */\n pop\n tag_17\n 0x4\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n dup1\n dup1\n calldataload\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n dup1\n calldataload\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n pop\n pop\n pop\n jump(tag_18)\n tag_17:\n stop\n /* \"contracts/3_Ballot.sol\":46:67 string public message */\n tag_5:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_19\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x0\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_19:\n /* \"contracts/3_Ballot.sol\":46:67 string public message */\n pop\n tag_20\n jump(tag_21)\n tag_20:\n mload(0x40)\n dup1\n dup1\n 0x20\n add\n dup3\n dup2\n sub\n dup3\n mstore\n dup4\n dup2\n dup2\n mload\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n dup1\n dup4\n dup4\n /* \"--CODEGEN--\":23:24 */\n 0x0\n /* \"--CODEGEN--\":8:108 */\n tag_22:\n /* \"--CODEGEN--\":33:36 */\n dup4\n /* \"--CODEGEN--\":30:31 */\n dup2\n /* \"--CODEGEN--\":27:37 */\n lt\n /* \"--CODEGEN--\":8:108 */\n iszero\n tag_23\n jumpi\n /* \"--CODEGEN--\":99:100 */\n dup1\n /* \"--CODEGEN--\":94:97 */\n dup3\n /* \"--CODEGEN--\":90:101 */\n add\n /* \"--CODEGEN--\":84:102 */\n mload\n /* \"--CODEGEN--\":80:81 */\n dup2\n /* \"--CODEGEN--\":75:78 */\n dup5\n /* \"--CODEGEN--\":71:82 */\n add\n /* \"--CODEGEN--\":64:103 */\n mstore\n /* \"--CODEGEN--\":52:54 */\n 0x20\n /* \"--CODEGEN--\":49:50 */\n dup2\n /* \"--CODEGEN--\":45:55 */\n add\n /* \"--CODEGEN--\":40:55 */\n swap1\n pop\n /* \"--CODEGEN--\":8:108 */\n jump(tag_22)\n tag_23:\n /* \"--CODEGEN--\":12:26 */\n pop\n /* \"contracts/3_Ballot.sol\":46:67 string public message */\n pop\n pop\n pop\n swap1\n pop\n swap1\n dup2\n add\n swap1\n 0x1f\n and\n dup1\n iszero\n tag_25\n jumpi\n dup1\n dup3\n sub\n dup1\n mload\n 0x1\n dup4\n 0x20\n sub\n 0x100\n exp\n sub\n not\n and\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n tag_25:\n pop\n swap3\n pop\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/3_Ballot.sol\":164:254 function setMessage(string initialMessage)public {... */\n tag_8:\n /* \"contracts/3_Ballot.sol\":233:247 initialMessage */\n dup1\n /* \"contracts/3_Ballot.sol\":223:230 message */\n 0x0\n /* \"contracts/3_Ballot.sol\":223:247 message = initialMessage */\n swap1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n tag_27\n swap3\n swap2\n swap1\n jump\t// in(tag_28)\n tag_27:\n pop\n /* \"contracts/3_Ballot.sol\":164:254 function setMessage(string initialMessage)public {... */\n pop\n jump\t// out\n /* \"contracts/3_Ballot.sol\":262:344 function getMessage() public view returns (string) {... */\n tag_11:\n /* \"contracts/3_Ballot.sol\":305:311 string */\n 0x60\n /* \"contracts/3_Ballot.sol\":330:337 message */\n 0x0\n /* \"contracts/3_Ballot.sol\":323:337 return message */\n dup1\n sload\n 0x1\n dup2\n 0x1\n and\n iszero\n 0x100\n mul\n sub\n and\n 0x2\n swap1\n div\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 0x1\n dup2\n 0x1\n and\n iszero\n 0x100\n mul\n sub\n and\n 0x2\n swap1\n div\n dup1\n iszero\n tag_30\n jumpi\n dup1\n 0x1f\n lt\n tag_31\n jumpi\n 0x100\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_30)\n tag_31:\n dup3\n add\n swap2\n swap1\n 0x0\n mstore\n keccak256(0x0, 0x20)\n swap1\n tag_32:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x1\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_32\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_30:\n pop\n pop\n pop\n pop\n pop\n swap1\n pop\n /* \"contracts/3_Ballot.sol\":262:344 function getMessage() public view returns (string) {... */\n swap1\n jump\t// out\n /* \"contracts/3_Ballot.sol\":351:431 function doMath(int a, int b) {... */\n tag_18:\n pop\n pop\n jump\t// out\n /* \"contracts/3_Ballot.sol\":46:67 string public message */\n tag_21:\n 0x0\n dup1\n sload\n 0x1\n dup2\n 0x1\n and\n iszero\n 0x100\n mul\n sub\n and\n 0x2\n swap1\n div\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 0x1\n dup2\n 0x1\n and\n iszero\n 0x100\n mul\n sub\n and\n 0x2\n swap1\n div\n dup1\n iszero\n tag_34\n jumpi\n dup1\n 0x1f\n lt\n tag_35\n jumpi\n 0x100\n dup1\n dup4\n sload\n div\n mul\n dup4\n mstore\n swap2\n 0x20\n add\n swap2\n jump(tag_34)\n tag_35:\n dup3\n add\n swap2\n swap1\n 0x0\n mstore\n keccak256(0x0, 0x20)\n swap1\n tag_36:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x1\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_36\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_34:\n pop\n pop\n pop\n pop\n pop\n dup2\n jump\t// out\n /* \"contracts/3_Ballot.sol\":26:433 contract Inbox{... */\n tag_28:\n dup3\n dup1\n sload\n 0x1\n dup2\n 0x1\n and\n iszero\n 0x100\n mul\n sub\n and\n 0x2\n swap1\n div\n swap1\n 0x0\n mstore\n keccak256(0x0, 0x20)\n swap1\n 0x1f\n add\n 0x20\n swap1\n div\n dup2\n add\n swap3\n dup3\n 0x1f\n lt\n tag_38\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_37)\n tag_38:\n dup3\n dup1\n add\n 0x1\n add\n dup6\n sstore\n dup3\n iszero\n tag_37\n jumpi\n swap2\n dup3\n add\n tag_39:\n dup3\n dup2\n gt\n iszero\n tag_40\n jumpi\n dup3\n mload\n dup3\n sstore\n swap2\n 0x20\n add\n swap2\n swap1\n 0x1\n add\n swap1\n jump(tag_39)\n tag_40:\n tag_37:\n pop\n swap1\n pop\n tag_41\n swap2\n swap1\n jump\t// in(tag_42)\n tag_41:\n pop\n swap1\n jump\t// out\n tag_42:\n tag_43\n swap2\n swap1\n tag_44:\n dup1\n dup3\n gt\n iszero\n tag_45\n jumpi\n 0x0\n dup2\n 0x0\n swap1\n sstore\n pop\n 0x1\n add\n jump(tag_44)\n tag_45:\n pop\n swap1\n jump\n tag_43:\n swap1\n jump\t// out\n\n auxdata: 0xa165627a7a723058209ccec3c1e936dac90864dd60541c83b919cdbf5df271bd4543bf8794043f1f880029\n}\n",
"bytecode": {
"linkReferences": {},
"object": "608060405234801561001057600080fd5b5060405161055a38038061055a833981018060405281019080805182019291905050508060009080519060200190610049929190610050565b50506100f5565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061009157805160ff19168380011785556100bf565b828001600101855582156100bf579182015b828111156100be5782518255916020019190600101906100a3565b5b5090506100cc91906100d0565b5090565b6100f291905b808211156100ee5760008160009055506001016100d6565b5090565b90565b610456806101046000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063368b877214610067578063ce6d41de146100d0578063d545dd8c14610160578063e21f37ce14610197575b600080fd5b34801561007357600080fd5b506100ce600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610227565b005b3480156100dc57600080fd5b506100e5610241565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561012557808201518184015260208101905061010a565b50505050905090810190601f1680156101525780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561016c57600080fd5b5061019560048036038101908080359060200190929190803590602001909291905050506102e3565b005b3480156101a357600080fd5b506101ac6102e7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ec5780820151818401526020810190506101d1565b50505050905090810190601f1680156102195780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b806000908051906020019061023d929190610385565b5050565b606060008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102d95780601f106102ae576101008083540402835291602001916102d9565b820191906000526020600020905b8154815290600101906020018083116102bc57829003601f168201915b5050505050905090565b5050565b60008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561037d5780601f106103525761010080835404028352916020019161037d565b820191906000526020600020905b81548152906001019060200180831161036057829003601f168201915b505050505081565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106103c657805160ff19168380011785556103f4565b828001600101855582156103f4579182015b828111156103f35782518255916020019190600101906103d8565b5b5090506104019190610405565b5090565b61042791905b8082111561042357600081600090555060010161040b565b5090565b905600a165627a7a723058209ccec3c1e936dac90864dd60541c83b919cdbf5df271bd4543bf8794043f1f880029",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x55A CODESIZE SUB DUP1 PUSH2 0x55A DUP4 CODECOPY DUP2 ADD DUP1 PUSH1 0x40 MSTORE DUP2 ADD SWAP1 DUP1 DUP1 MLOAD DUP3 ADD SWAP3 SWAP2 SWAP1 POP POP POP DUP1 PUSH1 0x0 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x49 SWAP3 SWAP2 SWAP1 PUSH2 0x50 JUMP JUMPDEST POP POP PUSH2 0xF5 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0x91 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0xBF JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0xBF JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0xBE JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xA3 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0xCC SWAP2 SWAP1 PUSH2 0xD0 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0xF2 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xEE JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0xD6 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0x456 DUP1 PUSH2 0x104 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x368B8772 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0xCE6D41DE EQ PUSH2 0xD0 JUMPI DUP1 PUSH4 0xD545DD8C EQ PUSH2 0x160 JUMPI DUP1 PUSH4 0xE21F37CE EQ PUSH2 0x197 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP3 ADD DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 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 DUP3 ADD SWAP2 POP POP POP POP POP POP SWAP2 SWAP3 SWAP2 SWAP3 SWAP1 POP POP POP PUSH2 0x227 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE5 PUSH2 0x241 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x125 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x10A JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x152 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x16C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x195 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2E3 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1AC PUSH2 0x2E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1EC JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1D1 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x219 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 PUSH1 0x0 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x23D SWAP3 SWAP2 SWAP1 PUSH2 0x385 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV 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 PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x2D9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2AE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2D9 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 0x2BC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV 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 PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x37D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x352 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x37D 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 0x360 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0x3C6 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x3F4 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x3F4 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x3F3 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x3D8 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x401 SWAP2 SWAP1 PUSH2 0x405 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x427 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x423 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x40B JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 SWAP13 0xce 0xc3 0xc1 0xe9 CALLDATASIZE 0xda 0xc9 ADDMOD PUSH5 0xDD60541C83 0xb9 NOT 0xcd 0xbf 0x5d CALLCODE PUSH18 0xBD4543BF8794043F1F880029000000000000 ",
"sourceMap": "26:407:0:-;;;74:85;8:9:-1;5:2;;;30:1;27;20:12;5:2;74:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;138:14;128:7;:24;;;;;;;;;;;;:::i;:::-;;74:85;26:407;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;"
},
"deployedBytecode": {
"linkReferences": {},
"object": "608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063368b877214610067578063ce6d41de146100d0578063d545dd8c14610160578063e21f37ce14610197575b600080fd5b34801561007357600080fd5b506100ce600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610227565b005b3480156100dc57600080fd5b506100e5610241565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561012557808201518184015260208101905061010a565b50505050905090810190601f1680156101525780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561016c57600080fd5b5061019560048036038101908080359060200190929190803590602001909291905050506102e3565b005b3480156101a357600080fd5b506101ac6102e7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ec5780820151818401526020810190506101d1565b50505050905090810190601f1680156102195780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b806000908051906020019061023d929190610385565b5050565b606060008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102d95780601f106102ae576101008083540402835291602001916102d9565b820191906000526020600020905b8154815290600101906020018083116102bc57829003601f168201915b5050505050905090565b5050565b60008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561037d5780601f106103525761010080835404028352916020019161037d565b820191906000526020600020905b81548152906001019060200180831161036057829003601f168201915b505050505081565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106103c657805160ff19168380011785556103f4565b828001600101855582156103f4579182015b828111156103f35782518255916020019190600101906103d8565b5b5090506104019190610405565b5090565b61042791905b8082111561042357600081600090555060010161040b565b5090565b905600a165627a7a723058209ccec3c1e936dac90864dd60541c83b919cdbf5df271bd4543bf8794043f1f880029",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x368B8772 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0xCE6D41DE EQ PUSH2 0xD0 JUMPI DUP1 PUSH4 0xD545DD8C EQ PUSH2 0x160 JUMPI DUP1 PUSH4 0xE21F37CE EQ PUSH2 0x197 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP3 ADD DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 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 DUP3 ADD SWAP2 POP POP POP POP POP POP SWAP2 SWAP3 SWAP2 SWAP3 SWAP1 POP POP POP PUSH2 0x227 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE5 PUSH2 0x241 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x125 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x10A JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x152 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x16C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x195 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2E3 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1AC PUSH2 0x2E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1EC JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1D1 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x219 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 PUSH1 0x0 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x23D SWAP3 SWAP2 SWAP1 PUSH2 0x385 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV 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 PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x2D9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2AE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2D9 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 0x2BC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV 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 PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x37D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x352 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x37D 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 0x360 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0x3C6 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x3F4 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x3F4 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x3F3 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x3D8 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x401 SWAP2 SWAP1 PUSH2 0x405 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x427 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x423 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x40B JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 SWAP13 0xce 0xc3 0xc1 0xe9 CALLDATASIZE 0xda 0xc9 ADDMOD PUSH5 0xDD60541C83 0xb9 NOT 0xcd 0xbf 0x5d CALLCODE PUSH18 0xBD4543BF8794043F1F880029000000000000 ",
"sourceMap": "26:407:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;164:90;;8:9:-1;5:2;;;30:1;27;20:12;5:2;164:90:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;262:82;;8:9:-1;5:2;;;30:1;27;20:12;5:2;262:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;262:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;351:80;;8:9:-1;5:2;;;30:1;27;20:12;5:2;351:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;46:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;46:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;164:90;233:14;223:7;:24;;;;;;;;;;;;:::i;:::-;;164:90;:::o;262:82::-;305:6;330:7;323:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;262:82;:::o;351:80::-;;;:::o;46:21::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;26:407::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "222000",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"doMath(int256,int256)": "264",
"getMessage()": "infinite",
"message()": "infinite",
"setMessage(string)": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "80"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "40"
},
{
"begin": 26,
"end": 433,
"name": "MSTORE"
},
{
"begin": 74,
"end": 159,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "1"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "1"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 74,
"end": 159,
"name": "POP"
},
{
"begin": 74,
"end": 159,
"name": "PUSH",
"value": "40"
},
{
"begin": 74,
"end": 159,
"name": "MLOAD"
},
{
"begin": 74,
"end": 159,
"name": "PUSHSIZE"
},
{
"begin": 74,
"end": 159,
"name": "CODESIZE"
},
{
"begin": 74,
"end": 159,
"name": "SUB"
},
{
"begin": 74,
"end": 159,
"name": "DUP1"
},
{
"begin": 74,
"end": 159,
"name": "PUSHSIZE"
},
{
"begin": 74,
"end": 159,
"name": "DUP4"
},
{
"begin": 74,
"end": 159,
"name": "CODECOPY"
},
{
"begin": 74,
"end": 159,
"name": "DUP2"
},
{
"begin": 74,
"end": 159,
"name": "ADD"
},
{
"begin": 74,
"end": 159,
"name": "DUP1"
},
{
"begin": 74,
"end": 159,
"name": "PUSH",
"value": "40"
},
{
"begin": 74,
"end": 159,
"name": "MSTORE"
},
{
"begin": 74,
"end": 159,
"name": "DUP2"
},
{
"begin": 74,
"end": 159,
"name": "ADD"
},
{
"begin": 74,
"end": 159,
"name": "SWAP1"
},
{
"begin": 74,
"end": 159,
"name": "DUP1"
},
{
"begin": 74,
"end": 159,
"name": "DUP1"
},
{
"begin": 74,
"end": 159,
"name": "MLOAD"
},
{
"begin": 74,
"end": 159,
"name": "DUP3"
},
{
"begin": 74,
"end": 159,
"name": "ADD"
},
{
"begin": 74,
"end": 159,
"name": "SWAP3"
},
{
"begin": 74,
"end": 159,
"name": "SWAP2"
},
{
"begin": 74,
"end": 159,
"name": "SWAP1"
},
{
"begin": 74,
"end": 159,
"name": "POP"
},
{
"begin": 74,
"end": 159,
"name": "POP"
},
{
"begin": 74,
"end": 159,
"name": "POP"
},
{
"begin": 138,
"end": 152,
"name": "DUP1"
},
{
"begin": 128,
"end": 135,
"name": "PUSH",
"value": "0"
},
{
"begin": 128,
"end": 152,
"name": "SWAP1"
},
{
"begin": 128,
"end": 152,
"name": "DUP1"
},
{
"begin": 128,
"end": 152,
"name": "MLOAD"
},
{
"begin": 128,
"end": 152,
"name": "SWAP1"
},
{
"begin": 128,
"end": 152,
"name": "PUSH",
"value": "20"
},
{
"begin": 128,
"end": 152,
"name": "ADD"
},
{
"begin": 128,
"end": 152,
"name": "SWAP1"
},
{
"begin": 128,
"end": 152,
"name": "PUSH [tag]",
"value": "4"
},
{
"begin": 128,
"end": 152,
"name": "SWAP3"
},
{
"begin": 128,
"end": 152,
"name": "SWAP2"
},
{
"begin": 128,
"end": 152,
"name": "SWAP1"
},
{
"begin": 128,
"end": 152,
"name": "PUSH [tag]",
"value": "5"
},
{
"begin": 128,
"end": 152,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 128,
"end": 152,
"name": "tag",
"value": "4"
},
{
"begin": 128,
"end": 152,
"name": "JUMPDEST"
},
{
"begin": 128,
"end": 152,
"name": "POP"
},
{
"begin": 74,
"end": 159,
"name": "POP"
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"value": "6"
},
{
"begin": 26,
"end": 433,
"name": "JUMP"
},
{
"begin": 26,
"end": 433,
"name": "tag",
"value": "5"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 433,
"name": "DUP3"
},
{
"begin": 26,
"end": 433,
"name": "DUP1"
},
{
"begin": 26,
"end": 433,
"name": "SLOAD"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "1"
},
{
"begin": 26,
"end": 433,
"name": "DUP2"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "1"
},
{
"begin": 26,
"end": 433,
"name": "AND"
},
{
"begin": 26,
"end": 433,
"name": "ISZERO"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "100"
},
{
"begin": 26,
"end": 433,
"name": "MUL"
},
{
"begin": 26,
"end": 433,
"name": "SUB"
},
{
"begin": 26,
"end": 433,
"name": "AND"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "2"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1"
},
{
"begin": 26,
"end": 433,
"name": "DIV"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 433,
"name": "MSTORE"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "20"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 433,
"name": "KECCAK256"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "1F"
},
{
"begin": 26,
"end": 433,
"name": "ADD"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "20"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1"
},
{
"begin": 26,
"end": 433,
"name": "DIV"
},
{
"begin": 26,
"end": 433,
"name": "DUP2"
},
{
"begin": 26,
"end": 433,
"name": "ADD"
},
{
"begin": 26,
"end": 433,
"name": "SWAP3"
},
{
"begin": 26,
"end": 433,
"name": "DUP3"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "1F"
},
{
"begin": 26,
"end": 433,
"name": "LT"
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"value": "8"
},
{
"begin": 26,
"end": 433,
"name": "JUMPI"
},
{
"begin": 26,
"end": 433,
"name": "DUP1"
},
{
"begin": 26,
"end": 433,
"name": "MLOAD"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "FF"
},
{
"begin": 26,
"end": 433,
"name": "NOT"
},
{
"begin": 26,
"end": 433,
"name": "AND"
},
{
"begin": 26,
"end": 433,
"name": "DUP4"
},
{
"begin": 26,
"end": 433,
"name": "DUP1"
},
{
"begin": 26,
"end": 433,
"name": "ADD"
},
{
"begin": 26,
"end": 433,
"name": "OR"
},
{
"begin": 26,
"end": 433,
"name": "DUP6"
},
{
"begin": 26,
"end": 433,
"name": "SSTORE"
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"value": "7"
},
{
"begin": 26,
"end": 433,
"name": "JUMP"
},
{
"begin": 26,
"end": 433,
"name": "tag",
"value": "8"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 433,
"name": "DUP3"
},
{
"begin": 26,
"end": 433,
"name": "DUP1"
},
{
"begin": 26,
"end": 433,
"name": "ADD"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "1"
},
{
"begin": 26,
"end": 433,
"name": "ADD"
},
{
"begin": 26,
"end": 433,
"name": "DUP6"
},
{
"begin": 26,
"end": 433,
"name": "SSTORE"
},
{
"begin": 26,
"end": 433,
"name": "DUP3"
},
{
"begin": 26,
"end": 433,
"name": "ISZERO"
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"value": "7"
},
{
"begin": 26,
"end": 433,
"name": "JUMPI"
},
{
"begin": 26,
"end": 433,
"name": "SWAP2"
},
{
"begin": 26,
"end": 433,
"name": "DUP3"
},
{
"begin": 26,
"end": 433,
"name": "ADD"
},
{
"begin": 26,
"end": 433,
"name": "tag",
"value": "9"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 433,
"name": "DUP3"
},
{
"begin": 26,
"end": 433,
"name": "DUP2"
},
{
"begin": 26,
"end": 433,
"name": "GT"
},
{
"begin": 26,
"end": 433,
"name": "ISZERO"
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"value": "10"
},
{
"begin": 26,
"end": 433,
"name": "JUMPI"
},
{
"begin": 26,
"end": 433,
"name": "DUP3"
},
{
"begin": 26,
"end": 433,
"name": "MLOAD"
},
{
"begin": 26,
"end": 433,
"name": "DUP3"
},
{
"begin": 26,
"end": 433,
"name": "SSTORE"
},
{
"begin": 26,
"end": 433,
"name": "SWAP2"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "20"
},
{
"begin": 26,
"end": 433,
"name": "ADD"
},
{
"begin": 26,
"end": 433,
"name": "SWAP2"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "1"
},
{
"begin": 26,
"end": 433,
"name": "ADD"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1"
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"value": "9"
},
{
"begin": 26,
"end": 433,
"name": "JUMP"
},
{
"begin": 26,
"end": 433,
"name": "tag",
"value": "10"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 433,
"name": "tag",
"value": "7"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 433,
"name": "POP"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1"
},
{
"begin": 26,
"end": 433,
"name": "POP"
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"value": "11"
},
{
"begin": 26,
"end": 433,
"name": "SWAP2"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1"
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"value": "12"
},
{
"begin": 26,
"end": 433,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 26,
"end": 433,
"name": "tag",
"value": "11"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 433,
"name": "POP"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1"
},
{
"begin": 26,
"end": 433,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 26,
"end": 433,
"name": "tag",
"value": "12"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"value": "13"
},
{
"begin": 26,
"end": 433,
"name": "SWAP2"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1"
},
{
"begin": 26,
"end": 433,
"name": "tag",
"value": "14"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 433,
"name": "DUP1"
},
{
"begin": 26,
"end": 433,
"name": "DUP3"
},
{
"begin": 26,
"end": 433,
"name": "GT"
},
{
"begin": 26,
"end": 433,
"name": "ISZERO"
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"value": "15"
},
{
"begin": 26,
"end": 433,
"name": "JUMPI"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 433,
"name": "DUP2"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1"
},
{
"begin": 26,
"end": 433,
"name": "SSTORE"
},
{
"begin": 26,
"end": 433,
"name": "POP"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "1"
},
{
"begin": 26,
"end": 433,
"name": "ADD"
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"value": "14"
},
{
"begin": 26,
"end": 433,
"name": "JUMP"
},
{
"begin": 26,
"end": 433,
"name": "tag",
"value": "15"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 433,
"name": "POP"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1"
},
{
"begin": 26,
"end": 433,
"name": "JUMP"
},
{
"begin": 26,
"end": 433,
"name": "tag",
"value": "13"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1"
},
{
"begin": 26,
"end": 433,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 26,
"end": 433,
"name": "tag",
"value": "6"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 433,
"name": "PUSH #[$]",
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 26,
"end": 433,
"name": "DUP1"
},
{
"begin": 26,
"end": 433,
"name": "PUSH [$]",
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 433,
"name": "CODECOPY"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 433,
"name": "RETURN"
}
],
".data": {
"0": {
".auxdata": "a165627a7a723058209ccec3c1e936dac90864dd60541c83b919cdbf5df271bd4543bf8794043f1f880029",
".code": [
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "80"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "40"
},
{
"begin": 26,
"end": 433,
"name": "MSTORE"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "4"
},
{
"begin": 26,
"end": 433,
"name": "CALLDATASIZE"
},
{
"begin": 26,
"end": 433,
"name": "LT"
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"value": "1"
},
{
"begin": 26,
"end": 433,
"name": "JUMPI"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 433,
"name": "CALLDATALOAD"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1"
},
{
"begin": 26,
"end": 433,
"name": "DIV"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "FFFFFFFF"
},
{
"begin": 26,
"end": 433,
"name": "AND"
},
{
"begin": 26,
"end": 433,
"name": "DUP1"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "368B8772"
},
{
"begin": 26,
"end": 433,
"name": "EQ"
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"value": "2"
},
{
"begin": 26,
"end": 433,
"name": "JUMPI"
},
{
"begin": 26,
"end": 433,
"name": "DUP1"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "CE6D41DE"
},
{
"begin": 26,
"end": 433,
"name": "EQ"
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"value": "3"
},
{
"begin": 26,
"end": 433,
"name": "JUMPI"
},
{
"begin": 26,
"end": 433,
"name": "DUP1"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "D545DD8C"
},
{
"begin": 26,
"end": 433,
"name": "EQ"
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"value": "4"
},
{
"begin": 26,
"end": 433,
"name": "JUMPI"
},
{
"begin": 26,
"end": 433,
"name": "DUP1"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "E21F37CE"
},
{
"begin": 26,
"end": 433,
"name": "EQ"
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"value": "5"
},
{
"begin": 26,
"end": 433,
"name": "JUMPI"
},
{
"begin": 26,
"end": 433,
"name": "tag",
"value": "1"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 433,
"name": "DUP1"
},
{
"begin": 26,
"end": 433,
"name": "REVERT"
},
{
"begin": 164,
"end": 254,
"name": "tag",
"value": "2"
},
{
"begin": 164,
"end": 254,
"name": "JUMPDEST"
},
{
"begin": 164,
"end": 254,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "6"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "6"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 164,
"end": 254,
"name": "POP"
},
{
"begin": 164,
"end": 254,
"name": "PUSH [tag]",
"value": "7"
},
{
"begin": 164,
"end": 254,
"name": "PUSH",
"value": "4"
},
{
"begin": 164,
"end": 254,
"name": "DUP1"
},
{
"begin": 164,
"end": 254,
"name": "CALLDATASIZE"
},
{
"begin": 164,
"end": 254,
"name": "SUB"
},
{
"begin": 164,
"end": 254,
"name": "DUP2"
},
{
"begin": 164,
"end": 254,
"name": "ADD"
},
{
"begin": 164,
"end": 254,
"name": "SWAP1"
},
{
"begin": 164,
"end": 254,
"name": "DUP1"
},
{
"begin": 164,
"end": 254,
"name": "DUP1"
},
{
"begin": 164,
"end": 254,
"name": "CALLDATALOAD"
},
{
"begin": 164,
"end": 254,
"name": "SWAP1"
},
{
"begin": 164,
"end": 254,
"name": "PUSH",
"value": "20"
},
{
"begin": 164,
"end": 254,
"name": "ADD"
},
{
"begin": 164,
"end": 254,
"name": "SWAP1"
},
{
"begin": 164,
"end": 254,
"name": "DUP3"
},
{
"begin": 164,
"end": 254,
"name": "ADD"
},
{
"begin": 164,
"end": 254,
"name": "DUP1"
},
{
"begin": 164,
"end": 254,
"name": "CALLDATALOAD"
},
{
"begin": 164,
"end": 254,
"name": "SWAP1"
},
{
"begin": 164,
"end": 254,
"name": "PUSH",
"value": "20"
},
{
"begin": 164,
"end": 254,
"name": "ADD"
},
{
"begin": 164,
"end": 254,
"name": "SWAP1"
},
{
"begin": 164,
"end": 254,
"name": "DUP1"
},
{
"begin": 164,
"end": 254,
"name": "DUP1"
},
{
"begin": 164,
"end": 254,
"name": "PUSH",
"value": "1F"
},
{
"begin": 164,
"end": 254,
"name": "ADD"
},
{
"begin": 164,
"end": 254,
"name": "PUSH",
"value": "20"
},
{
"begin": 164,
"end": 254,
"name": "DUP1"
},
{
"begin": 164,
"end": 254,
"name": "SWAP2"
},
{
"begin": 164,
"end": 254,
"name": "DIV"
},
{
"begin": 164,
"end": 254,
"name": "MUL"
},
{
"begin": 164,
"end": 254,
"name": "PUSH",
"value": "20"
},
{
"begin": 164,
"end": 254,
"name": "ADD"
},
{
"begin": 164,
"end": 254,
"name": "PUSH",
"value": "40"
},
{
"begin": 164,
"end": 254,
"name": "MLOAD"
},
{
"begin": 164,
"end": 254,
"name": "SWAP1"
},
{
"begin": 164,
"end": 254,
"name": "DUP2"
},
{
"begin": 164,
"end": 254,
"name": "ADD"
},
{
"begin": 164,
"end": 254,
"name": "PUSH",
"value": "40"
},
{
"begin": 164,
"end": 254,
"name": "MSTORE"
},
{
"begin": 164,
"end": 254,
"name": "DUP1"
},
{
"begin": 164,
"end": 254,
"name": "SWAP4"
},
{
"begin": 164,
"end": 254,
"name": "SWAP3"
},
{
"begin": 164,
"end": 254,
"name": "SWAP2"
},
{
"begin": 164,
"end": 254,
"name": "SWAP1"
},
{
"begin": 164,
"end": 254,
"name": "DUP2"
},
{
"begin": 164,
"end": 254,
"name": "DUP2"
},
{
"begin": 164,
"end": 254,
"name": "MSTORE"
},
{
"begin": 164,
"end": 254,
"name": "PUSH",
"value": "20"
},
{
"begin": 164,
"end": 254,
"name": "ADD"
},
{
"begin": 164,
"end": 254,
"name": "DUP4"
},
{
"begin": 164,
"end": 254,
"name": "DUP4"
},
{
"begin": 164,
"end": 254,
"name": "DUP1"
},
{
"begin": 164,
"end": 254,
"name": "DUP3"
},
{
"begin": 164,
"end": 254,
"name": "DUP5"
},
{
"begin": 164,
"end": 254,
"name": "CALLDATACOPY"
},
{
"begin": 164,
"end": 254,
"name": "DUP3"
},
{
"begin": 164,
"end": 254,
"name": "ADD"
},
{
"begin": 164,
"end": 254,
"name": "SWAP2"
},
{
"begin": 164,
"end": 254,
"name": "POP"
},
{
"begin": 164,
"end": 254,
"name": "POP"
},
{
"begin": 164,
"end": 254,
"name": "POP"
},
{
"begin": 164,
"end": 254,
"name": "POP"
},
{
"begin": 164,
"end": 254,
"name": "POP"
},
{
"begin": 164,
"end": 254,
"name": "POP"
},
{
"begin": 164,
"end": 254,
"name": "SWAP2"
},
{
"begin": 164,
"end": 254,
"name": "SWAP3"
},
{
"begin": 164,
"end": 254,
"name": "SWAP2"
},
{
"begin": 164,
"end": 254,
"name": "SWAP3"
},
{
"begin": 164,
"end": 254,
"name": "SWAP1"
},
{
"begin": 164,
"end": 254,
"name": "POP"
},
{
"begin": 164,
"end": 254,
"name": "POP"
},
{
"begin": 164,
"end": 254,
"name": "POP"
},
{
"begin": 164,
"end": 254,
"name": "PUSH [tag]",
"value": "8"
},
{
"begin": 164,
"end": 254,
"name": "JUMP"
},
{
"begin": 164,
"end": 254,
"name": "tag",
"value": "7"
},
{
"begin": 164,
"end": 254,
"name": "JUMPDEST"
},
{
"begin": 164,
"end": 254,
"name": "STOP"
},
{
"begin": 262,
"end": 344,
"name": "tag",
"value": "3"
},
{
"begin": 262,
"end": 344,
"name": "JUMPDEST"
},
{
"begin": 262,
"end": 344,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "9"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "9"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 262,
"end": 344,
"name": "POP"
},
{
"begin": 262,
"end": 344,
"name": "PUSH [tag]",
"value": "10"
},
{
"begin": 262,
"end": 344,
"name": "PUSH [tag]",
"value": "11"
},
{
"begin": 262,
"end": 344,
"name": "JUMP"
},
{
"begin": 262,
"end": 344,
"name": "tag",
"value": "10"
},
{
"begin": 262,
"end": 344,
"name": "JUMPDEST"
},
{
"begin": 262,
"end": 344,
"name": "PUSH",
"value": "40"
},
{
"begin": 262,
"end": 344,
"name": "MLOAD"
},
{
"begin": 262,
"end": 344,
"name": "DUP1"
},
{
"begin": 262,
"end": 344,
"name": "DUP1"
},
{
"begin": 262,
"end": 344,
"name": "PUSH",
"value": "20"
},
{
"begin": 262,
"end": 344,
"name": "ADD"
},
{
"begin": 262,
"end": 344,
"name": "DUP3"
},
{
"begin": 262,
"end": 344,
"name": "DUP2"
},
{
"begin": 262,
"end": 344,
"name": "SUB"
},
{
"begin": 262,
"end": 344,
"name": "DUP3"
},
{
"begin": 262,
"end": 344,
"name": "MSTORE"
},
{
"begin": 262,
"end": 344,
"name": "DUP4"
},
{
"begin": 262,
"end": 344,
"name": "DUP2"
},
{
"begin": 262,
"end": 344,
"name": "DUP2"
},
{
"begin": 262,
"end": 344,
"name": "MLOAD"
},
{
"begin": 262,
"end": 344,
"name": "DUP2"
},
{
"begin": 262,
"end": 344,
"name": "MSTORE"
},
{
"begin": 262,
"end": 344,
"name": "PUSH",
"value": "20"
},
{
"begin": 262,
"end": 344,
"name": "ADD"
},
{
"begin": 262,
"end": 344,
"name": "SWAP2"
},
{
"begin": 262,
"end": 344,
"name": "POP"
},
{
"begin": 262,
"end": 344,
"name": "DUP1"
},
{
"begin": 262,
"end": 344,
"name": "MLOAD"
},
{
"begin": 262,
"end": 344,
"name": "SWAP1"
},
{
"begin": 262,
"end": 344,
"name": "PUSH",
"value": "20"
},
{
"begin": 262,
"end": 344,
"name": "ADD"
},
{
"begin": 262,
"end": 344,
"name": "SWAP1"
},
{
"begin": 262,
"end": 344,
"name": "DUP1"
},
{
"begin": 262,
"end": 344,
"name": "DUP4"
},
{
"begin": 262,
"end": 344,
"name": "DUP4"
},
{
"begin": 23,
"end": 24,
"name": "PUSH",
"value": "0"
},
{
"begin": 8,
"end": 108,
"name": "tag",
"value": "12"
},
{
"begin": 8,
"end": 108,
"name": "JUMPDEST"
},
{
"begin": 33,
"end": 36,
"name": "DUP4"
},
{
"begin": 30,
"end": 31,
"name": "DUP2"
},
{
"begin": 27,
"end": 37,
"name": "LT"
},
{
"begin": 8,
"end": 108,
"name": "ISZERO"
},
{
"begin": 8,
"end": 108,
"name": "PUSH [tag]",
"value": "13"
},
{
"begin": 8,
"end": 108,
"name": "JUMPI"
},
{
"begin": 99,
"end": 100,
"name": "DUP1"
},
{
"begin": 94,
"end": 97,
"name": "DUP3"
},
{
"begin": 90,
"end": 101,
"name": "ADD"
},
{
"begin": 84,
"end": 102,
"name": "MLOAD"
},
{
"begin": 80,
"end": 81,
"name": "DUP2"
},
{
"begin": 75,
"end": 78,
"name": "DUP5"
},
{
"begin": 71,
"end": 82,
"name": "ADD"
},
{
"begin": 64,
"end": 103,
"name": "MSTORE"
},
{
"begin": 52,
"end": 54,
"name": "PUSH",
"value": "20"
},
{
"begin": 49,
"end": 50,
"name": "DUP2"
},
{
"begin": 45,
"end": 55,
"name": "ADD"
},
{
"begin": 40,
"end": 55,
"name": "SWAP1"
},
{
"begin": 40,
"end": 55,
"name": "POP"
},
{
"begin": 8,
"end": 108,
"name": "PUSH [tag]",
"value": "12"
},
{
"begin": 8,
"end": 108,
"name": "JUMP"
},
{
"begin": 8,
"end": 108,
"name": "tag",
"value": "13"
},
{
"begin": 8,
"end": 108,
"name": "JUMPDEST"
},
{
"begin": 12,
"end": 26,
"name": "POP"
},
{
"begin": 262,
"end": 344,
"name": "POP"
},
{
"begin": 262,
"end": 344,
"name": "POP"
},
{
"begin": 262,
"end": 344,
"name": "POP"
},
{
"begin": 262,
"end": 344,
"name": "SWAP1"
},
{
"begin": 262,
"end": 344,
"name": "POP"
},
{
"begin": 262,
"end": 344,
"name": "SWAP1"
},
{
"begin": 262,
"end": 344,
"name": "DUP2"
},
{
"begin": 262,
"end": 344,
"name": "ADD"
},
{
"begin": 262,
"end": 344,
"name": "SWAP1"
},
{
"begin": 262,
"end": 344,
"name": "PUSH",
"value": "1F"
},
{
"begin": 262,
"end": 344,
"name": "AND"
},
{
"begin": 262,
"end": 344,
"name": "DUP1"
},
{
"begin": 262,
"end": 344,
"name": "ISZERO"
},
{
"begin": 262,
"end": 344,
"name": "PUSH [tag]",
"value": "15"
},
{
"begin": 262,
"end": 344,
"name": "JUMPI"
},
{
"begin": 262,
"end": 344,
"name": "DUP1"
},
{
"begin": 262,
"end": 344,
"name": "DUP3"
},
{
"begin": 262,
"end": 344,
"name": "SUB"
},
{
"begin": 262,
"end": 344,
"name": "DUP1"
},
{
"begin": 262,
"end": 344,
"name": "MLOAD"
},
{
"begin": 262,
"end": 344,
"name": "PUSH",
"value": "1"
},
{
"begin": 262,
"end": 344,
"name": "DUP4"
},
{
"begin": 262,
"end": 344,
"name": "PUSH",
"value": "20"
},
{
"begin": 262,
"end": 344,
"name": "SUB"
},
{
"begin": 262,
"end": 344,
"name": "PUSH",
"value": "100"
},
{
"begin": 262,
"end": 344,
"name": "EXP"
},
{
"begin": 262,
"end": 344,
"name": "SUB"
},
{
"begin": 262,
"end": 344,
"name": "NOT"
},
{
"begin": 262,
"end": 344,
"name": "AND"
},
{
"begin": 262,
"end": 344,
"name": "DUP2"
},
{
"begin": 262,
"end": 344,
"name": "MSTORE"
},
{
"begin": 262,
"end": 344,
"name": "PUSH",
"value": "20"
},
{
"begin": 262,
"end": 344,
"name": "ADD"
},
{
"begin": 262,
"end": 344,
"name": "SWAP2"
},
{
"begin": 262,
"end": 344,
"name": "POP"
},
{
"begin": 262,
"end": 344,
"name": "tag",
"value": "15"
},
{
"begin": 262,
"end": 344,
"name": "JUMPDEST"
},
{
"begin": 262,
"end": 344,
"name": "POP"
},
{
"begin": 262,
"end": 344,
"name": "SWAP3"
},
{
"begin": 262,
"end": 344,
"name": "POP"
},
{
"begin": 262,
"end": 344,
"name": "POP"
},
{
"begin": 262,
"end": 344,
"name": "POP"
},
{
"begin": 262,
"end": 344,
"name": "PUSH",
"value": "40"
},
{
"begin": 262,
"end": 344,
"name": "MLOAD"
},
{
"begin": 262,
"end": 344,
"name": "DUP1"
},
{
"begin": 262,
"end": 344,
"name": "SWAP2"
},
{
"begin": 262,
"end": 344,
"name": "SUB"
},
{
"begin": 262,
"end": 344,
"name": "SWAP1"
},
{
"begin": 262,
"end": 344,
"name": "RETURN"
},
{
"begin": 351,
"end": 431,
"name": "tag",
"value": "4"
},
{
"begin": 351,
"end": 431,
"name": "JUMPDEST"
},
{
"begin": 351,
"end": 431,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "16"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "16"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 351,
"end": 431,
"name": "POP"
},
{
"begin": 351,
"end": 431,
"name": "PUSH [tag]",
"value": "17"
},
{
"begin": 351,
"end": 431,
"name": "PUSH",
"value": "4"
},
{
"begin": 351,
"end": 431,
"name": "DUP1"
},
{
"begin": 351,
"end": 431,
"name": "CALLDATASIZE"
},
{
"begin": 351,
"end": 431,
"name": "SUB"
},
{
"begin": 351,
"end": 431,
"name": "DUP2"
},
{
"begin": 351,
"end": 431,
"name": "ADD"
},
{
"begin": 351,
"end": 431,
"name": "SWAP1"
},
{
"begin": 351,
"end": 431,
"name": "DUP1"
},
{
"begin": 351,
"end": 431,
"name": "DUP1"
},
{
"begin": 351,
"end": 431,
"name": "CALLDATALOAD"
},
{
"begin": 351,
"end": 431,
"name": "SWAP1"
},
{
"begin": 351,
"end": 431,
"name": "PUSH",
"value": "20"
},
{
"begin": 351,
"end": 431,
"name": "ADD"
},
{
"begin": 351,
"end": 431,
"name": "SWAP1"
},
{
"begin": 351,
"end": 431,
"name": "SWAP3"
},
{
"begin": 351,
"end": 431,
"name": "SWAP2"
},
{
"begin": 351,
"end": 431,
"name": "SWAP1"
},
{
"begin": 351,
"end": 431,
"name": "DUP1"
},
{
"begin": 351,
"end": 431,
"name": "CALLDATALOAD"
},
{
"begin": 351,
"end": 431,
"name": "SWAP1"
},
{
"begin": 351,
"end": 431,
"name": "PUSH",
"value": "20"
},
{
"begin": 351,
"end": 431,
"name": "ADD"
},
{
"begin": 351,
"end": 431,
"name": "SWAP1"
},
{
"begin": 351,
"end": 431,
"name": "SWAP3"
},
{
"begin": 351,
"end": 431,
"name": "SWAP2"
},
{
"begin": 351,
"end": 431,
"name": "SWAP1"
},
{
"begin": 351,
"end": 431,
"name": "POP"
},
{
"begin": 351,
"end": 431,
"name": "POP"
},
{
"begin": 351,
"end": 431,
"name": "POP"
},
{
"begin": 351,
"end": 431,
"name": "PUSH [tag]",
"value": "18"
},
{
"begin": 351,
"end": 431,
"name": "JUMP"
},
{
"begin": 351,
"end": 431,
"name": "tag",
"value": "17"
},
{
"begin": 351,
"end": 431,
"name": "JUMPDEST"
},
{
"begin": 351,
"end": 431,
"name": "STOP"
},
{
"begin": 46,
"end": 67,
"name": "tag",
"value": "5"
},
{
"begin": 46,
"end": 67,
"name": "JUMPDEST"
},
{
"begin": 46,
"end": 67,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "19"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "19"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "PUSH [tag]",
"value": "20"
},
{
"begin": 46,
"end": 67,
"name": "PUSH [tag]",
"value": "21"
},
{
"begin": 46,
"end": 67,
"name": "JUMP"
},
{
"begin": 46,
"end": 67,
"name": "tag",
"value": "20"
},
{
"begin": 46,
"end": 67,
"name": "JUMPDEST"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "40"
},
{
"begin": 46,
"end": 67,
"name": "MLOAD"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "20"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "DUP3"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "SUB"
},
{
"begin": 46,
"end": 67,
"name": "DUP3"
},
{
"begin": 46,
"end": 67,
"name": "MSTORE"
},
{
"begin": 46,
"end": 67,
"name": "DUP4"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "MLOAD"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "MSTORE"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "20"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "SWAP2"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "MLOAD"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "20"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "DUP4"
},
{
"begin": 46,
"end": 67,
"name": "DUP4"
},
{
"begin": 23,
"end": 24,
"name": "PUSH",
"value": "0"
},
{
"begin": 8,
"end": 108,
"name": "tag",
"value": "22"
},
{
"begin": 8,
"end": 108,
"name": "JUMPDEST"
},
{
"begin": 33,
"end": 36,
"name": "DUP4"
},
{
"begin": 30,
"end": 31,
"name": "DUP2"
},
{
"begin": 27,
"end": 37,
"name": "LT"
},
{
"begin": 8,
"end": 108,
"name": "ISZERO"
},
{
"begin": 8,
"end": 108,
"name": "PUSH [tag]",
"value": "23"
},
{
"begin": 8,
"end": 108,
"name": "JUMPI"
},
{
"begin": 99,
"end": 100,
"name": "DUP1"
},
{
"begin": 94,
"end": 97,
"name": "DUP3"
},
{
"begin": 90,
"end": 101,
"name": "ADD"
},
{
"begin": 84,
"end": 102,
"name": "MLOAD"
},
{
"begin": 80,
"end": 81,
"name": "DUP2"
},
{
"begin": 75,
"end": 78,
"name": "DUP5"
},
{
"begin": 71,
"end": 82,
"name": "ADD"
},
{
"begin": 64,
"end": 103,
"name": "MSTORE"
},
{
"begin": 52,
"end": 54,
"name": "PUSH",
"value": "20"
},
{
"begin": 49,
"end": 50,
"name": "DUP2"
},
{
"begin": 45,
"end": 55,
"name": "ADD"
},
{
"begin": 40,
"end": 55,
"name": "SWAP1"
},
{
"begin": 40,
"end": 55,
"name": "POP"
},
{
"begin": 8,
"end": 108,
"name": "PUSH [tag]",
"value": "22"
},
{
"begin": 8,
"end": 108,
"name": "JUMP"
},
{
"begin": 8,
"end": 108,
"name": "tag",
"value": "23"
},
{
"begin": 8,
"end": 108,
"name": "JUMPDEST"
},
{
"begin": 12,
"end": 26,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "1F"
},
{
"begin": 46,
"end": 67,
"name": "AND"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "ISZERO"
},
{
"begin": 46,
"end": 67,
"name": "PUSH [tag]",
"value": "25"
},
{
"begin": 46,
"end": 67,
"name": "JUMPI"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "DUP3"
},
{
"begin": 46,
"end": 67,
"name": "SUB"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "MLOAD"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "1"
},
{
"begin": 46,
"end": 67,
"name": "DUP4"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "20"
},
{
"begin": 46,
"end": 67,
"name": "SUB"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "100"
},
{
"begin": 46,
"end": 67,
"name": "EXP"
},
{
"begin": 46,
"end": 67,
"name": "SUB"
},
{
"begin": 46,
"end": 67,
"name": "NOT"
},
{
"begin": 46,
"end": 67,
"name": "AND"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "MSTORE"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "20"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "SWAP2"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "tag",
"value": "25"
},
{
"begin": 46,
"end": 67,
"name": "JUMPDEST"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "SWAP3"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "40"
},
{
"begin": 46,
"end": 67,
"name": "MLOAD"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "SWAP2"
},
{
"begin": 46,
"end": 67,
"name": "SUB"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "RETURN"
},
{
"begin": 164,
"end": 254,
"name": "tag",
"value": "8"
},
{
"begin": 164,
"end": 254,
"name": "JUMPDEST"
},
{
"begin": 233,
"end": 247,
"name": "DUP1"
},
{
"begin": 223,
"end": 230,
"name": "PUSH",
"value": "0"
},
{
"begin": 223,
"end": 247,
"name": "SWAP1"
},
{
"begin": 223,
"end": 247,
"name": "DUP1"
},
{
"begin": 223,
"end": 247,
"name": "MLOAD"
},
{
"begin": 223,
"end": 247,
"name": "SWAP1"
},
{
"begin": 223,
"end": 247,
"name": "PUSH",
"value": "20"
},
{
"begin": 223,
"end": 247,
"name": "ADD"
},
{
"begin": 223,
"end": 247,
"name": "SWAP1"
},
{
"begin": 223,
"end": 247,
"name": "PUSH [tag]",
"value": "27"
},
{
"begin": 223,
"end": 247,
"name": "SWAP3"
},
{
"begin": 223,
"end": 247,
"name": "SWAP2"
},
{
"begin": 223,
"end": 247,
"name": "SWAP1"
},
{
"begin": 223,
"end": 247,
"name": "PUSH [tag]",
"value": "28"
},
{
"begin": 223,
"end": 247,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 223,
"end": 247,
"name": "tag",
"value": "27"
},
{
"begin": 223,
"end": 247,
"name": "JUMPDEST"
},
{
"begin": 223,
"end": 247,
"name": "POP"
},
{
"begin": 164,
"end": 254,
"name": "POP"
},
{
"begin": 164,
"end": 254,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 262,
"end": 344,
"name": "tag",
"value": "11"
},
{
"begin": 262,
"end": 344,
"name": "JUMPDEST"
},
{
"begin": 305,
"end": 311,
"name": "PUSH",
"value": "60"
},
{
"begin": 330,
"end": 337,
"name": "PUSH",
"value": "0"
},
{
"begin": 323,
"end": 337,
"name": "DUP1"
},
{
"begin": 323,
"end": 337,
"name": "SLOAD"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "1"
},
{
"begin": 323,
"end": 337,
"name": "DUP2"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "1"
},
{
"begin": 323,
"end": 337,
"name": "AND"
},
{
"begin": 323,
"end": 337,
"name": "ISZERO"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "100"
},
{
"begin": 323,
"end": 337,
"name": "MUL"
},
{
"begin": 323,
"end": 337,
"name": "SUB"
},
{
"begin": 323,
"end": 337,
"name": "AND"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "2"
},
{
"begin": 323,
"end": 337,
"name": "SWAP1"
},
{
"begin": 323,
"end": 337,
"name": "DIV"
},
{
"begin": 323,
"end": 337,
"name": "DUP1"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "1F"
},
{
"begin": 323,
"end": 337,
"name": "ADD"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "20"
},
{
"begin": 323,
"end": 337,
"name": "DUP1"
},
{
"begin": 323,
"end": 337,
"name": "SWAP2"
},
{
"begin": 323,
"end": 337,
"name": "DIV"
},
{
"begin": 323,
"end": 337,
"name": "MUL"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "20"
},
{
"begin": 323,
"end": 337,
"name": "ADD"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "40"
},
{
"begin": 323,
"end": 337,
"name": "MLOAD"
},
{
"begin": 323,
"end": 337,
"name": "SWAP1"
},
{
"begin": 323,
"end": 337,
"name": "DUP2"
},
{
"begin": 323,
"end": 337,
"name": "ADD"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "40"
},
{
"begin": 323,
"end": 337,
"name": "MSTORE"
},
{
"begin": 323,
"end": 337,
"name": "DUP1"
},
{
"begin": 323,
"end": 337,
"name": "SWAP3"
},
{
"begin": 323,
"end": 337,
"name": "SWAP2"
},
{
"begin": 323,
"end": 337,
"name": "SWAP1"
},
{
"begin": 323,
"end": 337,
"name": "DUP2"
},
{
"begin": 323,
"end": 337,
"name": "DUP2"
},
{
"begin": 323,
"end": 337,
"name": "MSTORE"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "20"
},
{
"begin": 323,
"end": 337,
"name": "ADD"
},
{
"begin": 323,
"end": 337,
"name": "DUP3"
},
{
"begin": 323,
"end": 337,
"name": "DUP1"
},
{
"begin": 323,
"end": 337,
"name": "SLOAD"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "1"
},
{
"begin": 323,
"end": 337,
"name": "DUP2"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "1"
},
{
"begin": 323,
"end": 337,
"name": "AND"
},
{
"begin": 323,
"end": 337,
"name": "ISZERO"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "100"
},
{
"begin": 323,
"end": 337,
"name": "MUL"
},
{
"begin": 323,
"end": 337,
"name": "SUB"
},
{
"begin": 323,
"end": 337,
"name": "AND"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "2"
},
{
"begin": 323,
"end": 337,
"name": "SWAP1"
},
{
"begin": 323,
"end": 337,
"name": "DIV"
},
{
"begin": 323,
"end": 337,
"name": "DUP1"
},
{
"begin": 323,
"end": 337,
"name": "ISZERO"
},
{
"begin": 323,
"end": 337,
"name": "PUSH [tag]",
"value": "30"
},
{
"begin": 323,
"end": 337,
"name": "JUMPI"
},
{
"begin": 323,
"end": 337,
"name": "DUP1"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "1F"
},
{
"begin": 323,
"end": 337,
"name": "LT"
},
{
"begin": 323,
"end": 337,
"name": "PUSH [tag]",
"value": "31"
},
{
"begin": 323,
"end": 337,
"name": "JUMPI"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "100"
},
{
"begin": 323,
"end": 337,
"name": "DUP1"
},
{
"begin": 323,
"end": 337,
"name": "DUP4"
},
{
"begin": 323,
"end": 337,
"name": "SLOAD"
},
{
"begin": 323,
"end": 337,
"name": "DIV"
},
{
"begin": 323,
"end": 337,
"name": "MUL"
},
{
"begin": 323,
"end": 337,
"name": "DUP4"
},
{
"begin": 323,
"end": 337,
"name": "MSTORE"
},
{
"begin": 323,
"end": 337,
"name": "SWAP2"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "20"
},
{
"begin": 323,
"end": 337,
"name": "ADD"
},
{
"begin": 323,
"end": 337,
"name": "SWAP2"
},
{
"begin": 323,
"end": 337,
"name": "PUSH [tag]",
"value": "30"
},
{
"begin": 323,
"end": 337,
"name": "JUMP"
},
{
"begin": 323,
"end": 337,
"name": "tag",
"value": "31"
},
{
"begin": 323,
"end": 337,
"name": "JUMPDEST"
},
{
"begin": 323,
"end": 337,
"name": "DUP3"
},
{
"begin": 323,
"end": 337,
"name": "ADD"
},
{
"begin": 323,
"end": 337,
"name": "SWAP2"
},
{
"begin": 323,
"end": 337,
"name": "SWAP1"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "0"
},
{
"begin": 323,
"end": 337,
"name": "MSTORE"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "20"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "0"
},
{
"begin": 323,
"end": 337,
"name": "KECCAK256"
},
{
"begin": 323,
"end": 337,
"name": "SWAP1"
},
{
"begin": 323,
"end": 337,
"name": "tag",
"value": "32"
},
{
"begin": 323,
"end": 337,
"name": "JUMPDEST"
},
{
"begin": 323,
"end": 337,
"name": "DUP2"
},
{
"begin": 323,
"end": 337,
"name": "SLOAD"
},
{
"begin": 323,
"end": 337,
"name": "DUP2"
},
{
"begin": 323,
"end": 337,
"name": "MSTORE"
},
{
"begin": 323,
"end": 337,
"name": "SWAP1"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "1"
},
{
"begin": 323,
"end": 337,
"name": "ADD"
},
{
"begin": 323,
"end": 337,
"name": "SWAP1"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "20"
},
{
"begin": 323,
"end": 337,
"name": "ADD"
},
{
"begin": 323,
"end": 337,
"name": "DUP1"
},
{
"begin": 323,
"end": 337,
"name": "DUP4"
},
{
"begin": 323,
"end": 337,
"name": "GT"
},
{
"begin": 323,
"end": 337,
"name": "PUSH [tag]",
"value": "32"
},
{
"begin": 323,
"end": 337,
"name": "JUMPI"
},
{
"begin": 323,
"end": 337,
"name": "DUP3"
},
{
"begin": 323,
"end": 337,
"name": "SWAP1"
},
{
"begin": 323,
"end": 337,
"name": "SUB"
},
{
"begin": 323,
"end": 337,
"name": "PUSH",
"value": "1F"
},
{
"begin": 323,
"end": 337,
"name": "AND"
},
{
"begin": 323,
"end": 337,
"name": "DUP3"
},
{
"begin": 323,
"end": 337,
"name": "ADD"
},
{
"begin": 323,
"end": 337,
"name": "SWAP2"
},
{
"begin": 323,
"end": 337,
"name": "tag",
"value": "30"
},
{
"begin": 323,
"end": 337,
"name": "JUMPDEST"
},
{
"begin": 323,
"end": 337,
"name": "POP"
},
{
"begin": 323,
"end": 337,
"name": "POP"
},
{
"begin": 323,
"end": 337,
"name": "POP"
},
{
"begin": 323,
"end": 337,
"name": "POP"
},
{
"begin": 323,
"end": 337,
"name": "POP"
},
{
"begin": 323,
"end": 337,
"name": "SWAP1"
},
{
"begin": 323,
"end": 337,
"name": "POP"
},
{
"begin": 262,
"end": 344,
"name": "SWAP1"
},
{
"begin": 262,
"end": 344,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 351,
"end": 431,
"name": "tag",
"value": "18"
},
{
"begin": 351,
"end": 431,
"name": "JUMPDEST"
},
{
"begin": 351,
"end": 431,
"name": "POP"
},
{
"begin": 351,
"end": 431,
"name": "POP"
},
{
"begin": 351,
"end": 431,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 46,
"end": 67,
"name": "tag",
"value": "21"
},
{
"begin": 46,
"end": 67,
"name": "JUMPDEST"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "0"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "SLOAD"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "1"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "1"
},
{
"begin": 46,
"end": 67,
"name": "AND"
},
{
"begin": 46,
"end": 67,
"name": "ISZERO"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "100"
},
{
"begin": 46,
"end": 67,
"name": "MUL"
},
{
"begin": 46,
"end": 67,
"name": "SUB"
},
{
"begin": 46,
"end": 67,
"name": "AND"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "2"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "DIV"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "1F"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "20"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "SWAP2"
},
{
"begin": 46,
"end": 67,
"name": "DIV"
},
{
"begin": 46,
"end": 67,
"name": "MUL"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "20"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "40"
},
{
"begin": 46,
"end": 67,
"name": "MLOAD"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "40"
},
{
"begin": 46,
"end": 67,
"name": "MSTORE"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "SWAP3"
},
{
"begin": 46,
"end": 67,
"name": "SWAP2"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "MSTORE"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "20"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "DUP3"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "SLOAD"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "1"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "1"
},
{
"begin": 46,
"end": 67,
"name": "AND"
},
{
"begin": 46,
"end": 67,
"name": "ISZERO"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "100"
},
{
"begin": 46,
"end": 67,
"name": "MUL"
},
{
"begin": 46,
"end": 67,
"name": "SUB"
},
{
"begin": 46,
"end": 67,
"name": "AND"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "2"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "DIV"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "ISZERO"
},
{
"begin": 46,
"end": 67,
"name": "PUSH [tag]",
"value": "34"
},
{
"begin": 46,
"end": 67,
"name": "JUMPI"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "1F"
},
{
"begin": 46,
"end": 67,
"name": "LT"
},
{
"begin": 46,
"end": 67,
"name": "PUSH [tag]",
"value": "35"
},
{
"begin": 46,
"end": 67,
"name": "JUMPI"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "100"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "DUP4"
},
{
"begin": 46,
"end": 67,
"name": "SLOAD"
},
{
"begin": 46,
"end": 67,
"name": "DIV"
},
{
"begin": 46,
"end": 67,
"name": "MUL"
},
{
"begin": 46,
"end": 67,
"name": "DUP4"
},
{
"begin": 46,
"end": 67,
"name": "MSTORE"
},
{
"begin": 46,
"end": 67,
"name": "SWAP2"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "20"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "SWAP2"
},
{
"begin": 46,
"end": 67,
"name": "PUSH [tag]",
"value": "34"
},
{
"begin": 46,
"end": 67,
"name": "JUMP"
},
{
"begin": 46,
"end": 67,
"name": "tag",
"value": "35"
},
{
"begin": 46,
"end": 67,
"name": "JUMPDEST"
},
{
"begin": 46,
"end": 67,
"name": "DUP3"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "SWAP2"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "0"
},
{
"begin": 46,
"end": 67,
"name": "MSTORE"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "20"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "0"
},
{
"begin": 46,
"end": 67,
"name": "KECCAK256"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "tag",
"value": "36"
},
{
"begin": 46,
"end": 67,
"name": "JUMPDEST"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "SLOAD"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "MSTORE"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "1"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "20"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "DUP1"
},
{
"begin": 46,
"end": 67,
"name": "DUP4"
},
{
"begin": 46,
"end": 67,
"name": "GT"
},
{
"begin": 46,
"end": 67,
"name": "PUSH [tag]",
"value": "36"
},
{
"begin": 46,
"end": 67,
"name": "JUMPI"
},
{
"begin": 46,
"end": 67,
"name": "DUP3"
},
{
"begin": 46,
"end": 67,
"name": "SWAP1"
},
{
"begin": 46,
"end": 67,
"name": "SUB"
},
{
"begin": 46,
"end": 67,
"name": "PUSH",
"value": "1F"
},
{
"begin": 46,
"end": 67,
"name": "AND"
},
{
"begin": 46,
"end": 67,
"name": "DUP3"
},
{
"begin": 46,
"end": 67,
"name": "ADD"
},
{
"begin": 46,
"end": 67,
"name": "SWAP2"
},
{
"begin": 46,
"end": 67,
"name": "tag",
"value": "34"
},
{
"begin": 46,
"end": 67,
"name": "JUMPDEST"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "POP"
},
{
"begin": 46,
"end": 67,
"name": "DUP2"
},
{
"begin": 46,
"end": 67,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 26,
"end": 433,
"name": "tag",
"value": "28"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 433,
"name": "DUP3"
},
{
"begin": 26,
"end": 433,
"name": "DUP1"
},
{
"begin": 26,
"end": 433,
"name": "SLOAD"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "1"
},
{
"begin": 26,
"end": 433,
"name": "DUP2"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "1"
},
{
"begin": 26,
"end": 433,
"name": "AND"
},
{
"begin": 26,
"end": 433,
"name": "ISZERO"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "100"
},
{
"begin": 26,
"end": 433,
"name": "MUL"
},
{
"begin": 26,
"end": 433,
"name": "SUB"
},
{
"begin": 26,
"end": 433,
"name": "AND"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "2"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1"
},
{
"begin": 26,
"end": 433,
"name": "DIV"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 433,
"name": "MSTORE"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "20"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 433,
"name": "KECCAK256"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "1F"
},
{
"begin": 26,
"end": 433,
"name": "ADD"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "20"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1"
},
{
"begin": 26,
"end": 433,
"name": "DIV"
},
{
"begin": 26,
"end": 433,
"name": "DUP2"
},
{
"begin": 26,
"end": 433,
"name": "ADD"
},
{
"begin": 26,
"end": 433,
"name": "SWAP3"
},
{
"begin": 26,
"end": 433,
"name": "DUP3"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "1F"
},
{
"begin": 26,
"end": 433,
"name": "LT"
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"value": "38"
},
{
"begin": 26,
"end": 433,
"name": "JUMPI"
},
{
"begin": 26,
"end": 433,
"name": "DUP1"
},
{
"begin": 26,
"end": 433,
"name": "MLOAD"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "FF"
},
{
"begin": 26,
"end": 433,
"name": "NOT"
},
{
"begin": 26,
"end": 433,
"name": "AND"
},
{
"begin": 26,
"end": 433,
"name": "DUP4"
},
{
"begin": 26,
"end": 433,
"name": "DUP1"
},
{
"begin": 26,
"end": 433,
"name": "ADD"
},
{
"begin": 26,
"end": 433,
"name": "OR"
},
{
"begin": 26,
"end": 433,
"name": "DUP6"
},
{
"begin": 26,
"end": 433,
"name": "SSTORE"
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"value": "37"
},
{
"begin": 26,
"end": 433,
"name": "JUMP"
},
{
"begin": 26,
"end": 433,
"name": "tag",
"value": "38"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 433,
"name": "DUP3"
},
{
"begin": 26,
"end": 433,
"name": "DUP1"
},
{
"begin": 26,
"end": 433,
"name": "ADD"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "1"
},
{
"begin": 26,
"end": 433,
"name": "ADD"
},
{
"begin": 26,
"end": 433,
"name": "DUP6"
},
{
"begin": 26,
"end": 433,
"name": "SSTORE"
},
{
"begin": 26,
"end": 433,
"name": "DUP3"
},
{
"begin": 26,
"end": 433,
"name": "ISZERO"
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"value": "37"
},
{
"begin": 26,
"end": 433,
"name": "JUMPI"
},
{
"begin": 26,
"end": 433,
"name": "SWAP2"
},
{
"begin": 26,
"end": 433,
"name": "DUP3"
},
{
"begin": 26,
"end": 433,
"name": "ADD"
},
{
"begin": 26,
"end": 433,
"name": "tag",
"value": "39"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 433,
"name": "DUP3"
},
{
"begin": 26,
"end": 433,
"name": "DUP2"
},
{
"begin": 26,
"end": 433,
"name": "GT"
},
{
"begin": 26,
"end": 433,
"name": "ISZERO"
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"value": "40"
},
{
"begin": 26,
"end": 433,
"name": "JUMPI"
},
{
"begin": 26,
"end": 433,
"name": "DUP3"
},
{
"begin": 26,
"end": 433,
"name": "MLOAD"
},
{
"begin": 26,
"end": 433,
"name": "DUP3"
},
{
"begin": 26,
"end": 433,
"name": "SSTORE"
},
{
"begin": 26,
"end": 433,
"name": "SWAP2"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "20"
},
{
"begin": 26,
"end": 433,
"name": "ADD"
},
{
"begin": 26,
"end": 433,
"name": "SWAP2"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "1"
},
{
"begin": 26,
"end": 433,
"name": "ADD"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1"
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"value": "39"
},
{
"begin": 26,
"end": 433,
"name": "JUMP"
},
{
"begin": 26,
"end": 433,
"name": "tag",
"value": "40"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 433,
"name": "tag",
"value": "37"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 433,
"name": "POP"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1"
},
{
"begin": 26,
"end": 433,
"name": "POP"
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"value": "41"
},
{
"begin": 26,
"end": 433,
"name": "SWAP2"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1"
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"value": "42"
},
{
"begin": 26,
"end": 433,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 26,
"end": 433,
"name": "tag",
"value": "41"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 433,
"name": "POP"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1"
},
{
"begin": 26,
"end": 433,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 26,
"end": 433,
"name": "tag",
"value": "42"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"value": "43"
},
{
"begin": 26,
"end": 433,
"name": "SWAP2"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1"
},
{
"begin": 26,
"end": 433,
"name": "tag",
"value": "44"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 433,
"name": "DUP1"
},
{
"begin": 26,
"end": 433,
"name": "DUP3"
},
{
"begin": 26,
"end": 433,
"name": "GT"
},
{
"begin": 26,
"end": 433,
"name": "ISZERO"
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"value": "45"
},
{
"begin": 26,
"end": 433,
"name": "JUMPI"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 433,
"name": "DUP2"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1"
},
{
"begin": 26,
"end": 433,
"name": "SSTORE"
},
{
"begin": 26,
"end": 433,
"name": "POP"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"value": "1"
},
{
"begin": 26,
"end": 433,
"name": "ADD"
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"value": "44"
},
{
"begin": 26,
"end": 433,
"name": "JUMP"
},
{
"begin": 26,
"end": 433,
"name": "tag",
"value": "45"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 433,
"name": "POP"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1"
},
{
"begin": 26,
"end": 433,
"name": "JUMP"
},
{
"begin": 26,
"end": 433,
"name": "tag",
"value": "43"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1"
},
{
"begin": 26,
"end": 433,
"name": "JUMP",
"value": "[out]"
}
]
}
}
},
"methodIdentifiers": {
"doMath(int256,int256)": "d545dd8c",
"getMessage()": "ce6d41de",
"message()": "e21f37ce",
"setMessage(string)": "368b8772"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.4.26+commit.4563c3fc\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"initialMessage\",\"type\":\"string\"}],\"name\":\"setMessage\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getMessage\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"a\",\"type\":\"int256\"},{\"name\":\"b\",\"type\":\"int256\"}],\"name\":\"doMath\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"message\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"initialMessage\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"contracts/3_Ballot.sol\":\"Inbox\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/3_Ballot.sol\":{\"keccak256\":\"0x1c6b222c78d2471b6d40a7b8b1ca9f505ca56598e72346f50529e9a27f093ffd\",\"urls\":[\"bzzr://3d855eb56b27966e9a570a39e3f5864d63c68ffd987baa910cef03b7fd5d44d9\"]}},\"version\":1}",
"userdoc": {
"methods": {}
}
}
}
},
"errors": [
{
"component": "general",
"formattedMessage": "contracts/3_Ballot.sol:6:5: Warning: Defining constructors as functions with the same name as the contract is deprecated. Use \"constructor(...) { ... }\" instead.\n function Inbox(string initialMessage)public {\n ^ (Relevant source part starts here and spans across multiple lines).\n",
"message": "Defining constructors as functions with the same name as the contract is deprecated. Use \"constructor(...) { ... }\" instead.",
"severity": "warning",
"sourceLocation": {
"end": 159,
"file": "contracts/3_Ballot.sol",
"start": 74
},
"type": "Warning"
},
{
"component": "general",
"formattedMessage": "contracts/3_Ballot.sol:16:5: Warning: No visibility specified. Defaulting to \"public\". \n function doMath(int a, int b) {\n ^ (Relevant source part starts here and spans across multiple lines).\n",
"message": "No visibility specified. Defaulting to \"public\". ",
"severity": "warning",
"sourceLocation": {
"end": 431,
"file": "contracts/3_Ballot.sol",
"start": 351
},
"type": "Warning"
},
{
"component": "general",
"formattedMessage": "contracts/3_Ballot.sol:16:5: Warning: Function state mutability can be restricted to pure\n function doMath(int a, int b) {\n ^ (Relevant source part starts here and spans across multiple lines).\n",
"message": "Function state mutability can be restricted to pure",
"severity": "warning",
"sourceLocation": {
"end": 431,
"file": "contracts/3_Ballot.sol",
"start": 351
},
"type": "Warning"
}
],
"sources": {
"contracts/3_Ballot.sol": {
"ast": {
"absolutePath": "contracts/3_Ballot.sol",
"exportedSymbols": {
"Inbox": [
52
]
},
"id": 53,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.4",
".17"
],
"nodeType": "PragmaDirective",
"src": "0:24:0"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 52,
"linearizedBaseContracts": [
52
],
"name": "Inbox",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 3,
"name": "message",
"nodeType": "VariableDeclaration",
"scope": 52,
"src": "46:21:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string"
},
"typeName": {
"id": 2,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "46:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "public"
},
{
"body": {
"id": 12,
"nodeType": "Block",
"src": "118:41:0",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 10,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 8,
"name": "message",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "128:7:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 9,
"name": "initialMessage",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5,
"src": "138:14:0",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "128:24:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"id": 11,
"nodeType": "ExpressionStatement",
"src": "128:24:0"
}
]
},
"documentation": null,
"id": 13,
"implemented": true,
"isConstructor": true,
"isDeclaredConst": false,
"modifiers": [],
"name": "Inbox",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 6,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5,
"name": "initialMessage",
"nodeType": "VariableDeclaration",
"scope": 13,
"src": "89:21:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 4,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "89:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "88:23:0"
},
"payable": false,
"returnParameters": {
"id": 7,
"nodeType": "ParameterList",
"parameters": [],
"src": "118:0:0"
},
"scope": 52,
"src": "74:85:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 22,
"nodeType": "Block",
"src": "213:41:0",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 20,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 18,
"name": "message",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "223:7:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 19,
"name": "initialMessage",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 15,
"src": "233:14:0",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "223:24:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"id": 21,
"nodeType": "ExpressionStatement",
"src": "223:24:0"
}
]
},
"documentation": null,
"id": 23,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "setMessage",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 16,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 15,
"name": "initialMessage",
"nodeType": "VariableDeclaration",
"scope": 23,
"src": "184:21:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 14,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "184:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "183:23:0"
},
"payable": false,
"returnParameters": {
"id": 17,
"nodeType": "ParameterList",
"parameters": [],
"src": "213:0:0"
},
"scope": 52,
"src": "164:90:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 30,
"nodeType": "Block",
"src": "313:31:0",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 28,
"name": "message",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "330:7:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"functionReturnParameters": 27,
"id": 29,
"nodeType": "Return",
"src": "323:14:0"
}
]
},
"documentation": null,
"id": 31,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getMessage",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 24,
"nodeType": "ParameterList",
"parameters": [],
"src": "281:2:0"
},
"payable": false,
"returnParameters": {
"id": 27,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 26,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 31,
"src": "305:6:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 25,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "305:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "304:8:0"
},
"scope": 52,
"src": "262:82:0",
"stateMutability": "view",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 50,
"nodeType": "Block",
"src": "381:50:0",
"statements": [
{
"expression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"id": 40,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 38,
"name": "a",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 33,
"src": "391:1:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"id": 39,
"name": "b",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 35,
"src": "393:1:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"src": "391:3:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"id": 41,
"nodeType": "ExpressionStatement",
"src": "391:3:0"
},
{
"expression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"id": 44,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 42,
"name": "a",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 33,
"src": "404:1:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"nodeType": "BinaryOperation",
"operator": "-",
"rightExpression": {
"argumentTypes": null,
"id": 43,
"name": "b",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 35,
"src": "406:1:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"src": "404:3:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"id": 45,
"nodeType": "ExpressionStatement",
"src": "404:3:0"
},
{
"expression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"id": 48,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 46,
"name": "a",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 33,
"src": "417:1:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
"id": 47,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "422:1:0",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "417:6:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 49,
"nodeType": "ExpressionStatement",
"src": "417:6:0"
}
]
},
"documentation": null,
"id": 51,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "doMath",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 36,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 33,
"name": "a",
"nodeType": "VariableDeclaration",
"scope": 51,
"src": "367:5:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"typeName": {
"id": 32,
"name": "int",
"nodeType": "ElementaryTypeName",
"src": "367:3:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 35,
"name": "b",
"nodeType": "VariableDeclaration",
"scope": 51,
"src": "374:5:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"typeName": {
"id": 34,
"name": "int",
"nodeType": "ElementaryTypeName",
"src": "374:3:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "366:14:0"
},
"payable": false,
"returnParameters": {
"id": 37,
"nodeType": "ParameterList",
"parameters": [],
"src": "381:0:0"
},
"scope": 52,
"src": "351:80:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
}
],
"scope": 53,
"src": "26:407:0"
}
],
"src": "0:433: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
},
"görli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"linkReferences": {},
"object": "608060405234801561001057600080fd5b5060405161055a38038061055a833981018060405281019080805182019291905050508060009080519060200190610049929190610050565b50506100f5565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061009157805160ff19168380011785556100bf565b828001600101855582156100bf579182015b828111156100be5782518255916020019190600101906100a3565b5b5090506100cc91906100d0565b5090565b6100f291905b808211156100ee5760008160009055506001016100d6565b5090565b90565b610456806101046000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063368b877214610067578063ce6d41de146100d0578063d545dd8c14610160578063e21f37ce14610197575b600080fd5b34801561007357600080fd5b506100ce600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610227565b005b3480156100dc57600080fd5b506100e5610241565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561012557808201518184015260208101905061010a565b50505050905090810190601f1680156101525780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561016c57600080fd5b5061019560048036038101908080359060200190929190803590602001909291905050506102e3565b005b3480156101a357600080fd5b506101ac6102e7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ec5780820151818401526020810190506101d1565b50505050905090810190601f1680156102195780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b806000908051906020019061023d929190610385565b5050565b606060008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102d95780601f106102ae576101008083540402835291602001916102d9565b820191906000526020600020905b8154815290600101906020018083116102bc57829003601f168201915b5050505050905090565b5050565b60008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561037d5780601f106103525761010080835404028352916020019161037d565b820191906000526020600020905b81548152906001019060200180831161036057829003601f168201915b505050505081565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106103c657805160ff19168380011785556103f4565b828001600101855582156103f4579182015b828111156103f35782518255916020019190600101906103d8565b5b5090506104019190610405565b5090565b61042791905b8082111561042357600081600090555060010161040b565b5090565b905600a165627a7a723058209ccec3c1e936dac90864dd60541c83b919cdbf5df271bd4543bf8794043f1f880029",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x55A CODESIZE SUB DUP1 PUSH2 0x55A DUP4 CODECOPY DUP2 ADD DUP1 PUSH1 0x40 MSTORE DUP2 ADD SWAP1 DUP1 DUP1 MLOAD DUP3 ADD SWAP3 SWAP2 SWAP1 POP POP POP DUP1 PUSH1 0x0 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x49 SWAP3 SWAP2 SWAP1 PUSH2 0x50 JUMP JUMPDEST POP POP PUSH2 0xF5 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0x91 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0xBF JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0xBF JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0xBE JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xA3 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0xCC SWAP2 SWAP1 PUSH2 0xD0 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0xF2 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xEE JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0xD6 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0x456 DUP1 PUSH2 0x104 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x368B8772 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0xCE6D41DE EQ PUSH2 0xD0 JUMPI DUP1 PUSH4 0xD545DD8C EQ PUSH2 0x160 JUMPI DUP1 PUSH4 0xE21F37CE EQ PUSH2 0x197 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP3 ADD DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 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 DUP3 ADD SWAP2 POP POP POP POP POP POP SWAP2 SWAP3 SWAP2 SWAP3 SWAP1 POP POP POP PUSH2 0x227 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE5 PUSH2 0x241 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x125 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x10A JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x152 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x16C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x195 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2E3 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1AC PUSH2 0x2E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1EC JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1D1 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x219 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 PUSH1 0x0 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x23D SWAP3 SWAP2 SWAP1 PUSH2 0x385 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV 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 PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x2D9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2AE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2D9 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 0x2BC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV 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 PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x37D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x352 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x37D 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 0x360 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0x3C6 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x3F4 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x3F4 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x3F3 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x3D8 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x401 SWAP2 SWAP1 PUSH2 0x405 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x427 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x423 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x40B JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 SWAP13 0xce 0xc3 0xc1 0xe9 CALLDATASIZE 0xda 0xc9 ADDMOD PUSH5 0xDD60541C83 0xb9 NOT 0xcd 0xbf 0x5d CALLCODE PUSH18 0xBD4543BF8794043F1F880029000000000000 ",
"sourceMap": "26:407:0:-;;;74:85;8:9:-1;5:2;;;30:1;27;20:12;5:2;74:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;138:14;128:7;:24;;;;;;;;;;;;:::i;:::-;;74:85;26:407;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;"
},
"deployedBytecode": {
"linkReferences": {},
"object": "608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063368b877214610067578063ce6d41de146100d0578063d545dd8c14610160578063e21f37ce14610197575b600080fd5b34801561007357600080fd5b506100ce600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610227565b005b3480156100dc57600080fd5b506100e5610241565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561012557808201518184015260208101905061010a565b50505050905090810190601f1680156101525780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561016c57600080fd5b5061019560048036038101908080359060200190929190803590602001909291905050506102e3565b005b3480156101a357600080fd5b506101ac6102e7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ec5780820151818401526020810190506101d1565b50505050905090810190601f1680156102195780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b806000908051906020019061023d929190610385565b5050565b606060008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102d95780601f106102ae576101008083540402835291602001916102d9565b820191906000526020600020905b8154815290600101906020018083116102bc57829003601f168201915b5050505050905090565b5050565b60008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561037d5780601f106103525761010080835404028352916020019161037d565b820191906000526020600020905b81548152906001019060200180831161036057829003601f168201915b505050505081565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106103c657805160ff19168380011785556103f4565b828001600101855582156103f4579182015b828111156103f35782518255916020019190600101906103d8565b5b5090506104019190610405565b5090565b61042791905b8082111561042357600081600090555060010161040b565b5090565b905600a165627a7a723058209ccec3c1e936dac90864dd60541c83b919cdbf5df271bd4543bf8794043f1f880029",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x368B8772 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0xCE6D41DE EQ PUSH2 0xD0 JUMPI DUP1 PUSH4 0xD545DD8C EQ PUSH2 0x160 JUMPI DUP1 PUSH4 0xE21F37CE EQ PUSH2 0x197 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP3 ADD DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 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 DUP3 ADD SWAP2 POP POP POP POP POP POP SWAP2 SWAP3 SWAP2 SWAP3 SWAP1 POP POP POP PUSH2 0x227 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE5 PUSH2 0x241 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x125 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x10A JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x152 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x16C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x195 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2E3 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1AC PUSH2 0x2E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1EC JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1D1 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x219 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 PUSH1 0x0 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x23D SWAP3 SWAP2 SWAP1 PUSH2 0x385 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV 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 PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x2D9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2AE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2D9 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 0x2BC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV 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 PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x37D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x352 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x37D 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 0x360 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0x3C6 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x3F4 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x3F4 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x3F3 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x3D8 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x401 SWAP2 SWAP1 PUSH2 0x405 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x427 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x423 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x40B JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 SWAP13 0xce 0xc3 0xc1 0xe9 CALLDATASIZE 0xda 0xc9 ADDMOD PUSH5 0xDD60541C83 0xb9 NOT 0xcd 0xbf 0x5d CALLCODE PUSH18 0xBD4543BF8794043F1F880029000000000000 ",
"sourceMap": "26:407:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;164:90;;8:9:-1;5:2;;;30:1;27;20:12;5:2;164:90:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;262:82;;8:9:-1;5:2;;;30:1;27;20:12;5:2;262:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;262:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;351:80;;8:9:-1;5:2;;;30:1;27;20:12;5:2;351:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;46:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;46:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;164:90;233:14;223:7;:24;;;;;;;;;;;;:::i;:::-;;164:90;:::o;262:82::-;305:6;330:7;323:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;262:82;:::o;351:80::-;;;:::o;46:21::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;26:407::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "222000",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"doMath(int256,int256)": "264",
"getMessage()": "infinite",
"message()": "infinite",
"setMessage(string)": "infinite"
}
},
"methodIdentifiers": {
"doMath(int256,int256)": "d545dd8c",
"getMessage()": "ce6d41de",
"message()": "e21f37ce",
"setMessage(string)": "368b8772"
}
},
"abi": [
{
"constant": false,
"inputs": [
{
"name": "initialMessage",
"type": "string"
}
],
"name": "setMessage",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "getMessage",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "a",
"type": "int256"
},
{
"name": "b",
"type": "int256"
}
],
"name": "doMath",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "message",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"name": "initialMessage",
"type": "string"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
}
]
}
{
"compiler": {
"version": "0.4.26+commit.4563c3fc"
},
"language": "Solidity",
"output": {
"abi": [
{
"constant": false,
"inputs": [
{
"name": "initialMessage",
"type": "string"
}
],
"name": "setMessage",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "getMessage",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "a",
"type": "int256"
},
{
"name": "b",
"type": "int256"
}
],
"name": "doMath",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "message",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"name": "initialMessage",
"type": "string"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
}
],
"devdoc": {
"methods": {}
},
"userdoc": {
"methods": {}
}
},
"settings": {
"compilationTarget": {
"contracts/3_Ballot.sol": "Inbox"
},
"evmVersion": "byzantium",
"libraries": {},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/3_Ballot.sol": {
"keccak256": "0x1c6b222c78d2471b6d40a7b8b1ca9f505ca56598e72346f50529e9a27f093ffd",
"urls": [
"bzzr://3d855eb56b27966e9a570a39e3f5864d63c68ffd987baa910cef03b7fd5d44d9"
]
}
},
"version": 1
}
This file has been truncated, but you can view the full file.
{
"id": "2bc11a06abcc05595aa35d327e0e70de",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.13",
"solcLongVersion": "0.8.13+commit.abaa5c0e",
"input": {
"language": "Solidity",
"sources": {
"contracts/3_Ballot.sol": {
"content": "// SPDX-License-Identifier: GPL-3.0\n\npragma solidity >=0.7.0 <0.9.0;\n\n/** \n * @title Ballot\n * @dev Implements voting process along with vote delegation\n */\ncontract Ballot {\n \n struct Voter {\n uint weight; // weight is accumulated by delegation\n bool voted; // if true, that person already voted\n address delegate; // person delegated to\n uint vote; // index of the voted proposal\n }\n\n struct Proposal {\n // If you can limit the length to a certain number of bytes, \n // always use one of bytes1 to bytes32 because they are much cheaper\n bytes32 name; // short name (up to 32 bytes)\n uint voteCount; // number of accumulated votes\n }\n\n address public chairperson;\n\n mapping(address => Voter) public voters;\n\n Proposal[] public proposals;\n\n /** \n * @dev Create a new ballot to choose one of 'proposalNames'.\n * @param proposalNames names of proposals\n */\n constructor(bytes32[] memory proposalNames) {\n chairperson = msg.sender;\n voters[chairperson].weight = 1;\n\n for (uint i = 0; i < proposalNames.length; i++) {\n // 'Proposal({...})' creates a temporary\n // Proposal object and 'proposals.push(...)'\n // appends it to the end of 'proposals'.\n proposals.push(Proposal({\n name: proposalNames[i],\n voteCount: 0\n }));\n }\n }\n \n /** \n * @dev Give 'voter' the right to vote on this ballot. May only be called by 'chairperson'.\n * @param voter address of voter\n */\n function giveRightToVote(address voter) public {\n require(\n msg.sender == chairperson,\n \"Only chairperson can give right to vote.\"\n );\n require(\n !voters[voter].voted,\n \"The voter already voted.\"\n );\n require(voters[voter].weight == 0);\n voters[voter].weight = 1;\n }\n\n /**\n * @dev Delegate your vote to the voter 'to'.\n * @param to address to which vote is delegated\n */\n function delegate(address to) public {\n Voter storage sender = voters[msg.sender];\n require(!sender.voted, \"You already voted.\");\n require(to != msg.sender, \"Self-delegation is disallowed.\");\n\n while (voters[to].delegate != address(0)) {\n to = voters[to].delegate;\n\n // We found a loop in the delegation, not allowed.\n require(to != msg.sender, \"Found loop in delegation.\");\n }\n sender.voted = true;\n sender.delegate = to;\n Voter storage delegate_ = voters[to];\n if (delegate_.voted) {\n // If the delegate already voted,\n // directly add to the number of votes\n proposals[delegate_.vote].voteCount += sender.weight;\n } else {\n // If the delegate did not vote yet,\n // add to her weight.\n delegate_.weight += sender.weight;\n }\n }\n\n /**\n * @dev Give your vote (including votes delegated to you) to proposal 'proposals[proposal].name'.\n * @param proposal index of proposal in the proposals array\n */\n function vote(uint proposal) public {\n Voter storage sender = voters[msg.sender];\n require(sender.weight != 0, \"Has no right to vote\");\n require(!sender.voted, \"Already voted.\");\n sender.voted = true;\n sender.vote = proposal;\n\n // If 'proposal' is out of the range of the array,\n // this will throw automatically and revert all\n // changes.\n proposals[proposal].voteCount += sender.weight;\n }\n\n /** \n * @dev Computes the winning proposal taking all previous votes into account.\n * @return winningProposal_ index of winning proposal in the proposals array\n */\n function winningProposal() public view\n returns (uint winningProposal_)\n {\n uint winningVoteCount = 0;\n for (uint p = 0; p < proposals.length; p++) {\n if (proposals[p].voteCount > winningVoteCount) {\n winningVoteCount = proposals[p].voteCount;\n winningProposal_ = p;\n }\n }\n }\n\n /** \n * @dev Calls winningProposal() function to get the index of the winner contained in the proposals array and then\n * @return winnerName_ the name of the winner\n */\n function winnerName() public view\n returns (bytes32 winnerName_)\n {\n winnerName_ = proposals[winningProposal()].name;\n }\n}\n"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"contracts/3_Ballot.sol": {
"Ballot": {
"abi": [
{
"inputs": [
{
"internalType": "bytes32[]",
"name": "proposalNames",
"type": "bytes32[]"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "chairperson",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
}
],
"name": "delegate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "voter",
"type": "address"
}
],
"name": "giveRightToVote",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "proposals",
"outputs": [
{
"internalType": "bytes32",
"name": "name",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "voteCount",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposal",
"type": "uint256"
}
],
"name": "vote",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "voters",
"outputs": [
{
"internalType": "uint256",
"name": "weight",
"type": "uint256"
},
{
"internalType": "bool",
"name": "voted",
"type": "bool"
},
{
"internalType": "address",
"name": "delegate",
"type": "address"
},
{
"internalType": "uint256",
"name": "vote",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "winnerName",
"outputs": [
{
"internalType": "bytes32",
"name": "winnerName_",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "winningProposal",
"outputs": [
{
"internalType": "uint256",
"name": "winningProposal_",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"details": "Implements voting process along with vote delegation",
"kind": "dev",
"methods": {
"constructor": {
"details": "Create a new ballot to choose one of 'proposalNames'.",
"params": {
"proposalNames": "names of proposals"
}
},
"delegate(address)": {
"details": "Delegate your vote to the voter 'to'.",
"params": {
"to": "address to which vote is delegated"
}
},
"giveRightToVote(address)": {
"details": "Give 'voter' the right to vote on this ballot. May only be called by 'chairperson'.",
"params": {
"voter": "address of voter"
}
},
"vote(uint256)": {
"details": "Give your vote (including votes delegated to you) to proposal 'proposals[proposal].name'.",
"params": {
"proposal": "index of proposal in the proposals array"
}
},
"winnerName()": {
"details": "Calls winningProposal() function to get the index of the winner contained in the proposals array and then",
"returns": {
"winnerName_": "the name of the winner"
}
},
"winningProposal()": {
"details": "Computes the winning proposal taking all previous votes into account.",
"returns": {
"winningProposal_": "index of winning proposal in the proposals array"
}
}
},
"title": "Ballot",
"version": 1
},
"evm": {
"assembly": " /* \"contracts/3_Ballot.sol\":157:4519 contract Ballot {... */\n mstore(0x40, 0x80)\n /* \"contracts/3_Ballot.sol\":958:1439 constructor(bytes32[] memory proposalNames) {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n mload(0x40)\n sub(codesize, bytecodeSize)\n dup1\n bytecodeSize\n dup4\n codecopy\n dup2\n dup2\n add\n 0x40\n mstore\n dup2\n add\n swap1\n tag_2\n swap2\n swap1\n tag_3\n jump\t// in\ntag_2:\n /* \"contracts/3_Ballot.sol\":1026:1036 msg.sender */\n caller\n /* \"contracts/3_Ballot.sol\":1012:1023 chairperson */\n 0x00\n dup1\n /* \"contracts/3_Ballot.sol\":1012:1036 chairperson = msg.sender */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/3_Ballot.sol\":1075:1076 1 */\n 0x01\n /* \"contracts/3_Ballot.sol\":1046:1052 voters */\n dup1\n /* \"contracts/3_Ballot.sol\":1046:1065 voters[chairperson] */\n 0x00\n /* \"contracts/3_Ballot.sol\":1053:1064 chairperson */\n dup1\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/3_Ballot.sol\":1046:1065 voters[chairperson] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/3_Ballot.sol\":1046:1072 voters[chairperson].weight */\n 0x00\n add\n /* \"contracts/3_Ballot.sol\":1046:1076 voters[chairperson].weight = 1 */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/3_Ballot.sol\":1092:1098 uint i */\n 0x00\n /* \"contracts/3_Ballot.sol\":1087:1433 for (uint i = 0; i < proposalNames.length; i++) {... */\ntag_6:\n /* \"contracts/3_Ballot.sol\":1108:1121 proposalNames */\n dup2\n /* \"contracts/3_Ballot.sol\":1108:1128 proposalNames.length */\n mload\n /* \"contracts/3_Ballot.sol\":1104:1105 i */\n dup2\n /* \"contracts/3_Ballot.sol\":1104:1128 i < proposalNames.length */\n lt\n /* \"contracts/3_Ballot.sol\":1087:1433 for (uint i = 0; i < proposalNames.length; i++) {... */\n iszero\n tag_7\n jumpi\n /* \"contracts/3_Ballot.sol\":1312:1321 proposals */\n 0x02\n /* \"contracts/3_Ballot.sol\":1327:1421 Proposal({... */\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n /* \"contracts/3_Ballot.sol\":1360:1373 proposalNames */\n dup5\n /* \"contracts/3_Ballot.sol\":1374:1375 i */\n dup5\n /* \"contracts/3_Ballot.sol\":1360:1376 proposalNames[i] */\n dup2\n mload\n dup2\n lt\n tag_9\n jumpi\n tag_10\n tag_11\n jump\t// in\ntag_10:\ntag_9:\n 0x20\n mul\n 0x20\n add\n add\n mload\n /* \"contracts/3_Ballot.sol\":1327:1421 Proposal({... */\n dup2\n mstore\n 0x20\n add\n /* \"contracts/3_Ballot.sol\":1405:1406 0 */\n 0x00\n /* \"contracts/3_Ballot.sol\":1327:1421 Proposal({... */\n dup2\n mstore\n pop\n /* \"contracts/3_Ballot.sol\":1312:1422 proposals.push(Proposal({... */\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 sstore\n pop\n pop\n /* \"contracts/3_Ballot.sol\":1130:1133 i++ */\n dup1\n dup1\n tag_13\n swap1\n tag_14\n jump\t// in\ntag_13:\n swap2\n pop\n pop\n /* \"contracts/3_Ballot.sol\":1087:1433 for (uint i = 0; i < proposalNames.length; i++) {... */\n jump(tag_6)\ntag_7:\n pop\n /* \"contracts/3_Ballot.sol\":958:1439 constructor(bytes32[] memory proposalNames) {... */\n pop\n /* \"contracts/3_Ballot.sol\":157:4519 contract Ballot {... */\n jump(tag_15)\n /* \"#utility.yul\":7:82 */\ntag_16:\n /* \"#utility.yul\":40:46 */\n 0x00\n /* \"#utility.yul\":73:75 */\n 0x40\n /* \"#utility.yul\":67:76 */\n mload\n /* \"#utility.yul\":57:76 */\n swap1\n pop\n /* \"#utility.yul\":7:82 */\n swap1\n jump\t// out\n /* \"#utility.yul\":88:205 */\ntag_17:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n dup1\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":211:328 */\ntag_18:\n /* \"#utility.yul\":320:321 */\n 0x00\n /* \"#utility.yul\":317:318 */\n dup1\n /* \"#utility.yul\":310:322 */\n revert\n /* \"#utility.yul\":334:451 */\ntag_19:\n /* \"#utility.yul\":443:444 */\n 0x00\n /* \"#utility.yul\":440:441 */\n dup1\n /* \"#utility.yul\":433:445 */\n revert\n /* \"#utility.yul\":457:559 */\ntag_20:\n /* \"#utility.yul\":498:504 */\n 0x00\n /* \"#utility.yul\":549:551 */\n 0x1f\n /* \"#utility.yul\":545:552 */\n not\n /* \"#utility.yul\":540:542 */\n 0x1f\n /* \"#utility.yul\":533:538 */\n dup4\n /* \"#utility.yul\":529:543 */\n add\n /* \"#utility.yul\":525:553 */\n and\n /* \"#utility.yul\":515:553 */\n swap1\n pop\n /* \"#utility.yul\":457:559 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":565:745 */\ntag_21:\n /* \"#utility.yul\":613:690 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":610:611 */\n 0x00\n /* \"#utility.yul\":603:691 */\n mstore\n /* \"#utility.yul\":710:714 */\n 0x41\n /* \"#utility.yul\":707:708 */\n 0x04\n /* \"#utility.yul\":700:715 */\n mstore\n /* \"#utility.yul\":734:738 */\n 0x24\n /* \"#utility.yul\":731:732 */\n 0x00\n /* \"#utility.yul\":724:739 */\n revert\n /* \"#utility.yul\":751:1032 */\ntag_22:\n /* \"#utility.yul\":834:861 */\n tag_41\n /* \"#utility.yul\":856:860 */\n dup3\n /* \"#utility.yul\":834:861 */\n tag_20\n jump\t// in\ntag_41:\n /* \"#utility.yul\":826:832 */\n dup2\n /* \"#utility.yul\":822:862 */\n add\n /* \"#utility.yul\":964:970 */\n dup2\n /* \"#utility.yul\":952:962 */\n dup2\n /* \"#utility.yul\":949:971 */\n lt\n /* \"#utility.yul\":928:946 */\n 0xffffffffffffffff\n /* \"#utility.yul\":916:926 */\n dup3\n /* \"#utility.yul\":913:947 */\n gt\n /* \"#utility.yul\":910:972 */\n or\n /* \"#utility.yul\":907:995 */\n iszero\n tag_42\n jumpi\n /* \"#utility.yul\":975:993 */\n tag_43\n tag_21\n jump\t// in\ntag_43:\n /* \"#utility.yul\":907:995 */\ntag_42:\n /* \"#utility.yul\":1015:1025 */\n dup1\n /* \"#utility.yul\":1011:1013 */\n 0x40\n /* \"#utility.yul\":1004:1026 */\n mstore\n /* \"#utility.yul\":794:1032 */\n pop\n /* \"#utility.yul\":751:1032 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1038:1167 */\ntag_23:\n /* \"#utility.yul\":1072:1078 */\n 0x00\n /* \"#utility.yul\":1099:1119 */\n tag_45\n tag_16\n jump\t// in\ntag_45:\n /* \"#utility.yul\":1089:1119 */\n swap1\n pop\n /* \"#utility.yul\":1128:1161 */\n tag_46\n /* \"#utility.yul\":1156:1160 */\n dup3\n /* \"#utility.yul\":1148:1154 */\n dup3\n /* \"#utility.yul\":1128:1161 */\n tag_22\n jump\t// in\ntag_46:\n /* \"#utility.yul\":1038:1167 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1173:1484 */\ntag_24:\n /* \"#utility.yul\":1250:1254 */\n 0x00\n /* \"#utility.yul\":1340:1358 */\n 0xffffffffffffffff\n /* \"#utility.yul\":1332:1338 */\n dup3\n /* \"#utility.yul\":1329:1359 */\n gt\n /* \"#utility.yul\":1326:1382 */\n iszero\n tag_48\n jumpi\n /* \"#utility.yul\":1362:1380 */\n tag_49\n tag_21\n jump\t// in\ntag_49:\n /* \"#utility.yul\":1326:1382 */\ntag_48:\n /* \"#utility.yul\":1412:1416 */\n 0x20\n /* \"#utility.yul\":1404:1410 */\n dup3\n /* \"#utility.yul\":1400:1417 */\n mul\n /* \"#utility.yul\":1392:1417 */\n swap1\n pop\n /* \"#utility.yul\":1472:1476 */\n 0x20\n /* \"#utility.yul\":1466:1470 */\n dup2\n /* \"#utility.yul\":1462:1477 */\n add\n /* \"#utility.yul\":1454:1477 */\n swap1\n pop\n /* \"#utility.yul\":1173:1484 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1490:1607 */\ntag_25:\n /* \"#utility.yul\":1599:1600 */\n 0x00\n /* \"#utility.yul\":1596:1597 */\n dup1\n /* \"#utility.yul\":1589:1601 */\n revert\n /* \"#utility.yul\":1613:1690 */\ntag_26:\n /* \"#utility.yul\":1650:1657 */\n 0x00\n /* \"#utility.yul\":1679:1684 */\n dup2\n /* \"#utility.yul\":1668:1684 */\n swap1\n pop\n /* \"#utility.yul\":1613:1690 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1696:1818 */\ntag_27:\n /* \"#utility.yul\":1769:1793 */\n tag_53\n /* \"#utility.yul\":1787:1792 */\n dup2\n /* \"#utility.yul\":1769:1793 */\n tag_26\n jump\t// in\ntag_53:\n /* \"#utility.yul\":1762:1767 */\n dup2\n /* \"#utility.yul\":1759:1794 */\n eq\n /* \"#utility.yul\":1749:1812 */\n tag_54\n jumpi\n /* \"#utility.yul\":1808:1809 */\n 0x00\n /* \"#utility.yul\":1805:1806 */\n dup1\n /* \"#utility.yul\":1798:1810 */\n revert\n /* \"#utility.yul\":1749:1812 */\ntag_54:\n /* \"#utility.yul\":1696:1818 */\n pop\n jump\t// out\n /* \"#utility.yul\":1824:1967 */\ntag_28:\n /* \"#utility.yul\":1881:1886 */\n 0x00\n /* \"#utility.yul\":1912:1918 */\n dup2\n /* \"#utility.yul\":1906:1919 */\n mload\n /* \"#utility.yul\":1897:1919 */\n swap1\n pop\n /* \"#utility.yul\":1928:1961 */\n tag_56\n /* \"#utility.yul\":1955:1960 */\n dup2\n /* \"#utility.yul\":1928:1961 */\n tag_27\n jump\t// in\ntag_56:\n /* \"#utility.yul\":1824:1967 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1990:2722 */\ntag_29:\n /* \"#utility.yul\":2097:2102 */\n 0x00\n /* \"#utility.yul\":2122:2203 */\n tag_58\n /* \"#utility.yul\":2138:2202 */\n tag_59\n /* \"#utility.yul\":2195:2201 */\n dup5\n /* \"#utility.yul\":2138:2202 */\n tag_24\n jump\t// in\ntag_59:\n /* \"#utility.yul\":2122:2203 */\n tag_23\n jump\t// in\ntag_58:\n /* \"#utility.yul\":2113:2203 */\n swap1\n pop\n /* \"#utility.yul\":2223:2228 */\n dup1\n /* \"#utility.yul\":2252:2258 */\n dup4\n /* \"#utility.yul\":2245:2250 */\n dup3\n /* \"#utility.yul\":2238:2259 */\n mstore\n /* \"#utility.yul\":2286:2290 */\n 0x20\n /* \"#utility.yul\":2279:2284 */\n dup3\n /* \"#utility.yul\":2275:2291 */\n add\n /* \"#utility.yul\":2268:2291 */\n swap1\n pop\n /* \"#utility.yul\":2339:2343 */\n 0x20\n /* \"#utility.yul\":2331:2337 */\n dup5\n /* \"#utility.yul\":2327:2344 */\n mul\n /* \"#utility.yul\":2319:2325 */\n dup4\n /* \"#utility.yul\":2315:2345 */\n add\n /* \"#utility.yul\":2368:2371 */\n dup6\n /* \"#utility.yul\":2360:2366 */\n dup2\n /* \"#utility.yul\":2357:2372 */\n gt\n /* \"#utility.yul\":2354:2476 */\n iszero\n tag_60\n jumpi\n /* \"#utility.yul\":2387:2466 */\n tag_61\n tag_25\n jump\t// in\ntag_61:\n /* \"#utility.yul\":2354:2476 */\ntag_60:\n /* \"#utility.yul\":2502:2508 */\n dup4\n /* \"#utility.yul\":2485:2716 */\ntag_62:\n /* \"#utility.yul\":2519:2525 */\n dup2\n /* \"#utility.yul\":2514:2517 */\n dup2\n /* \"#utility.yul\":2511:2526 */\n lt\n /* \"#utility.yul\":2485:2716 */\n iszero\n tag_64\n jumpi\n /* \"#utility.yul\":2594:2597 */\n dup1\n /* \"#utility.yul\":2623:2671 */\n tag_65\n /* \"#utility.yul\":2667:2670 */\n dup9\n /* \"#utility.yul\":2655:2665 */\n dup3\n /* \"#utility.yul\":2623:2671 */\n tag_28\n jump\t// in\ntag_65:\n /* \"#utility.yul\":2618:2621 */\n dup5\n /* \"#utility.yul\":2611:2672 */\n mstore\n /* \"#utility.yul\":2701:2705 */\n 0x20\n /* \"#utility.yul\":2696:2699 */\n dup5\n /* \"#utility.yul\":2692:2706 */\n add\n /* \"#utility.yul\":2685:2706 */\n swap4\n pop\n /* \"#utility.yul\":2561:2716 */\n pop\n /* \"#utility.yul\":2545:2549 */\n 0x20\n /* \"#utility.yul\":2540:2543 */\n dup2\n /* \"#utility.yul\":2536:2550 */\n add\n /* \"#utility.yul\":2529:2550 */\n swap1\n pop\n /* \"#utility.yul\":2485:2716 */\n jump(tag_62)\ntag_64:\n /* \"#utility.yul\":2489:2510 */\n pop\n /* \"#utility.yul\":2103:2722 */\n pop\n pop\n /* \"#utility.yul\":1990:2722 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2745:3130 */\ntag_30:\n /* \"#utility.yul\":2827:2832 */\n 0x00\n /* \"#utility.yul\":2876:2879 */\n dup3\n /* \"#utility.yul\":2869:2873 */\n 0x1f\n /* \"#utility.yul\":2861:2867 */\n dup4\n /* \"#utility.yul\":2857:2874 */\n add\n /* \"#utility.yul\":2853:2880 */\n slt\n /* \"#utility.yul\":2843:2965 */\n tag_67\n jumpi\n /* \"#utility.yul\":2884:2963 */\n tag_68\n tag_19\n jump\t// in\ntag_68:\n /* \"#utility.yul\":2843:2965 */\ntag_67:\n /* \"#utility.yul\":2994:3000 */\n dup2\n /* \"#utility.yul\":2988:3001 */\n mload\n /* \"#utility.yul\":3019:3124 */\n tag_69\n /* \"#utility.yul\":3120:3123 */\n dup5\n /* \"#utility.yul\":3112:3118 */\n dup3\n /* \"#utility.yul\":3105:3109 */\n 0x20\n /* \"#utility.yul\":3097:3103 */\n dup7\n /* \"#utility.yul\":3093:3110 */\n add\n /* \"#utility.yul\":3019:3124 */\n tag_29\n jump\t// in\ntag_69:\n /* \"#utility.yul\":3010:3124 */\n swap2\n pop\n /* \"#utility.yul\":2833:3130 */\n pop\n /* \"#utility.yul\":2745:3130 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3136:3690 */\ntag_3:\n /* \"#utility.yul\":3231:3237 */\n 0x00\n /* \"#utility.yul\":3280:3282 */\n 0x20\n /* \"#utility.yul\":3268:3277 */\n dup3\n /* \"#utility.yul\":3259:3266 */\n dup5\n /* \"#utility.yul\":3255:3278 */\n sub\n /* \"#utility.yul\":3251:3283 */\n slt\n /* \"#utility.yul\":3248:3367 */\n iszero\n tag_71\n jumpi\n /* \"#utility.yul\":3286:3365 */\n tag_72\n tag_17\n jump\t// in\ntag_72:\n /* \"#utility.yul\":3248:3367 */\ntag_71:\n /* \"#utility.yul\":3427:3428 */\n 0x00\n /* \"#utility.yul\":3416:3425 */\n dup3\n /* \"#utility.yul\":3412:3429 */\n add\n /* \"#utility.yul\":3406:3430 */\n mload\n /* \"#utility.yul\":3457:3475 */\n 0xffffffffffffffff\n /* \"#utility.yul\":3449:3455 */\n dup2\n /* \"#utility.yul\":3446:3476 */\n gt\n /* \"#utility.yul\":3443:3560 */\n iszero\n tag_73\n jumpi\n /* \"#utility.yul\":3479:3558 */\n tag_74\n tag_18\n jump\t// in\ntag_74:\n /* \"#utility.yul\":3443:3560 */\ntag_73:\n /* \"#utility.yul\":3584:3673 */\n tag_75\n /* \"#utility.yul\":3665:3672 */\n dup5\n /* \"#utility.yul\":3656:3662 */\n dup3\n /* \"#utility.yul\":3645:3654 */\n dup6\n /* \"#utility.yul\":3641:3663 */\n add\n /* \"#utility.yul\":3584:3673 */\n tag_30\n jump\t// in\ntag_75:\n /* \"#utility.yul\":3574:3673 */\n swap2\n pop\n /* \"#utility.yul\":3377:3683 */\n pop\n /* \"#utility.yul\":3136:3690 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3696:3876 */\ntag_11:\n /* \"#utility.yul\":3744:3821 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":3741:3742 */\n 0x00\n /* \"#utility.yul\":3734:3822 */\n mstore\n /* \"#utility.yul\":3841:3845 */\n 0x32\n /* \"#utility.yul\":3838:3839 */\n 0x04\n /* \"#utility.yul\":3831:3846 */\n mstore\n /* \"#utility.yul\":3865:3869 */\n 0x24\n /* \"#utility.yul\":3862:3863 */\n 0x00\n /* \"#utility.yul\":3855:3870 */\n revert\n /* \"#utility.yul\":3882:4062 */\ntag_31:\n /* \"#utility.yul\":3930:4007 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":3927:3928 */\n 0x00\n /* \"#utility.yul\":3920:4008 */\n mstore\n /* \"#utility.yul\":4027:4031 */\n 0x11\n /* \"#utility.yul\":4024:4025 */\n 0x04\n /* \"#utility.yul\":4017:4032 */\n mstore\n /* \"#utility.yul\":4051:4055 */\n 0x24\n /* \"#utility.yul\":4048:4049 */\n 0x00\n /* \"#utility.yul\":4041:4056 */\n revert\n /* \"#utility.yul\":4068:4145 */\ntag_32:\n /* \"#utility.yul\":4105:4112 */\n 0x00\n /* \"#utility.yul\":4134:4139 */\n dup2\n /* \"#utility.yul\":4123:4139 */\n swap1\n pop\n /* \"#utility.yul\":4068:4145 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4151:4384 */\ntag_14:\n /* \"#utility.yul\":4190:4193 */\n 0x00\n /* \"#utility.yul\":4213:4237 */\n tag_80\n /* \"#utility.yul\":4231:4236 */\n dup3\n /* \"#utility.yul\":4213:4237 */\n tag_32\n jump\t// in\ntag_80:\n /* \"#utility.yul\":4204:4237 */\n swap2\n pop\n /* \"#utility.yul\":4259:4325 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":4252:4257 */\n dup3\n /* \"#utility.yul\":4249:4326 */\n sub\n /* \"#utility.yul\":4246:4349 */\n tag_81\n jumpi\n /* \"#utility.yul\":4329:4347 */\n tag_82\n tag_31\n jump\t// in\ntag_82:\n /* \"#utility.yul\":4246:4349 */\ntag_81:\n /* \"#utility.yul\":4376:4377 */\n 0x01\n /* \"#utility.yul\":4369:4374 */\n dup3\n /* \"#utility.yul\":4365:4378 */\n add\n /* \"#utility.yul\":4358:4378 */\n swap1\n pop\n /* \"#utility.yul\":4151:4384 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"contracts/3_Ballot.sol\":157:4519 contract Ballot {... */\ntag_15:\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/3_Ballot.sol\":157:4519 contract Ballot {... */\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 0x609ff1bd\n gt\n tag_11\n jumpi\n dup1\n 0x609ff1bd\n eq\n tag_7\n jumpi\n dup1\n 0x9e7b8d61\n eq\n tag_8\n jumpi\n dup1\n 0xa3ec138d\n eq\n tag_9\n jumpi\n dup1\n 0xe2ba53f0\n eq\n tag_10\n jumpi\n jump(tag_2)\n tag_11:\n dup1\n 0x0121b93f\n eq\n tag_3\n jumpi\n dup1\n 0x013cf08b\n eq\n tag_4\n jumpi\n dup1\n 0x2e4176cf\n eq\n tag_5\n jumpi\n dup1\n 0x5c19a95c\n eq\n tag_6\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/3_Ballot.sol\":3173:3631 function vote(uint proposal) public {... */\n tag_3:\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_14\n jump\t// in\n tag_13:\n tag_15\n jump\t// in\n tag_12:\n stop\n /* \"contracts/3_Ballot.sol\":794:821 Proposal[] public proposals */\n tag_4:\n tag_16\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_17\n swap2\n swap1\n tag_14\n jump\t// in\n tag_17:\n tag_18\n jump\t// in\n tag_16:\n mload(0x40)\n tag_19\n swap3\n swap2\n swap1\n tag_20\n jump\t// in\n tag_19:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/3_Ballot.sol\":715:741 address public chairperson */\n tag_5:\n tag_21\n tag_22\n jump\t// in\n tag_21:\n mload(0x40)\n tag_23\n swap2\n swap1\n tag_24\n jump\t// in\n tag_23:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/3_Ballot.sol\":2078:2985 function delegate(address to) public {... */\n tag_6:\n tag_25\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_26\n swap2\n swap1\n tag_27\n jump\t// in\n tag_26:\n tag_28\n jump\t// in\n tag_25:\n stop\n /* \"contracts/3_Ballot.sol\":3817:4182 function winningProposal() public view... */\n tag_7:\n tag_29\n tag_30\n jump\t// in\n tag_29:\n mload(0x40)\n tag_31\n swap2\n swap1\n tag_32\n jump\t// in\n tag_31:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/3_Ballot.sol\":1599:1954 function giveRightToVote(address voter) public {... */\n tag_8:\n tag_33\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_34\n swap2\n swap1\n tag_27\n jump\t// in\n tag_34:\n tag_35\n jump\t// in\n tag_33:\n stop\n /* \"contracts/3_Ballot.sol\":748:787 mapping(address => Voter) public voters */\n tag_9:\n tag_36\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_37\n swap2\n swap1\n tag_27\n jump\t// in\n tag_37:\n tag_38\n jump\t// in\n tag_36:\n mload(0x40)\n tag_39\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_40\n jump\t// in\n tag_39:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/3_Ballot.sol\":4373:4517 function winnerName() public view... */\n tag_10:\n tag_41\n tag_42\n jump\t// in\n tag_41:\n mload(0x40)\n tag_43\n swap2\n swap1\n tag_44\n jump\t// in\n tag_43:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/3_Ballot.sol\":3173:3631 function vote(uint proposal) public {... */\n tag_15:\n /* \"contracts/3_Ballot.sol\":3219:3239 Voter storage sender */\n 0x00\n /* \"contracts/3_Ballot.sol\":3242:3248 voters */\n 0x01\n /* \"contracts/3_Ballot.sol\":3242:3260 voters[msg.sender] */\n 0x00\n /* \"contracts/3_Ballot.sol\":3249:3259 msg.sender */\n caller\n /* \"contracts/3_Ballot.sol\":3242:3260 voters[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/3_Ballot.sol\":3219:3260 Voter storage sender = voters[msg.sender] */\n swap1\n pop\n /* \"contracts/3_Ballot.sol\":3295:3296 0 */\n 0x00\n /* \"contracts/3_Ballot.sol\":3278:3284 sender */\n dup2\n /* \"contracts/3_Ballot.sol\":3278:3291 sender.weight */\n 0x00\n add\n sload\n /* \"contracts/3_Ballot.sol\":3278:3296 sender.weight != 0 */\n sub\n /* \"contracts/3_Ballot.sol\":3270:3321 require(sender.weight != 0, \"Has no right to vote\") */\n tag_46\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_47\n swap1\n tag_48\n jump\t// in\n tag_47:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_46:\n /* \"contracts/3_Ballot.sol\":3340:3346 sender */\n dup1\n /* \"contracts/3_Ballot.sol\":3340:3352 sender.voted */\n 0x01\n add\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xff\n and\n /* \"contracts/3_Ballot.sol\":3339:3352 !sender.voted */\n iszero\n /* \"contracts/3_Ballot.sol\":3331:3371 require(!sender.voted, \"Already voted.\") */\n tag_49\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_50\n swap1\n tag_51\n jump\t// in\n tag_50:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_49:\n /* \"contracts/3_Ballot.sol\":3396:3400 true */\n 0x01\n /* \"contracts/3_Ballot.sol\":3381:3387 sender */\n dup2\n /* \"contracts/3_Ballot.sol\":3381:3393 sender.voted */\n 0x01\n add\n 0x00\n /* \"contracts/3_Ballot.sol\":3381:3400 sender.voted = true */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xff\n mul\n not\n and\n swap1\n dup4\n iszero\n iszero\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/3_Ballot.sol\":3424:3432 proposal */\n dup2\n /* \"contracts/3_Ballot.sol\":3410:3416 sender */\n dup2\n /* \"contracts/3_Ballot.sol\":3410:3421 sender.vote */\n 0x02\n add\n /* \"contracts/3_Ballot.sol\":3410:3432 sender.vote = proposal */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/3_Ballot.sol\":3611:3617 sender */\n dup1\n /* \"contracts/3_Ballot.sol\":3611:3624 sender.weight */\n 0x00\n add\n sload\n /* \"contracts/3_Ballot.sol\":3578:3587 proposals */\n 0x02\n /* \"contracts/3_Ballot.sol\":3588:3596 proposal */\n dup4\n /* \"contracts/3_Ballot.sol\":3578:3597 proposals[proposal] */\n dup2\n sload\n dup2\n lt\n tag_52\n jumpi\n tag_53\n tag_54\n jump\t// in\n tag_53:\n tag_52:\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x02\n mul\n add\n /* \"contracts/3_Ballot.sol\":3578:3607 proposals[proposal].voteCount */\n 0x01\n add\n 0x00\n /* \"contracts/3_Ballot.sol\":3578:3624 proposals[proposal].voteCount += sender.weight */\n dup3\n dup3\n sload\n tag_56\n swap2\n swap1\n tag_57\n jump\t// in\n tag_56:\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n pop\n /* \"contracts/3_Ballot.sol\":3209:3631 {... */\n pop\n /* \"contracts/3_Ballot.sol\":3173:3631 function vote(uint proposal) public {... */\n pop\n jump\t// out\n /* \"contracts/3_Ballot.sol\":794:821 Proposal[] public proposals */\n tag_18:\n 0x02\n dup2\n dup2\n sload\n dup2\n lt\n tag_58\n jumpi\n 0x00\n dup1\n revert\n tag_58:\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 sload\n swap1\n pop\n dup3\n jump\t// out\n /* \"contracts/3_Ballot.sol\":715:741 address public chairperson */\n tag_22:\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n jump\t// out\n /* \"contracts/3_Ballot.sol\":2078:2985 function delegate(address to) public {... */\n tag_28:\n /* \"contracts/3_Ballot.sol\":2125:2145 Voter storage sender */\n 0x00\n /* \"contracts/3_Ballot.sol\":2148:2154 voters */\n 0x01\n /* \"contracts/3_Ballot.sol\":2148:2166 voters[msg.sender] */\n 0x00\n /* \"contracts/3_Ballot.sol\":2155:2165 msg.sender */\n caller\n /* \"contracts/3_Ballot.sol\":2148:2166 voters[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/3_Ballot.sol\":2125:2166 Voter storage sender = voters[msg.sender] */\n swap1\n pop\n /* \"contracts/3_Ballot.sol\":2185:2191 sender */\n dup1\n /* \"contracts/3_Ballot.sol\":2185:2197 sender.voted */\n 0x01\n add\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xff\n and\n /* \"contracts/3_Ballot.sol\":2184:2197 !sender.voted */\n iszero\n /* \"contracts/3_Ballot.sol\":2176:2220 require(!sender.voted, \"You already voted.\") */\n tag_61\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_62\n swap1\n tag_63\n jump\t// in\n tag_62:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_61:\n /* \"contracts/3_Ballot.sol\":2244:2254 msg.sender */\n caller\n /* \"contracts/3_Ballot.sol\":2238:2254 to != msg.sender */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/3_Ballot.sol\":2238:2240 to */\n dup3\n /* \"contracts/3_Ballot.sol\":2238:2254 to != msg.sender */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n sub\n /* \"contracts/3_Ballot.sol\":2230:2289 require(to != msg.sender, \"Self-delegation is disallowed.\") */\n tag_64\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_65\n swap1\n tag_66\n jump\t// in\n tag_65:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_64:\n /* \"contracts/3_Ballot.sol\":2300:2523 while (voters[to].delegate != address(0)) {... */\n tag_67:\n /* \"contracts/3_Ballot.sol\":2338:2339 0 */\n 0x00\n /* \"contracts/3_Ballot.sol\":2307:2340 voters[to].delegate != address(0) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/3_Ballot.sol\":2307:2313 voters */\n 0x01\n /* \"contracts/3_Ballot.sol\":2307:2317 voters[to] */\n 0x00\n /* \"contracts/3_Ballot.sol\":2314:2316 to */\n dup5\n /* \"contracts/3_Ballot.sol\":2307:2317 voters[to] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/3_Ballot.sol\":2307:2326 voters[to].delegate */\n 0x01\n add\n 0x01\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/3_Ballot.sol\":2307:2340 voters[to].delegate != address(0) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"contracts/3_Ballot.sol\":2300:2523 while (voters[to].delegate != address(0)) {... */\n tag_68\n jumpi\n /* \"contracts/3_Ballot.sol\":2361:2367 voters */\n 0x01\n /* \"contracts/3_Ballot.sol\":2361:2371 voters[to] */\n 0x00\n /* \"contracts/3_Ballot.sol\":2368:2370 to */\n dup4\n /* \"contracts/3_Ballot.sol\":2361:2371 voters[to] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/3_Ballot.sol\":2361:2380 voters[to].delegate */\n 0x01\n add\n 0x01\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/3_Ballot.sol\":2356:2380 to = voters[to].delegate */\n swap2\n pop\n /* \"contracts/3_Ballot.sol\":2472:2482 msg.sender */\n caller\n /* \"contracts/3_Ballot.sol\":2466:2482 to != msg.sender */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/3_Ballot.sol\":2466:2468 to */\n dup3\n /* \"contracts/3_Ballot.sol\":2466:2482 to != msg.sender */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n sub\n /* \"contracts/3_Ballot.sol\":2458:2512 require(to != msg.sender, \"Found loop in delegation.\") */\n tag_69\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_70\n swap1\n tag_71\n jump\t// in\n tag_70:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_69:\n /* \"contracts/3_Ballot.sol\":2300:2523 while (voters[to].delegate != address(0)) {... */\n jump(tag_67)\n tag_68:\n /* \"contracts/3_Ballot.sol\":2547:2551 true */\n 0x01\n /* \"contracts/3_Ballot.sol\":2532:2538 sender */\n dup2\n /* \"contracts/3_Ballot.sol\":2532:2544 sender.voted */\n 0x01\n add\n 0x00\n /* \"contracts/3_Ballot.sol\":2532:2551 sender.voted = true */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xff\n mul\n not\n and\n swap1\n dup4\n iszero\n iszero\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/3_Ballot.sol\":2579:2581 to */\n dup2\n /* \"contracts/3_Ballot.sol\":2561:2567 sender */\n dup2\n /* \"contracts/3_Ballot.sol\":2561:2576 sender.delegate */\n 0x01\n add\n 0x01\n /* \"contracts/3_Ballot.sol\":2561:2581 sender.delegate = to */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/3_Ballot.sol\":2591:2614 Voter storage delegate_ */\n 0x00\n /* \"contracts/3_Ballot.sol\":2617:2623 voters */\n 0x01\n /* \"contracts/3_Ballot.sol\":2617:2627 voters[to] */\n 0x00\n /* \"contracts/3_Ballot.sol\":2624:2626 to */\n dup5\n /* \"contracts/3_Ballot.sol\":2617:2627 voters[to] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/3_Ballot.sol\":2591:2627 Voter storage delegate_ = voters[to] */\n swap1\n pop\n /* \"contracts/3_Ballot.sol\":2641:2650 delegate_ */\n dup1\n /* \"contracts/3_Ballot.sol\":2641:2656 delegate_.voted */\n 0x01\n add\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xff\n and\n /* \"contracts/3_Ballot.sol\":2637:2979 if (delegate_.voted) {... */\n iszero\n tag_72\n jumpi\n /* \"contracts/3_Ballot.sol\":2808:2814 sender */\n dup2\n /* \"contracts/3_Ballot.sol\":2808:2821 sender.weight */\n 0x00\n add\n sload\n /* \"contracts/3_Ballot.sol\":2769:2778 proposals */\n 0x02\n /* \"contracts/3_Ballot.sol\":2779:2788 delegate_ */\n dup3\n /* \"contracts/3_Ballot.sol\":2779:2793 delegate_.vote */\n 0x02\n add\n sload\n /* \"contracts/3_Ballot.sol\":2769:2794 proposals[delegate_.vote] */\n dup2\n sload\n dup2\n lt\n tag_73\n jumpi\n tag_74\n tag_54\n jump\t// in\n tag_74:\n tag_73:\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x02\n mul\n add\n /* \"contracts/3_Ballot.sol\":2769:2804 proposals[delegate_.vote].voteCount */\n 0x01\n add\n 0x00\n /* \"contracts/3_Ballot.sol\":2769:2821 proposals[delegate_.vote].voteCount += sender.weight */\n dup3\n dup3\n sload\n tag_76\n swap2\n swap1\n tag_57\n jump\t// in\n tag_76:\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n pop\n /* \"contracts/3_Ballot.sol\":2637:2979 if (delegate_.voted) {... */\n jump(tag_77)\n tag_72:\n /* \"contracts/3_Ballot.sol\":2955:2961 sender */\n dup2\n /* \"contracts/3_Ballot.sol\":2955:2968 sender.weight */\n 0x00\n add\n sload\n /* \"contracts/3_Ballot.sol\":2935:2944 delegate_ */\n dup2\n /* \"contracts/3_Ballot.sol\":2935:2951 delegate_.weight */\n 0x00\n add\n 0x00\n /* \"contracts/3_Ballot.sol\":2935:2968 delegate_.weight += sender.weight */\n dup3\n dup3\n sload\n tag_78\n swap2\n swap1\n tag_57\n jump\t// in\n tag_78:\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n pop\n /* \"contracts/3_Ballot.sol\":2637:2979 if (delegate_.voted) {... */\n tag_77:\n /* \"contracts/3_Ballot.sol\":2115:2985 {... */\n pop\n pop\n /* \"contracts/3_Ballot.sol\":2078:2985 function delegate(address to) public {... */\n pop\n jump\t// out\n /* \"contracts/3_Ballot.sol\":3817:4182 function winningProposal() public view... */\n tag_30:\n /* \"contracts/3_Ballot.sol\":3877:3898 uint winningProposal_ */\n 0x00\n /* \"contracts/3_Ballot.sol\":3914:3935 uint winningVoteCount */\n dup1\n /* \"contracts/3_Ballot.sol\":3938:3939 0 */\n 0x00\n /* \"contracts/3_Ballot.sol\":3914:3939 uint winningVoteCount = 0 */\n swap1\n pop\n /* \"contracts/3_Ballot.sol\":3954:3960 uint p */\n 0x00\n /* \"contracts/3_Ballot.sol\":3949:4176 for (uint p = 0; p < proposals.length; p++) {... */\n tag_80:\n /* \"contracts/3_Ballot.sol\":3970:3979 proposals */\n 0x02\n /* \"contracts/3_Ballot.sol\":3970:3986 proposals.length */\n dup1\n sload\n swap1\n pop\n /* \"contracts/3_Ballot.sol\":3966:3967 p */\n dup2\n /* \"contracts/3_Ballot.sol\":3966:3986 p < proposals.length */\n lt\n /* \"contracts/3_Ballot.sol\":3949:4176 for (uint p = 0; p < proposals.length; p++) {... */\n iszero\n tag_81\n jumpi\n /* \"contracts/3_Ballot.sol\":4036:4052 winningVoteCount */\n dup2\n /* \"contracts/3_Ballot.sol\":4011:4020 proposals */\n 0x02\n /* \"contracts/3_Ballot.sol\":4021:4022 p */\n dup3\n /* \"contracts/3_Ballot.sol\":4011:4023 proposals[p] */\n dup2\n sload\n dup2\n lt\n tag_83\n jumpi\n tag_84\n tag_54\n jump\t// in\n tag_84:\n tag_83:\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x02\n mul\n add\n /* \"contracts/3_Ballot.sol\":4011:4033 proposals[p].voteCount */\n 0x01\n add\n sload\n /* \"contracts/3_Ballot.sol\":4011:4052 proposals[p].voteCount > winningVoteCount */\n gt\n /* \"contracts/3_Ballot.sol\":4007:4166 if (proposals[p].voteCount > winningVoteCount) {... */\n iszero\n tag_86\n jumpi\n /* \"contracts/3_Ballot.sol\":4091:4100 proposals */\n 0x02\n /* \"contracts/3_Ballot.sol\":4101:4102 p */\n dup2\n /* \"contracts/3_Ballot.sol\":4091:4103 proposals[p] */\n dup2\n sload\n dup2\n lt\n tag_87\n jumpi\n tag_88\n tag_54\n jump\t// in\n tag_88:\n tag_87:\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x02\n mul\n add\n /* \"contracts/3_Ballot.sol\":4091:4113 proposals[p].voteCount */\n 0x01\n add\n sload\n /* \"contracts/3_Ballot.sol\":4072:4113 winningVoteCount = proposals[p].voteCount */\n swap2\n pop\n /* \"contracts/3_Ballot.sol\":4150:4151 p */\n dup1\n /* \"contracts/3_Ballot.sol\":4131:4151 winningProposal_ = p */\n swap3\n pop\n /* \"contracts/3_Ballot.sol\":4007:4166 if (proposals[p].voteCount > winningVoteCount) {... */\n tag_86:\n /* \"contracts/3_Ballot.sol\":3988:3991 p++ */\n dup1\n dup1\n tag_90\n swap1\n tag_91\n jump\t// in\n tag_90:\n swap2\n pop\n pop\n /* \"contracts/3_Ballot.sol\":3949:4176 for (uint p = 0; p < proposals.length; p++) {... */\n jump(tag_80)\n tag_81:\n pop\n /* \"contracts/3_Ballot.sol\":3904:4182 {... */\n pop\n /* \"contracts/3_Ballot.sol\":3817:4182 function winningProposal() public view... */\n swap1\n jump\t// out\n /* \"contracts/3_Ballot.sol\":1599:1954 function giveRightToVote(address voter) public {... */\n tag_35:\n /* \"contracts/3_Ballot.sol\":1691:1702 chairperson */\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/3_Ballot.sol\":1677:1702 msg.sender == chairperson */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/3_Ballot.sol\":1677:1687 msg.sender */\n caller\n /* \"contracts/3_Ballot.sol\":1677:1702 msg.sender == chairperson */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"contracts/3_Ballot.sol\":1656:1768 require(... */\n tag_93\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_94\n swap1\n tag_95\n jump\t// in\n tag_94:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_93:\n /* \"contracts/3_Ballot.sol\":1800:1806 voters */\n 0x01\n /* \"contracts/3_Ballot.sol\":1800:1813 voters[voter] */\n 0x00\n /* \"contracts/3_Ballot.sol\":1807:1812 voter */\n dup3\n /* \"contracts/3_Ballot.sol\":1800:1813 voters[voter] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/3_Ballot.sol\":1800:1819 voters[voter].voted */\n 0x01\n add\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xff\n and\n /* \"contracts/3_Ballot.sol\":1799:1819 !voters[voter].voted */\n iszero\n /* \"contracts/3_Ballot.sol\":1778:1869 require(... */\n tag_96\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_97\n swap1\n tag_98\n jump\t// in\n tag_97:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_96:\n /* \"contracts/3_Ballot.sol\":1911:1912 0 */\n 0x00\n /* \"contracts/3_Ballot.sol\":1887:1893 voters */\n 0x01\n /* \"contracts/3_Ballot.sol\":1887:1900 voters[voter] */\n 0x00\n /* \"contracts/3_Ballot.sol\":1894:1899 voter */\n dup4\n /* \"contracts/3_Ballot.sol\":1887:1900 voters[voter] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/3_Ballot.sol\":1887:1907 voters[voter].weight */\n 0x00\n add\n sload\n /* \"contracts/3_Ballot.sol\":1887:1912 voters[voter].weight == 0 */\n eq\n /* \"contracts/3_Ballot.sol\":1879:1913 require(voters[voter].weight == 0) */\n tag_99\n jumpi\n 0x00\n dup1\n revert\n tag_99:\n /* \"contracts/3_Ballot.sol\":1946:1947 1 */\n 0x01\n /* \"contracts/3_Ballot.sol\":1923:1929 voters */\n dup1\n /* \"contracts/3_Ballot.sol\":1923:1936 voters[voter] */\n 0x00\n /* \"contracts/3_Ballot.sol\":1930:1935 voter */\n dup4\n /* \"contracts/3_Ballot.sol\":1923:1936 voters[voter] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/3_Ballot.sol\":1923:1943 voters[voter].weight */\n 0x00\n add\n /* \"contracts/3_Ballot.sol\":1923:1947 voters[voter].weight = 1 */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/3_Ballot.sol\":1599:1954 function giveRightToVote(address voter) public {... */\n pop\n jump\t// out\n /* \"contracts/3_Ballot.sol\":748:787 mapping(address => Voter) public voters */\n tag_38:\n mstore(0x20, 0x01)\n dup1\n 0x00\n mstore\n keccak256(0x00, 0x40)\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 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xff\n and\n swap1\n dup1\n 0x01\n add\n 0x01\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n dup1\n 0x02\n add\n sload\n swap1\n pop\n dup5\n jump\t// out\n /* \"contracts/3_Ballot.sol\":4373:4517 function winnerName() public view... */\n tag_42:\n /* \"contracts/3_Ballot.sol\":4428:4447 bytes32 winnerName_ */\n 0x00\n /* \"contracts/3_Ballot.sol\":4477:4486 proposals */\n 0x02\n /* \"contracts/3_Ballot.sol\":4487:4504 winningProposal() */\n tag_101\n /* \"contracts/3_Ballot.sol\":4487:4502 winningProposal */\n tag_30\n /* \"contracts/3_Ballot.sol\":4487:4504 winningProposal() */\n jump\t// in\n tag_101:\n /* \"contracts/3_Ballot.sol\":4477:4505 proposals[winningProposal()] */\n dup2\n sload\n dup2\n lt\n tag_102\n jumpi\n tag_103\n tag_54\n jump\t// in\n tag_103:\n tag_102:\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x02\n mul\n add\n /* \"contracts/3_Ballot.sol\":4477:4510 proposals[winningProposal()].name */\n 0x00\n add\n sload\n /* \"contracts/3_Ballot.sol\":4463:4510 winnerName_ = proposals[winningProposal()].name */\n swap1\n pop\n /* \"contracts/3_Ballot.sol\":4373:4517 function winnerName() public view... */\n swap1\n jump\t// out\n /* \"#utility.yul\":88:205 */\n tag_106:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n dup1\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":334:411 */\n tag_108:\n /* \"#utility.yul\":371:378 */\n 0x00\n /* \"#utility.yul\":400:405 */\n dup2\n /* \"#utility.yul\":389:405 */\n swap1\n pop\n /* \"#utility.yul\":334:411 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":417:539 */\n tag_109:\n /* \"#utility.yul\":490:514 */\n tag_143\n /* \"#utility.yul\":508:513 */\n dup2\n /* \"#utility.yul\":490:514 */\n tag_108\n jump\t// in\n tag_143:\n /* \"#utility.yul\":483:488 */\n dup2\n /* \"#utility.yul\":480:515 */\n eq\n /* \"#utility.yul\":470:533 */\n tag_144\n jumpi\n /* \"#utility.yul\":529:530 */\n 0x00\n /* \"#utility.yul\":526:527 */\n dup1\n /* \"#utility.yul\":519:531 */\n revert\n /* \"#utility.yul\":470:533 */\n tag_144:\n /* \"#utility.yul\":417:539 */\n pop\n jump\t// out\n /* \"#utility.yul\":545:684 */\n tag_110:\n /* \"#utility.yul\":591:596 */\n 0x00\n /* \"#utility.yul\":629:635 */\n dup2\n /* \"#utility.yul\":616:636 */\n calldataload\n /* \"#utility.yul\":607:636 */\n swap1\n pop\n /* \"#utility.yul\":645:678 */\n tag_146\n /* \"#utility.yul\":672:677 */\n dup2\n /* \"#utility.yul\":645:678 */\n tag_109\n jump\t// in\n tag_146:\n /* \"#utility.yul\":545:684 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":690:1019 */\n tag_14:\n /* \"#utility.yul\":749:755 */\n 0x00\n /* \"#utility.yul\":798:800 */\n 0x20\n /* \"#utility.yul\":786:795 */\n dup3\n /* \"#utility.yul\":777:784 */\n dup5\n /* \"#utility.yul\":773:796 */\n sub\n /* \"#utility.yul\":769:801 */\n slt\n /* \"#utility.yul\":766:885 */\n iszero\n tag_148\n jumpi\n /* \"#utility.yul\":804:883 */\n tag_149\n tag_106\n jump\t// in\n tag_149:\n /* \"#utility.yul\":766:885 */\n tag_148:\n /* \"#utility.yul\":924:925 */\n 0x00\n /* \"#utility.yul\":949:1002 */\n tag_150\n /* \"#utility.yul\":994:1001 */\n dup5\n /* \"#utility.yul\":985:991 */\n dup3\n /* \"#utility.yul\":974:983 */\n dup6\n /* \"#utility.yul\":970:992 */\n add\n /* \"#utility.yul\":949:1002 */\n tag_110\n jump\t// in\n tag_150:\n /* \"#utility.yul\":939:1002 */\n swap2\n pop\n /* \"#utility.yul\":895:1012 */\n pop\n /* \"#utility.yul\":690:1019 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1025:1102 */\n tag_111:\n /* \"#utility.yul\":1062:1069 */\n 0x00\n /* \"#utility.yul\":1091:1096 */\n dup2\n /* \"#utility.yul\":1080:1096 */\n swap1\n pop\n /* \"#utility.yul\":1025:1102 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1108:1226 */\n tag_112:\n /* \"#utility.yul\":1195:1219 */\n tag_153\n /* \"#utility.yul\":1213:1218 */\n dup2\n /* \"#utility.yul\":1195:1219 */\n tag_111\n jump\t// in\n tag_153:\n /* \"#utility.yul\":1190:1193 */\n dup3\n /* \"#utility.yul\":1183:1220 */\n mstore\n /* \"#utility.yul\":1108:1226 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1232:1350 */\n tag_113:\n /* \"#utility.yul\":1319:1343 */\n tag_155\n /* \"#utility.yul\":1337:1342 */\n dup2\n /* \"#utility.yul\":1319:1343 */\n tag_108\n jump\t// in\n tag_155:\n /* \"#utility.yul\":1314:1317 */\n dup3\n /* \"#utility.yul\":1307:1344 */\n mstore\n /* \"#utility.yul\":1232:1350 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1356:1688 */\n tag_20:\n /* \"#utility.yul\":1477:1481 */\n 0x00\n /* \"#utility.yul\":1515:1517 */\n 0x40\n /* \"#utility.yul\":1504:1513 */\n dup3\n /* \"#utility.yul\":1500:1518 */\n add\n /* \"#utility.yul\":1492:1518 */\n swap1\n pop\n /* \"#utility.yul\":1528:1599 */\n tag_157\n /* \"#utility.yul\":1596:1597 */\n 0x00\n /* \"#utility.yul\":1585:1594 */\n dup4\n /* \"#utility.yul\":1581:1598 */\n add\n /* \"#utility.yul\":1572:1578 */\n dup6\n /* \"#utility.yul\":1528:1599 */\n tag_112\n jump\t// in\n tag_157:\n /* \"#utility.yul\":1609:1681 */\n tag_158\n /* \"#utility.yul\":1677:1679 */\n 0x20\n /* \"#utility.yul\":1666:1675 */\n dup4\n /* \"#utility.yul\":1662:1680 */\n add\n /* \"#utility.yul\":1653:1659 */\n dup5\n /* \"#utility.yul\":1609:1681 */\n tag_113\n jump\t// in\n tag_158:\n /* \"#utility.yul\":1356:1688 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1694:1820 */\n tag_114:\n /* \"#utility.yul\":1731:1738 */\n 0x00\n /* \"#utility.yul\":1771:1813 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":1764:1769 */\n dup3\n /* \"#utility.yul\":1760:1814 */\n and\n /* \"#utility.yul\":1749:1814 */\n swap1\n pop\n /* \"#utility.yul\":1694:1820 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1826:1922 */\n tag_115:\n /* \"#utility.yul\":1863:1870 */\n 0x00\n /* \"#utility.yul\":1892:1916 */\n tag_161\n /* \"#utility.yul\":1910:1915 */\n dup3\n /* \"#utility.yul\":1892:1916 */\n tag_114\n jump\t// in\n tag_161:\n /* \"#utility.yul\":1881:1916 */\n swap1\n pop\n /* \"#utility.yul\":1826:1922 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1928:2046 */\n tag_116:\n /* \"#utility.yul\":2015:2039 */\n tag_163\n /* \"#utility.yul\":2033:2038 */\n dup2\n /* \"#utility.yul\":2015:2039 */\n tag_115\n jump\t// in\n tag_163:\n /* \"#utility.yul\":2010:2013 */\n dup3\n /* \"#utility.yul\":2003:2040 */\n mstore\n /* \"#utility.yul\":1928:2046 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2052:2274 */\n tag_24:\n /* \"#utility.yul\":2145:2149 */\n 0x00\n /* \"#utility.yul\":2183:2185 */\n 0x20\n /* \"#utility.yul\":2172:2181 */\n dup3\n /* \"#utility.yul\":2168:2186 */\n add\n /* \"#utility.yul\":2160:2186 */\n swap1\n pop\n /* \"#utility.yul\":2196:2267 */\n tag_165\n /* \"#utility.yul\":2264:2265 */\n 0x00\n /* \"#utility.yul\":2253:2262 */\n dup4\n /* \"#utility.yul\":2249:2266 */\n add\n /* \"#utility.yul\":2240:2246 */\n dup5\n /* \"#utility.yul\":2196:2267 */\n tag_116\n jump\t// in\n tag_165:\n /* \"#utility.yul\":2052:2274 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2280:2402 */\n tag_117:\n /* \"#utility.yul\":2353:2377 */\n tag_167\n /* \"#utility.yul\":2371:2376 */\n dup2\n /* \"#utility.yul\":2353:2377 */\n tag_115\n jump\t// in\n tag_167:\n /* \"#utility.yul\":2346:2351 */\n dup2\n /* \"#utility.yul\":2343:2378 */\n eq\n /* \"#utility.yul\":2333:2396 */\n tag_168\n jumpi\n /* \"#utility.yul\":2392:2393 */\n 0x00\n /* \"#utility.yul\":2389:2390 */\n dup1\n /* \"#utility.yul\":2382:2394 */\n revert\n /* \"#utility.yul\":2333:2396 */\n tag_168:\n /* \"#utility.yul\":2280:2402 */\n pop\n jump\t// out\n /* \"#utility.yul\":2408:2547 */\n tag_118:\n /* \"#utility.yul\":2454:2459 */\n 0x00\n /* \"#utility.yul\":2492:2498 */\n dup2\n /* \"#utility.yul\":2479:2499 */\n calldataload\n /* \"#utility.yul\":2470:2499 */\n swap1\n pop\n /* \"#utility.yul\":2508:2541 */\n tag_170\n /* \"#utility.yul\":2535:2540 */\n dup2\n /* \"#utility.yul\":2508:2541 */\n tag_117\n jump\t// in\n tag_170:\n /* \"#utility.yul\":2408:2547 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2553:2882 */\n tag_27:\n /* \"#utility.yul\":2612:2618 */\n 0x00\n /* \"#utility.yul\":2661:2663 */\n 0x20\n /* \"#utility.yul\":2649:2658 */\n dup3\n /* \"#utility.yul\":2640:2647 */\n dup5\n /* \"#utility.yul\":2636:2659 */\n sub\n /* \"#utility.yul\":2632:2664 */\n slt\n /* \"#utility.yul\":2629:2748 */\n iszero\n tag_172\n jumpi\n /* \"#utility.yul\":2667:2746 */\n tag_173\n tag_106\n jump\t// in\n tag_173:\n /* \"#utility.yul\":2629:2748 */\n tag_172:\n /* \"#utility.yul\":2787:2788 */\n 0x00\n /* \"#utility.yul\":2812:2865 */\n tag_174\n /* \"#utility.yul\":2857:2864 */\n dup5\n /* \"#utility.yul\":2848:2854 */\n dup3\n /* \"#utility.yul\":2837:2846 */\n dup6\n /* \"#utility.yul\":2833:2855 */\n add\n /* \"#utility.yul\":2812:2865 */\n tag_118\n jump\t// in\n tag_174:\n /* \"#utility.yul\":2802:2865 */\n swap2\n pop\n /* \"#utility.yul\":2758:2875 */\n pop\n /* \"#utility.yul\":2553:2882 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2888:3110 */\n tag_32:\n /* \"#utility.yul\":2981:2985 */\n 0x00\n /* \"#utility.yul\":3019:3021 */\n 0x20\n /* \"#utility.yul\":3008:3017 */\n dup3\n /* \"#utility.yul\":3004:3022 */\n add\n /* \"#utility.yul\":2996:3022 */\n swap1\n pop\n /* \"#utility.yul\":3032:3103 */\n tag_176\n /* \"#utility.yul\":3100:3101 */\n 0x00\n /* \"#utility.yul\":3089:3098 */\n dup4\n /* \"#utility.yul\":3085:3102 */\n add\n /* \"#utility.yul\":3076:3082 */\n dup5\n /* \"#utility.yul\":3032:3103 */\n tag_113\n jump\t// in\n tag_176:\n /* \"#utility.yul\":2888:3110 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3116:3206 */\n tag_119:\n /* \"#utility.yul\":3150:3157 */\n 0x00\n /* \"#utility.yul\":3193:3198 */\n dup2\n /* \"#utility.yul\":3186:3199 */\n iszero\n /* \"#utility.yul\":3179:3200 */\n iszero\n /* \"#utility.yul\":3168:3200 */\n swap1\n pop\n /* \"#utility.yul\":3116:3206 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3212:3321 */\n tag_120:\n /* \"#utility.yul\":3293:3314 */\n tag_179\n /* \"#utility.yul\":3308:3313 */\n dup2\n /* \"#utility.yul\":3293:3314 */\n tag_119\n jump\t// in\n tag_179:\n /* \"#utility.yul\":3288:3291 */\n dup3\n /* \"#utility.yul\":3281:3315 */\n mstore\n /* \"#utility.yul\":3212:3321 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3327:3868 */\n tag_40:\n /* \"#utility.yul\":3498:3502 */\n 0x00\n /* \"#utility.yul\":3536:3539 */\n 0x80\n /* \"#utility.yul\":3525:3534 */\n dup3\n /* \"#utility.yul\":3521:3540 */\n add\n /* \"#utility.yul\":3513:3540 */\n swap1\n pop\n /* \"#utility.yul\":3550:3621 */\n tag_181\n /* \"#utility.yul\":3618:3619 */\n 0x00\n /* \"#utility.yul\":3607:3616 */\n dup4\n /* \"#utility.yul\":3603:3620 */\n add\n /* \"#utility.yul\":3594:3600 */\n dup8\n /* \"#utility.yul\":3550:3621 */\n tag_113\n jump\t// in\n tag_181:\n /* \"#utility.yul\":3631:3697 */\n tag_182\n /* \"#utility.yul\":3693:3695 */\n 0x20\n /* \"#utility.yul\":3682:3691 */\n dup4\n /* \"#utility.yul\":3678:3696 */\n add\n /* \"#utility.yul\":3669:3675 */\n dup7\n /* \"#utility.yul\":3631:3697 */\n tag_120\n jump\t// in\n tag_182:\n /* \"#utility.yul\":3707:3779 */\n tag_183\n /* \"#utility.yul\":3775:3777 */\n 0x40\n /* \"#utility.yul\":3764:3773 */\n dup4\n /* \"#utility.yul\":3760:3778 */\n add\n /* \"#utility.yul\":3751:3757 */\n dup6\n /* \"#utility.yul\":3707:3779 */\n tag_116\n jump\t// in\n tag_183:\n /* \"#utility.yul\":3789:3861 */\n tag_184\n /* \"#utility.yul\":3857:3859 */\n 0x60\n /* \"#utility.yul\":3846:3855 */\n dup4\n /* \"#utility.yul\":3842:3860 */\n add\n /* \"#utility.yul\":3833:3839 */\n dup5\n /* \"#utility.yul\":3789:3861 */\n tag_113\n jump\t// in\n tag_184:\n /* \"#utility.yul\":3327:3868 */\n swap6\n swap5\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3874:4096 */\n tag_44:\n /* \"#utility.yul\":3967:3971 */\n 0x00\n /* \"#utility.yul\":4005:4007 */\n 0x20\n /* \"#utility.yul\":3994:4003 */\n dup3\n /* \"#utility.yul\":3990:4008 */\n add\n /* \"#utility.yul\":3982:4008 */\n swap1\n pop\n /* \"#utility.yul\":4018:4089 */\n tag_186\n /* \"#utility.yul\":4086:4087 */\n 0x00\n /* \"#utility.yul\":4075:4084 */\n dup4\n /* \"#utility.yul\":4071:4088 */\n add\n /* \"#utility.yul\":4062:4068 */\n dup5\n /* \"#utility.yul\":4018:4089 */\n tag_112\n jump\t// in\n tag_186:\n /* \"#utility.yul\":3874:4096 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4102:4271 */\n tag_121:\n /* \"#utility.yul\":4186:4197 */\n 0x00\n /* \"#utility.yul\":4220:4226 */\n dup3\n /* \"#utility.yul\":4215:4218 */\n dup3\n /* \"#utility.yul\":4208:4227 */\n mstore\n /* \"#utility.yul\":4260:4264 */\n 0x20\n /* \"#utility.yul\":4255:4258 */\n dup3\n /* \"#utility.yul\":4251:4265 */\n add\n /* \"#utility.yul\":4236:4265 */\n swap1\n pop\n /* \"#utility.yul\":4102:4271 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4277:4447 */\n tag_122:\n /* \"#utility.yul\":4417:4439 */\n 0x486173206e6f20726967687420746f20766f7465000000000000000000000000\n /* \"#utility.yul\":4413:4414 */\n 0x00\n /* \"#utility.yul\":4405:4411 */\n dup3\n /* \"#utility.yul\":4401:4415 */\n add\n /* \"#utility.yul\":4394:4440 */\n mstore\n /* \"#utility.yul\":4277:4447 */\n pop\n jump\t// out\n /* \"#utility.yul\":4453:4819 */\n tag_123:\n /* \"#utility.yul\":4595:4598 */\n 0x00\n /* \"#utility.yul\":4616:4683 */\n tag_190\n /* \"#utility.yul\":4680:4682 */\n 0x14\n /* \"#utility.yul\":4675:4678 */\n dup4\n /* \"#utility.yul\":4616:4683 */\n tag_121\n jump\t// in\n tag_190:\n /* \"#utility.yul\":4609:4683 */\n swap2\n pop\n /* \"#utility.yul\":4692:4785 */\n tag_191\n /* \"#utility.yul\":4781:4784 */\n dup3\n /* \"#utility.yul\":4692:4785 */\n tag_122\n jump\t// in\n tag_191:\n /* \"#utility.yul\":4810:4812 */\n 0x20\n /* \"#utility.yul\":4805:4808 */\n dup3\n /* \"#utility.yul\":4801:4813 */\n add\n /* \"#utility.yul\":4794:4813 */\n swap1\n pop\n /* \"#utility.yul\":4453:4819 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4825:5244 */\n tag_48:\n /* \"#utility.yul\":4991:4995 */\n 0x00\n /* \"#utility.yul\":5029:5031 */\n 0x20\n /* \"#utility.yul\":5018:5027 */\n dup3\n /* \"#utility.yul\":5014:5032 */\n add\n /* \"#utility.yul\":5006:5032 */\n swap1\n pop\n /* \"#utility.yul\":5078:5087 */\n dup2\n /* \"#utility.yul\":5072:5076 */\n dup2\n /* \"#utility.yul\":5068:5088 */\n sub\n /* \"#utility.yul\":5064:5065 */\n 0x00\n /* \"#utility.yul\":5053:5062 */\n dup4\n /* \"#utility.yul\":5049:5066 */\n add\n /* \"#utility.yul\":5042:5089 */\n mstore\n /* \"#utility.yul\":5106:5237 */\n tag_193\n /* \"#utility.yul\":5232:5236 */\n dup2\n /* \"#utility.yul\":5106:5237 */\n tag_123\n jump\t// in\n tag_193:\n /* \"#utility.yul\":5098:5237 */\n swap1\n pop\n /* \"#utility.yul\":4825:5244 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5250:5414 */\n tag_124:\n /* \"#utility.yul\":5390:5406 */\n 0x416c726561647920766f7465642e000000000000000000000000000000000000\n /* \"#utility.yul\":5386:5387 */\n 0x00\n /* \"#utility.yul\":5378:5384 */\n dup3\n /* \"#utility.yul\":5374:5388 */\n add\n /* \"#utility.yul\":5367:5407 */\n mstore\n /* \"#utility.yul\":5250:5414 */\n pop\n jump\t// out\n /* \"#utility.yul\":5420:5786 */\n tag_125:\n /* \"#utility.yul\":5562:5565 */\n 0x00\n /* \"#utility.yul\":5583:5650 */\n tag_196\n /* \"#utility.yul\":5647:5649 */\n 0x0e\n /* \"#utility.yul\":5642:5645 */\n dup4\n /* \"#utility.yul\":5583:5650 */\n tag_121\n jump\t// in\n tag_196:\n /* \"#utility.yul\":5576:5650 */\n swap2\n pop\n /* \"#utility.yul\":5659:5752 */\n tag_197\n /* \"#utility.yul\":5748:5751 */\n dup3\n /* \"#utility.yul\":5659:5752 */\n tag_124\n jump\t// in\n tag_197:\n /* \"#utility.yul\":5777:5779 */\n 0x20\n /* \"#utility.yul\":5772:5775 */\n dup3\n /* \"#utility.yul\":5768:5780 */\n add\n /* \"#utility.yul\":5761:5780 */\n swap1\n pop\n /* \"#utility.yul\":5420:5786 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5792:6211 */\n tag_51:\n /* \"#utility.yul\":5958:5962 */\n 0x00\n /* \"#utility.yul\":5996:5998 */\n 0x20\n /* \"#utility.yul\":5985:5994 */\n dup3\n /* \"#utility.yul\":5981:5999 */\n add\n /* \"#utility.yul\":5973:5999 */\n swap1\n pop\n /* \"#utility.yul\":6045:6054 */\n dup2\n /* \"#utility.yul\":6039:6043 */\n dup2\n /* \"#utility.yul\":6035:6055 */\n sub\n /* \"#utility.yul\":6031:6032 */\n 0x00\n /* \"#utility.yul\":6020:6029 */\n dup4\n /* \"#utility.yul\":6016:6033 */\n add\n /* \"#utility.yul\":6009:6056 */\n mstore\n /* \"#utility.yul\":6073:6204 */\n tag_199\n /* \"#utility.yul\":6199:6203 */\n dup2\n /* \"#utility.yul\":6073:6204 */\n tag_125\n jump\t// in\n tag_199:\n /* \"#utility.yul\":6065:6204 */\n swap1\n pop\n /* \"#utility.yul\":5792:6211 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6217:6397 */\n tag_54:\n /* \"#utility.yul\":6265:6342 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":6262:6263 */\n 0x00\n /* \"#utility.yul\":6255:6343 */\n mstore\n /* \"#utility.yul\":6362:6366 */\n 0x32\n /* \"#utility.yul\":6359:6360 */\n 0x04\n /* \"#utility.yul\":6352:6367 */\n mstore\n /* \"#utility.yul\":6386:6390 */\n 0x24\n /* \"#utility.yul\":6383:6384 */\n 0x00\n /* \"#utility.yul\":6376:6391 */\n revert\n /* \"#utility.yul\":6403:6583 */\n tag_126:\n /* \"#utility.yul\":6451:6528 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":6448:6449 */\n 0x00\n /* \"#utility.yul\":6441:6529 */\n mstore\n /* \"#utility.yul\":6548:6552 */\n 0x11\n /* \"#utility.yul\":6545:6546 */\n 0x04\n /* \"#utility.yul\":6538:6553 */\n mstore\n /* \"#utility.yul\":6572:6576 */\n 0x24\n /* \"#utility.yul\":6569:6570 */\n 0x00\n /* \"#utility.yul\":6562:6577 */\n revert\n /* \"#utility.yul\":6589:6894 */\n tag_57:\n /* \"#utility.yul\":6629:6632 */\n 0x00\n /* \"#utility.yul\":6648:6668 */\n tag_203\n /* \"#utility.yul\":6666:6667 */\n dup3\n /* \"#utility.yul\":6648:6668 */\n tag_108\n jump\t// in\n tag_203:\n /* \"#utility.yul\":6643:6668 */\n swap2\n pop\n /* \"#utility.yul\":6682:6702 */\n tag_204\n /* \"#utility.yul\":6700:6701 */\n dup4\n /* \"#utility.yul\":6682:6702 */\n tag_108\n jump\t// in\n tag_204:\n /* \"#utility.yul\":6677:6702 */\n swap3\n pop\n /* \"#utility.yul\":6836:6837 */\n dup3\n /* \"#utility.yul\":6768:6834 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":6764:6838 */\n sub\n /* \"#utility.yul\":6761:6762 */\n dup3\n /* \"#utility.yul\":6758:6839 */\n gt\n /* \"#utility.yul\":6755:6862 */\n iszero\n tag_205\n jumpi\n /* \"#utility.yul\":6842:6860 */\n tag_206\n tag_126\n jump\t// in\n tag_206:\n /* \"#utility.yul\":6755:6862 */\n tag_205:\n /* \"#utility.yul\":6886:6887 */\n dup3\n /* \"#utility.yul\":6883:6884 */\n dup3\n /* \"#utility.yul\":6879:6888 */\n add\n /* \"#utility.yul\":6872:6888 */\n swap1\n pop\n /* \"#utility.yul\":6589:6894 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6900:7068 */\n tag_127:\n /* \"#utility.yul\":7040:7060 */\n 0x596f7520616c726561647920766f7465642e0000000000000000000000000000\n /* \"#utility.yul\":7036:7037 */\n 0x00\n /* \"#utility.yul\":7028:7034 */\n dup3\n /* \"#utility.yul\":7024:7038 */\n add\n /* \"#utility.yul\":7017:7061 */\n mstore\n /* \"#utility.yul\":6900:7068 */\n pop\n jump\t// out\n /* \"#utility.yul\":7074:7440 */\n tag_128:\n /* \"#utility.yul\":7216:7219 */\n 0x00\n /* \"#utility.yul\":7237:7304 */\n tag_209\n /* \"#utility.yul\":7301:7303 */\n 0x12\n /* \"#utility.yul\":7296:7299 */\n dup4\n /* \"#utility.yul\":7237:7304 */\n tag_121\n jump\t// in\n tag_209:\n /* \"#utility.yul\":7230:7304 */\n swap2\n pop\n /* \"#utility.yul\":7313:7406 */\n tag_210\n /* \"#utility.yul\":7402:7405 */\n dup3\n /* \"#utility.yul\":7313:7406 */\n tag_127\n jump\t// in\n tag_210:\n /* \"#utility.yul\":7431:7433 */\n 0x20\n /* \"#utility.yul\":7426:7429 */\n dup3\n /* \"#utility.yul\":7422:7434 */\n add\n /* \"#utility.yul\":7415:7434 */\n swap1\n pop\n /* \"#utility.yul\":7074:7440 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7446:7865 */\n tag_63:\n /* \"#utility.yul\":7612:7616 */\n 0x00\n /* \"#utility.yul\":7650:7652 */\n 0x20\n /* \"#utility.yul\":7639:7648 */\n dup3\n /* \"#utility.yul\":7635:7653 */\n add\n /* \"#utility.yul\":7627:7653 */\n swap1\n pop\n /* \"#utility.yul\":7699:7708 */\n dup2\n /* \"#utility.yul\":7693:7697 */\n dup2\n /* \"#utility.yul\":7689:7709 */\n sub\n /* \"#utility.yul\":7685:7686 */\n 0x00\n /* \"#utility.yul\":7674:7683 */\n dup4\n /* \"#utility.yul\":7670:7687 */\n add\n /* \"#utility.yul\":7663:7710 */\n mstore\n /* \"#utility.yul\":7727:7858 */\n tag_212\n /* \"#utility.yul\":7853:7857 */\n dup2\n /* \"#utility.yul\":7727:7858 */\n tag_128\n jump\t// in\n tag_212:\n /* \"#utility.yul\":7719:7858 */\n swap1\n pop\n /* \"#utility.yul\":7446:7865 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7871:8051 */\n tag_129:\n /* \"#utility.yul\":8011:8043 */\n 0x53656c662d64656c65676174696f6e20697320646973616c6c6f7765642e0000\n /* \"#utility.yul\":8007:8008 */\n 0x00\n /* \"#utility.yul\":7999:8005 */\n dup3\n /* \"#utility.yul\":7995:8009 */\n add\n /* \"#utility.yul\":7988:8044 */\n mstore\n /* \"#utility.yul\":7871:8051 */\n pop\n jump\t// out\n /* \"#utility.yul\":8057:8423 */\n tag_130:\n /* \"#utility.yul\":8199:8202 */\n 0x00\n /* \"#utility.yul\":8220:8287 */\n tag_215\n /* \"#utility.yul\":8284:8286 */\n 0x1e\n /* \"#utility.yul\":8279:8282 */\n dup4\n /* \"#utility.yul\":8220:8287 */\n tag_121\n jump\t// in\n tag_215:\n /* \"#utility.yul\":8213:8287 */\n swap2\n pop\n /* \"#utility.yul\":8296:8389 */\n tag_216\n /* \"#utility.yul\":8385:8388 */\n dup3\n /* \"#utility.yul\":8296:8389 */\n tag_129\n jump\t// in\n tag_216:\n /* \"#utility.yul\":8414:8416 */\n 0x20\n /* \"#utility.yul\":8409:8412 */\n dup3\n /* \"#utility.yul\":8405:8417 */\n add\n /* \"#utility.yul\":8398:8417 */\n swap1\n pop\n /* \"#utility.yul\":8057:8423 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":8429:8848 */\n tag_66:\n /* \"#utility.yul\":8595:8599 */\n 0x00\n /* \"#utility.yul\":8633:8635 */\n 0x20\n /* \"#utility.yul\":8622:8631 */\n dup3\n /* \"#utility.yul\":8618:8636 */\n add\n /* \"#utility.yul\":8610:8636 */\n swap1\n pop\n /* \"#utility.yul\":8682:8691 */\n dup2\n /* \"#utility.yul\":8676:8680 */\n dup2\n /* \"#utility.yul\":8672:8692 */\n sub\n /* \"#utility.yul\":8668:8669 */\n 0x00\n /* \"#utility.yul\":8657:8666 */\n dup4\n /* \"#utility.yul\":8653:8670 */\n add\n /* \"#utility.yul\":8646:8693 */\n mstore\n /* \"#utility.yul\":8710:8841 */\n tag_218\n /* \"#utility.yul\":8836:8840 */\n dup2\n /* \"#utility.yul\":8710:8841 */\n tag_130\n jump\t// in\n tag_218:\n /* \"#utility.yul\":8702:8841 */\n swap1\n pop\n /* \"#utility.yul\":8429:8848 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":8854:9029 */\n tag_131:\n /* \"#utility.yul\":8994:9021 */\n 0x466f756e64206c6f6f7020696e2064656c65676174696f6e2e00000000000000\n /* \"#utility.yul\":8990:8991 */\n 0x00\n /* \"#utility.yul\":8982:8988 */\n dup3\n /* \"#utility.yul\":8978:8992 */\n add\n /* \"#utility.yul\":8971:9022 */\n mstore\n /* \"#utility.yul\":8854:9029 */\n pop\n jump\t// out\n /* \"#utility.yul\":9035:9401 */\n tag_132:\n /* \"#utility.yul\":9177:9180 */\n 0x00\n /* \"#utility.yul\":9198:9265 */\n tag_221\n /* \"#utility.yul\":9262:9264 */\n 0x19\n /* \"#utility.yul\":9257:9260 */\n dup4\n /* \"#utility.yul\":9198:9265 */\n tag_121\n jump\t// in\n tag_221:\n /* \"#utility.yul\":9191:9265 */\n swap2\n pop\n /* \"#utility.yul\":9274:9367 */\n tag_222\n /* \"#utility.yul\":9363:9366 */\n dup3\n /* \"#utility.yul\":9274:9367 */\n tag_131\n jump\t// in\n tag_222:\n /* \"#utility.yul\":9392:9394 */\n 0x20\n /* \"#utility.yul\":9387:9390 */\n dup3\n /* \"#utility.yul\":9383:9395 */\n add\n /* \"#utility.yul\":9376:9395 */\n swap1\n pop\n /* \"#utility.yul\":9035:9401 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":9407:9826 */\n tag_71:\n /* \"#utility.yul\":9573:9577 */\n 0x00\n /* \"#utility.yul\":9611:9613 */\n 0x20\n /* \"#utility.yul\":9600:9609 */\n dup3\n /* \"#utility.yul\":9596:9614 */\n add\n /* \"#utility.yul\":9588:9614 */\n swap1\n pop\n /* \"#utility.yul\":9660:9669 */\n dup2\n /* \"#utility.yul\":9654:9658 */\n dup2\n /* \"#utility.yul\":9650:9670 */\n sub\n /* \"#utility.yul\":9646:9647 */\n 0x00\n /* \"#utility.yul\":9635:9644 */\n dup4\n /* \"#utility.yul\":9631:9648 */\n add\n /* \"#utility.yul\":9624:9671 */\n mstore\n /* \"#utility.yul\":9688:9819 */\n tag_224\n /* \"#utility.yul\":9814:9818 */\n dup2\n /* \"#utility.yul\":9688:9819 */\n tag_132\n jump\t// in\n tag_224:\n /* \"#utility.yul\":9680:9819 */\n swap1\n pop\n /* \"#utility.yul\":9407:9826 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":9832:10065 */\n tag_91:\n /* \"#utility.yul\":9871:9874 */\n 0x00\n /* \"#utility.yul\":9894:9918 */\n tag_226\n /* \"#utility.yul\":9912:9917 */\n dup3\n /* \"#utility.yul\":9894:9918 */\n tag_108\n jump\t// in\n tag_226:\n /* \"#utility.yul\":9885:9918 */\n swap2\n pop\n /* \"#utility.yul\":9940:10006 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":9933:9938 */\n dup3\n /* \"#utility.yul\":9930:10007 */\n sub\n /* \"#utility.yul\":9927:10030 */\n tag_227\n jumpi\n /* \"#utility.yul\":10010:10028 */\n tag_228\n tag_126\n jump\t// in\n tag_228:\n /* \"#utility.yul\":9927:10030 */\n tag_227:\n /* \"#utility.yul\":10057:10058 */\n 0x01\n /* \"#utility.yul\":10050:10055 */\n dup3\n /* \"#utility.yul\":10046:10059 */\n add\n /* \"#utility.yul\":10039:10059 */\n swap1\n pop\n /* \"#utility.yul\":9832:10065 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":10071:10298 */\n tag_133:\n /* \"#utility.yul\":10211:10245 */\n 0x4f6e6c79206368616972706572736f6e2063616e206769766520726967687420\n /* \"#utility.yul\":10207:10208 */\n 0x00\n /* \"#utility.yul\":10199:10205 */\n dup3\n /* \"#utility.yul\":10195:10209 */\n add\n /* \"#utility.yul\":10188:10246 */\n mstore\n /* \"#utility.yul\":10280:10290 */\n 0x746f20766f74652e000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":10275:10277 */\n 0x20\n /* \"#utility.yul\":10267:10273 */\n dup3\n /* \"#utility.yul\":10263:10278 */\n add\n /* \"#utility.yul\":10256:10291 */\n mstore\n /* \"#utility.yul\":10071:10298 */\n pop\n jump\t// out\n /* \"#utility.yul\":10304:10670 */\n tag_134:\n /* \"#utility.yul\":10446:10449 */\n 0x00\n /* \"#utility.yul\":10467:10534 */\n tag_231\n /* \"#utility.yul\":10531:10533 */\n 0x28\n /* \"#utility.yul\":10526:10529 */\n dup4\n /* \"#utility.yul\":10467:10534 */\n tag_121\n jump\t// in\n tag_231:\n /* \"#utility.yul\":10460:10534 */\n swap2\n pop\n /* \"#utility.yul\":10543:10636 */\n tag_232\n /* \"#utility.yul\":10632:10635 */\n dup3\n /* \"#utility.yul\":10543:10636 */\n tag_133\n jump\t// in\n tag_232:\n /* \"#utility.yul\":10661:10663 */\n 0x40\n /* \"#utility.yul\":10656:10659 */\n dup3\n /* \"#utility.yul\":10652:10664 */\n add\n /* \"#utility.yul\":10645:10664 */\n swap1\n pop\n /* \"#utility.yul\":10304:10670 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":10676:11095 */\n tag_95:\n /* \"#utility.yul\":10842:10846 */\n 0x00\n /* \"#utility.yul\":10880:10882 */\n 0x20\n /* \"#utility.yul\":10869:10878 */\n dup3\n /* \"#utility.yul\":10865:10883 */\n add\n /* \"#utility.yul\":10857:10883 */\n swap1\n pop\n /* \"#utility.yul\":10929:10938 */\n dup2\n /* \"#utility.yul\":10923:10927 */\n dup2\n /* \"#utility.yul\":10919:10939 */\n sub\n /* \"#utility.yul\":10915:10916 */\n 0x00\n /* \"#utility.yul\":10904:10913 */\n dup4\n /* \"#utility.yul\":10900:10917 */\n add\n /* \"#utility.yul\":10893:10940 */\n mstore\n /* \"#utility.yul\":10957:11088 */\n tag_234\n /* \"#utility.yul\":11083:11087 */\n dup2\n /* \"#utility.yul\":10957:11088 */\n tag_134\n jump\t// in\n tag_234:\n /* \"#utility.yul\":10949:11088 */\n swap1\n pop\n /* \"#utility.yul\":10676:11095 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":11101:11275 */\n tag_135:\n /* \"#utility.yul\":11241:11267 */\n 0x54686520766f74657220616c726561647920766f7465642e0000000000000000\n /* \"#utility.yul\":11237:11238 */\n 0x00\n /* \"#utility.yul\":11229:11235 */\n dup3\n /* \"#utility.yul\":11225:11239 */\n add\n /* \"#utility.yul\":11218:11268 */\n mstore\n /* \"#utility.yul\":11101:11275 */\n pop\n jump\t// out\n /* \"#utility.yul\":11281:11647 */\n tag_136:\n /* \"#utility.yul\":11423:11426 */\n 0x00\n /* \"#utility.yul\":11444:11511 */\n tag_237\n /* \"#utility.yul\":11508:11510 */\n 0x18\n /* \"#utility.yul\":11503:11506 */\n dup4\n /* \"#utility.yul\":11444:11511 */\n tag_121\n jump\t// in\n tag_237:\n /* \"#utility.yul\":11437:11511 */\n swap2\n pop\n /* \"#utility.yul\":11520:11613 */\n tag_238\n /* \"#utility.yul\":11609:11612 */\n dup3\n /* \"#utility.yul\":11520:11613 */\n tag_135\n jump\t// in\n tag_238:\n /* \"#utility.yul\":11638:11640 */\n 0x20\n /* \"#utility.yul\":11633:11636 */\n dup3\n /* \"#utility.yul\":11629:11641 */\n add\n /* \"#utility.yul\":11622:11641 */\n swap1\n pop\n /* \"#utility.yul\":11281:11647 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":11653:12072 */\n tag_98:\n /* \"#utility.yul\":11819:11823 */\n 0x00\n /* \"#utility.yul\":11857:11859 */\n 0x20\n /* \"#utility.yul\":11846:11855 */\n dup3\n /* \"#utility.yul\":11842:11860 */\n add\n /* \"#utility.yul\":11834:11860 */\n swap1\n pop\n /* \"#utility.yul\":11906:11915 */\n dup2\n /* \"#utility.yul\":11900:11904 */\n dup2\n /* \"#utility.yul\":11896:11916 */\n sub\n /* \"#utility.yul\":11892:11893 */\n 0x00\n /* \"#utility.yul\":11881:11890 */\n dup4\n /* \"#utility.yul\":11877:11894 */\n add\n /* \"#utility.yul\":11870:11917 */\n mstore\n /* \"#utility.yul\":11934:12065 */\n tag_240\n /* \"#utility.yul\":12060:12064 */\n dup2\n /* \"#utility.yul\":11934:12065 */\n tag_136\n jump\t// in\n tag_240:\n /* \"#utility.yul\":11926:12065 */\n swap1\n pop\n /* \"#utility.yul\":11653:12072 */\n swap2\n swap1\n pop\n jump\t// out\n\n auxdata: 0xa264697066735822122039eb1aed10c802704f8313eef4e42180fe1339e78ec932c9c2c30125f013e80064736f6c634300080d0033\n}\n",
"bytecode": {
"functionDebugData": {
"@_71": {
"entryPoint": null,
"id": 71,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_available_length_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory": {
"entryPoint": 667,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory": {
"entryPoint": 783,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bytes32_fromMemory": {
"entryPoint": 644,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory": {
"entryPoint": 834,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 525,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 382,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_array$_t_bytes32_$dyn_memory_ptr": {
"entryPoint": 556,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bytes32": {
"entryPoint": 608,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 1009,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 471,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"increment_t_uint256": {
"entryPoint": 1019,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 962,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x32": {
"entryPoint": 915,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 424,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 402,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": {
"entryPoint": 603,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 397,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 392,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 407,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_bytes32": {
"entryPoint": 618,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:4387:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "423:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "440:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "443:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "433:6:1"
},
"nodeType": "YulFunctionCall",
"src": "433:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "433:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "334:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "505:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "515:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "533:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "540:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "529:3:1"
},
"nodeType": "YulFunctionCall",
"src": "529:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "549:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "545:3:1"
},
"nodeType": "YulFunctionCall",
"src": "545:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "525:3:1"
},
"nodeType": "YulFunctionCall",
"src": "525:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "515:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "488:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "498:6:1",
"type": ""
}
],
"src": "457:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "593:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "610:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "613:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "603:6:1"
},
"nodeType": "YulFunctionCall",
"src": "603:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "603:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "707:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "710:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "700:6:1"
},
"nodeType": "YulFunctionCall",
"src": "700:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "700:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "731:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "734:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "724:6:1"
},
"nodeType": "YulFunctionCall",
"src": "724:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "724:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "565:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "794:238:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "804:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "826:6:1"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "856:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "834:21:1"
},
"nodeType": "YulFunctionCall",
"src": "834:27:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "822:3:1"
},
"nodeType": "YulFunctionCall",
"src": "822:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "808:10:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "973:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "975:16:1"
},
"nodeType": "YulFunctionCall",
"src": "975:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "975:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "916:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "928:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "913:2:1"
},
"nodeType": "YulFunctionCall",
"src": "913:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "952:10:1"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "964:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "949:2:1"
},
"nodeType": "YulFunctionCall",
"src": "949:22:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "910:2:1"
},
"nodeType": "YulFunctionCall",
"src": "910:62:1"
},
"nodeType": "YulIf",
"src": "907:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1011:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "1015:10:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1004:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1004:22:1"
},
"nodeType": "YulExpressionStatement",
"src": "1004:22:1"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "780:6:1",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "788:4:1",
"type": ""
}
],
"src": "751:281:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1079:88:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1089:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "1099:18:1"
},
"nodeType": "YulFunctionCall",
"src": "1099:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1089:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1148:6:1"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "1156:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "1128:19:1"
},
"nodeType": "YulFunctionCall",
"src": "1128:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "1128:33:1"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "1063:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1072:6:1",
"type": ""
}
],
"src": "1038:129:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1255:229:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1360:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "1362:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1362:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1362:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1332:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1340:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1329:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1329:30:1"
},
"nodeType": "YulIf",
"src": "1326:56:1"
},
{
"nodeType": "YulAssignment",
"src": "1392:25:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1404:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1412:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "1400:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1400:17:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "1392:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1454:23:1",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "1466:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1472:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1462:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1462:15:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "1454:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_array$_t_bytes32_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1239:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "1250:4:1",
"type": ""
}
],
"src": "1173:311:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1579:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1596:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1599:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1589:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1589:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1589:12:1"
}
]
},
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulFunctionDefinition",
"src": "1490:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1658:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1668:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1679:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1668:7:1"
}
]
}
]
},
"name": "cleanup_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1640:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1650:7:1",
"type": ""
}
],
"src": "1613:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1739:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1796:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1805:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1808:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1798:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1798:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1798:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1762:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1787:5:1"
}
],
"functionName": {
"name": "cleanup_t_bytes32",
"nodeType": "YulIdentifier",
"src": "1769:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1769:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1759:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1759:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1752:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1752:43:1"
},
"nodeType": "YulIf",
"src": "1749:63:1"
}
]
},
"name": "validator_revert_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1732:5:1",
"type": ""
}
],
"src": "1696:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1887:80:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1897:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1912:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1906:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1906:13:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1897:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1955:5:1"
}
],
"functionName": {
"name": "validator_revert_t_bytes32",
"nodeType": "YulIdentifier",
"src": "1928:26:1"
},
"nodeType": "YulFunctionCall",
"src": "1928:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "1928:33:1"
}
]
},
"name": "abi_decode_t_bytes32_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1865:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1873:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1881:5:1",
"type": ""
}
],
"src": "1824:143:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2103:619:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2113:90:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2195:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_array$_t_bytes32_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2138:56:1"
},
"nodeType": "YulFunctionCall",
"src": "2138:64:1"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "2122:15:1"
},
"nodeType": "YulFunctionCall",
"src": "2122:81:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "2113:5:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2212:16:1",
"value": {
"name": "array",
"nodeType": "YulIdentifier",
"src": "2223:5:1"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "2216:3:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "2245:5:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2252:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2238:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2238:21:1"
},
"nodeType": "YulExpressionStatement",
"src": "2238:21:1"
},
{
"nodeType": "YulAssignment",
"src": "2268:23:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "2279:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2286:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2275:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2275:16:1"
},
"variableNames": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2268:3:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2301:44:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2319:6:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2331:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2339:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "2327:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2327:17:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2315:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2315:30:1"
},
"variables": [
{
"name": "srcEnd",
"nodeType": "YulTypedName",
"src": "2305:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2373:103:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulIdentifier",
"src": "2387:77:1"
},
"nodeType": "YulFunctionCall",
"src": "2387:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "2387:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "srcEnd",
"nodeType": "YulIdentifier",
"src": "2360:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2368:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2357:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2357:15:1"
},
"nodeType": "YulIf",
"src": "2354:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2561:155:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2576:21:1",
"value": {
"name": "src",
"nodeType": "YulIdentifier",
"src": "2594:3:1"
},
"variables": [
{
"name": "elementPos",
"nodeType": "YulTypedName",
"src": "2580:10:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2618:3:1"
},
{
"arguments": [
{
"name": "elementPos",
"nodeType": "YulIdentifier",
"src": "2655:10:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2667:3:1"
}
],
"functionName": {
"name": "abi_decode_t_bytes32_fromMemory",
"nodeType": "YulIdentifier",
"src": "2623:31:1"
},
"nodeType": "YulFunctionCall",
"src": "2623:48:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2611:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2611:61:1"
},
"nodeType": "YulExpressionStatement",
"src": "2611:61:1"
},
{
"nodeType": "YulAssignment",
"src": "2685:21:1",
"value": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2696:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2701:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2692:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2692:14:1"
},
"variableNames": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2685:3:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "2514:3:1"
},
{
"name": "srcEnd",
"nodeType": "YulIdentifier",
"src": "2519:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2511:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2511:15:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "2527:25:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2529:21:1",
"value": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "2540:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2545:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2536:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2536:14:1"
},
"variableNames": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "2529:3:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "2489:21:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2491:17:1",
"value": {
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2502:6:1"
},
"variables": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "2495:3:1",
"type": ""
}
]
}
]
},
"src": "2485:231:1"
}
]
},
"name": "abi_decode_available_length_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2073:6:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2081:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2089:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "2097:5:1",
"type": ""
}
],
"src": "1990:732:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2833:297:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2882:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "2884:77:1"
},
"nodeType": "YulFunctionCall",
"src": "2884:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "2884:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2861:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2869:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2857:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2857:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2876:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "2853:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2853:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2846:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2846:35:1"
},
"nodeType": "YulIf",
"src": "2843:122:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "2974:27:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2994:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2988:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2988:13:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2978:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3010:114:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3097:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3105:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3093:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3093:17:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3112:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3120:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory",
"nodeType": "YulIdentifier",
"src": "3019:73:1"
},
"nodeType": "YulFunctionCall",
"src": "3019:105:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "3010:5:1"
}
]
}
]
},
"name": "abi_decode_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2811:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2819:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "2827:5:1",
"type": ""
}
],
"src": "2745:385:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3238:452:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3284:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "3286:77:1"
},
"nodeType": "YulFunctionCall",
"src": "3286:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "3286:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3259:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3268:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3255:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3255:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3280:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "3251:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3251:32:1"
},
"nodeType": "YulIf",
"src": "3248:119:1"
},
{
"nodeType": "YulBlock",
"src": "3377:306:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3392:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3416:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3427:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3412:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3412:17:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "3406:5:1"
},
"nodeType": "YulFunctionCall",
"src": "3406:24:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3396:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3477:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "3479:77:1"
},
"nodeType": "YulFunctionCall",
"src": "3479:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "3479:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3449:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3457:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "3446:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3446:30:1"
},
"nodeType": "YulIf",
"src": "3443:117:1"
},
{
"nodeType": "YulAssignment",
"src": "3574:99:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3645:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3656:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3641:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3641:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3665:7:1"
}
],
"functionName": {
"name": "abi_decode_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory",
"nodeType": "YulIdentifier",
"src": "3584:56:1"
},
"nodeType": "YulFunctionCall",
"src": "3584:89:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3574:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3208:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "3219:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3231:6:1",
"type": ""
}
],
"src": "3136:554:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3724:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3741:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3744:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3734:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3734:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "3734:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3838:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3841:4:1",
"type": "",
"value": "0x32"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3831:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3831:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3831:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3862:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3865:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3855:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3855:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3855:15:1"
}
]
},
"name": "panic_error_0x32",
"nodeType": "YulFunctionDefinition",
"src": "3696:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3910:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3927:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3930:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3920:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3920:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "3920:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4024:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4027:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4017:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4017:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "4017:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4048:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4051:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4041:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4041:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "4041:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "3882:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4113:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4123:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "4134:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "4123:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4095:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "4105:7:1",
"type": ""
}
],
"src": "4068:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4194:190:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4204:33:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4231:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4213:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4213:24:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4204:5:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4327:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "4329:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4329:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4329:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4252:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4259:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "4249:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4249:77:1"
},
"nodeType": "YulIf",
"src": "4246:103:1"
},
{
"nodeType": "YulAssignment",
"src": "4358:20:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4369:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4376:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4365:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4365:13:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "4358:3:1"
}
]
}
]
},
"name": "increment_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4180:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "4190:3:1",
"type": ""
}
],
"src": "4151:233:1"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_array$_t_bytes32_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes32(value)\n }\n\n // bytes32[]\n function abi_decode_available_length_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_bytes32_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_bytes32_fromMemory(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // bytes32[]\n function abi_decode_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "60806040523480156200001157600080fd5b506040516200146038038062001460833981810160405281019062000037919062000342565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555060005b81518110156200017657600260405180604001604052808484815181106200010f576200010e62000393565b5b60200260200101518152602001600081525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010155505080806200016d90620003fb565b915050620000e2565b505062000448565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620001e28262000197565b810181811067ffffffffffffffff82111715620002045762000203620001a8565b5b80604052505050565b6000620002196200017e565b9050620002278282620001d7565b919050565b600067ffffffffffffffff8211156200024a5762000249620001a8565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b620002758162000260565b81146200028157600080fd5b50565b60008151905062000295816200026a565b92915050565b6000620002b2620002ac846200022c565b6200020d565b90508083825260208201905060208402830185811115620002d857620002d76200025b565b5b835b81811015620003055780620002f0888262000284565b845260208401935050602081019050620002da565b5050509392505050565b600082601f83011262000327576200032662000192565b5b8151620003398482602086016200029b565b91505092915050565b6000602082840312156200035b576200035a62000188565b5b600082015167ffffffffffffffff8111156200037c576200037b6200018d565b5b6200038a848285016200030f565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b60006200040882620003f1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036200043d576200043c620003c2565b5b600182019050919050565b61100880620004586000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063609ff1bd1161005b578063609ff1bd146101145780639e7b8d6114610132578063a3ec138d1461014e578063e2ba53f01461018157610088565b80630121b93f1461008d578063013cf08b146100a95780632e4176cf146100da5780635c19a95c146100f8575b600080fd5b6100a760048036038101906100a291906109e2565b61019f565b005b6100c360048036038101906100be91906109e2565b6102e5565b6040516100d1929190610a37565b60405180910390f35b6100e2610319565b6040516100ef9190610aa1565b60405180910390f35b610112600480360381019061010d9190610ae8565b61033d565b005b61011c6106d7565b6040516101299190610b15565b60405180910390f35b61014c60048036038101906101479190610ae8565b61075f565b005b61016860048036038101906101639190610ae8565b610916565b6040516101789493929190610b4b565b60405180910390f35b610189610973565b6040516101969190610b90565b60405180910390f35b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816000015403610229576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161022090610c08565b60405180910390fd5b8060010160009054906101000a900460ff161561027b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027290610c74565b60405180910390fd5b60018160010160006101000a81548160ff0219169083151502179055508181600201819055508060000154600283815481106102ba576102b9610c94565b5b906000526020600020906002020160010160008282546102da9190610cf2565b925050819055505050565b600281815481106102f557600080fd5b90600052602060002090600202016000915090508060000154908060010154905082565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a900460ff16156103d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c990610d94565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610440576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043790610e00565b60405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105af57600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691503373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036105aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a190610e6c565b60405180910390fd5b610441565b60018160010160006101000a81548160ff021916908315150217905550818160010160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a900460ff16156106b2578160000154600282600201548154811061068657610685610c94565b5b906000526020600020906002020160010160008282546106a69190610cf2565b925050819055506106d2565b81600001548160000160008282546106ca9190610cf2565b925050819055505b505050565b6000806000905060005b60028054905081101561075a57816002828154811061070357610702610c94565b5b9060005260206000209060020201600101541115610747576002818154811061072f5761072e610c94565b5b90600052602060002090600202016001015491508092505b808061075290610e8c565b9150506106e1565b505090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e490610f46565b60405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff161561087d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087490610fb2565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154146108cc57600080fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16908060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905084565b6000600261097f6106d7565b815481106109905761098f610c94565b5b906000526020600020906002020160000154905090565b600080fd5b6000819050919050565b6109bf816109ac565b81146109ca57600080fd5b50565b6000813590506109dc816109b6565b92915050565b6000602082840312156109f8576109f76109a7565b5b6000610a06848285016109cd565b91505092915050565b6000819050919050565b610a2281610a0f565b82525050565b610a31816109ac565b82525050565b6000604082019050610a4c6000830185610a19565b610a596020830184610a28565b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610a8b82610a60565b9050919050565b610a9b81610a80565b82525050565b6000602082019050610ab66000830184610a92565b92915050565b610ac581610a80565b8114610ad057600080fd5b50565b600081359050610ae281610abc565b92915050565b600060208284031215610afe57610afd6109a7565b5b6000610b0c84828501610ad3565b91505092915050565b6000602082019050610b2a6000830184610a28565b92915050565b60008115159050919050565b610b4581610b30565b82525050565b6000608082019050610b606000830187610a28565b610b6d6020830186610b3c565b610b7a6040830185610a92565b610b876060830184610a28565b95945050505050565b6000602082019050610ba56000830184610a19565b92915050565b600082825260208201905092915050565b7f486173206e6f20726967687420746f20766f7465000000000000000000000000600082015250565b6000610bf2601483610bab565b9150610bfd82610bbc565b602082019050919050565b60006020820190508181036000830152610c2181610be5565b9050919050565b7f416c726561647920766f7465642e000000000000000000000000000000000000600082015250565b6000610c5e600e83610bab565b9150610c6982610c28565b602082019050919050565b60006020820190508181036000830152610c8d81610c51565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610cfd826109ac565b9150610d08836109ac565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610d3d57610d3c610cc3565b5b828201905092915050565b7f596f7520616c726561647920766f7465642e0000000000000000000000000000600082015250565b6000610d7e601283610bab565b9150610d8982610d48565b602082019050919050565b60006020820190508181036000830152610dad81610d71565b9050919050565b7f53656c662d64656c65676174696f6e20697320646973616c6c6f7765642e0000600082015250565b6000610dea601e83610bab565b9150610df582610db4565b602082019050919050565b60006020820190508181036000830152610e1981610ddd565b9050919050565b7f466f756e64206c6f6f7020696e2064656c65676174696f6e2e00000000000000600082015250565b6000610e56601983610bab565b9150610e6182610e20565b602082019050919050565b60006020820190508181036000830152610e8581610e49565b9050919050565b6000610e97826109ac565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610ec957610ec8610cc3565b5b600182019050919050565b7f4f6e6c79206368616972706572736f6e2063616e20676976652072696768742060008201527f746f20766f74652e000000000000000000000000000000000000000000000000602082015250565b6000610f30602883610bab565b9150610f3b82610ed4565b604082019050919050565b60006020820190508181036000830152610f5f81610f23565b9050919050565b7f54686520766f74657220616c726561647920766f7465642e0000000000000000600082015250565b6000610f9c601883610bab565b9150610fa782610f66565b602082019050919050565b60006020820190508181036000830152610fcb81610f8f565b905091905056fea264697066735822122039eb1aed10c802704f8313eef4e42180fe1339e78ec932c9c2c30125f013e80064736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1460 CODESIZE SUB DUP1 PUSH3 0x1460 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x342 JUMP JUMPDEST CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x1 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD DUP2 SWAP1 SSTORE POP PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH3 0x176 JUMPI PUSH1 0x2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH3 0x10F JUMPI PUSH3 0x10E PUSH3 0x393 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 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 SSTORE POP POP DUP1 DUP1 PUSH3 0x16D SWAP1 PUSH3 0x3FB JUMP JUMPDEST SWAP2 POP POP PUSH3 0xE2 JUMP JUMPDEST POP POP PUSH3 0x448 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP 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 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x1E2 DUP3 PUSH3 0x197 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x204 JUMPI PUSH3 0x203 PUSH3 0x1A8 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x219 PUSH3 0x17E JUMP JUMPDEST SWAP1 POP PUSH3 0x227 DUP3 DUP3 PUSH3 0x1D7 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x24A JUMPI PUSH3 0x249 PUSH3 0x1A8 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x275 DUP2 PUSH3 0x260 JUMP JUMPDEST DUP2 EQ PUSH3 0x281 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x295 DUP2 PUSH3 0x26A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2B2 PUSH3 0x2AC DUP5 PUSH3 0x22C JUMP JUMPDEST PUSH3 0x20D JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH3 0x2D8 JUMPI PUSH3 0x2D7 PUSH3 0x25B JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x305 JUMPI DUP1 PUSH3 0x2F0 DUP9 DUP3 PUSH3 0x284 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x2DA JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x327 JUMPI PUSH3 0x326 PUSH3 0x192 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x339 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x29B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0x35B JUMPI PUSH3 0x35A PUSH3 0x188 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x37C JUMPI PUSH3 0x37B PUSH3 0x18D JUMP JUMPDEST JUMPDEST PUSH3 0x38A DUP5 DUP3 DUP6 ADD PUSH3 0x30F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x408 DUP3 PUSH3 0x3F1 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH3 0x43D JUMPI PUSH3 0x43C PUSH3 0x3C2 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1008 DUP1 PUSH3 0x458 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 0x88 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x609FF1BD GT PUSH2 0x5B JUMPI DUP1 PUSH4 0x609FF1BD EQ PUSH2 0x114 JUMPI DUP1 PUSH4 0x9E7B8D61 EQ PUSH2 0x132 JUMPI DUP1 PUSH4 0xA3EC138D EQ PUSH2 0x14E JUMPI DUP1 PUSH4 0xE2BA53F0 EQ PUSH2 0x181 JUMPI PUSH2 0x88 JUMP JUMPDEST DUP1 PUSH4 0x121B93F EQ PUSH2 0x8D JUMPI DUP1 PUSH4 0x13CF08B EQ PUSH2 0xA9 JUMPI DUP1 PUSH4 0x2E4176CF EQ PUSH2 0xDA JUMPI DUP1 PUSH4 0x5C19A95C EQ PUSH2 0xF8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA2 SWAP2 SWAP1 PUSH2 0x9E2 JUMP JUMPDEST PUSH2 0x19F JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xBE SWAP2 SWAP1 PUSH2 0x9E2 JUMP JUMPDEST PUSH2 0x2E5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD1 SWAP3 SWAP2 SWAP1 PUSH2 0xA37 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE2 PUSH2 0x319 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xEF SWAP2 SWAP1 PUSH2 0xAA1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x112 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x10D SWAP2 SWAP1 PUSH2 0xAE8 JUMP JUMPDEST PUSH2 0x33D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x11C PUSH2 0x6D7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x129 SWAP2 SWAP1 PUSH2 0xB15 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x14C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x147 SWAP2 SWAP1 PUSH2 0xAE8 JUMP JUMPDEST PUSH2 0x75F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x168 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x163 SWAP2 SWAP1 PUSH2 0xAE8 JUMP JUMPDEST PUSH2 0x916 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x178 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xB4B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x189 PUSH2 0x973 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x196 SWAP2 SWAP1 PUSH2 0xB90 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x0 ADD SLOAD SUB PUSH2 0x229 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x220 SWAP1 PUSH2 0xC08 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x27B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x272 SWAP1 PUSH2 0xC74 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP2 DUP2 PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x0 ADD SLOAD PUSH1 0x2 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x2BA JUMPI PUSH2 0x2B9 PUSH2 0xC94 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x2DA SWAP2 SWAP1 PUSH2 0xCF2 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x2F5 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 SLOAD SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x3D2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3C9 SWAP1 PUSH2 0xD94 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x440 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x437 SWAP1 PUSH2 0xE00 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x5AF JUMPI PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP2 POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x5AA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5A1 SWAP1 PUSH2 0xE6C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x441 JUMP JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP2 DUP2 PUSH1 0x1 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x6B2 JUMPI DUP2 PUSH1 0x0 ADD SLOAD PUSH1 0x2 DUP3 PUSH1 0x2 ADD SLOAD DUP2 SLOAD DUP2 LT PUSH2 0x686 JUMPI PUSH2 0x685 PUSH2 0xC94 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x6A6 SWAP2 SWAP1 PUSH2 0xCF2 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0x6D2 JUMP JUMPDEST DUP2 PUSH1 0x0 ADD SLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x6CA SWAP2 SWAP1 PUSH2 0xCF2 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 POP PUSH1 0x0 JUMPDEST PUSH1 0x2 DUP1 SLOAD SWAP1 POP DUP2 LT ISZERO PUSH2 0x75A JUMPI DUP2 PUSH1 0x2 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x703 JUMPI PUSH2 0x702 PUSH2 0xC94 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD SLOAD GT ISZERO PUSH2 0x747 JUMPI PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x72F JUMPI PUSH2 0x72E PUSH2 0xC94 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD SLOAD SWAP2 POP DUP1 SWAP3 POP JUMPDEST DUP1 DUP1 PUSH2 0x752 SWAP1 PUSH2 0xE8C JUMP JUMPDEST SWAP2 POP POP PUSH2 0x6E1 JUMP JUMPDEST POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x7ED JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7E4 SWAP1 PUSH2 0xF46 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x87D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x874 SWAP1 PUSH2 0xFB2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD SLOAD EQ PUSH2 0x8CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH2 0x97F PUSH2 0x6D7 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x990 JUMPI PUSH2 0x98F PUSH2 0xC94 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9BF DUP2 PUSH2 0x9AC JUMP JUMPDEST DUP2 EQ PUSH2 0x9CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x9DC DUP2 PUSH2 0x9B6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x9F8 JUMPI PUSH2 0x9F7 PUSH2 0x9A7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xA06 DUP5 DUP3 DUP6 ADD PUSH2 0x9CD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA22 DUP2 PUSH2 0xA0F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xA31 DUP2 PUSH2 0x9AC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xA4C PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xA19 JUMP JUMPDEST PUSH2 0xA59 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xA28 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA8B DUP3 PUSH2 0xA60 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA9B DUP2 PUSH2 0xA80 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xAB6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xA92 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xAC5 DUP2 PUSH2 0xA80 JUMP JUMPDEST DUP2 EQ PUSH2 0xAD0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xAE2 DUP2 PUSH2 0xABC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xAFE JUMPI PUSH2 0xAFD PUSH2 0x9A7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xB0C DUP5 DUP3 DUP6 ADD PUSH2 0xAD3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB2A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xA28 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB45 DUP2 PUSH2 0xB30 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0xB60 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0xA28 JUMP JUMPDEST PUSH2 0xB6D PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0xB3C JUMP JUMPDEST PUSH2 0xB7A PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0xA92 JUMP JUMPDEST PUSH2 0xB87 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0xA28 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBA5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xA19 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x486173206E6F20726967687420746F20766F7465000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBF2 PUSH1 0x14 DUP4 PUSH2 0xBAB JUMP JUMPDEST SWAP2 POP PUSH2 0xBFD DUP3 PUSH2 0xBBC JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xC21 DUP2 PUSH2 0xBE5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x416C726561647920766F7465642E000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC5E PUSH1 0xE DUP4 PUSH2 0xBAB JUMP JUMPDEST SWAP2 POP PUSH2 0xC69 DUP3 PUSH2 0xC28 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xC8D DUP2 PUSH2 0xC51 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xCFD DUP3 PUSH2 0x9AC JUMP JUMPDEST SWAP2 POP PUSH2 0xD08 DUP4 PUSH2 0x9AC JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0xD3D JUMPI PUSH2 0xD3C PUSH2 0xCC3 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x596F7520616C726561647920766F7465642E0000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD7E PUSH1 0x12 DUP4 PUSH2 0xBAB JUMP JUMPDEST SWAP2 POP PUSH2 0xD89 DUP3 PUSH2 0xD48 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xDAD DUP2 PUSH2 0xD71 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x53656C662D64656C65676174696F6E20697320646973616C6C6F7765642E0000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDEA PUSH1 0x1E DUP4 PUSH2 0xBAB JUMP JUMPDEST SWAP2 POP PUSH2 0xDF5 DUP3 PUSH2 0xDB4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE19 DUP2 PUSH2 0xDDD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x466F756E64206C6F6F7020696E2064656C65676174696F6E2E00000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE56 PUSH1 0x19 DUP4 PUSH2 0xBAB JUMP JUMPDEST SWAP2 POP PUSH2 0xE61 DUP3 PUSH2 0xE20 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE85 DUP2 PUSH2 0xE49 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE97 DUP3 PUSH2 0x9AC JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0xEC9 JUMPI PUSH2 0xEC8 PUSH2 0xCC3 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4F6E6C79206368616972706572736F6E2063616E206769766520726967687420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x746F20766F74652E000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF30 PUSH1 0x28 DUP4 PUSH2 0xBAB JUMP JUMPDEST SWAP2 POP PUSH2 0xF3B DUP3 PUSH2 0xED4 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xF5F DUP2 PUSH2 0xF23 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x54686520766F74657220616C726561647920766F7465642E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF9C PUSH1 0x18 DUP4 PUSH2 0xBAB JUMP JUMPDEST SWAP2 POP PUSH2 0xFA7 DUP3 PUSH2 0xF66 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xFCB DUP2 PUSH2 0xF8F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CODECOPY 0xEB BYTE 0xED LT 0xC8 MUL PUSH17 0x4F8313EEF4E42180FE1339E78EC932C9C2 0xC3 ADD 0x25 CREATE SGT 0xE8 STOP PUSH5 0x736F6C6343 STOP ADDMOD 0xD STOP CALLER ",
"sourceMap": "157:4362:0:-:0;;;958:481;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1026:10;1012:11;;:24;;;;;;;;;;;;;;;;;;1075:1;1046:6;:19;1053:11;;;;;;;;;;;1046:19;;;;;;;;;;;;;;;:26;;:30;;;;1092:6;1087:346;1108:13;:20;1104:1;:24;1087:346;;;1312:9;1327:94;;;;;;;;1360:13;1374:1;1360:16;;;;;;;;:::i;:::-;;;;;;;;1327:94;;;;1405:1;1327:94;;;1312:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1130:3;;;;;:::i;:::-;;;;1087:346;;;;958:481;157:4362;;7:75:1;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:77;1650:7;1679:5;1668:16;;1613:77;;;:::o;1696:122::-;1769:24;1787:5;1769:24;:::i;:::-;1762:5;1759:35;1749:63;;1808:1;1805;1798:12;1749:63;1696:122;:::o;1824:143::-;1881:5;1912:6;1906:13;1897:22;;1928:33;1955:5;1928:33;:::i;:::-;1824:143;;;;:::o;1990:732::-;2097:5;2122:81;2138:64;2195:6;2138:64;:::i;:::-;2122:81;:::i;:::-;2113:90;;2223:5;2252:6;2245:5;2238:21;2286:4;2279:5;2275:16;2268:23;;2339:4;2331:6;2327:17;2319:6;2315:30;2368:3;2360:6;2357:15;2354:122;;;2387:79;;:::i;:::-;2354:122;2502:6;2485:231;2519:6;2514:3;2511:15;2485:231;;;2594:3;2623:48;2667:3;2655:10;2623:48;:::i;:::-;2618:3;2611:61;2701:4;2696:3;2692:14;2685:21;;2561:155;2545:4;2540:3;2536:14;2529:21;;2485:231;;;2489:21;2103:619;;1990:732;;;;;:::o;2745:385::-;2827:5;2876:3;2869:4;2861:6;2857:17;2853:27;2843:122;;2884:79;;:::i;:::-;2843:122;2994:6;2988:13;3019:105;3120:3;3112:6;3105:4;3097:6;3093:17;3019:105;:::i;:::-;3010:114;;2833:297;2745:385;;;;:::o;3136:554::-;3231:6;3280:2;3268:9;3259:7;3255:23;3251:32;3248:119;;;3286:79;;:::i;:::-;3248:119;3427:1;3416:9;3412:17;3406:24;3457:18;3449:6;3446:30;3443:117;;;3479:79;;:::i;:::-;3443:117;3584:89;3665:7;3656:6;3645:9;3641:22;3584:89;:::i;:::-;3574:99;;3377:306;3136:554;;;;:::o;3696:180::-;3744:77;3741:1;3734:88;3841:4;3838:1;3831:15;3865:4;3862:1;3855:15;3882:180;3930:77;3927:1;3920:88;4027:4;4024:1;4017:15;4051:4;4048:1;4041:15;4068:77;4105:7;4134:5;4123:16;;4068:77;;;:::o;4151:233::-;4190:3;4213:24;4231:5;4213:24;:::i;:::-;4204:33;;4259:66;4252:5;4249:77;4246:103;;4329:18;;:::i;:::-;4246:103;4376:1;4369:5;4365:13;4358:20;;4151:233;;;:::o;157:4362:0:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@chairperson_18": {
"entryPoint": 793,
"id": 18,
"parameterSlots": 0,
"returnSlots": 0
},
"@delegate_207": {
"entryPoint": 829,
"id": 207,
"parameterSlots": 1,
"returnSlots": 0
},
"@giveRightToVote_111": {
"entryPoint": 1887,
"id": 111,
"parameterSlots": 1,
"returnSlots": 0
},
"@proposals_27": {
"entryPoint": 741,
"id": 27,
"parameterSlots": 0,
"returnSlots": 0
},
"@vote_257": {
"entryPoint": 415,
"id": 257,
"parameterSlots": 1,
"returnSlots": 0
},
"@voters_23": {
"entryPoint": 2326,
"id": 23,
"parameterSlots": 0,
"returnSlots": 0
},
"@winnerName_315": {
"entryPoint": 2419,
"id": 315,
"parameterSlots": 0,
"returnSlots": 1
},
"@winningProposal_300": {
"entryPoint": 1751,
"id": 300,
"parameterSlots": 0,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 2771,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 2509,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 2792,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 2530,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 2706,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 2876,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bytes32_to_t_bytes32_fromStack": {
"entryPoint": 2585,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_stringliteral_0dc527e8fa9b76c996eb5eda9ddb749b21540f5509781b94e1e37f7027e7f50e_to_t_string_memory_ptr_fromStack": {
"entryPoint": 3045,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_56aab92b7164a4ea72a098d2d95a5e763b71d07f265e8d46fc7240404017fa84_to_t_string_memory_ptr_fromStack": {
"entryPoint": 3153,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_657c6119c4ed567c60278fba62242b17c2fedf38962e651040dabfb3c9e15a5f_to_t_string_memory_ptr_fromStack": {
"entryPoint": 3441,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_80126ce3251ab2b6e4ade14fe5b2bc11f593510cbe9e3550c09bff1989e33b95_to_t_string_memory_ptr_fromStack": {
"entryPoint": 3875,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_8bd75322489f7ff7ab0b18506f4dcde935a32eca2a506b00f4d21b0becfa093c_to_t_string_memory_ptr_fromStack": {
"entryPoint": 3657,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_d39b1db28626750c546703ffb72f30ea3facdfed1bebd47408e22ef18a76ba2d_to_t_string_memory_ptr_fromStack": {
"entryPoint": 3983,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_f37bf1aca80f8fa291a40f639db6aeaa1425ceb0e8c61c8648f0e2efa282a947_to_t_string_memory_ptr_fromStack": {
"entryPoint": 3549,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 2600,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 2721,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": {
"entryPoint": 2960,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed": {
"entryPoint": 2615,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_0dc527e8fa9b76c996eb5eda9ddb749b21540f5509781b94e1e37f7027e7f50e__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 3080,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_56aab92b7164a4ea72a098d2d95a5e763b71d07f265e8d46fc7240404017fa84__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 3188,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_657c6119c4ed567c60278fba62242b17c2fedf38962e651040dabfb3c9e15a5f__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 3476,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_80126ce3251ab2b6e4ade14fe5b2bc11f593510cbe9e3550c09bff1989e33b95__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 3910,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_8bd75322489f7ff7ab0b18506f4dcde935a32eca2a506b00f4d21b0becfa093c__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 3692,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_d39b1db28626750c546703ffb72f30ea3facdfed1bebd47408e22ef18a76ba2d__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 4018,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_f37bf1aca80f8fa291a40f639db6aeaa1425ceb0e8c61c8648f0e2efa282a947__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 3584,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 2837,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256_t_bool_t_address_t_uint256__to_t_uint256_t_bool_t_address_t_uint256__fromStack_reversed": {
"entryPoint": 2891,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 2987,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 3314,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 2688,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 2864,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bytes32": {
"entryPoint": 2575,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 2656,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 2476,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"increment_t_uint256": {
"entryPoint": 3724,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 3267,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x32": {
"entryPoint": 3220,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 2471,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"store_literal_in_memory_0dc527e8fa9b76c996eb5eda9ddb749b21540f5509781b94e1e37f7027e7f50e": {
"entryPoint": 3004,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_56aab92b7164a4ea72a098d2d95a5e763b71d07f265e8d46fc7240404017fa84": {
"entryPoint": 3112,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_657c6119c4ed567c60278fba62242b17c2fedf38962e651040dabfb3c9e15a5f": {
"entryPoint": 3400,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_80126ce3251ab2b6e4ade14fe5b2bc11f593510cbe9e3550c09bff1989e33b95": {
"entryPoint": 3796,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_8bd75322489f7ff7ab0b18506f4dcde935a32eca2a506b00f4d21b0becfa093c": {
"entryPoint": 3616,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_d39b1db28626750c546703ffb72f30ea3facdfed1bebd47408e22ef18a76ba2d": {
"entryPoint": 3942,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_f37bf1aca80f8fa291a40f639db6aeaa1425ceb0e8c61c8648f0e2efa282a947": {
"entryPoint": 3508,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 2748,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 2486,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:12075:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "400:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "460:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "517:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "526:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "529:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "519:6:1"
},
"nodeType": "YulFunctionCall",
"src": "519:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "519:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "483:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "508:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "490:17:1"
},
"nodeType": "YulFunctionCall",
"src": "490:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "480:2:1"
},
"nodeType": "YulFunctionCall",
"src": "480:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "473:6:1"
},
"nodeType": "YulFunctionCall",
"src": "473:43:1"
},
"nodeType": "YulIf",
"src": "470:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "453:5:1",
"type": ""
}
],
"src": "417:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "597:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "607:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "629:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "616:12:1"
},
"nodeType": "YulFunctionCall",
"src": "616:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "607:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "672:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "645:26:1"
},
"nodeType": "YulFunctionCall",
"src": "645:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "645:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "575:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "583:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "591:5:1",
"type": ""
}
],
"src": "545:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "756:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "802:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "804:77:1"
},
"nodeType": "YulFunctionCall",
"src": "804:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "804:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "777:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "786:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "773:3:1"
},
"nodeType": "YulFunctionCall",
"src": "773:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "798:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "769:3:1"
},
"nodeType": "YulFunctionCall",
"src": "769:32:1"
},
"nodeType": "YulIf",
"src": "766:119:1"
},
{
"nodeType": "YulBlock",
"src": "895:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "910:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "924:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "914:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "939:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "974:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "985:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "970:3:1"
},
"nodeType": "YulFunctionCall",
"src": "970:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "994:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "949:20:1"
},
"nodeType": "YulFunctionCall",
"src": "949:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "939:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "726:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "737:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "749:6:1",
"type": ""
}
],
"src": "690:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1070:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1080:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1091:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1080:7:1"
}
]
}
]
},
"name": "cleanup_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1052:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1062:7:1",
"type": ""
}
],
"src": "1025:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1173:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1190:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1213:5:1"
}
],
"functionName": {
"name": "cleanup_t_bytes32",
"nodeType": "YulIdentifier",
"src": "1195:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1195:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1183:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1183:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1183:37:1"
}
]
},
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1161:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1168:3:1",
"type": ""
}
],
"src": "1108:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1297:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1314:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1337:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1319:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1319:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1307:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1307:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1307:37:1"
View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

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