Skip to content

Instantly share code, notes, and snippets.

@tebayoso
Created October 30, 2023 13:42
Show Gist options
  • Save tebayoso/a144a5ca0200a858c3edf367b213374a to your computer and use it in GitHub Desktop.
Save tebayoso/a144a5ca0200a858c3edf367b213374a to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.18+commit.87f61d96.js&optimize=false&runs=200&gist=
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.4.22 <0.9.0;
library TestsAccounts {
function getAccount(uint index) pure public returns (address) {
return address(0);
}
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.4.22 <0.9.0;
library Assert {
event AssertionEvent(
bool passed,
string message,
string methodName
);
event AssertionEventUint(
bool passed,
string message,
string methodName,
uint256 returned,
uint256 expected
);
event AssertionEventInt(
bool passed,
string message,
string methodName,
int256 returned,
int256 expected
);
event AssertionEventBool(
bool passed,
string message,
string methodName,
bool returned,
bool expected
);
event AssertionEventAddress(
bool passed,
string message,
string methodName,
address returned,
address expected
);
event AssertionEventBytes32(
bool passed,
string message,
string methodName,
bytes32 returned,
bytes32 expected
);
event AssertionEventString(
bool passed,
string message,
string methodName,
string returned,
string expected
);
event AssertionEventUintInt(
bool passed,
string message,
string methodName,
uint256 returned,
int256 expected
);
event AssertionEventIntUint(
bool passed,
string message,
string methodName,
int256 returned,
uint256 expected
);
function ok(bool a, string memory message) public returns (bool result) {
result = a;
emit AssertionEvent(result, message, "ok");
}
function equal(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventUint(result, message, "equal", a, b);
}
function equal(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventInt(result, message, "equal", a, b);
}
function equal(bool a, bool b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventBool(result, message, "equal", a, b);
}
// TODO: only for certain versions of solc
//function equal(fixed a, fixed b, string message) public returns (bool result) {
// result = (a == b);
// emit AssertionEvent(result, message);
//}
// TODO: only for certain versions of solc
//function equal(ufixed a, ufixed b, string message) public returns (bool result) {
// result = (a == b);
// emit AssertionEvent(result, message);
//}
function equal(address a, address b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventAddress(result, message, "equal", a, b);
}
function equal(bytes32 a, bytes32 b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventBytes32(result, message, "equal", a, b);
}
function equal(string memory a, string memory b, string memory message) public returns (bool result) {
result = (keccak256(abi.encodePacked(a)) == keccak256(abi.encodePacked(b)));
emit AssertionEventString(result, message, "equal", a, b);
}
function notEqual(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventUint(result, message, "notEqual", a, b);
}
function notEqual(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventInt(result, message, "notEqual", a, b);
}
function notEqual(bool a, bool b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventBool(result, message, "notEqual", a, b);
}
// TODO: only for certain versions of solc
//function notEqual(fixed a, fixed b, string message) public returns (bool result) {
// result = (a != b);
// emit AssertionEvent(result, message);
//}
// TODO: only for certain versions of solc
//function notEqual(ufixed a, ufixed b, string message) public returns (bool result) {
// result = (a != b);
// emit AssertionEvent(result, message);
//}
function notEqual(address a, address b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventAddress(result, message, "notEqual", a, b);
}
function notEqual(bytes32 a, bytes32 b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventBytes32(result, message, "notEqual", a, b);
}
function notEqual(string memory a, string memory b, string memory message) public returns (bool result) {
result = (keccak256(abi.encodePacked(a)) != keccak256(abi.encodePacked(b)));
emit AssertionEventString(result, message, "notEqual", a, b);
}
/*----------------- Greater than --------------------*/
function greaterThan(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a > b);
emit AssertionEventUint(result, message, "greaterThan", a, b);
}
function greaterThan(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a > b);
emit AssertionEventInt(result, message, "greaterThan", a, b);
}
// TODO: safely compare between uint and int
function greaterThan(uint256 a, int256 b, string memory message) public returns (bool result) {
if(b < int(0)) {
// int is negative uint "a" always greater
result = true;
} else {
result = (a > uint(b));
}
emit AssertionEventUintInt(result, message, "greaterThan", a, b);
}
function greaterThan(int256 a, uint256 b, string memory message) public returns (bool result) {
if(a < int(0)) {
// int is negative uint "b" always greater
result = false;
} else {
result = (uint(a) > b);
}
emit AssertionEventIntUint(result, message, "greaterThan", a, b);
}
/*----------------- Lesser than --------------------*/
function lesserThan(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a < b);
emit AssertionEventUint(result, message, "lesserThan", a, b);
}
function lesserThan(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a < b);
emit AssertionEventInt(result, message, "lesserThan", a, b);
}
// TODO: safely compare between uint and int
function lesserThan(uint256 a, int256 b, string memory message) public returns (bool result) {
if(b < int(0)) {
// int is negative int "b" always lesser
result = false;
} else {
result = (a < uint(b));
}
emit AssertionEventUintInt(result, message, "lesserThan", a, b);
}
function lesserThan(int256 a, uint256 b, string memory message) public returns (bool result) {
if(a < int(0)) {
// int is negative int "a" always lesser
result = true;
} else {
result = (uint(a) < b);
}
emit AssertionEventIntUint(result, message, "lesserThan", a, b);
}
}
{
"overrides": [
{
"files": "*.sol",
"options": {
"printWidth": 80,
"tabWidth": 4,
"useTabs": false,
"singleQuote": false,
"bracketSpacing": false
}
},
{
"files": "*.yml",
"options": {}
},
{
"files": "*.yaml",
"options": {}
},
{
"files": "*.toml",
"options": {}
},
{
"files": "*.json",
"options": {}
},
{
"files": "*.js",
"options": {}
},
{
"files": "*.ts",
"options": {}
}
]
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_18": {
"entryPoint": null,
"id": 18,
"parameterSlots": 0,
"returnSlots": 0
},
"array_dataslot_t_string_storage": {
"entryPoint": 318,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 160,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 639,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_uint256": {
"entryPoint": 454,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 600,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 474,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": {
"entryPoint": 794,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 339,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 265,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 764,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"identity": {
"entryPoint": 464,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 732,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 218,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 171,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 514,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_left_dynamic": {
"entryPoint": 355,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 719,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 572,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 368,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 524,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 567,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:5231:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "66:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "77:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "93:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "87:5:1"
},
"nodeType": "YulFunctionCall",
"src": "87:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "77:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "49:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "59:6:1",
"type": ""
}
],
"src": "7:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "140:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "157:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "160:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "150:6:1"
},
"nodeType": "YulFunctionCall",
"src": "150:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "150:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "254:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "257:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "247:6:1"
},
"nodeType": "YulFunctionCall",
"src": "247:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "247:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "278:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "281:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "271:6:1"
},
"nodeType": "YulFunctionCall",
"src": "271:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "271:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "112:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "326:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "343:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "346:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "336:6:1"
},
"nodeType": "YulFunctionCall",
"src": "336:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "336:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "440:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "443:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "433:6:1"
},
"nodeType": "YulFunctionCall",
"src": "433:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "433:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "464:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "467:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "457:6:1"
},
"nodeType": "YulFunctionCall",
"src": "457:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "457:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "298:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "535:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "545:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "559:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "565:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "555:3:1"
},
"nodeType": "YulFunctionCall",
"src": "555:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "545:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "576:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "606:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "612:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "602:3:1"
},
"nodeType": "YulFunctionCall",
"src": "602:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "580:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "653:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "667:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "681:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "689:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "677:3:1"
},
"nodeType": "YulFunctionCall",
"src": "677:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "667:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "633:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "626:6:1"
},
"nodeType": "YulFunctionCall",
"src": "626:26:1"
},
"nodeType": "YulIf",
"src": "623:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "756:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "770:16:1"
},
"nodeType": "YulFunctionCall",
"src": "770:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "770:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "720:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "743:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "751:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "740:2:1"
},
"nodeType": "YulFunctionCall",
"src": "740:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "717:2:1"
},
"nodeType": "YulFunctionCall",
"src": "717:38:1"
},
"nodeType": "YulIf",
"src": "714:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "519:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "528:6:1",
"type": ""
}
],
"src": "484:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "864:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "874:11:1",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "882:3:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "874:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "902:1:1",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "905:3:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "895:6:1"
},
"nodeType": "YulFunctionCall",
"src": "895:14:1"
},
"nodeType": "YulExpressionStatement",
"src": "895:14:1"
},
{
"nodeType": "YulAssignment",
"src": "918:26:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "936:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "939:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nodeType": "YulIdentifier",
"src": "926:9:1"
},
"nodeType": "YulFunctionCall",
"src": "926:18:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "918:4:1"
}
]
}
]
},
"name": "array_dataslot_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "851:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "859:4:1",
"type": ""
}
],
"src": "810:141:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1001:49:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1011:33:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1029:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1036:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1025:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1025:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1041:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "1021:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1021:23:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1011:6:1"
}
]
}
]
},
"name": "divide_by_32_ceil",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "984:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "994:6:1",
"type": ""
}
],
"src": "957:93:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1109:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1119:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "1144:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1150:5:1"
}
],
"functionName": {
"name": "shl",
"nodeType": "YulIdentifier",
"src": "1140:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1140:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "1119:8:1"
}
]
}
]
},
"name": "shift_left_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "1084:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1090:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "1100:8:1",
"type": ""
}
],
"src": "1056:107:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1245:317:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1255:35:1",
"value": {
"arguments": [
{
"name": "shiftBytes",
"nodeType": "YulIdentifier",
"src": "1276:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1288:1:1",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "1272:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1272:18:1"
},
"variables": [
{
"name": "shiftBits",
"nodeType": "YulTypedName",
"src": "1259:9:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "1299:109:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "1330:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1341:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "1311:18:1"
},
"nodeType": "YulFunctionCall",
"src": "1311:97:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "1303:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1417:51:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "1448:9:1"
},
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "1459:8:1"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "1429:18:1"
},
"nodeType": "YulFunctionCall",
"src": "1429:39:1"
},
"variableNames": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "1417:8:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1477:30:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1490:5:1"
},
{
"arguments": [
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "1501:4:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "1497:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1497:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1486:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1486:21:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1477:5:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1516:40:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1529:5:1"
},
{
"arguments": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "1540:8:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "1550:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1536:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1536:19:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "1526:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1526:30:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1516:6:1"
}
]
}
]
},
"name": "update_byte_slice_dynamic32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1206:5:1",
"type": ""
},
{
"name": "shiftBytes",
"nodeType": "YulTypedName",
"src": "1213:10:1",
"type": ""
},
{
"name": "toInsert",
"nodeType": "YulTypedName",
"src": "1225:8:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "1238:6:1",
"type": ""
}
],
"src": "1169:393:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1613:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1623:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1634:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1623:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1595:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1605:7:1",
"type": ""
}
],
"src": "1568:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1683:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1693:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1700:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1693:3:1"
}
]
}
]
},
"name": "identity",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1669:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1679:3:1",
"type": ""
}
],
"src": "1651:60:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1777:82:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1787:66:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1845:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1827:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1827:24:1"
}
],
"functionName": {
"name": "identity",
"nodeType": "YulIdentifier",
"src": "1818:8:1"
},
"nodeType": "YulFunctionCall",
"src": "1818:34:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1800:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1800:53:1"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "1787:9:1"
}
]
}
]
},
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1757:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "1767:9:1",
"type": ""
}
],
"src": "1717:142:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1912:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1922:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1929:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1922:3:1"
}
]
}
]
},
"name": "prepare_store_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1898:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1908:3:1",
"type": ""
}
],
"src": "1865:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2022:193:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2032:63:1",
"value": {
"arguments": [
{
"name": "value_0",
"nodeType": "YulIdentifier",
"src": "2087:7:1"
}
],
"functionName": {
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "2056:30:1"
},
"nodeType": "YulFunctionCall",
"src": "2056:39:1"
},
"variables": [
{
"name": "convertedValue_0",
"nodeType": "YulTypedName",
"src": "2036:16:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "2111:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "2151:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "2145:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2145:11:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2158:6:1"
},
{
"arguments": [
{
"name": "convertedValue_0",
"nodeType": "YulIdentifier",
"src": "2190:16:1"
}
],
"functionName": {
"name": "prepare_store_t_uint256",
"nodeType": "YulIdentifier",
"src": "2166:23:1"
},
"nodeType": "YulFunctionCall",
"src": "2166:41:1"
}
],
"functionName": {
"name": "update_byte_slice_dynamic32",
"nodeType": "YulIdentifier",
"src": "2117:27:1"
},
"nodeType": "YulFunctionCall",
"src": "2117:91:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "2104:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2104:105:1"
},
"nodeType": "YulExpressionStatement",
"src": "2104:105:1"
}
]
},
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "1999:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2005:6:1",
"type": ""
},
{
"name": "value_0",
"nodeType": "YulTypedName",
"src": "2013:7:1",
"type": ""
}
],
"src": "1946:269:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2270:24:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2280:8:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2287:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "2280:3:1"
}
]
}
]
},
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "2266:3:1",
"type": ""
}
],
"src": "2221:73:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2353:136:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2363:46:1",
"value": {
"arguments": [],
"functionName": {
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulIdentifier",
"src": "2377:30:1"
},
"nodeType": "YulFunctionCall",
"src": "2377:32:1"
},
"variables": [
{
"name": "zero_0",
"nodeType": "YulTypedName",
"src": "2367:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "2462:4:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2468:6:1"
},
{
"name": "zero_0",
"nodeType": "YulIdentifier",
"src": "2476:6:1"
}
],
"functionName": {
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "2418:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2418:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "2418:65:1"
}
]
},
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "2339:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2345:6:1",
"type": ""
}
],
"src": "2300:189:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2545:136:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2612:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2656:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2663:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulIdentifier",
"src": "2626:29:1"
},
"nodeType": "YulFunctionCall",
"src": "2626:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "2626:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2565:5:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2572:3:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2562:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2562:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "2577:26:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2579:22:1",
"value": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2592:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2599:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2588:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2588:13:1"
},
"variableNames": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2579:5:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "2559:2:1",
"statements": []
},
"src": "2555:120:1"
}
]
},
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "start",
"nodeType": "YulTypedName",
"src": "2533:5:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2540:3:1",
"type": ""
}
],
"src": "2495:186:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2766:464:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2792:431:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2806:54:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "2854:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "2822:31:1"
},
"nodeType": "YulFunctionCall",
"src": "2822:38:1"
},
"variables": [
{
"name": "dataArea",
"nodeType": "YulTypedName",
"src": "2810:8:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2873:63:1",
"value": {
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "2896:8:1"
},
{
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "2924:10:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "2906:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2906:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2892:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2892:44:1"
},
"variables": [
{
"name": "deleteStart",
"nodeType": "YulTypedName",
"src": "2877:11:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3093:27:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3095:23:1",
"value": {
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "3110:8:1"
},
"variableNames": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "3095:11:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "3077:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3089:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "3074:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3074:18:1"
},
"nodeType": "YulIf",
"src": "3071:49:1"
},
{
"expression": {
"arguments": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "3162:11:1"
},
{
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "3179:8:1"
},
{
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "3207:3:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "3189:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3189:22:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3175:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3175:37:1"
}
],
"functionName": {
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulIdentifier",
"src": "3133:28:1"
},
"nodeType": "YulFunctionCall",
"src": "3133:80:1"
},
"nodeType": "YulExpressionStatement",
"src": "3133:80:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "2783:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2788:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2780:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2780:11:1"
},
"nodeType": "YulIf",
"src": "2777:446:1"
}
]
},
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "2742:5:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "2749:3:1",
"type": ""
},
{
"name": "startIndex",
"nodeType": "YulTypedName",
"src": "2754:10:1",
"type": ""
}
],
"src": "2687:543:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3299:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3309:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "3334:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3340:5:1"
}
],
"functionName": {
"name": "shr",
"nodeType": "YulIdentifier",
"src": "3330:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3330:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "3309:8:1"
}
]
}
]
},
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "3274:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3280:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "3290:8:1",
"type": ""
}
],
"src": "3236:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3410:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3420:68:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3469:1:1",
"type": "",
"value": "8"
},
{
"name": "bytes",
"nodeType": "YulIdentifier",
"src": "3472:5:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "3465:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3465:13:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3484:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "3480:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3480:6:1"
}
],
"functionName": {
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulIdentifier",
"src": "3436:28:1"
},
"nodeType": "YulFunctionCall",
"src": "3436:51:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "3432:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3432:56:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "3424:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3497:25:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3511:4:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "3517:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3507:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3507:15:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "3497:6:1"
}
]
}
]
},
"name": "mask_bytes_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "3387:4:1",
"type": ""
},
{
"name": "bytes",
"nodeType": "YulTypedName",
"src": "3393:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "3403:6:1",
"type": ""
}
],
"src": "3359:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3614:214:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3747:37:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3774:4:1"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "3780:3:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "3755:18:1"
},
"nodeType": "YulFunctionCall",
"src": "3755:29:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3747:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3793:29:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3804:4:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3814:1:1",
"type": "",
"value": "2"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "3817:3:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "3810:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3810:11:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "3801:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3801:21:1"
},
"variableNames": [
{
"name": "used",
"nodeType": "YulIdentifier",
"src": "3793:4:1"
}
]
}
]
},
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "3595:4:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "3601:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "used",
"nodeType": "YulTypedName",
"src": "3609:4:1",
"type": ""
}
],
"src": "3533:295:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3925:1303:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3936:51:1",
"value": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "3983:3:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "3950:32:1"
},
"nodeType": "YulFunctionCall",
"src": "3950:37:1"
},
"variables": [
{
"name": "newLen",
"nodeType": "YulTypedName",
"src": "3940:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4072:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "4074:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4074:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4074:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4044:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4052:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4041:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4041:30:1"
},
"nodeType": "YulIf",
"src": "4038:56:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "4104:52:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4150:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "4144:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4144:11:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nodeType": "YulIdentifier",
"src": "4118:25:1"
},
"nodeType": "YulFunctionCall",
"src": "4118:38:1"
},
"variables": [
{
"name": "oldLen",
"nodeType": "YulTypedName",
"src": "4108:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4249:4:1"
},
{
"name": "oldLen",
"nodeType": "YulIdentifier",
"src": "4255:6:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4263:6:1"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulIdentifier",
"src": "4203:45:1"
},
"nodeType": "YulFunctionCall",
"src": "4203:67:1"
},
"nodeType": "YulExpressionStatement",
"src": "4203:67:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "4280:18:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4297:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nodeType": "YulTypedName",
"src": "4284:9:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4308:17:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4321:4:1",
"type": "",
"value": "0x20"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4308:9:1"
}
]
},
{
"cases": [
{
"body": {
"nodeType": "YulBlock",
"src": "4372:611:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4386:37:1",
"value": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4405:6:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4417:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "4413:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4413:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4401:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4401:22:1"
},
"variables": [
{
"name": "loopEnd",
"nodeType": "YulTypedName",
"src": "4390:7:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "4437:51:1",
"value": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4483:4:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "4451:31:1"
},
"nodeType": "YulFunctionCall",
"src": "4451:37:1"
},
"variables": [
{
"name": "dstPtr",
"nodeType": "YulTypedName",
"src": "4441:6:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "4501:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4510:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "4505:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4569:163:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4594:6:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "4612:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4617:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4608:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4608:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4602:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4602:26:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "4587:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4587:42:1"
},
"nodeType": "YulExpressionStatement",
"src": "4587:42:1"
},
{
"nodeType": "YulAssignment",
"src": "4646:24:1",
"value": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4660:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4668:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4656:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4656:14:1"
},
"variableNames": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4646:6:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4687:31:1",
"value": {
"arguments": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4704:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4715:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4700:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4700:18:1"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4687:9:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4535:1:1"
},
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "4538:7:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4532:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4532:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "4547:21:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4549:17:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4558:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4561:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4554:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4554:12:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4549:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "4528:3:1",
"statements": []
},
"src": "4524:208:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4768:156:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4786:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "4813:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4818:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4809:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4809:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4803:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4803:26:1"
},
"variables": [
{
"name": "lastValue",
"nodeType": "YulTypedName",
"src": "4790:9:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4853:6:1"
},
{
"arguments": [
{
"name": "lastValue",
"nodeType": "YulIdentifier",
"src": "4880:9:1"
},
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4895:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4903:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4891:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4891:17:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "4861:18:1"
},
"nodeType": "YulFunctionCall",
"src": "4861:48:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "4846:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4846:64:1"
},
"nodeType": "YulExpressionStatement",
"src": "4846:64:1"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "4751:7:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4760:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4748:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4748:19:1"
},
"nodeType": "YulIf",
"src": "4745:179:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4944:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4958:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4966:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "4954:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4954:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4970:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4950:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4950:22:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "4937:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4937:36:1"
},
"nodeType": "YulExpressionStatement",
"src": "4937:36:1"
}
]
},
"nodeType": "YulCase",
"src": "4365:618:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4370:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nodeType": "YulBlock",
"src": "5000:222:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5014:14:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "5027:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5018:5:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5051:67:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5069:35:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "5088:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "5093:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5084:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5084:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5078:5:1"
},
"nodeType": "YulFunctionCall",
"src": "5078:26:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5069:5:1"
}
]
}
]
},
"condition": {
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "5044:6:1"
},
"nodeType": "YulIf",
"src": "5041:77:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "5138:4:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5197:5:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "5204:6:1"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulIdentifier",
"src": "5144:52:1"
},
"nodeType": "YulFunctionCall",
"src": "5144:67:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "5131:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5131:81:1"
},
"nodeType": "YulExpressionStatement",
"src": "5131:81:1"
}
]
},
"nodeType": "YulCase",
"src": "4992:230:1",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4345:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4353:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4342:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4342:14:1"
},
"nodeType": "YulSwitch",
"src": "4335:887:1"
}
]
},
"name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "3914:4:1",
"type": ""
},
{
"name": "src",
"nodeType": "YulTypedName",
"src": "3920:3:1",
"type": ""
}
],
"src": "3833:1395:1"
}
]
},
"contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "60806040523480156200001157600080fd5b506040518060400160405280600b81526020017f48656c6c6f20576f726c64000000000000000000000000000000000000000000815250600090816200005891906200031a565b5033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000401565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200012257607f821691505b602082108103620001385762000137620000da565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620001a27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000163565b620001ae868362000163565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620001fb620001f5620001ef84620001c6565b620001d0565b620001c6565b9050919050565b6000819050919050565b6200021783620001da565b6200022f620002268262000202565b84845462000170565b825550505050565b600090565b6200024662000237565b620002538184846200020c565b505050565b5b818110156200027b576200026f6000826200023c565b60018101905062000259565b5050565b601f821115620002ca5762000294816200013e565b6200029f8462000153565b81016020851015620002af578190505b620002c7620002be8562000153565b83018262000258565b50505b505050565b600082821c905092915050565b6000620002ef60001984600802620002cf565b1980831691505092915050565b60006200030a8383620002dc565b9150826002028217905092915050565b6200032582620000a0565b67ffffffffffffffff811115620003415762000340620000ab565b5b6200034d825462000109565b6200035a8282856200027f565b600060209050601f8311600181146200039257600084156200037d578287015190505b620003898582620002fc565b865550620003f9565b601f198416620003a2866200013e565b60005b82811015620003cc57848901518255600182019150602085019450602081019050620003a5565b86831015620003ec5784890151620003e8601f891682620002dc565b8355505b6001600288020188555050505b505050505050565b6108dc80620004116000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80635d3a1f9d146100515780638da5cb5b1461006d578063c605f76c1461008b578063f2fde38b146100a9575b600080fd5b61006b60048036038101906100669190610366565b6100c5565b005b61007561016b565b60405161008291906103f4565b60405180910390f35b610093610191565b6040516100a0919061049f565b60405180910390f35b6100c360048036038101906100be91906104ed565b610223565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610155576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014c90610566565b60405180910390fd5b8181600091826101669291906107d6565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600080546101a0906105ef565b80601f01602080910402602001604051908101604052809291908181526020018280546101cc906105ef565b80156102195780601f106101ee57610100808354040283529160200191610219565b820191906000526020600020905b8154815290600101906020018083116101fc57829003601f168201915b5050505050905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102aa90610566565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f84011261032657610325610301565b5b8235905067ffffffffffffffff81111561034357610342610306565b5b60208301915083600182028301111561035f5761035e61030b565b5b9250929050565b6000806020838503121561037d5761037c6102f7565b5b600083013567ffffffffffffffff81111561039b5761039a6102fc565b5b6103a785828601610310565b92509250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103de826103b3565b9050919050565b6103ee816103d3565b82525050565b600060208201905061040960008301846103e5565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561044957808201518184015260208101905061042e565b60008484015250505050565b6000601f19601f8301169050919050565b60006104718261040f565b61047b818561041a565b935061048b81856020860161042b565b61049481610455565b840191505092915050565b600060208201905081810360008301526104b98184610466565b905092915050565b6104ca816103d3565b81146104d557600080fd5b50565b6000813590506104e7816104c1565b92915050565b600060208284031215610503576105026102f7565b5b6000610511848285016104d8565b91505092915050565b7f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000600082015250565b600061055060178361041a565b915061055b8261051a565b602082019050919050565b6000602082019050818103600083015261057f81610543565b9050919050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061060757607f821691505b60208210810361061a576106196105c0565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026106827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610645565b61068c8683610645565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006106d36106ce6106c9846106a4565b6106ae565b6106a4565b9050919050565b6000819050919050565b6106ed836106b8565b6107016106f9826106da565b848454610652565b825550505050565b600090565b610716610709565b6107218184846106e4565b505050565b5b818110156107455761073a60008261070e565b600181019050610727565b5050565b601f82111561078a5761075b81610620565b61076484610635565b81016020851015610773578190505b61078761077f85610635565b830182610726565b50505b505050565b600082821c905092915050565b60006107ad6000198460080261078f565b1980831691505092915050565b60006107c6838361079c565b9150826002028217905092915050565b6107e08383610586565b67ffffffffffffffff8111156107f9576107f8610591565b5b61080382546105ef565b61080e828285610749565b6000601f83116001811461083d576000841561082b578287013590505b61083585826107ba565b86555061089d565b601f19841661084b86610620565b60005b828110156108735784890135825560018201915060208501945060208101905061084e565b86831015610890578489013561088c601f89168261079c565b8355505b6001600288020188555050505b5050505050505056fea264697066735822122017505db29d005a0ca7290a01a22e0cf9abe8543ef818189ad2148cbb95966fc064736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xB DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x48656C6C6F20576F726C64000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x0 SWAP1 DUP2 PUSH3 0x58 SWAP2 SWAP1 PUSH3 0x31A JUMP JUMPDEST POP CALLER PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x401 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x122 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x138 JUMPI PUSH3 0x137 PUSH3 0xDA JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x1A2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x163 JUMP JUMPDEST PUSH3 0x1AE DUP7 DUP4 PUSH3 0x163 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x1FB PUSH3 0x1F5 PUSH3 0x1EF DUP5 PUSH3 0x1C6 JUMP JUMPDEST PUSH3 0x1D0 JUMP JUMPDEST PUSH3 0x1C6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x217 DUP4 PUSH3 0x1DA JUMP JUMPDEST PUSH3 0x22F PUSH3 0x226 DUP3 PUSH3 0x202 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x170 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x246 PUSH3 0x237 JUMP JUMPDEST PUSH3 0x253 DUP2 DUP5 DUP5 PUSH3 0x20C JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x27B JUMPI PUSH3 0x26F PUSH1 0x0 DUP3 PUSH3 0x23C JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x259 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x2CA JUMPI PUSH3 0x294 DUP2 PUSH3 0x13E JUMP JUMPDEST PUSH3 0x29F DUP5 PUSH3 0x153 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x2AF JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x2C7 PUSH3 0x2BE DUP6 PUSH3 0x153 JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x258 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2EF PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x2CF JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x30A DUP4 DUP4 PUSH3 0x2DC JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x325 DUP3 PUSH3 0xA0 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x341 JUMPI PUSH3 0x340 PUSH3 0xAB JUMP JUMPDEST JUMPDEST PUSH3 0x34D DUP3 SLOAD PUSH3 0x109 JUMP JUMPDEST PUSH3 0x35A DUP3 DUP3 DUP6 PUSH3 0x27F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x392 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x37D JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x389 DUP6 DUP3 PUSH3 0x2FC JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x3F9 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x3A2 DUP7 PUSH3 0x13E JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x3CC JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x3A5 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x3EC JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x3E8 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x2DC JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x8DC DUP1 PUSH3 0x411 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 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5D3A1F9D EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x6D JUMPI DUP1 PUSH4 0xC605F76C EQ PUSH2 0x8B JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xA9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x366 JUMP JUMPDEST PUSH2 0xC5 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x75 PUSH2 0x16B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x82 SWAP2 SWAP1 PUSH2 0x3F4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x93 PUSH2 0x191 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA0 SWAP2 SWAP1 PUSH2 0x49F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xBE SWAP2 SWAP1 PUSH2 0x4ED JUMP JUMPDEST PUSH2 0x223 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x155 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x14C SWAP1 PUSH2 0x566 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 PUSH1 0x0 SWAP2 DUP3 PUSH2 0x166 SWAP3 SWAP2 SWAP1 PUSH2 0x7D6 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x1A0 SWAP1 PUSH2 0x5EF JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1CC SWAP1 PUSH2 0x5EF JUMP JUMPDEST DUP1 ISZERO PUSH2 0x219 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1EE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x219 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 0x1FC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x2B3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2AA SWAP1 PUSH2 0x566 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x326 JUMPI PUSH2 0x325 PUSH2 0x301 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x343 JUMPI PUSH2 0x342 PUSH2 0x306 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x35F JUMPI PUSH2 0x35E PUSH2 0x30B JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x37D JUMPI PUSH2 0x37C PUSH2 0x2F7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x39B JUMPI PUSH2 0x39A PUSH2 0x2FC JUMP JUMPDEST JUMPDEST PUSH2 0x3A7 DUP6 DUP3 DUP7 ADD PUSH2 0x310 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DE DUP3 PUSH2 0x3B3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3EE DUP2 PUSH2 0x3D3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x409 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3E5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x449 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x42E JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x471 DUP3 PUSH2 0x40F JUMP JUMPDEST PUSH2 0x47B DUP2 DUP6 PUSH2 0x41A JUMP JUMPDEST SWAP4 POP PUSH2 0x48B DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x42B JUMP JUMPDEST PUSH2 0x494 DUP2 PUSH2 0x455 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x4B9 DUP2 DUP5 PUSH2 0x466 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x4CA DUP2 PUSH2 0x3D3 JUMP JUMPDEST DUP2 EQ PUSH2 0x4D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4E7 DUP2 PUSH2 0x4C1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x503 JUMPI PUSH2 0x502 PUSH2 0x2F7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x511 DUP5 DUP3 DUP6 ADD PUSH2 0x4D8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x43616C6C6572206973206E6F7420746865206F776E6572000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x550 PUSH1 0x17 DUP4 PUSH2 0x41A JUMP JUMPDEST SWAP2 POP PUSH2 0x55B DUP3 PUSH2 0x51A 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 0x57F DUP2 PUSH2 0x543 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x607 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x61A JUMPI PUSH2 0x619 PUSH2 0x5C0 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0x682 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x645 JUMP JUMPDEST PUSH2 0x68C DUP7 DUP4 PUSH2 0x645 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6D3 PUSH2 0x6CE PUSH2 0x6C9 DUP5 PUSH2 0x6A4 JUMP JUMPDEST PUSH2 0x6AE JUMP JUMPDEST PUSH2 0x6A4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6ED DUP4 PUSH2 0x6B8 JUMP JUMPDEST PUSH2 0x701 PUSH2 0x6F9 DUP3 PUSH2 0x6DA JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x652 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x716 PUSH2 0x709 JUMP JUMPDEST PUSH2 0x721 DUP2 DUP5 DUP5 PUSH2 0x6E4 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x745 JUMPI PUSH2 0x73A PUSH1 0x0 DUP3 PUSH2 0x70E JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x727 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x78A JUMPI PUSH2 0x75B DUP2 PUSH2 0x620 JUMP JUMPDEST PUSH2 0x764 DUP5 PUSH2 0x635 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x773 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x787 PUSH2 0x77F DUP6 PUSH2 0x635 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x726 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7AD PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x78F JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7C6 DUP4 DUP4 PUSH2 0x79C JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x7E0 DUP4 DUP4 PUSH2 0x586 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x7F9 JUMPI PUSH2 0x7F8 PUSH2 0x591 JUMP JUMPDEST JUMPDEST PUSH2 0x803 DUP3 SLOAD PUSH2 0x5EF JUMP JUMPDEST PUSH2 0x80E DUP3 DUP3 DUP6 PUSH2 0x749 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x83D JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x82B JUMPI DUP3 DUP8 ADD CALLDATALOAD SWAP1 POP JUMPDEST PUSH2 0x835 DUP6 DUP3 PUSH2 0x7BA JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x89D JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x84B DUP7 PUSH2 0x620 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x873 JUMPI DUP5 DUP10 ADD CALLDATALOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x84E JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x890 JUMPI DUP5 DUP10 ADD CALLDATALOAD PUSH2 0x88C PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x79C JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 OR POP 0x5D 0xB2 SWAP14 STOP GAS 0xC 0xA7 0x29 EXP ADD LOG2 0x2E 0xC 0xF9 0xAB 0xE8 SLOAD RETURNDATACOPY 0xF8 XOR XOR SWAP11 0xD2 EQ DUP13 0xBB SWAP6 SWAP7 PUSH16 0xC064736F6C6343000812003300000000 ",
"sourceMap": "69:565:0:-:0;;;149:79;;;;;;;;;;173:20;;;;;;;;;;;;;;;;;:4;:20;;;;;;:::i;:::-;;211:10;203:5;;:18;;;;;;;;;;;;;;;;;;69:565;;7:99:1;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:180::-;160:77;157:1;150:88;257:4;254:1;247:15;281:4;278:1;271:15;298:180;346:77;343:1;336:88;443:4;440:1;433:15;467:4;464:1;457:15;484:320;528:6;565:1;559:4;555:12;545:22;;612:1;606:4;602:12;633:18;623:81;;689:4;681:6;677:17;667:27;;623:81;751:2;743:6;740:14;720:18;717:38;714:84;;770:18;;:::i;:::-;714:84;535:269;484:320;;;:::o;810:141::-;859:4;882:3;874:11;;905:3;902:1;895:14;939:4;936:1;926:18;918:26;;810:141;;;:::o;957:93::-;994:6;1041:2;1036;1029:5;1025:14;1021:23;1011:33;;957:93;;;:::o;1056:107::-;1100:8;1150:5;1144:4;1140:16;1119:37;;1056:107;;;;:::o;1169:393::-;1238:6;1288:1;1276:10;1272:18;1311:97;1341:66;1330:9;1311:97;:::i;:::-;1429:39;1459:8;1448:9;1429:39;:::i;:::-;1417:51;;1501:4;1497:9;1490:5;1486:21;1477:30;;1550:4;1540:8;1536:19;1529:5;1526:30;1516:40;;1245:317;;1169:393;;;;;:::o;1568:77::-;1605:7;1634:5;1623:16;;1568:77;;;:::o;1651:60::-;1679:3;1700:5;1693:12;;1651:60;;;:::o;1717:142::-;1767:9;1800:53;1818:34;1827:24;1845:5;1827:24;:::i;:::-;1818:34;:::i;:::-;1800:53;:::i;:::-;1787:66;;1717:142;;;:::o;1865:75::-;1908:3;1929:5;1922:12;;1865:75;;;:::o;1946:269::-;2056:39;2087:7;2056:39;:::i;:::-;2117:91;2166:41;2190:16;2166:41;:::i;:::-;2158:6;2151:4;2145:11;2117:91;:::i;:::-;2111:4;2104:105;2022:193;1946:269;;;:::o;2221:73::-;2266:3;2221:73;:::o;2300:189::-;2377:32;;:::i;:::-;2418:65;2476:6;2468;2462:4;2418:65;:::i;:::-;2353:136;2300:189;;:::o;2495:186::-;2555:120;2572:3;2565:5;2562:14;2555:120;;;2626:39;2663:1;2656:5;2626:39;:::i;:::-;2599:1;2592:5;2588:13;2579:22;;2555:120;;;2495:186;;:::o;2687:543::-;2788:2;2783:3;2780:11;2777:446;;;2822:38;2854:5;2822:38;:::i;:::-;2906:29;2924:10;2906:29;:::i;:::-;2896:8;2892:44;3089:2;3077:10;3074:18;3071:49;;;3110:8;3095:23;;3071:49;3133:80;3189:22;3207:3;3189:22;:::i;:::-;3179:8;3175:37;3162:11;3133:80;:::i;:::-;2792:431;;2777:446;2687:543;;;:::o;3236:117::-;3290:8;3340:5;3334:4;3330:16;3309:37;;3236:117;;;;:::o;3359:169::-;3403:6;3436:51;3484:1;3480:6;3472:5;3469:1;3465:13;3436:51;:::i;:::-;3432:56;3517:4;3511;3507:15;3497:25;;3410:118;3359:169;;;;:::o;3533:295::-;3609:4;3755:29;3780:3;3774:4;3755:29;:::i;:::-;3747:37;;3817:3;3814:1;3810:11;3804:4;3801:21;3793:29;;3533:295;;;;:::o;3833:1395::-;3950:37;3983:3;3950:37;:::i;:::-;4052:18;4044:6;4041:30;4038:56;;;4074:18;;:::i;:::-;4038:56;4118:38;4150:4;4144:11;4118:38;:::i;:::-;4203:67;4263:6;4255;4249:4;4203:67;:::i;:::-;4297:1;4321:4;4308:17;;4353:2;4345:6;4342:14;4370:1;4365:618;;;;5027:1;5044:6;5041:77;;;5093:9;5088:3;5084:19;5078:26;5069:35;;5041:77;5144:67;5204:6;5197:5;5144:67;:::i;:::-;5138:4;5131:81;5000:222;4335:887;;4365:618;4417:4;4413:9;4405:6;4401:22;4451:37;4483:4;4451:37;:::i;:::-;4510:1;4524:208;4538:7;4535:1;4532:14;4524:208;;;4617:9;4612:3;4608:19;4602:26;4594:6;4587:42;4668:1;4660:6;4656:14;4646:24;;4715:2;4704:9;4700:18;4687:31;;4561:4;4558:1;4554:12;4549:17;;4524:208;;;4760:6;4751:7;4748:19;4745:179;;;4818:9;4813:3;4809:19;4803:26;4861:48;4903:4;4895:6;4891:17;4880:9;4861:48;:::i;:::-;4853:6;4846:64;4768:156;4745:179;4970:1;4966;4958:6;4954:14;4950:22;4944:4;4937:36;4372:611;;;4335:887;;3925:1303;;;3833:1395;;:::o;69:565:0:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@helloWorld_26": {
"entryPoint": 401,
"id": 26,
"parameterSlots": 0,
"returnSlots": 1
},
"@owner_5": {
"entryPoint": 363,
"id": 5,
"parameterSlots": 0,
"returnSlots": 0
},
"@setText_38": {
"entryPoint": 197,
"id": 38,
"parameterSlots": 2,
"returnSlots": 0
},
"@transferOwnership_50": {
"entryPoint": 547,
"id": 50,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_address": {
"entryPoint": 1240,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_string_calldata_ptr": {
"entryPoint": 784,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_address": {
"entryPoint": 1261,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_string_calldata_ptr": {
"entryPoint": 870,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 997,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1126,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_stringliteral_15ed5034391ed5ef65b8bb8dbcb08f9b6c4034ebcf89f76344a17e1651e92b33_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1347,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 1012,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1183,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_15ed5034391ed5ef65b8bb8dbcb08f9b6c4034ebcf89f76344a17e1651e92b33__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1382,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_dataslot_t_string_storage": {
"entryPoint": 1568,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_calldata_ptr": {
"entryPoint": 1414,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 1039,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 1050,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 1865,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_address": {
"entryPoint": 979,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 947,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 1700,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 1830,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 1720,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_string_calldata_ptr_to_t_string_storage": {
"entryPoint": 2006,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 1067,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 1589,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 1519,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 1978,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"identity": {
"entryPoint": 1710,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 1948,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 1472,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 1425,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 1754,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490": {
"entryPoint": 774,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 769,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": {
"entryPoint": 779,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 764,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 759,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 1109,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_left_dynamic": {
"entryPoint": 1605,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 1935,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 1806,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"store_literal_in_memory_15ed5034391ed5ef65b8bb8dbcb08f9b6c4034ebcf89f76344a17e1651e92b33": {
"entryPoint": 1306,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 1618,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 1764,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 1217,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 1801,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:10553: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": "546:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "563:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "566:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "556:6:1"
},
"nodeType": "YulFunctionCall",
"src": "556:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "556:12:1"
}
]
},
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
"nodeType": "YulFunctionDefinition",
"src": "457:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "669:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "686:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "689:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "679:6:1"
},
"nodeType": "YulFunctionCall",
"src": "679:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "679:12:1"
}
]
},
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulFunctionDefinition",
"src": "580:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "792:478:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "841:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "843:77:1"
},
"nodeType": "YulFunctionCall",
"src": "843:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "843:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "820:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "828:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "816:3:1"
},
"nodeType": "YulFunctionCall",
"src": "816:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "835:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "812:3:1"
},
"nodeType": "YulFunctionCall",
"src": "812:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "805:6:1"
},
"nodeType": "YulFunctionCall",
"src": "805:35:1"
},
"nodeType": "YulIf",
"src": "802:122:1"
},
{
"nodeType": "YulAssignment",
"src": "933:30:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "956:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "943:12:1"
},
"nodeType": "YulFunctionCall",
"src": "943:20:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "933:6:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1006:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
"nodeType": "YulIdentifier",
"src": "1008:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1008:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1008:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "978:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "986:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "975:2:1"
},
"nodeType": "YulFunctionCall",
"src": "975:30:1"
},
"nodeType": "YulIf",
"src": "972:117:1"
},
{
"nodeType": "YulAssignment",
"src": "1098:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1114:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1122:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1110:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1110:17:1"
},
"variableNames": [
{
"name": "arrayPos",
"nodeType": "YulIdentifier",
"src": "1098:8:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1181:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulIdentifier",
"src": "1183:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1183:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1183:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "arrayPos",
"nodeType": "YulIdentifier",
"src": "1146:8:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1160:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1168:4:1",
"type": "",
"value": "0x01"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "1156:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1156:17:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1142:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1142:32:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1176:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1139:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1139:41:1"
},
"nodeType": "YulIf",
"src": "1136:128:1"
}
]
},
"name": "abi_decode_t_string_calldata_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "759:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "767:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "arrayPos",
"nodeType": "YulTypedName",
"src": "775:8:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "785:6:1",
"type": ""
}
],
"src": "717:553:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1362:443:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1408:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1410:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1410:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1410:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1383:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1392:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1379:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1379:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1404:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1375:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1375:32:1"
},
"nodeType": "YulIf",
"src": "1372:119:1"
},
{
"nodeType": "YulBlock",
"src": "1501:297:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1516:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1547:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1558:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1543:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1543:17:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1530:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1530:31:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1520:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1608:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "1610:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1610:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1610:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1580:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1588:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1577:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1577:30:1"
},
"nodeType": "YulIf",
"src": "1574:117:1"
},
{
"nodeType": "YulAssignment",
"src": "1705:83:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1760:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1771:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1756:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1756:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1780:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_calldata_ptr",
"nodeType": "YulIdentifier",
"src": "1723:32:1"
},
"nodeType": "YulFunctionCall",
"src": "1723:65:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1705:6:1"
},
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1713:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_calldata_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1324:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1335:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1347:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1355:6:1",
"type": ""
}
],
"src": "1276:529:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1856:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1866:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1881:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1888:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1877:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1877:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1866:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1838:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1848:7:1",
"type": ""
}
],
"src": "1811:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1988:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1998:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2027:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "2009:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2009:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1998:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1970:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1980:7:1",
"type": ""
}
],
"src": "1943:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2110:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2127:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2150:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "2132:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2132:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2120:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2120:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "2120:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2098:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2105:3:1",
"type": ""
}
],
"src": "2045:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2267:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2277:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2289:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2300:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2285:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2285:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2277:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2357:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2370:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2381:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2366:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2366:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "2313:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2313:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2313:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2239:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2251:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2262:4:1",
"type": ""
}
],
"src": "2169:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2456:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2467:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2483:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2477:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2477:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2467:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2439:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2449:6:1",
"type": ""
}
],
"src": "2397:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2598:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2615:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2620:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2608:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2608:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "2608:19:1"
},
{
"nodeType": "YulAssignment",
"src": "2636:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2655:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2660:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2651:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2651:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "2636:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2570:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2575:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "2586:11:1",
"type": ""
}
],
"src": "2502:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2739:184:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2749:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2758:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "2753:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2818:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2843:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2848:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2839:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2839:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "2862:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2867:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2858:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2858:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2852:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2852:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2832:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2832:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "2832:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2779:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2782:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2776:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2776:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "2790:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2792:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2801:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2804:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2797:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2797:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2792:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "2772:3:1",
"statements": []
},
"src": "2768:113:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2901:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2906:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2897:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2897:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2915:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2890:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2890:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "2890:27:1"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "2721:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "2726:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2731:6:1",
"type": ""
}
],
"src": "2677:246:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2977:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2987:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3005:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3012:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3001:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3001:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3021:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "3017:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3017:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2997:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2997:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "2987:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2960:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "2970:6:1",
"type": ""
}
],
"src": "2929:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3129:285:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3139:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3186:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "3153:32:1"
},
"nodeType": "YulFunctionCall",
"src": "3153:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3143:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3201:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3267:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3272:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3208:58:1"
},
"nodeType": "YulFunctionCall",
"src": "3208:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3201:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3327:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3334:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3323:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3323:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3341:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3346:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulIdentifier",
"src": "3288:34:1"
},
"nodeType": "YulFunctionCall",
"src": "3288:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "3288:65:1"
},
{
"nodeType": "YulAssignment",
"src": "3362:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3373:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3400:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "3378:21:1"
},
"nodeType": "YulFunctionCall",
"src": "3378:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3369:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3369:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3362:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3110:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3117:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3125:3:1",
"type": ""
}
],
"src": "3037:377:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3538:195:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3548:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3560:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3571:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3556:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3556:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3548:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3595:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3606:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3591:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3591:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3614:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3620:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3610:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3610:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3584:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3584:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "3584:47:1"
},
{
"nodeType": "YulAssignment",
"src": "3640:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3712:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3721:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3648:63:1"
},
"nodeType": "YulFunctionCall",
"src": "3648:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3640:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3510:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3522:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3533:4:1",
"type": ""
}
],
"src": "3420:313:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3782:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3839:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3848:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3851:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3841:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3841:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3841:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3805:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3830:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "3812:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3812:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3802:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3802:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3795:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3795:43:1"
},
"nodeType": "YulIf",
"src": "3792:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3775:5:1",
"type": ""
}
],
"src": "3739:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3919:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3929:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3951:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "3938:12:1"
},
"nodeType": "YulFunctionCall",
"src": "3938:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3929:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3994:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "3967:26:1"
},
"nodeType": "YulFunctionCall",
"src": "3967:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "3967:33:1"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3897:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3905:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3913:5:1",
"type": ""
}
],
"src": "3867:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4078:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4124:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "4126:77:1"
},
"nodeType": "YulFunctionCall",
"src": "4126:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "4126:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4099:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4108:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4095:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4095:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4120:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "4091:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4091:32:1"
},
"nodeType": "YulIf",
"src": "4088:119:1"
},
{
"nodeType": "YulBlock",
"src": "4217:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4232:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4246:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4236:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4261:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4296:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4307:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4292:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4292:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4316:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "4271:20:1"
},
"nodeType": "YulFunctionCall",
"src": "4271:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4261:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4048:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "4059:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4071:6:1",
"type": ""
}
],
"src": "4012:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4453:67:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4475:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4483:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4471:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4471:14:1"
},
{
"hexValue": "43616c6c6572206973206e6f7420746865206f776e6572",
"kind": "string",
"nodeType": "YulLiteral",
"src": "4487:25:1",
"type": "",
"value": "Caller is not the owner"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4464:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4464:49:1"
},
"nodeType": "YulExpressionStatement",
"src": "4464:49:1"
}
]
},
"name": "store_literal_in_memory_15ed5034391ed5ef65b8bb8dbcb08f9b6c4034ebcf89f76344a17e1651e92b33",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4445:6:1",
"type": ""
}
],
"src": "4347:173:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4672:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4682:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4748:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4753:2:1",
"type": "",
"value": "23"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4689:58:1"
},
"nodeType": "YulFunctionCall",
"src": "4689:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4682:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4854:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_15ed5034391ed5ef65b8bb8dbcb08f9b6c4034ebcf89f76344a17e1651e92b33",
"nodeType": "YulIdentifier",
"src": "4765:88:1"
},
"nodeType": "YulFunctionCall",
"src": "4765:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "4765:93:1"
},
{
"nodeType": "YulAssignment",
"src": "4867:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4878:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4883:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4874:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4874:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4867:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_15ed5034391ed5ef65b8bb8dbcb08f9b6c4034ebcf89f76344a17e1651e92b33_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4660:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "4668:3:1",
"type": ""
}
],
"src": "4526:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5069:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5079:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5091:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5102:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5087:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5087:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5079:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5126:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5137:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5122:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5122:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5145:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5151:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "5141:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5141:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5115:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5115:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "5115:47:1"
},
{
"nodeType": "YulAssignment",
"src": "5171:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5305:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_15ed5034391ed5ef65b8bb8dbcb08f9b6c4034ebcf89f76344a17e1651e92b33_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "5179:124:1"
},
"nodeType": "YulFunctionCall",
"src": "5179:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5171:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_15ed5034391ed5ef65b8bb8dbcb08f9b6c4034ebcf89f76344a17e1651e92b33__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5049:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5064:4:1",
"type": ""
}
],
"src": "4898:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5389:31:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5400:13:1",
"value": {
"name": "len",
"nodeType": "YulIdentifier",
"src": "5410:3:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5400:6:1"
}
]
}
]
},
"name": "array_length_t_string_calldata_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5367:5:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "5374:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5382:6:1",
"type": ""
}
],
"src": "5323:97:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5454:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5471:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5474:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5464:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5464:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "5464:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5568:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5571:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5561:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5561:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5561:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5592:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5595:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5585:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5585:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5585:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "5426:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5640:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5657:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5660:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5650:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5650:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "5650:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5754:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5757:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5747:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5747:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5747:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5778:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5781:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5771:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5771:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5771:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "5612:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5849:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5859:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5873:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5879:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "5869:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5869:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5859:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "5890:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5920:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5926:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5916:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5916:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "5894:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5967:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5981:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5995:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6003:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5991:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5991:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5981:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "5947:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5940:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5940:26:1"
},
"nodeType": "YulIf",
"src": "5937:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6070:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "6084:16:1"
},
"nodeType": "YulFunctionCall",
"src": "6084:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "6084:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "6034:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6057:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6065:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "6054:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6054:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "6031:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6031:38:1"
},
"nodeType": "YulIf",
"src": "6028:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "5833:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5842:6:1",
"type": ""
}
],
"src": "5798:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6178:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6188:11:1",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "6196:3:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "6188:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6216:1:1",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "6219:3:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6209:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6209:14:1"
},
"nodeType": "YulExpressionStatement",
"src": "6209:14:1"
},
{
"nodeType": "YulAssignment",
"src": "6232:26:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6250:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6253:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nodeType": "YulIdentifier",
"src": "6240:9:1"
},
"nodeType": "YulFunctionCall",
"src": "6240:18:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "6232:4:1"
}
]
}
]
},
"name": "array_dataslot_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "6165:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "6173:4:1",
"type": ""
}
],
"src": "6124:141:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6315:49:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6325:33:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6343:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6350:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6339:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6339:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6355:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "6335:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6335:23:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "6325:6:1"
}
]
}
]
},
"name": "divide_by_32_ceil",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6298:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "6308:6:1",
"type": ""
}
],
"src": "6271:93:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6423:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6433:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "6458:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6464:5:1"
}
],
"functionName": {
"name": "shl",
"nodeType": "YulIdentifier",
"src": "6454:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6454:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "6433:8:1"
}
]
}
]
},
"name": "shift_left_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "6398:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6404:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "6414:8:1",
"type": ""
}
],
"src": "6370:107:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6559:317:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6569:35:1",
"value": {
"arguments": [
{
"name": "shiftBytes",
"nodeType": "YulIdentifier",
"src": "6590:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6602:1:1",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "6586:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6586:18:1"
},
"variables": [
{
"name": "shiftBits",
"nodeType": "YulTypedName",
"src": "6573:9:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "6613:109:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "6644:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6655:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "6625:18:1"
},
"nodeType": "YulFunctionCall",
"src": "6625:97:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "6617:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "6731:51:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "6762:9:1"
},
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "6773:8:1"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "6743:18:1"
},
"nodeType": "YulFunctionCall",
"src": "6743:39:1"
},
"variableNames": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "6731:8:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "6791:30:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6804:5:1"
},
{
"arguments": [
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "6815:4:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "6811:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6811:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6800:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6800:21:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6791:5:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "6830:40:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6843:5:1"
},
{
"arguments": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "6854:8:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "6864:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6850:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6850:19:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "6840:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6840:30:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "6830:6:1"
}
]
}
]
},
"name": "update_byte_slice_dynamic32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6520:5:1",
"type": ""
},
{
"name": "shiftBytes",
"nodeType": "YulTypedName",
"src": "6527:10:1",
"type": ""
},
{
"name": "toInsert",
"nodeType": "YulTypedName",
"src": "6539:8:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "6552:6:1",
"type": ""
}
],
"src": "6483:393:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6927:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6937:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "6948:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "6937:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6909:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "6919:7:1",
"type": ""
}
],
"src": "6882:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6997:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7007:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "7014:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "7007:3:1"
}
]
}
]
},
"name": "identity",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6983:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "6993:3:1",
"type": ""
}
],
"src": "6965:60:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7091:82:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7101:66:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7159:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "7141:17:1"
},
"nodeType": "YulFunctionCall",
"src": "7141:24:1"
}
],
"functionName": {
"name": "identity",
"nodeType": "YulIdentifier",
"src": "7132:8:1"
},
"nodeType": "YulFunctionCall",
"src": "7132:34:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "7114:17:1"
},
"nodeType": "YulFunctionCall",
"src": "7114:53:1"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "7101:9:1"
}
]
}
]
},
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7071:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "7081:9:1",
"type": ""
}
],
"src": "7031:142:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7226:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7236:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "7243:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "7236:3:1"
}
]
}
]
},
"name": "prepare_store_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7212:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "7222:3:1",
"type": ""
}
],
"src": "7179:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7336:193:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "7346:63:1",
"value": {
"arguments": [
{
"name": "value_0",
"nodeType": "YulIdentifier",
"src": "7401:7:1"
}
],
"functionName": {
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "7370:30:1"
},
"nodeType": "YulFunctionCall",
"src": "7370:39:1"
},
"variables": [
{
"name": "convertedValue_0",
"nodeType": "YulTypedName",
"src": "7350:16:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "7425:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "7465:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "7459:5:1"
},
"nodeType": "YulFunctionCall",
"src": "7459:11:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "7472:6:1"
},
{
"arguments": [
{
"name": "convertedValue_0",
"nodeType": "YulIdentifier",
"src": "7504:16:1"
}
],
"functionName": {
"name": "prepare_store_t_uint256",
"nodeType": "YulIdentifier",
"src": "7480:23:1"
},
"nodeType": "YulFunctionCall",
"src": "7480:41:1"
}
],
"functionName": {
"name": "update_byte_slice_dynamic32",
"nodeType": "YulIdentifier",
"src": "7431:27:1"
},
"nodeType": "YulFunctionCall",
"src": "7431:91:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "7418:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7418:105:1"
},
"nodeType": "YulExpressionStatement",
"src": "7418:105:1"
}
]
},
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "7313:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "7319:6:1",
"type": ""
},
{
"name": "value_0",
"nodeType": "YulTypedName",
"src": "7327:7:1",
"type": ""
}
],
"src": "7260:269:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7584:24:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7594:8:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "7601:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "7594:3:1"
}
]
}
]
},
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "7580:3:1",
"type": ""
}
],
"src": "7535:73:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7667:136:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "7677:46:1",
"value": {
"arguments": [],
"functionName": {
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulIdentifier",
"src": "7691:30:1"
},
"nodeType": "YulFunctionCall",
"src": "7691:32:1"
},
"variables": [
{
"name": "zero_0",
"nodeType": "YulTypedName",
"src": "7681:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "7776:4:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "7782:6:1"
},
{
"name": "zero_0",
"nodeType": "YulIdentifier",
"src": "7790:6:1"
}
],
"functionName": {
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "7732:43:1"
},
"nodeType": "YulFunctionCall",
"src": "7732:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "7732:65:1"
}
]
},
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "7653:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "7659:6:1",
"type": ""
}
],
"src": "7614:189:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7859:136:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "7926:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "7970:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7977:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulIdentifier",
"src": "7940:29:1"
},
"nodeType": "YulFunctionCall",
"src": "7940:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "7940:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "7879:5:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "7886:3:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "7876:2:1"
},
"nodeType": "YulFunctionCall",
"src": "7876:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "7891:26:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7893:22:1",
"value": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "7906:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7913:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7902:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7902:13:1"
},
"variableNames": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "7893:5:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "7873:2:1",
"statements": []
},
"src": "7869:120:1"
}
]
},
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "start",
"nodeType": "YulTypedName",
"src": "7847:5:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "7854:3:1",
"type": ""
}
],
"src": "7809:186:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8080:464:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "8106:431:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "8120:54:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "8168:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "8136:31:1"
},
"nodeType": "YulFunctionCall",
"src": "8136:38:1"
},
"variables": [
{
"name": "dataArea",
"nodeType": "YulTypedName",
"src": "8124:8:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "8187:63:1",
"value": {
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "8210:8:1"
},
{
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "8238:10:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "8220:17:1"
},
"nodeType": "YulFunctionCall",
"src": "8220:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8206:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8206:44:1"
},
"variables": [
{
"name": "deleteStart",
"nodeType": "YulTypedName",
"src": "8191:11:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "8407:27:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8409:23:1",
"value": {
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "8424:8:1"
},
"variableNames": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "8409:11:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "8391:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8403:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "8388:2:1"
},
"nodeType": "YulFunctionCall",
"src": "8388:18:1"
},
"nodeType": "YulIf",
"src": "8385:49:1"
},
{
"expression": {
"arguments": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "8476:11:1"
},
{
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "8493:8:1"
},
{
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "8521:3:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "8503:17:1"
},
"nodeType": "YulFunctionCall",
"src": "8503:22:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8489:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8489:37:1"
}
],
"functionName": {
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulIdentifier",
"src": "8447:28:1"
},
"nodeType": "YulFunctionCall",
"src": "8447:80:1"
},
"nodeType": "YulExpressionStatement",
"src": "8447:80:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "8097:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8102:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "8094:2:1"
},
"nodeType": "YulFunctionCall",
"src": "8094:11:1"
},
"nodeType": "YulIf",
"src": "8091:446:1"
}
]
},
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "8056:5:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "8063:3:1",
"type": ""
},
{
"name": "startIndex",
"nodeType": "YulTypedName",
"src": "8068:10:1",
"type": ""
}
],
"src": "8001:543:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8613:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8623:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "8648:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8654:5:1"
}
],
"functionName": {
"name": "shr",
"nodeType": "YulIdentifier",
"src": "8644:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8644:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "8623:8:1"
}
]
}
]
},
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "8588:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8594:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "8604:8:1",
"type": ""
}
],
"src": "8550:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8724:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "8734:68:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8783:1:1",
"type": "",
"value": "8"
},
{
"name": "bytes",
"nodeType": "YulIdentifier",
"src": "8786:5:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "8779:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8779:13:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8798:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "8794:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8794:6:1"
}
],
"functionName": {
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulIdentifier",
"src": "8750:28:1"
},
"nodeType": "YulFunctionCall",
"src": "8750:51:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "8746:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8746:56:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "8738:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "8811:25:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "8825:4:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "8831:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "8821:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8821:15:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "8811:6:1"
}
]
}
]
},
"name": "mask_bytes_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "8701:4:1",
"type": ""
},
{
"name": "bytes",
"nodeType": "YulTypedName",
"src": "8707:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "8717:6:1",
"type": ""
}
],
"src": "8673:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8928:214:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9061:37:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "9088:4:1"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "9094:3:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "9069:18:1"
},
"nodeType": "YulFunctionCall",
"src": "9069:29:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "9061:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "9107:29:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "9118:4:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9128:1:1",
"type": "",
"value": "2"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "9131:3:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "9124:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9124:11:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "9115:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9115:21:1"
},
"variableNames": [
{
"name": "used",
"nodeType": "YulIdentifier",
"src": "9107:4:1"
}
]
}
]
},
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "8909:4:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "8915:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "used",
"nodeType": "YulTypedName",
"src": "8923:4:1",
"type": ""
}
],
"src": "8847:295:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9246:1304:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "9257:58:1",
"value": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "9306:3:1"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "9311:3:1"
}
],
"functionName": {
"name": "array_length_t_string_calldata_ptr",
"nodeType": "YulIdentifier",
"src": "9271:34:1"
},
"nodeType": "YulFunctionCall",
"src": "9271:44:1"
},
"variables": [
{
"name": "newLen",
"nodeType": "YulTypedName",
"src": "9261:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "9400:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "9402:16:1"
},
"nodeType": "YulFunctionCall",
"src": "9402:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "9402:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "9372:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9380:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "9369:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9369:30:1"
},
"nodeType": "YulIf",
"src": "9366:56:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "9432:52:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "9478:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "9472:5:1"
},
"nodeType": "YulFunctionCall",
"src": "9472:11:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nodeType": "YulIdentifier",
"src": "9446:25:1"
},
"nodeType": "YulFunctionCall",
"src": "9446:38:1"
},
"variables": [
{
"name": "oldLen",
"nodeType": "YulTypedName",
"src": "9436:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "9577:4:1"
},
{
"name": "oldLen",
"nodeType": "YulIdentifier",
"src": "9583:6:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "9591:6:1"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulIdentifier",
"src": "9531:45:1"
},
"nodeType": "YulFunctionCall",
"src": "9531:67:1"
},
"nodeType": "YulExpressionStatement",
"src": "9531:67:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "9608:18:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "9625:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nodeType": "YulTypedName",
"src": "9612:9:1",
"type": ""
}
]
},
{
"cases": [
{
"body": {
"nodeType": "YulBlock",
"src": "9673:625:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "9687:37:1",
"value": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "9706:6:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9718:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "9714:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9714:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "9702:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9702:22:1"
},
"variables": [
{
"name": "loopEnd",
"nodeType": "YulTypedName",
"src": "9691:7:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "9738:51:1",
"value": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "9784:4:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "9752:31:1"
},
"nodeType": "YulFunctionCall",
"src": "9752:37:1"
},
"variables": [
{
"name": "dstPtr",
"nodeType": "YulTypedName",
"src": "9742:6:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "9802:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "9811:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "9806:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "9870:170:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "9895:6:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "9920:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "9925:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9916:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9916:19:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "9903:12:1"
},
"nodeType": "YulFunctionCall",
"src": "9903:33:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "9888:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9888:49:1"
},
"nodeType": "YulExpressionStatement",
"src": "9888:49:1"
},
{
"nodeType": "YulAssignment",
"src": "9954:24:1",
"value": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "9968:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9976:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9964:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9964:14:1"
},
"variableNames": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "9954:6:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "9995:31:1",
"value": {
"arguments": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "10012:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10023:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10008:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10008:18:1"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "9995:9:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "9836:1:1"
},
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "9839:7:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "9833:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9833:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "9848:21:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9850:17:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "9859:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9862:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9855:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9855:12:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "9850:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "9829:3:1",
"statements": []
},
"src": "9825:215:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10076:163:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "10094:50:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "10128:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "10133:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10124:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10124:19:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "10111:12:1"
},
"nodeType": "YulFunctionCall",
"src": "10111:33:1"
},
"variables": [
{
"name": "lastValue",
"nodeType": "YulTypedName",
"src": "10098:9:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "10168:6:1"
},
{
"arguments": [
{
"name": "lastValue",
"nodeType": "YulIdentifier",
"src": "10195:9:1"
},
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "10210:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10218:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "10206:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10206:17:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "10176:18:1"
},
"nodeType": "YulFunctionCall",
"src": "10176:48:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "10161:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10161:64:1"
},
"nodeType": "YulExpressionStatement",
"src": "10161:64:1"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "10059:7:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "10068:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "10056:2:1"
},
"nodeType": "YulFunctionCall",
"src": "10056:19:1"
},
"nodeType": "YulIf",
"src": "10053:186:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "10259:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "10273:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10281:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "10269:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10269:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10285:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10265:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10265:22:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "10252:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10252:36:1"
},
"nodeType": "YulExpressionStatement",
"src": "10252:36:1"
}
]
},
"nodeType": "YulCase",
"src": "9666:632:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "9671:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nodeType": "YulBlock",
"src": "10315:229:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "10329:14:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "10342:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "10333:5:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "10366:74:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "10384:42:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "10410:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "10415:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10406:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10406:19:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "10393:12:1"
},
"nodeType": "YulFunctionCall",
"src": "10393:33:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "10384:5:1"
}
]
}
]
},
"condition": {
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "10359:6:1"
},
"nodeType": "YulIf",
"src": "10356:84:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "10460:4:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "10519:5:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "10526:6:1"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulIdentifier",
"src": "10466:52:1"
},
"nodeType": "YulFunctionCall",
"src": "10466:67:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "10453:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10453:81:1"
},
"nodeType": "YulExpressionStatement",
"src": "10453:81:1"
}
]
},
"nodeType": "YulCase",
"src": "10307:237:1",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "9646:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9654:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "9643:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9643:14:1"
},
"nodeType": "YulSwitch",
"src": "9636:908:1"
}
]
},
"name": "copy_byte_array_to_storage_from_t_string_calldata_ptr_to_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "9230:4:1",
"type": ""
},
{
"name": "src",
"nodeType": "YulTypedName",
"src": "9236:3:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "9241:3:1",
"type": ""
}
],
"src": "9147:1403: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 revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // string\n function abi_decode_t_string_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_string_calldata_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_string_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function 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 array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function 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 store_literal_in_memory_15ed5034391ed5ef65b8bb8dbcb08f9b6c4034ebcf89f76344a17e1651e92b33(memPtr) {\n\n mstore(add(memPtr, 0), \"Caller is not the owner\")\n\n }\n\n function abi_encode_t_stringliteral_15ed5034391ed5ef65b8bb8dbcb08f9b6c4034ebcf89f76344a17e1651e92b33_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 23)\n store_literal_in_memory_15ed5034391ed5ef65b8bb8dbcb08f9b6c4034ebcf89f76344a17e1651e92b33(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_15ed5034391ed5ef65b8bb8dbcb08f9b6c4034ebcf89f76344a17e1651e92b33__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_15ed5034391ed5ef65b8bb8dbcb08f9b6c4034ebcf89f76344a17e1651e92b33_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_length_t_string_calldata_ptr(value, len) -> length {\n\n length := len\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_calldata_ptr_to_t_string_storage(slot, src, len) {\n\n let newLen := array_length_t_string_calldata_ptr(src, len)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, calldataload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := calldataload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := calldataload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061004c5760003560e01c80635d3a1f9d146100515780638da5cb5b1461006d578063c605f76c1461008b578063f2fde38b146100a9575b600080fd5b61006b60048036038101906100669190610366565b6100c5565b005b61007561016b565b60405161008291906103f4565b60405180910390f35b610093610191565b6040516100a0919061049f565b60405180910390f35b6100c360048036038101906100be91906104ed565b610223565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610155576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014c90610566565b60405180910390fd5b8181600091826101669291906107d6565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600080546101a0906105ef565b80601f01602080910402602001604051908101604052809291908181526020018280546101cc906105ef565b80156102195780601f106101ee57610100808354040283529160200191610219565b820191906000526020600020905b8154815290600101906020018083116101fc57829003601f168201915b5050505050905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102aa90610566565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f84011261032657610325610301565b5b8235905067ffffffffffffffff81111561034357610342610306565b5b60208301915083600182028301111561035f5761035e61030b565b5b9250929050565b6000806020838503121561037d5761037c6102f7565b5b600083013567ffffffffffffffff81111561039b5761039a6102fc565b5b6103a785828601610310565b92509250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103de826103b3565b9050919050565b6103ee816103d3565b82525050565b600060208201905061040960008301846103e5565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561044957808201518184015260208101905061042e565b60008484015250505050565b6000601f19601f8301169050919050565b60006104718261040f565b61047b818561041a565b935061048b81856020860161042b565b61049481610455565b840191505092915050565b600060208201905081810360008301526104b98184610466565b905092915050565b6104ca816103d3565b81146104d557600080fd5b50565b6000813590506104e7816104c1565b92915050565b600060208284031215610503576105026102f7565b5b6000610511848285016104d8565b91505092915050565b7f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000600082015250565b600061055060178361041a565b915061055b8261051a565b602082019050919050565b6000602082019050818103600083015261057f81610543565b9050919050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061060757607f821691505b60208210810361061a576106196105c0565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026106827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610645565b61068c8683610645565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006106d36106ce6106c9846106a4565b6106ae565b6106a4565b9050919050565b6000819050919050565b6106ed836106b8565b6107016106f9826106da565b848454610652565b825550505050565b600090565b610716610709565b6107218184846106e4565b505050565b5b818110156107455761073a60008261070e565b600181019050610727565b5050565b601f82111561078a5761075b81610620565b61076484610635565b81016020851015610773578190505b61078761077f85610635565b830182610726565b50505b505050565b600082821c905092915050565b60006107ad6000198460080261078f565b1980831691505092915050565b60006107c6838361079c565b9150826002028217905092915050565b6107e08383610586565b67ffffffffffffffff8111156107f9576107f8610591565b5b61080382546105ef565b61080e828285610749565b6000601f83116001811461083d576000841561082b578287013590505b61083585826107ba565b86555061089d565b601f19841661084b86610620565b60005b828110156108735784890135825560018201915060208501945060208101905061084e565b86831015610890578489013561088c601f89168261079c565b8355505b6001600288020188555050505b5050505050505056fea264697066735822122017505db29d005a0ca7290a01a22e0cf9abe8543ef818189ad2148cbb95966fc064736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5D3A1F9D EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x6D JUMPI DUP1 PUSH4 0xC605F76C EQ PUSH2 0x8B JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xA9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x366 JUMP JUMPDEST PUSH2 0xC5 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x75 PUSH2 0x16B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x82 SWAP2 SWAP1 PUSH2 0x3F4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x93 PUSH2 0x191 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA0 SWAP2 SWAP1 PUSH2 0x49F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xBE SWAP2 SWAP1 PUSH2 0x4ED JUMP JUMPDEST PUSH2 0x223 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x155 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x14C SWAP1 PUSH2 0x566 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 PUSH1 0x0 SWAP2 DUP3 PUSH2 0x166 SWAP3 SWAP2 SWAP1 PUSH2 0x7D6 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x1A0 SWAP1 PUSH2 0x5EF JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1CC SWAP1 PUSH2 0x5EF JUMP JUMPDEST DUP1 ISZERO PUSH2 0x219 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1EE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x219 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 0x1FC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x2B3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2AA SWAP1 PUSH2 0x566 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x326 JUMPI PUSH2 0x325 PUSH2 0x301 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x343 JUMPI PUSH2 0x342 PUSH2 0x306 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x35F JUMPI PUSH2 0x35E PUSH2 0x30B JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x37D JUMPI PUSH2 0x37C PUSH2 0x2F7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x39B JUMPI PUSH2 0x39A PUSH2 0x2FC JUMP JUMPDEST JUMPDEST PUSH2 0x3A7 DUP6 DUP3 DUP7 ADD PUSH2 0x310 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DE DUP3 PUSH2 0x3B3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3EE DUP2 PUSH2 0x3D3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x409 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3E5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x449 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x42E JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x471 DUP3 PUSH2 0x40F JUMP JUMPDEST PUSH2 0x47B DUP2 DUP6 PUSH2 0x41A JUMP JUMPDEST SWAP4 POP PUSH2 0x48B DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x42B JUMP JUMPDEST PUSH2 0x494 DUP2 PUSH2 0x455 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x4B9 DUP2 DUP5 PUSH2 0x466 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x4CA DUP2 PUSH2 0x3D3 JUMP JUMPDEST DUP2 EQ PUSH2 0x4D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4E7 DUP2 PUSH2 0x4C1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x503 JUMPI PUSH2 0x502 PUSH2 0x2F7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x511 DUP5 DUP3 DUP6 ADD PUSH2 0x4D8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x43616C6C6572206973206E6F7420746865206F776E6572000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x550 PUSH1 0x17 DUP4 PUSH2 0x41A JUMP JUMPDEST SWAP2 POP PUSH2 0x55B DUP3 PUSH2 0x51A 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 0x57F DUP2 PUSH2 0x543 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x607 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x61A JUMPI PUSH2 0x619 PUSH2 0x5C0 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0x682 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x645 JUMP JUMPDEST PUSH2 0x68C DUP7 DUP4 PUSH2 0x645 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6D3 PUSH2 0x6CE PUSH2 0x6C9 DUP5 PUSH2 0x6A4 JUMP JUMPDEST PUSH2 0x6AE JUMP JUMPDEST PUSH2 0x6A4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6ED DUP4 PUSH2 0x6B8 JUMP JUMPDEST PUSH2 0x701 PUSH2 0x6F9 DUP3 PUSH2 0x6DA JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x652 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x716 PUSH2 0x709 JUMP JUMPDEST PUSH2 0x721 DUP2 DUP5 DUP5 PUSH2 0x6E4 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x745 JUMPI PUSH2 0x73A PUSH1 0x0 DUP3 PUSH2 0x70E JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x727 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x78A JUMPI PUSH2 0x75B DUP2 PUSH2 0x620 JUMP JUMPDEST PUSH2 0x764 DUP5 PUSH2 0x635 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x773 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x787 PUSH2 0x77F DUP6 PUSH2 0x635 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x726 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7AD PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x78F JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7C6 DUP4 DUP4 PUSH2 0x79C JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x7E0 DUP4 DUP4 PUSH2 0x586 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x7F9 JUMPI PUSH2 0x7F8 PUSH2 0x591 JUMP JUMPDEST JUMPDEST PUSH2 0x803 DUP3 SLOAD PUSH2 0x5EF JUMP JUMPDEST PUSH2 0x80E DUP3 DUP3 DUP6 PUSH2 0x749 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x83D JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x82B JUMPI DUP3 DUP8 ADD CALLDATALOAD SWAP1 POP JUMPDEST PUSH2 0x835 DUP6 DUP3 PUSH2 0x7BA JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x89D JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x84B DUP7 PUSH2 0x620 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x873 JUMPI DUP5 DUP10 ADD CALLDATALOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x84E JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x890 JUMPI DUP5 DUP10 ADD CALLDATALOAD PUSH2 0x88C PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x79C JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 OR POP 0x5D 0xB2 SWAP14 STOP GAS 0xC 0xA7 0x29 EXP ADD LOG2 0x2E 0xC 0xF9 0xAB 0xE8 SLOAD RETURNDATACOPY 0xF8 XOR XOR SWAP11 0xD2 EQ DUP13 0xBB SWAP6 SWAP7 PUSH16 0xC064736F6C6343000812003300000000 ",
"sourceMap": "69:565:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;326:90;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;122:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;234:86;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;422:95;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;326:90;581:5;;;;;;;;;;;567:19;;:10;:19;;;558:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;402:7:::1;;395:4;:14;;;;;;;:::i;:::-;;326:90:::0;;:::o;122:20::-;;;;;;;;;;;;;:::o;234:86::-;277:13;309:4;302:11;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;234:86;:::o;422:95::-;581:5;;;;;;;;;;;567:19;;:10;:19;;;558:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;502:8:::1;494:5;;:16;;;;;;;;;;;;;;;;;;422:95:::0;:::o;88:117:1:-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:117;689:1;686;679:12;717:553;775:8;785:6;835:3;828:4;820:6;816:17;812:27;802:122;;843:79;;:::i;:::-;802:122;956:6;943:20;933:30;;986:18;978:6;975:30;972:117;;;1008:79;;:::i;:::-;972:117;1122:4;1114:6;1110:17;1098:29;;1176:3;1168:4;1160:6;1156:17;1146:8;1142:32;1139:41;1136:128;;;1183:79;;:::i;:::-;1136:128;717:553;;;;;:::o;1276:529::-;1347:6;1355;1404:2;1392:9;1383:7;1379:23;1375:32;1372:119;;;1410:79;;:::i;:::-;1372:119;1558:1;1547:9;1543:17;1530:31;1588:18;1580:6;1577:30;1574:117;;;1610:79;;:::i;:::-;1574:117;1723:65;1780:7;1771:6;1760:9;1756:22;1723:65;:::i;:::-;1705:83;;;;1501:297;1276:529;;;;;:::o;1811:126::-;1848:7;1888:42;1881:5;1877:54;1866:65;;1811:126;;;:::o;1943:96::-;1980:7;2009:24;2027:5;2009:24;:::i;:::-;1998:35;;1943:96;;;:::o;2045:118::-;2132:24;2150:5;2132:24;:::i;:::-;2127:3;2120:37;2045:118;;:::o;2169:222::-;2262:4;2300:2;2289:9;2285:18;2277:26;;2313:71;2381:1;2370:9;2366:17;2357:6;2313:71;:::i;:::-;2169:222;;;;:::o;2397:99::-;2449:6;2483:5;2477:12;2467:22;;2397:99;;;:::o;2502:169::-;2586:11;2620:6;2615:3;2608:19;2660:4;2655:3;2651:14;2636:29;;2502:169;;;;:::o;2677:246::-;2758:1;2768:113;2782:6;2779:1;2776:13;2768:113;;;2867:1;2862:3;2858:11;2852:18;2848:1;2843:3;2839:11;2832:39;2804:2;2801:1;2797:10;2792:15;;2768:113;;;2915:1;2906:6;2901:3;2897:16;2890:27;2739:184;2677:246;;;:::o;2929:102::-;2970:6;3021:2;3017:7;3012:2;3005:5;3001:14;2997:28;2987:38;;2929:102;;;:::o;3037:377::-;3125:3;3153:39;3186:5;3153:39;:::i;:::-;3208:71;3272:6;3267:3;3208:71;:::i;:::-;3201:78;;3288:65;3346:6;3341:3;3334:4;3327:5;3323:16;3288:65;:::i;:::-;3378:29;3400:6;3378:29;:::i;:::-;3373:3;3369:39;3362:46;;3129:285;3037:377;;;;:::o;3420:313::-;3533:4;3571:2;3560:9;3556:18;3548:26;;3620:9;3614:4;3610:20;3606:1;3595:9;3591:17;3584:47;3648:78;3721:4;3712:6;3648:78;:::i;:::-;3640:86;;3420:313;;;;:::o;3739:122::-;3812:24;3830:5;3812:24;:::i;:::-;3805:5;3802:35;3792:63;;3851:1;3848;3841:12;3792:63;3739:122;:::o;3867:139::-;3913:5;3951:6;3938:20;3929:29;;3967:33;3994:5;3967:33;:::i;:::-;3867:139;;;;:::o;4012:329::-;4071:6;4120:2;4108:9;4099:7;4095:23;4091:32;4088:119;;;4126:79;;:::i;:::-;4088:119;4246:1;4271:53;4316:7;4307:6;4296:9;4292:22;4271:53;:::i;:::-;4261:63;;4217:117;4012:329;;;;:::o;4347:173::-;4487:25;4483:1;4475:6;4471:14;4464:49;4347:173;:::o;4526:366::-;4668:3;4689:67;4753:2;4748:3;4689:67;:::i;:::-;4682:74;;4765:93;4854:3;4765:93;:::i;:::-;4883:2;4878:3;4874:12;4867:19;;4526:366;;;:::o;4898:419::-;5064:4;5102:2;5091:9;5087:18;5079:26;;5151:9;5145:4;5141:20;5137:1;5126:9;5122:17;5115:47;5179:131;5305:4;5179:131;:::i;:::-;5171:139;;4898:419;;;:::o;5323:97::-;5382:6;5410:3;5400:13;;5323:97;;;;:::o;5426:180::-;5474:77;5471:1;5464:88;5571:4;5568:1;5561:15;5595:4;5592:1;5585:15;5612:180;5660:77;5657:1;5650:88;5757:4;5754:1;5747:15;5781:4;5778:1;5771:15;5798:320;5842:6;5879:1;5873:4;5869:12;5859:22;;5926:1;5920:4;5916:12;5947:18;5937:81;;6003:4;5995:6;5991:17;5981:27;;5937:81;6065:2;6057:6;6054:14;6034:18;6031:38;6028:84;;6084:18;;:::i;:::-;6028:84;5849:269;5798:320;;;:::o;6124:141::-;6173:4;6196:3;6188:11;;6219:3;6216:1;6209:14;6253:4;6250:1;6240:18;6232:26;;6124:141;;;:::o;6271:93::-;6308:6;6355:2;6350;6343:5;6339:14;6335:23;6325:33;;6271:93;;;:::o;6370:107::-;6414:8;6464:5;6458:4;6454:16;6433:37;;6370:107;;;;:::o;6483:393::-;6552:6;6602:1;6590:10;6586:18;6625:97;6655:66;6644:9;6625:97;:::i;:::-;6743:39;6773:8;6762:9;6743:39;:::i;:::-;6731:51;;6815:4;6811:9;6804:5;6800:21;6791:30;;6864:4;6854:8;6850:19;6843:5;6840:30;6830:40;;6559:317;;6483:393;;;;;:::o;6882:77::-;6919:7;6948:5;6937:16;;6882:77;;;:::o;6965:60::-;6993:3;7014:5;7007:12;;6965:60;;;:::o;7031:142::-;7081:9;7114:53;7132:34;7141:24;7159:5;7141:24;:::i;:::-;7132:34;:::i;:::-;7114:53;:::i;:::-;7101:66;;7031:142;;;:::o;7179:75::-;7222:3;7243:5;7236:12;;7179:75;;;:::o;7260:269::-;7370:39;7401:7;7370:39;:::i;:::-;7431:91;7480:41;7504:16;7480:41;:::i;:::-;7472:6;7465:4;7459:11;7431:91;:::i;:::-;7425:4;7418:105;7336:193;7260:269;;;:::o;7535:73::-;7580:3;7535:73;:::o;7614:189::-;7691:32;;:::i;:::-;7732:65;7790:6;7782;7776:4;7732:65;:::i;:::-;7667:136;7614:189;;:::o;7809:186::-;7869:120;7886:3;7879:5;7876:14;7869:120;;;7940:39;7977:1;7970:5;7940:39;:::i;:::-;7913:1;7906:5;7902:13;7893:22;;7869:120;;;7809:186;;:::o;8001:543::-;8102:2;8097:3;8094:11;8091:446;;;8136:38;8168:5;8136:38;:::i;:::-;8220:29;8238:10;8220:29;:::i;:::-;8210:8;8206:44;8403:2;8391:10;8388:18;8385:49;;;8424:8;8409:23;;8385:49;8447:80;8503:22;8521:3;8503:22;:::i;:::-;8493:8;8489:37;8476:11;8447:80;:::i;:::-;8106:431;;8091:446;8001:543;;;:::o;8550:117::-;8604:8;8654:5;8648:4;8644:16;8623:37;;8550:117;;;;:::o;8673:169::-;8717:6;8750:51;8798:1;8794:6;8786:5;8783:1;8779:13;8750:51;:::i;:::-;8746:56;8831:4;8825;8821:15;8811:25;;8724:118;8673:169;;;;:::o;8847:295::-;8923:4;9069:29;9094:3;9088:4;9069:29;:::i;:::-;9061:37;;9131:3;9128:1;9124:11;9118:4;9115:21;9107:29;;8847:295;;;;:::o;9147:1403::-;9271:44;9311:3;9306;9271:44;:::i;:::-;9380:18;9372:6;9369:30;9366:56;;;9402:18;;:::i;:::-;9366:56;9446:38;9478:4;9472:11;9446:38;:::i;:::-;9531:67;9591:6;9583;9577:4;9531:67;:::i;:::-;9625:1;9654:2;9646:6;9643:14;9671:1;9666:632;;;;10342:1;10359:6;10356:84;;;10415:9;10410:3;10406:19;10393:33;10384:42;;10356:84;10466:67;10526:6;10519:5;10466:67;:::i;:::-;10460:4;10453:81;10315:229;9636:908;;9666:632;9718:4;9714:9;9706:6;9702:22;9752:37;9784:4;9752:37;:::i;:::-;9811:1;9825:215;9839:7;9836:1;9833:14;9825:215;;;9925:9;9920:3;9916:19;9903:33;9895:6;9888:49;9976:1;9968:6;9964:14;9954:24;;10023:2;10012:9;10008:18;9995:31;;9862:4;9859:1;9855:12;9850:17;;9825:215;;;10068:6;10059:7;10056:19;10053:186;;;10133:9;10128:3;10124:19;10111:33;10176:48;10218:4;10210:6;10206:17;10195:9;10176:48;:::i;:::-;10168:6;10161:64;10076:163;10053:186;10285:1;10281;10273:6;10269:14;10265:22;10259:4;10252:36;9673:625;;;9636:908;;9246:1304;;;9147:1403;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "453600",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"helloWorld()": "infinite",
"owner()": "2514",
"setText(string)": "infinite",
"transferOwnership(address)": "26936"
}
},
"methodIdentifiers": {
"helloWorld()": "c605f76c",
"owner()": "8da5cb5b",
"setText(string)": "5d3a1f9d",
"transferOwnership(address)": "f2fde38b"
}
},
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "helloWorld",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "newText",
"type": "string"
}
],
"name": "setText",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.18+commit.87f61d96"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "helloWorld",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "newText",
"type": "string"
}
],
"name": "setText",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/helloWorld.sol": "HelloWorld"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/helloWorld.sol": {
"keccak256": "0xd970a1e71d309ed67385e9b3a55b752f30f3cf763945814731d31d4081836102",
"license": "GPL-3.0",
"urls": [
"bzz-raw://4253679d90a22950c90b427aa87c5b37bda6d9d9d4b94758079dc45421847ce3",
"dweb:/ipfs/QmbVSz1aegeu48FvFGcenEtmwKGF3rbDysgzCRYTJa7wQX"
]
}
},
"version": 1
}
This file has been truncated, but you can view the full file.
{
"id": "861567aeb35f369d20c4187d8c568f86",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.18",
"solcLongVersion": "0.8.18+commit.87f61d96",
"input": {
"language": "Solidity",
"sources": {
"contracts/helloWorld.sol": {
"content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.7.0 <0.9.0;\n\ncontract HelloWorld {\n\n string private text;\n\n address public owner;\n\n constructor() {\n text = \"Hello World\";\n owner = msg.sender;\n }\n\n function helloWorld() public view returns (string memory) {\n return text;\n }\n\n function setText(string calldata newText) public onlyOwner {\n text = newText;\n }\n\n function transferOwnership(address newOwner) public onlyOwner {\n owner = newOwner;\n }\n\n modifier onlyOwner()\n {\n require (msg.sender == owner, \"Caller is not the owner\");\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/helloWorld.sol": {
"HelloWorld": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "helloWorld",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "newText",
"type": "string"
}
],
"name": "setText",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/helloWorld.sol\":69:634 contract HelloWorld {... */\n mstore(0x40, 0x80)\n /* \"contracts/helloWorld.sol\":149:228 constructor() {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n /* \"contracts/helloWorld.sol\":173:193 text = \"Hello World\" */\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x0b\n dup2\n mstore\n 0x20\n add\n 0x48656c6c6f20576f726c64000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n /* \"contracts/helloWorld.sol\":173:177 text */\n 0x00\n /* \"contracts/helloWorld.sol\":173:193 text = \"Hello World\" */\n swap1\n dup2\n tag_4\n swap2\n swap1\n tag_5\n jump\t// in\ntag_4:\n pop\n /* \"contracts/helloWorld.sol\":211:221 msg.sender */\n caller\n /* \"contracts/helloWorld.sol\":203:208 owner */\n 0x01\n 0x00\n /* \"contracts/helloWorld.sol\":203:221 owner = 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/helloWorld.sol\":69:634 contract HelloWorld {... */\n jump(tag_6)\n /* \"#utility.yul\":7:106 */\ntag_7:\n /* \"#utility.yul\":59:65 */\n 0x00\n /* \"#utility.yul\":93:98 */\n dup2\n /* \"#utility.yul\":87:99 */\n mload\n /* \"#utility.yul\":77:99 */\n swap1\n pop\n /* \"#utility.yul\":7:106 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":112:292 */\ntag_8:\n /* \"#utility.yul\":160:237 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":157:158 */\n 0x00\n /* \"#utility.yul\":150:238 */\n mstore\n /* \"#utility.yul\":257:261 */\n 0x41\n /* \"#utility.yul\":254:255 */\n 0x04\n /* \"#utility.yul\":247:262 */\n mstore\n /* \"#utility.yul\":281:285 */\n 0x24\n /* \"#utility.yul\":278:279 */\n 0x00\n /* \"#utility.yul\":271:286 */\n revert\n /* \"#utility.yul\":298:478 */\ntag_9:\n /* \"#utility.yul\":346:423 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":343:344 */\n 0x00\n /* \"#utility.yul\":336:424 */\n mstore\n /* \"#utility.yul\":443:447 */\n 0x22\n /* \"#utility.yul\":440:441 */\n 0x04\n /* \"#utility.yul\":433:448 */\n mstore\n /* \"#utility.yul\":467:471 */\n 0x24\n /* \"#utility.yul\":464:465 */\n 0x00\n /* \"#utility.yul\":457:472 */\n revert\n /* \"#utility.yul\":484:804 */\ntag_10:\n /* \"#utility.yul\":528:534 */\n 0x00\n /* \"#utility.yul\":565:566 */\n 0x02\n /* \"#utility.yul\":559:563 */\n dup3\n /* \"#utility.yul\":555:567 */\n div\n /* \"#utility.yul\":545:567 */\n swap1\n pop\n /* \"#utility.yul\":612:613 */\n 0x01\n /* \"#utility.yul\":606:610 */\n dup3\n /* \"#utility.yul\":602:614 */\n and\n /* \"#utility.yul\":633:651 */\n dup1\n /* \"#utility.yul\":623:704 */\n tag_32\n jumpi\n /* \"#utility.yul\":689:693 */\n 0x7f\n /* \"#utility.yul\":681:687 */\n dup3\n /* \"#utility.yul\":677:694 */\n and\n /* \"#utility.yul\":667:694 */\n swap2\n pop\n /* \"#utility.yul\":623:704 */\ntag_32:\n /* \"#utility.yul\":751:753 */\n 0x20\n /* \"#utility.yul\":743:749 */\n dup3\n /* \"#utility.yul\":740:754 */\n lt\n /* \"#utility.yul\":720:738 */\n dup2\n /* \"#utility.yul\":717:755 */\n sub\n /* \"#utility.yul\":714:798 */\n tag_33\n jumpi\n /* \"#utility.yul\":770:788 */\n tag_34\n tag_9\n jump\t// in\ntag_34:\n /* \"#utility.yul\":714:798 */\ntag_33:\n /* \"#utility.yul\":535:804 */\n pop\n /* \"#utility.yul\":484:804 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":810:951 */\ntag_11:\n /* \"#utility.yul\":859:863 */\n 0x00\n /* \"#utility.yul\":882:885 */\n dup2\n /* \"#utility.yul\":874:885 */\n swap1\n pop\n /* \"#utility.yul\":905:908 */\n dup2\n /* \"#utility.yul\":902:903 */\n 0x00\n /* \"#utility.yul\":895:909 */\n mstore\n /* \"#utility.yul\":939:943 */\n 0x20\n /* \"#utility.yul\":936:937 */\n 0x00\n /* \"#utility.yul\":926:944 */\n keccak256\n /* \"#utility.yul\":918:944 */\n swap1\n pop\n /* \"#utility.yul\":810:951 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":957:1050 */\ntag_12:\n /* \"#utility.yul\":994:1000 */\n 0x00\n /* \"#utility.yul\":1041:1043 */\n 0x20\n /* \"#utility.yul\":1036:1038 */\n 0x1f\n /* \"#utility.yul\":1029:1034 */\n dup4\n /* \"#utility.yul\":1025:1039 */\n add\n /* \"#utility.yul\":1021:1044 */\n div\n /* \"#utility.yul\":1011:1044 */\n swap1\n pop\n /* \"#utility.yul\":957:1050 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1056:1163 */\ntag_13:\n /* \"#utility.yul\":1100:1108 */\n 0x00\n /* \"#utility.yul\":1150:1155 */\n dup3\n /* \"#utility.yul\":1144:1148 */\n dup3\n /* \"#utility.yul\":1140:1156 */\n shl\n /* \"#utility.yul\":1119:1156 */\n swap1\n pop\n /* \"#utility.yul\":1056:1163 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1169:1562 */\ntag_14:\n /* \"#utility.yul\":1238:1244 */\n 0x00\n /* \"#utility.yul\":1288:1289 */\n 0x08\n /* \"#utility.yul\":1276:1286 */\n dup4\n /* \"#utility.yul\":1272:1290 */\n mul\n /* \"#utility.yul\":1311:1408 */\n tag_39\n /* \"#utility.yul\":1341:1407 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":1330:1339 */\n dup3\n /* \"#utility.yul\":1311:1408 */\n tag_13\n jump\t// in\ntag_39:\n /* \"#utility.yul\":1429:1468 */\n tag_40\n /* \"#utility.yul\":1459:1467 */\n dup7\n /* \"#utility.yul\":1448:1457 */\n dup4\n /* \"#utility.yul\":1429:1468 */\n tag_13\n jump\t// in\ntag_40:\n /* \"#utility.yul\":1417:1468 */\n swap6\n pop\n /* \"#utility.yul\":1501:1505 */\n dup1\n /* \"#utility.yul\":1497:1506 */\n not\n /* \"#utility.yul\":1490:1495 */\n dup5\n /* \"#utility.yul\":1486:1507 */\n and\n /* \"#utility.yul\":1477:1507 */\n swap4\n pop\n /* \"#utility.yul\":1550:1554 */\n dup1\n /* \"#utility.yul\":1540:1548 */\n dup7\n /* \"#utility.yul\":1536:1555 */\n and\n /* \"#utility.yul\":1529:1534 */\n dup5\n /* \"#utility.yul\":1526:1556 */\n or\n /* \"#utility.yul\":1516:1556 */\n swap3\n pop\n /* \"#utility.yul\":1245:1562 */\n pop\n pop\n /* \"#utility.yul\":1169:1562 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1568:1645 */\ntag_15:\n /* \"#utility.yul\":1605:1612 */\n 0x00\n /* \"#utility.yul\":1634:1639 */\n dup2\n /* \"#utility.yul\":1623:1639 */\n swap1\n pop\n /* \"#utility.yul\":1568:1645 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1651:1711 */\ntag_16:\n /* \"#utility.yul\":1679:1682 */\n 0x00\n /* \"#utility.yul\":1700:1705 */\n dup2\n /* \"#utility.yul\":1693:1705 */\n swap1\n pop\n /* \"#utility.yul\":1651:1711 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1717:1859 */\ntag_17:\n /* \"#utility.yul\":1767:1776 */\n 0x00\n /* \"#utility.yul\":1800:1853 */\n tag_44\n /* \"#utility.yul\":1818:1852 */\n tag_45\n /* \"#utility.yul\":1827:1851 */\n tag_46\n /* \"#utility.yul\":1845:1850 */\n dup5\n /* \"#utility.yul\":1827:1851 */\n tag_15\n jump\t// in\ntag_46:\n /* \"#utility.yul\":1818:1852 */\n tag_16\n jump\t// in\ntag_45:\n /* \"#utility.yul\":1800:1853 */\n tag_15\n jump\t// in\ntag_44:\n /* \"#utility.yul\":1787:1853 */\n swap1\n pop\n /* \"#utility.yul\":1717:1859 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1865:1940 */\ntag_18:\n /* \"#utility.yul\":1908:1911 */\n 0x00\n /* \"#utility.yul\":1929:1934 */\n dup2\n /* \"#utility.yul\":1922:1934 */\n swap1\n pop\n /* \"#utility.yul\":1865:1940 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1946:2215 */\ntag_19:\n /* \"#utility.yul\":2056:2095 */\n tag_49\n /* \"#utility.yul\":2087:2094 */\n dup4\n /* \"#utility.yul\":2056:2095 */\n tag_17\n jump\t// in\ntag_49:\n /* \"#utility.yul\":2117:2208 */\n tag_50\n /* \"#utility.yul\":2166:2207 */\n tag_51\n /* \"#utility.yul\":2190:2206 */\n dup3\n /* \"#utility.yul\":2166:2207 */\n tag_18\n jump\t// in\ntag_51:\n /* \"#utility.yul\":2158:2164 */\n dup5\n /* \"#utility.yul\":2151:2155 */\n dup5\n /* \"#utility.yul\":2145:2156 */\n sload\n /* \"#utility.yul\":2117:2208 */\n tag_14\n jump\t// in\ntag_50:\n /* \"#utility.yul\":2111:2115 */\n dup3\n /* \"#utility.yul\":2104:2209 */\n sstore\n /* \"#utility.yul\":2022:2215 */\n pop\n /* \"#utility.yul\":1946:2215 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2221:2294 */\ntag_20:\n /* \"#utility.yul\":2266:2269 */\n 0x00\n /* \"#utility.yul\":2221:2294 */\n swap1\n jump\t// out\n /* \"#utility.yul\":2300:2489 */\ntag_21:\n /* \"#utility.yul\":2377:2409 */\n tag_54\n tag_20\n jump\t// in\ntag_54:\n /* \"#utility.yul\":2418:2483 */\n tag_55\n /* \"#utility.yul\":2476:2482 */\n dup2\n /* \"#utility.yul\":2468:2474 */\n dup5\n /* \"#utility.yul\":2462:2466 */\n dup5\n /* \"#utility.yul\":2418:2483 */\n tag_19\n jump\t// in\ntag_55:\n /* \"#utility.yul\":2353:2489 */\n pop\n /* \"#utility.yul\":2300:2489 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2495:2681 */\ntag_22:\n /* \"#utility.yul\":2555:2675 */\ntag_57:\n /* \"#utility.yul\":2572:2575 */\n dup2\n /* \"#utility.yul\":2565:2570 */\n dup2\n /* \"#utility.yul\":2562:2576 */\n lt\n /* \"#utility.yul\":2555:2675 */\n iszero\n tag_59\n jumpi\n /* \"#utility.yul\":2626:2665 */\n tag_60\n /* \"#utility.yul\":2663:2664 */\n 0x00\n /* \"#utility.yul\":2656:2661 */\n dup3\n /* \"#utility.yul\":2626:2665 */\n tag_21\n jump\t// in\ntag_60:\n /* \"#utility.yul\":2599:2600 */\n 0x01\n /* \"#utility.yul\":2592:2597 */\n dup2\n /* \"#utility.yul\":2588:2601 */\n add\n /* \"#utility.yul\":2579:2601 */\n swap1\n pop\n /* \"#utility.yul\":2555:2675 */\n jump(tag_57)\ntag_59:\n /* \"#utility.yul\":2495:2681 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2687:3230 */\ntag_23:\n /* \"#utility.yul\":2788:2790 */\n 0x1f\n /* \"#utility.yul\":2783:2786 */\n dup3\n /* \"#utility.yul\":2780:2791 */\n gt\n /* \"#utility.yul\":2777:3223 */\n iszero\n tag_62\n jumpi\n /* \"#utility.yul\":2822:2860 */\n tag_63\n /* \"#utility.yul\":2854:2859 */\n dup2\n /* \"#utility.yul\":2822:2860 */\n tag_11\n jump\t// in\ntag_63:\n /* \"#utility.yul\":2906:2935 */\n tag_64\n /* \"#utility.yul\":2924:2934 */\n dup5\n /* \"#utility.yul\":2906:2935 */\n tag_12\n jump\t// in\ntag_64:\n /* \"#utility.yul\":2896:2904 */\n dup2\n /* \"#utility.yul\":2892:2936 */\n add\n /* \"#utility.yul\":3089:3091 */\n 0x20\n /* \"#utility.yul\":3077:3087 */\n dup6\n /* \"#utility.yul\":3074:3092 */\n lt\n /* \"#utility.yul\":3071:3120 */\n iszero\n tag_65\n jumpi\n /* \"#utility.yul\":3110:3118 */\n dup2\n /* \"#utility.yul\":3095:3118 */\n swap1\n pop\n /* \"#utility.yul\":3071:3120 */\ntag_65:\n /* \"#utility.yul\":3133:3213 */\n tag_66\n /* \"#utility.yul\":3189:3211 */\n tag_67\n /* \"#utility.yul\":3207:3210 */\n dup6\n /* \"#utility.yul\":3189:3211 */\n tag_12\n jump\t// in\ntag_67:\n /* \"#utility.yul\":3179:3187 */\n dup4\n /* \"#utility.yul\":3175:3212 */\n add\n /* \"#utility.yul\":3162:3173 */\n dup3\n /* \"#utility.yul\":3133:3213 */\n tag_22\n jump\t// in\ntag_66:\n /* \"#utility.yul\":2792:3223 */\n pop\n pop\n /* \"#utility.yul\":2777:3223 */\ntag_62:\n /* \"#utility.yul\":2687:3230 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3236:3353 */\ntag_24:\n /* \"#utility.yul\":3290:3298 */\n 0x00\n /* \"#utility.yul\":3340:3345 */\n dup3\n /* \"#utility.yul\":3334:3338 */\n dup3\n /* \"#utility.yul\":3330:3346 */\n shr\n /* \"#utility.yul\":3309:3346 */\n swap1\n pop\n /* \"#utility.yul\":3236:3353 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3359:3528 */\ntag_25:\n /* \"#utility.yul\":3403:3409 */\n 0x00\n /* \"#utility.yul\":3436:3487 */\n tag_70\n /* \"#utility.yul\":3484:3485 */\n 0x00\n /* \"#utility.yul\":3480:3486 */\n not\n /* \"#utility.yul\":3472:3477 */\n dup5\n /* \"#utility.yul\":3469:3470 */\n 0x08\n /* \"#utility.yul\":3465:3478 */\n mul\n /* \"#utility.yul\":3436:3487 */\n tag_24\n jump\t// in\ntag_70:\n /* \"#utility.yul\":3432:3488 */\n not\n /* \"#utility.yul\":3517:3521 */\n dup1\n /* \"#utility.yul\":3511:3515 */\n dup4\n /* \"#utility.yul\":3507:3522 */\n and\n /* \"#utility.yul\":3497:3522 */\n swap2\n pop\n /* \"#utility.yul\":3410:3528 */\n pop\n /* \"#utility.yul\":3359:3528 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3533:3828 */\ntag_26:\n /* \"#utility.yul\":3609:3613 */\n 0x00\n /* \"#utility.yul\":3755:3784 */\n tag_72\n /* \"#utility.yul\":3780:3783 */\n dup4\n /* \"#utility.yul\":3774:3778 */\n dup4\n /* \"#utility.yul\":3755:3784 */\n tag_25\n jump\t// in\ntag_72:\n /* \"#utility.yul\":3747:3784 */\n swap2\n pop\n /* \"#utility.yul\":3817:3820 */\n dup3\n /* \"#utility.yul\":3814:3815 */\n 0x02\n /* \"#utility.yul\":3810:3821 */\n mul\n /* \"#utility.yul\":3804:3808 */\n dup3\n /* \"#utility.yul\":3801:3822 */\n or\n /* \"#utility.yul\":3793:3822 */\n swap1\n pop\n /* \"#utility.yul\":3533:3828 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3833:5228 */\ntag_5:\n /* \"#utility.yul\":3950:3987 */\n tag_74\n /* \"#utility.yul\":3983:3986 */\n dup3\n /* \"#utility.yul\":3950:3987 */\n tag_7\n jump\t// in\ntag_74:\n /* \"#utility.yul\":4052:4070 */\n 0xffffffffffffffff\n /* \"#utility.yul\":4044:4050 */\n dup2\n /* \"#utility.yul\":4041:4071 */\n gt\n /* \"#utility.yul\":4038:4094 */\n iszero\n tag_75\n jumpi\n /* \"#utility.yul\":4074:4092 */\n tag_76\n tag_8\n jump\t// in\ntag_76:\n /* \"#utility.yul\":4038:4094 */\ntag_75:\n /* \"#utility.yul\":4118:4156 */\n tag_77\n /* \"#utility.yul\":4150:4154 */\n dup3\n /* \"#utility.yul\":4144:4155 */\n sload\n /* \"#utility.yul\":4118:4156 */\n tag_10\n jump\t// in\ntag_77:\n /* \"#utility.yul\":4203:4270 */\n tag_78\n /* \"#utility.yul\":4263:4269 */\n dup3\n /* \"#utility.yul\":4255:4261 */\n dup3\n /* \"#utility.yul\":4249:4253 */\n dup6\n /* \"#utility.yul\":4203:4270 */\n tag_23\n jump\t// in\ntag_78:\n /* \"#utility.yul\":4297:4298 */\n 0x00\n /* \"#utility.yul\":4321:4325 */\n 0x20\n /* \"#utility.yul\":4308:4325 */\n swap1\n pop\n /* \"#utility.yul\":4353:4355 */\n 0x1f\n /* \"#utility.yul\":4345:4351 */\n dup4\n /* \"#utility.yul\":4342:4356 */\n gt\n /* \"#utility.yul\":4370:4371 */\n 0x01\n /* \"#utility.yul\":4365:4983 */\n dup2\n eq\n tag_80\n jumpi\n /* \"#utility.yul\":5027:5028 */\n 0x00\n /* \"#utility.yul\":5044:5050 */\n dup5\n /* \"#utility.yul\":5041:5118 */\n iszero\n tag_81\n jumpi\n /* \"#utility.yul\":5093:5102 */\n dup3\n /* \"#utility.yul\":5088:5091 */\n dup8\n /* \"#utility.yul\":5084:5103 */\n add\n /* \"#utility.yul\":5078:5104 */\n mload\n /* \"#utility.yul\":5069:5104 */\n swap1\n pop\n /* \"#utility.yul\":5041:5118 */\ntag_81:\n /* \"#utility.yul\":5144:5211 */\n tag_82\n /* \"#utility.yul\":5204:5210 */\n dup6\n /* \"#utility.yul\":5197:5202 */\n dup3\n /* \"#utility.yul\":5144:5211 */\n tag_26\n jump\t// in\ntag_82:\n /* \"#utility.yul\":5138:5142 */\n dup7\n /* \"#utility.yul\":5131:5212 */\n sstore\n /* \"#utility.yul\":5000:5222 */\n pop\n /* \"#utility.yul\":4335:5222 */\n jump(tag_79)\n /* \"#utility.yul\":4365:4983 */\ntag_80:\n /* \"#utility.yul\":4417:4421 */\n 0x1f\n /* \"#utility.yul\":4413:4422 */\n not\n /* \"#utility.yul\":4405:4411 */\n dup5\n /* \"#utility.yul\":4401:4423 */\n and\n /* \"#utility.yul\":4451:4488 */\n tag_83\n /* \"#utility.yul\":4483:4487 */\n dup7\n /* \"#utility.yul\":4451:4488 */\n tag_11\n jump\t// in\ntag_83:\n /* \"#utility.yul\":4510:4511 */\n 0x00\n /* \"#utility.yul\":4524:4732 */\ntag_84:\n /* \"#utility.yul\":4538:4545 */\n dup3\n /* \"#utility.yul\":4535:4536 */\n dup2\n /* \"#utility.yul\":4532:4546 */\n lt\n /* \"#utility.yul\":4524:4732 */\n iszero\n tag_86\n jumpi\n /* \"#utility.yul\":4617:4626 */\n dup5\n /* \"#utility.yul\":4612:4615 */\n dup10\n /* \"#utility.yul\":4608:4627 */\n add\n /* \"#utility.yul\":4602:4628 */\n mload\n /* \"#utility.yul\":4594:4600 */\n dup3\n /* \"#utility.yul\":4587:4629 */\n sstore\n /* \"#utility.yul\":4668:4669 */\n 0x01\n /* \"#utility.yul\":4660:4666 */\n dup3\n /* \"#utility.yul\":4656:4670 */\n add\n /* \"#utility.yul\":4646:4670 */\n swap2\n pop\n /* \"#utility.yul\":4715:4717 */\n 0x20\n /* \"#utility.yul\":4704:4713 */\n dup6\n /* \"#utility.yul\":4700:4718 */\n add\n /* \"#utility.yul\":4687:4718 */\n swap5\n pop\n /* \"#utility.yul\":4561:4565 */\n 0x20\n /* \"#utility.yul\":4558:4559 */\n dup2\n /* \"#utility.yul\":4554:4566 */\n add\n /* \"#utility.yul\":4549:4566 */\n swap1\n pop\n /* \"#utility.yul\":4524:4732 */\n jump(tag_84)\ntag_86:\n /* \"#utility.yul\":4760:4766 */\n dup7\n /* \"#utility.yul\":4751:4758 */\n dup4\n /* \"#utility.yul\":4748:4767 */\n lt\n /* \"#utility.yul\":4745:4924 */\n iszero\n tag_87\n jumpi\n /* \"#utility.yul\":4818:4827 */\n dup5\n /* \"#utility.yul\":4813:4816 */\n dup10\n /* \"#utility.yul\":4809:4828 */\n add\n /* \"#utility.yul\":4803:4829 */\n mload\n /* \"#utility.yul\":4861:4909 */\n tag_88\n /* \"#utility.yul\":4903:4907 */\n 0x1f\n /* \"#utility.yul\":4895:4901 */\n dup10\n /* \"#utility.yul\":4891:4908 */\n and\n /* \"#utility.yul\":4880:4889 */\n dup3\n /* \"#utility.yul\":4861:4909 */\n tag_25\n jump\t// in\ntag_88:\n /* \"#utility.yul\":4853:4859 */\n dup4\n /* \"#utility.yul\":4846:4910 */\n sstore\n /* \"#utility.yul\":4768:4924 */\n pop\n /* \"#utility.yul\":4745:4924 */\ntag_87:\n /* \"#utility.yul\":4970:4971 */\n 0x01\n /* \"#utility.yul\":4966:4967 */\n 0x02\n /* \"#utility.yul\":4958:4964 */\n dup9\n /* \"#utility.yul\":4954:4968 */\n mul\n /* \"#utility.yul\":4950:4972 */\n add\n /* \"#utility.yul\":4944:4948 */\n dup9\n /* \"#utility.yul\":4937:4973 */\n sstore\n /* \"#utility.yul\":4372:4983 */\n pop\n pop\n pop\n /* \"#utility.yul\":4335:5222 */\ntag_79:\n pop\n /* \"#utility.yul\":3925:5228 */\n pop\n pop\n pop\n /* \"#utility.yul\":3833:5228 */\n pop\n pop\n jump\t// out\n /* \"contracts/helloWorld.sol\":69:634 contract HelloWorld {... */\ntag_6:\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/helloWorld.sol\":69:634 contract HelloWorld {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x5d3a1f9d\n eq\n tag_3\n jumpi\n dup1\n 0x8da5cb5b\n eq\n tag_4\n jumpi\n dup1\n 0xc605f76c\n eq\n tag_5\n jumpi\n dup1\n 0xf2fde38b\n eq\n tag_6\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/helloWorld.sol\":326:416 function setText(string calldata newText) public onlyOwner {... */\n tag_3:\n tag_7\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_8\n swap2\n swap1\n tag_9\n jump\t// in\n tag_8:\n tag_10\n jump\t// in\n tag_7:\n stop\n /* \"contracts/helloWorld.sol\":122:142 address public owner */\n tag_4:\n tag_11\n tag_12\n jump\t// in\n tag_11:\n mload(0x40)\n tag_13\n swap2\n swap1\n tag_14\n jump\t// in\n tag_13:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/helloWorld.sol\":234:320 function helloWorld() public view returns (string memory) {... */\n tag_5:\n tag_15\n tag_16\n jump\t// in\n tag_15:\n mload(0x40)\n tag_17\n swap2\n swap1\n tag_18\n jump\t// in\n tag_17:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/helloWorld.sol\":422:517 function transferOwnership(address newOwner) public onlyOwner {... */\n tag_6:\n tag_19\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_20\n swap2\n swap1\n tag_21\n jump\t// in\n tag_20:\n tag_22\n jump\t// in\n tag_19:\n stop\n /* \"contracts/helloWorld.sol\":326:416 function setText(string calldata newText) public onlyOwner {... */\n tag_10:\n /* \"contracts/helloWorld.sol\":581:586 owner */\n 0x01\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/helloWorld.sol\":567:586 msg.sender == owner */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/helloWorld.sol\":567:577 msg.sender */\n caller\n /* \"contracts/helloWorld.sol\":567:586 msg.sender == owner */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"contracts/helloWorld.sol\":558:614 require (msg.sender == owner, \"Caller is not the owner\") */\n tag_24\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_25\n swap1\n tag_26\n jump\t// in\n tag_25:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_24:\n /* \"contracts/helloWorld.sol\":402:409 newText */\n dup2\n dup2\n /* \"contracts/helloWorld.sol\":395:399 text */\n 0x00\n /* \"contracts/helloWorld.sol\":395:409 text = newText */\n swap2\n dup3\n tag_28\n swap3\n swap2\n swap1\n tag_29\n jump\t// in\n tag_28:\n pop\n /* \"contracts/helloWorld.sol\":326:416 function setText(string calldata newText) public onlyOwner {... */\n pop\n pop\n jump\t// out\n /* \"contracts/helloWorld.sol\":122:142 address public owner */\n tag_12:\n 0x01\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n jump\t// out\n /* \"contracts/helloWorld.sol\":234:320 function helloWorld() public view returns (string memory) {... */\n tag_16:\n /* \"contracts/helloWorld.sol\":277:290 string memory */\n 0x60\n /* \"contracts/helloWorld.sol\":309:313 text */\n 0x00\n /* \"contracts/helloWorld.sol\":302:313 return text */\n dup1\n sload\n tag_31\n swap1\n tag_32\n jump\t// in\n tag_31:\n dup1\n 0x1f\n add\n 0x20\n dup1\n swap2\n div\n mul\n 0x20\n add\n mload(0x40)\n swap1\n dup2\n add\n 0x40\n mstore\n dup1\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup3\n dup1\n sload\n tag_33\n swap1\n tag_32\n jump\t// in\n tag_33:\n dup1\n iszero\n tag_34\n jumpi\n dup1\n 0x1f\n lt\n tag_35\n jumpi\n 0x0100\n dup1\n dup4\n sload\n div\n mul\n dup4\n mstore\n swap2\n 0x20\n add\n swap2\n jump(tag_34)\n tag_35:\n dup3\n add\n swap2\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n tag_36:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x01\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_36\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_34:\n pop\n pop\n pop\n pop\n pop\n swap1\n pop\n /* \"contracts/helloWorld.sol\":234:320 function helloWorld() public view returns (string memory) {... */\n swap1\n jump\t// out\n /* \"contracts/helloWorld.sol\":422:517 function transferOwnership(address newOwner) public onlyOwner {... */\n tag_22:\n /* \"contracts/helloWorld.sol\":581:586 owner */\n 0x01\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/helloWorld.sol\":567:586 msg.sender == owner */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/helloWorld.sol\":567:577 msg.sender */\n caller\n /* \"contracts/helloWorld.sol\":567:586 msg.sender == owner */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"contracts/helloWorld.sol\":558:614 require (msg.sender == owner, \"Caller is not the owner\") */\n tag_38\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_39\n swap1\n tag_26\n jump\t// in\n tag_39:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_38:\n /* \"contracts/helloWorld.sol\":502:510 newOwner */\n dup1\n /* \"contracts/helloWorld.sol\":494:499 owner */\n 0x01\n 0x00\n /* \"contracts/helloWorld.sol\":494:510 owner = newOwner */\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/helloWorld.sol\":422:517 function transferOwnership(address newOwner) public onlyOwner {... */\n pop\n jump\t// out\n /* \"#utility.yul\":88:205 */\n tag_42:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n dup1\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":211:328 */\n tag_43:\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 */\n tag_44:\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:574 */\n tag_45:\n /* \"#utility.yul\":566:567 */\n 0x00\n /* \"#utility.yul\":563:564 */\n dup1\n /* \"#utility.yul\":556:568 */\n revert\n /* \"#utility.yul\":580:697 */\n tag_46:\n /* \"#utility.yul\":689:690 */\n 0x00\n /* \"#utility.yul\":686:687 */\n dup1\n /* \"#utility.yul\":679:691 */\n revert\n /* \"#utility.yul\":717:1270 */\n tag_47:\n /* \"#utility.yul\":775:783 */\n 0x00\n /* \"#utility.yul\":785:791 */\n dup1\n /* \"#utility.yul\":835:838 */\n dup4\n /* \"#utility.yul\":828:832 */\n 0x1f\n /* \"#utility.yul\":820:826 */\n dup5\n /* \"#utility.yul\":816:833 */\n add\n /* \"#utility.yul\":812:839 */\n slt\n /* \"#utility.yul\":802:924 */\n tag_87\n jumpi\n /* \"#utility.yul\":843:922 */\n tag_88\n tag_44\n jump\t// in\n tag_88:\n /* \"#utility.yul\":802:924 */\n tag_87:\n /* \"#utility.yul\":956:962 */\n dup3\n /* \"#utility.yul\":943:963 */\n calldataload\n /* \"#utility.yul\":933:963 */\n swap1\n pop\n /* \"#utility.yul\":986:1004 */\n 0xffffffffffffffff\n /* \"#utility.yul\":978:984 */\n dup2\n /* \"#utility.yul\":975:1005 */\n gt\n /* \"#utility.yul\":972:1089 */\n iszero\n tag_89\n jumpi\n /* \"#utility.yul\":1008:1087 */\n tag_90\n tag_45\n jump\t// in\n tag_90:\n /* \"#utility.yul\":972:1089 */\n tag_89:\n /* \"#utility.yul\":1122:1126 */\n 0x20\n /* \"#utility.yul\":1114:1120 */\n dup4\n /* \"#utility.yul\":1110:1127 */\n add\n /* \"#utility.yul\":1098:1127 */\n swap2\n pop\n /* \"#utility.yul\":1176:1179 */\n dup4\n /* \"#utility.yul\":1168:1172 */\n 0x01\n /* \"#utility.yul\":1160:1166 */\n dup3\n /* \"#utility.yul\":1156:1173 */\n mul\n /* \"#utility.yul\":1146:1154 */\n dup4\n /* \"#utility.yul\":1142:1174 */\n add\n /* \"#utility.yul\":1139:1180 */\n gt\n /* \"#utility.yul\":1136:1264 */\n iszero\n tag_91\n jumpi\n /* \"#utility.yul\":1183:1262 */\n tag_92\n tag_46\n jump\t// in\n tag_92:\n /* \"#utility.yul\":1136:1264 */\n tag_91:\n /* \"#utility.yul\":717:1270 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1276:1805 */\n tag_9:\n /* \"#utility.yul\":1347:1353 */\n 0x00\n /* \"#utility.yul\":1355:1361 */\n dup1\n /* \"#utility.yul\":1404:1406 */\n 0x20\n /* \"#utility.yul\":1392:1401 */\n dup4\n /* \"#utility.yul\":1383:1390 */\n dup6\n /* \"#utility.yul\":1379:1402 */\n sub\n /* \"#utility.yul\":1375:1407 */\n slt\n /* \"#utility.yul\":1372:1491 */\n iszero\n tag_94\n jumpi\n /* \"#utility.yul\":1410:1489 */\n tag_95\n tag_42\n jump\t// in\n tag_95:\n /* \"#utility.yul\":1372:1491 */\n tag_94:\n /* \"#utility.yul\":1558:1559 */\n 0x00\n /* \"#utility.yul\":1547:1556 */\n dup4\n /* \"#utility.yul\":1543:1560 */\n add\n /* \"#utility.yul\":1530:1561 */\n calldataload\n /* \"#utility.yul\":1588:1606 */\n 0xffffffffffffffff\n /* \"#utility.yul\":1580:1586 */\n dup2\n /* \"#utility.yul\":1577:1607 */\n gt\n /* \"#utility.yul\":1574:1691 */\n iszero\n tag_96\n jumpi\n /* \"#utility.yul\":1610:1689 */\n tag_97\n tag_43\n jump\t// in\n tag_97:\n /* \"#utility.yul\":1574:1691 */\n tag_96:\n /* \"#utility.yul\":1723:1788 */\n tag_98\n /* \"#utility.yul\":1780:1787 */\n dup6\n /* \"#utility.yul\":1771:1777 */\n dup3\n /* \"#utility.yul\":1760:1769 */\n dup7\n /* \"#utility.yul\":1756:1778 */\n add\n /* \"#utility.yul\":1723:1788 */\n tag_47\n jump\t// in\n tag_98:\n /* \"#utility.yul\":1705:1788 */\n swap3\n pop\n swap3\n pop\n /* \"#utility.yul\":1501:1798 */\n pop\n /* \"#utility.yul\":1276:1805 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1811:1937 */\n tag_48:\n /* \"#utility.yul\":1848:1855 */\n 0x00\n /* \"#utility.yul\":1888:1930 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":1881:1886 */\n dup3\n /* \"#utility.yul\":1877:1931 */\n and\n /* \"#utility.yul\":1866:1931 */\n swap1\n pop\n /* \"#utility.yul\":1811:1937 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1943:2039 */\n tag_49:\n /* \"#utility.yul\":1980:1987 */\n 0x00\n /* \"#utility.yul\":2009:2033 */\n tag_101\n /* \"#utility.yul\":2027:2032 */\n dup3\n /* \"#utility.yul\":2009:2033 */\n tag_48\n jump\t// in\n tag_101:\n /* \"#utility.yul\":1998:2033 */\n swap1\n pop\n /* \"#utility.yul\":1943:2039 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2045:2163 */\n tag_50:\n /* \"#utility.yul\":2132:2156 */\n tag_103\n /* \"#utility.yul\":2150:2155 */\n dup2\n /* \"#utility.yul\":2132:2156 */\n tag_49\n jump\t// in\n tag_103:\n /* \"#utility.yul\":2127:2130 */\n dup3\n /* \"#utility.yul\":2120:2157 */\n mstore\n /* \"#utility.yul\":2045:2163 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2169:2391 */\n tag_14:\n /* \"#utility.yul\":2262:2266 */\n 0x00\n /* \"#utility.yul\":2300:2302 */\n 0x20\n /* \"#utility.yul\":2289:2298 */\n dup3\n /* \"#utility.yul\":2285:2303 */\n add\n /* \"#utility.yul\":2277:2303 */\n swap1\n pop\n /* \"#utility.yul\":2313:2384 */\n tag_105\n /* \"#utility.yul\":2381:2382 */\n 0x00\n /* \"#utility.yul\":2370:2379 */\n dup4\n /* \"#utility.yul\":2366:2383 */\n add\n /* \"#utility.yul\":2357:2363 */\n dup5\n /* \"#utility.yul\":2313:2384 */\n tag_50\n jump\t// in\n tag_105:\n /* \"#utility.yul\":2169:2391 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2397:2496 */\n tag_51:\n /* \"#utility.yul\":2449:2455 */\n 0x00\n /* \"#utility.yul\":2483:2488 */\n dup2\n /* \"#utility.yul\":2477:2489 */\n mload\n /* \"#utility.yul\":2467:2489 */\n swap1\n pop\n /* \"#utility.yul\":2397:2496 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2502:2671 */\n tag_52:\n /* \"#utility.yul\":2586:2597 */\n 0x00\n /* \"#utility.yul\":2620:2626 */\n dup3\n /* \"#utility.yul\":2615:2618 */\n dup3\n /* \"#utility.yul\":2608:2627 */\n mstore\n /* \"#utility.yul\":2660:2664 */\n 0x20\n /* \"#utility.yul\":2655:2658 */\n dup3\n /* \"#utility.yul\":2651:2665 */\n add\n /* \"#utility.yul\":2636:2665 */\n swap1\n pop\n /* \"#utility.yul\":2502:2671 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2677:2923 */\n tag_53:\n /* \"#utility.yul\":2758:2759 */\n 0x00\n /* \"#utility.yul\":2768:2881 */\n tag_109:\n /* \"#utility.yul\":2782:2788 */\n dup4\n /* \"#utility.yul\":2779:2780 */\n dup2\n /* \"#utility.yul\":2776:2789 */\n lt\n /* \"#utility.yul\":2768:2881 */\n iszero\n tag_111\n jumpi\n /* \"#utility.yul\":2867:2868 */\n dup1\n /* \"#utility.yul\":2862:2865 */\n dup3\n /* \"#utility.yul\":2858:2869 */\n add\n /* \"#utility.yul\":2852:2870 */\n mload\n /* \"#utility.yul\":2848:2849 */\n dup2\n /* \"#utility.yul\":2843:2846 */\n dup5\n /* \"#utility.yul\":2839:2850 */\n add\n /* \"#utility.yul\":2832:2871 */\n mstore\n /* \"#utility.yul\":2804:2806 */\n 0x20\n /* \"#utility.yul\":2801:2802 */\n dup2\n /* \"#utility.yul\":2797:2807 */\n add\n /* \"#utility.yul\":2792:2807 */\n swap1\n pop\n /* \"#utility.yul\":2768:2881 */\n jump(tag_109)\n tag_111:\n /* \"#utility.yul\":2915:2916 */\n 0x00\n /* \"#utility.yul\":2906:2912 */\n dup5\n /* \"#utility.yul\":2901:2904 */\n dup5\n /* \"#utility.yul\":2897:2913 */\n add\n /* \"#utility.yul\":2890:2917 */\n mstore\n /* \"#utility.yul\":2739:2923 */\n pop\n /* \"#utility.yul\":2677:2923 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2929:3031 */\n tag_54:\n /* \"#utility.yul\":2970:2976 */\n 0x00\n /* \"#utility.yul\":3021:3023 */\n 0x1f\n /* \"#utility.yul\":3017:3024 */\n not\n /* \"#utility.yul\":3012:3014 */\n 0x1f\n /* \"#utility.yul\":3005:3010 */\n dup4\n /* \"#utility.yul\":3001:3015 */\n add\n /* \"#utility.yul\":2997:3025 */\n and\n /* \"#utility.yul\":2987:3025 */\n swap1\n pop\n /* \"#utility.yul\":2929:3031 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3037:3414 */\n tag_55:\n /* \"#utility.yul\":3125:3128 */\n 0x00\n /* \"#utility.yul\":3153:3192 */\n tag_114\n /* \"#utility.yul\":3186:3191 */\n dup3\n /* \"#utility.yul\":3153:3192 */\n tag_51\n jump\t// in\n tag_114:\n /* \"#utility.yul\":3208:3279 */\n tag_115\n /* \"#utility.yul\":3272:3278 */\n dup2\n /* \"#utility.yul\":3267:3270 */\n dup6\n /* \"#utility.yul\":3208:3279 */\n tag_52\n jump\t// in\n tag_115:\n /* \"#utility.yul\":3201:3279 */\n swap4\n pop\n /* \"#utility.yul\":3288:3353 */\n tag_116\n /* \"#utility.yul\":3346:3352 */\n dup2\n /* \"#utility.yul\":3341:3344 */\n dup6\n /* \"#utility.yul\":3334:3338 */\n 0x20\n /* \"#utility.yul\":3327:3332 */\n dup7\n /* \"#utility.yul\":3323:3339 */\n add\n /* \"#utility.yul\":3288:3353 */\n tag_53\n jump\t// in\n tag_116:\n /* \"#utility.yul\":3378:3407 */\n tag_117\n /* \"#utility.yul\":3400:3406 */\n dup2\n /* \"#utility.yul\":3378:3407 */\n tag_54\n jump\t// in\n tag_117:\n /* \"#utility.yul\":3373:3376 */\n dup5\n /* \"#utility.yul\":3369:3408 */\n add\n /* \"#utility.yul\":3362:3408 */\n swap2\n pop\n /* \"#utility.yul\":3129:3414 */\n pop\n /* \"#utility.yul\":3037:3414 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3420:3733 */\n tag_18:\n /* \"#utility.yul\":3533:3537 */\n 0x00\n /* \"#utility.yul\":3571:3573 */\n 0x20\n /* \"#utility.yul\":3560:3569 */\n dup3\n /* \"#utility.yul\":3556:3574 */\n add\n /* \"#utility.yul\":3548:3574 */\n swap1\n pop\n /* \"#utility.yul\":3620:3629 */\n dup2\n /* \"#utility.yul\":3614:3618 */\n dup2\n /* \"#utility.yul\":3610:3630 */\n sub\n /* \"#utility.yul\":3606:3607 */\n 0x00\n /* \"#utility.yul\":3595:3604 */\n dup4\n /* \"#utility.yul\":3591:3608 */\n add\n /* \"#utility.yul\":3584:3631 */\n mstore\n /* \"#utility.yul\":3648:3726 */\n tag_119\n /* \"#utility.yul\":3721:3725 */\n dup2\n /* \"#utility.yul\":3712:3718 */\n dup5\n /* \"#utility.yul\":3648:3726 */\n tag_55\n jump\t// in\n tag_119:\n /* \"#utility.yul\":3640:3726 */\n swap1\n pop\n /* \"#utility.yul\":3420:3733 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3739:3861 */\n tag_56:\n /* \"#utility.yul\":3812:3836 */\n tag_121\n /* \"#utility.yul\":3830:3835 */\n dup2\n /* \"#utility.yul\":3812:3836 */\n tag_49\n jump\t// in\n tag_121:\n /* \"#utility.yul\":3805:3810 */\n dup2\n /* \"#utility.yul\":3802:3837 */\n eq\n /* \"#utility.yul\":3792:3855 */\n tag_122\n jumpi\n /* \"#utility.yul\":3851:3852 */\n 0x00\n /* \"#utility.yul\":3848:3849 */\n dup1\n /* \"#utility.yul\":3841:3853 */\n revert\n /* \"#utility.yul\":3792:3855 */\n tag_122:\n /* \"#utility.yul\":3739:3861 */\n pop\n jump\t// out\n /* \"#utility.yul\":3867:4006 */\n tag_57:\n /* \"#utility.yul\":3913:3918 */\n 0x00\n /* \"#utility.yul\":3951:3957 */\n dup2\n /* \"#utility.yul\":3938:3958 */\n calldataload\n /* \"#utility.yul\":3929:3958 */\n swap1\n pop\n /* \"#utility.yul\":3967:4000 */\n tag_124\n /* \"#utility.yul\":3994:3999 */\n dup2\n /* \"#utility.yul\":3967:4000 */\n tag_56\n jump\t// in\n tag_124:\n /* \"#utility.yul\":3867:4006 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4012:4341 */\n tag_21:\n /* \"#utility.yul\":4071:4077 */\n 0x00\n /* \"#utility.yul\":4120:4122 */\n 0x20\n /* \"#utility.yul\":4108:4117 */\n dup3\n /* \"#utility.yul\":4099:4106 */\n dup5\n /* \"#utility.yul\":4095:4118 */\n sub\n /* \"#utility.yul\":4091:4123 */\n slt\n /* \"#utility.yul\":4088:4207 */\n iszero\n tag_126\n jumpi\n /* \"#utility.yul\":4126:4205 */\n tag_127\n tag_42\n jump\t// in\n tag_127:\n /* \"#utility.yul\":4088:4207 */\n tag_126:\n /* \"#utility.yul\":4246:4247 */\n 0x00\n /* \"#utility.yul\":4271:4324 */\n tag_128\n /* \"#utility.yul\":4316:4323 */\n dup5\n /* \"#utility.yul\":4307:4313 */\n dup3\n /* \"#utility.yul\":4296:4305 */\n dup6\n /* \"#utility.yul\":4292:4314 */\n add\n /* \"#utility.yul\":4271:4324 */\n tag_57\n jump\t// in\n tag_128:\n /* \"#utility.yul\":4261:4324 */\n swap2\n pop\n /* \"#utility.yul\":4217:4334 */\n pop\n /* \"#utility.yul\":4012:4341 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4347:4520 */\n tag_58:\n /* \"#utility.yul\":4487:4512 */\n 0x43616c6c6572206973206e6f7420746865206f776e6572000000000000000000\n /* \"#utility.yul\":4483:4484 */\n 0x00\n /* \"#utility.yul\":4475:4481 */\n dup3\n /* \"#utility.yul\":4471:4485 */\n add\n /* \"#utility.yul\":4464:4513 */\n mstore\n /* \"#utility.yul\":4347:4520 */\n pop\n jump\t// out\n /* \"#utility.yul\":4526:4892 */\n tag_59:\n /* \"#utility.yul\":4668:4671 */\n 0x00\n /* \"#utility.yul\":4689:4756 */\n tag_131\n /* \"#utility.yul\":4753:4755 */\n 0x17\n /* \"#utility.yul\":4748:4751 */\n dup4\n /* \"#utility.yul\":4689:4756 */\n tag_52\n jump\t// in\n tag_131:\n /* \"#utility.yul\":4682:4756 */\n swap2\n pop\n /* \"#utility.yul\":4765:4858 */\n tag_132\n /* \"#utility.yul\":4854:4857 */\n dup3\n /* \"#utility.yul\":4765:4858 */\n tag_58\n jump\t// in\n tag_132:\n /* \"#utility.yul\":4883:4885 */\n 0x20\n /* \"#utility.yul\":4878:4881 */\n dup3\n /* \"#utility.yul\":4874:4886 */\n add\n /* \"#utility.yul\":4867:4886 */\n swap1\n pop\n /* \"#utility.yul\":4526:4892 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4898:5317 */\n tag_26:\n /* \"#utility.yul\":5064:5068 */\n 0x00\n /* \"#utility.yul\":5102:5104 */\n 0x20\n /* \"#utility.yul\":5091:5100 */\n dup3\n /* \"#utility.yul\":5087:5105 */\n add\n /* \"#utility.yul\":5079:5105 */\n swap1\n pop\n /* \"#utility.yul\":5151:5160 */\n dup2\n /* \"#utility.yul\":5145:5149 */\n dup2\n /* \"#utility.yul\":5141:5161 */\n sub\n /* \"#utility.yul\":5137:5138 */\n 0x00\n /* \"#utility.yul\":5126:5135 */\n dup4\n /* \"#utility.yul\":5122:5139 */\n add\n /* \"#utility.yul\":5115:5162 */\n mstore\n /* \"#utility.yul\":5179:5310 */\n tag_134\n /* \"#utility.yul\":5305:5309 */\n dup2\n /* \"#utility.yul\":5179:5310 */\n tag_59\n jump\t// in\n tag_134:\n /* \"#utility.yul\":5171:5310 */\n swap1\n pop\n /* \"#utility.yul\":4898:5317 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5323:5420 */\n tag_60:\n /* \"#utility.yul\":5382:5388 */\n 0x00\n /* \"#utility.yul\":5410:5413 */\n dup3\n /* \"#utility.yul\":5400:5413 */\n swap1\n pop\n /* \"#utility.yul\":5323:5420 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5426:5606 */\n tag_61:\n /* \"#utility.yul\":5474:5551 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":5471:5472 */\n 0x00\n /* \"#utility.yul\":5464:5552 */\n mstore\n /* \"#utility.yul\":5571:5575 */\n 0x41\n /* \"#utility.yul\":5568:5569 */\n 0x04\n /* \"#utility.yul\":5561:5576 */\n mstore\n /* \"#utility.yul\":5595:5599 */\n 0x24\n /* \"#utility.yul\":5592:5593 */\n 0x00\n /* \"#utility.yul\":5585:5600 */\n revert\n /* \"#utility.yul\":5612:5792 */\n tag_62:\n /* \"#utility.yul\":5660:5737 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":5657:5658 */\n 0x00\n /* \"#utility.yul\":5650:5738 */\n mstore\n /* \"#utility.yul\":5757:5761 */\n 0x22\n /* \"#utility.yul\":5754:5755 */\n 0x04\n /* \"#utility.yul\":5747:5762 */\n mstore\n /* \"#utility.yul\":5781:5785 */\n 0x24\n /* \"#utility.yul\":5778:5779 */\n 0x00\n /* \"#utility.yul\":5771:5786 */\n revert\n /* \"#utility.yul\":5798:6118 */\n tag_32:\n /* \"#utility.yul\":5842:5848 */\n 0x00\n /* \"#utility.yul\":5879:5880 */\n 0x02\n /* \"#utility.yul\":5873:5877 */\n dup3\n /* \"#utility.yul\":5869:5881 */\n div\n /* \"#utility.yul\":5859:5881 */\n swap1\n pop\n /* \"#utility.yul\":5926:5927 */\n 0x01\n /* \"#utility.yul\":5920:5924 */\n dup3\n /* \"#utility.yul\":5916:5928 */\n and\n /* \"#utility.yul\":5947:5965 */\n dup1\n /* \"#utility.yul\":5937:6018 */\n tag_139\n jumpi\n /* \"#utility.yul\":6003:6007 */\n 0x7f\n /* \"#utility.yul\":5995:6001 */\n dup3\n /* \"#utility.yul\":5991:6008 */\n and\n /* \"#utility.yul\":5981:6008 */\n swap2\n pop\n /* \"#utility.yul\":5937:6018 */\n tag_139:\n /* \"#utility.yul\":6065:6067 */\n 0x20\n /* \"#utility.yul\":6057:6063 */\n dup3\n /* \"#utility.yul\":6054:6068 */\n lt\n /* \"#utility.yul\":6034:6052 */\n dup2\n /* \"#utility.yul\":6031:6069 */\n sub\n /* \"#utility.yul\":6028:6112 */\n tag_140\n jumpi\n /* \"#utility.yul\":6084:6102 */\n tag_141\n tag_62\n jump\t// in\n tag_141:\n /* \"#utility.yul\":6028:6112 */\n tag_140:\n /* \"#utility.yul\":5849:6118 */\n pop\n /* \"#utility.yul\":5798:6118 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6124:6265 */\n tag_63:\n /* \"#utility.yul\":6173:6177 */\n 0x00\n /* \"#utility.yul\":6196:6199 */\n dup2\n /* \"#utility.yul\":6188:6199 */\n swap1\n pop\n /* \"#utility.yul\":6219:6222 */\n dup2\n /* \"#utility.yul\":6216:6217 */\n 0x00\n /* \"#utility.yul\":6209:6223 */\n mstore\n /* \"#utility.yul\":6253:6257 */\n 0x20\n /* \"#utility.yul\":6250:6251 */\n 0x00\n /* \"#utility.yul\":6240:6258 */\n keccak256\n /* \"#utility.yul\":6232:6258 */\n swap1\n pop\n /* \"#utility.yul\":6124:6265 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6271:6364 */\n tag_64:\n /* \"#utility.yul\":6308:6314 */\n 0x00\n /* \"#utility.yul\":6355:6357 */\n 0x20\n /* \"#utility.yul\":6350:6352 */\n 0x1f\n /* \"#utility.yul\":6343:6348 */\n dup4\n /* \"#utility.yul\":6339:6353 */\n add\n /* \"#utility.yul\":6335:6358 */\n div\n /* \"#utility.yul\":6325:6358 */\n swap1\n pop\n /* \"#utility.yul\":6271:6364 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6370:6477 */\n tag_65:\n /* \"#utility.yul\":6414:6422 */\n 0x00\n /* \"#utility.yul\":6464:6469 */\n dup3\n /* \"#utility.yul\":6458:6462 */\n dup3\n /* \"#utility.yul\":6454:6470 */\n shl\n /* \"#utility.yul\":6433:6470 */\n swap1\n pop\n /* \"#utility.yul\":6370:6477 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6483:6876 */\n tag_66:\n /* \"#utility.yul\":6552:6558 */\n 0x00\n /* \"#utility.yul\":6602:6603 */\n 0x08\n /* \"#utility.yul\":6590:6600 */\n dup4\n /* \"#utility.yul\":6586:6604 */\n mul\n /* \"#utility.yul\":6625:6722 */\n tag_146\n /* \"#utility.yul\":6655:6721 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":6644:6653 */\n dup3\n /* \"#utility.yul\":6625:6722 */\n tag_65\n jump\t// in\n tag_146:\n /* \"#utility.yul\":6743:6782 */\n tag_147\n /* \"#utility.yul\":6773:6781 */\n dup7\n /* \"#utility.yul\":6762:6771 */\n dup4\n /* \"#utility.yul\":6743:6782 */\n tag_65\n jump\t// in\n tag_147:\n /* \"#utility.yul\":6731:6782 */\n swap6\n pop\n /* \"#utility.yul\":6815:6819 */\n dup1\n /* \"#utility.yul\":6811:6820 */\n not\n /* \"#utility.yul\":6804:6809 */\n dup5\n /* \"#utility.yul\":6800:6821 */\n and\n /* \"#utility.yul\":6791:6821 */\n swap4\n pop\n /* \"#utility.yul\":6864:6868 */\n dup1\n /* \"#utility.yul\":6854:6862 */\n dup7\n /* \"#utility.yul\":6850:6869 */\n and\n /* \"#utility.yul\":6843:6848 */\n dup5\n /* \"#utility.yul\":6840:6870 */\n or\n /* \"#utility.yul\":6830:6870 */\n swap3\n pop\n /* \"#utility.yul\":6559:6876 */\n pop\n pop\n /* \"#utility.yul\":6483:6876 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6882:6959 */\n tag_67:\n /* \"#utility.yul\":6919:6926 */\n 0x00\n /* \"#utility.yul\":6948:6953 */\n dup2\n /* \"#utility.yul\":6937:6953 */\n swap1\n pop\n /* \"#utility.yul\":6882:6959 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6965:7025 */\n tag_68:\n /* \"#utility.yul\":6993:6996 */\n 0x00\n /* \"#utility.yul\":7014:7019 */\n dup2\n /* \"#utility.yul\":7007:7019 */\n swap1\n pop\n /* \"#utility.yul\":6965:7025 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7031:7173 */\n tag_69:\n /* \"#utility.yul\":7081:7090 */\n 0x00\n /* \"#utility.yul\":7114:7167 */\n tag_151\n /* \"#utility.yul\":7132:7166 */\n tag_152\n /* \"#utility.yul\":7141:7165 */\n tag_153\n /* \"#utility.yul\":7159:7164 */\n dup5\n /* \"#utility.yul\":7141:7165 */\n tag_67\n jump\t// in\n tag_153:\n /* \"#utility.yul\":7132:7166 */\n tag_68\n jump\t// in\n tag_152:\n /* \"#utility.yul\":7114:7167 */\n tag_67\n jump\t// in\n tag_151:\n /* \"#utility.yul\":7101:7167 */\n swap1\n pop\n /* \"#utility.yul\":7031:7173 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7179:7254 */\n tag_70:\n /* \"#utility.yul\":7222:7225 */\n 0x00\n /* \"#utility.yul\":7243:7248 */\n dup2\n /* \"#utility.yul\":7236:7248 */\n swap1\n pop\n /* \"#utility.yul\":7179:7254 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7260:7529 */\n tag_71:\n /* \"#utility.yul\":7370:7409 */\n tag_156\n /* \"#utility.yul\":7401:7408 */\n dup4\n /* \"#utility.yul\":7370:7409 */\n tag_69\n jump\t// in\n tag_156:\n /* \"#utility.yul\":7431:7522 */\n tag_157\n /* \"#utility.yul\":7480:7521 */\n tag_158\n /* \"#utility.yul\":7504:7520 */\n dup3\n /* \"#utility.yul\":7480:7521 */\n tag_70\n jump\t// in\n tag_158:\n /* \"#utility.yul\":7472:7478 */\n dup5\n /* \"#utility.yul\":7465:7469 */\n dup5\n /* \"#utility.yul\":7459:7470 */\n sload\n /* \"#utility.yul\":7431:7522 */\n tag_66\n jump\t// in\n tag_157:\n /* \"#utility.yul\":7425:7429 */\n dup3\n /* \"#utility.yul\":7418:7523 */\n sstore\n /* \"#utility.yul\":7336:7529 */\n pop\n /* \"#utility.yul\":7260:7529 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7535:7608 */\n tag_72:\n /* \"#utility.yul\":7580:7583 */\n 0x00\n /* \"#utility.yul\":7535:7608 */\n swap1\n jump\t// out\n /* \"#utility.yul\":7614:7803 */\n tag_73:\n /* \"#utility.yul\":7691:7723 */\n tag_161\n tag_72\n jump\t// in\n tag_161:\n /* \"#utility.yul\":7732:7797 */\n tag_162\n /* \"#utility.yul\":7790:7796 */\n dup2\n /* \"#utility.yul\":7782:7788 */\n dup5\n /* \"#utility.yul\":7776:7780 */\n dup5\n /* \"#utility.yul\":7732:7797 */\n tag_71\n jump\t// in\n tag_162:\n /* \"#utility.yul\":7667:7803 */\n pop\n /* \"#utility.yul\":7614:7803 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7809:7995 */\n tag_74:\n /* \"#utility.yul\":7869:7989 */\n tag_164:\n /* \"#utility.yul\":7886:7889 */\n dup2\n /* \"#utility.yul\":7879:7884 */\n dup2\n /* \"#utility.yul\":7876:7890 */\n lt\n /* \"#utility.yul\":7869:7989 */\n iszero\n tag_166\n jumpi\n /* \"#utility.yul\":7940:7979 */\n tag_167\n /* \"#utility.yul\":7977:7978 */\n 0x00\n /* \"#utility.yul\":7970:7975 */\n dup3\n /* \"#utility.yul\":7940:7979 */\n tag_73\n jump\t// in\n tag_167:\n /* \"#utility.yul\":7913:7914 */\n 0x01\n /* \"#utility.yul\":7906:7911 */\n dup2\n /* \"#utility.yul\":7902:7915 */\n add\n /* \"#utility.yul\":7893:7915 */\n swap1\n pop\n /* \"#utility.yul\":7869:7989 */\n jump(tag_164)\n tag_166:\n /* \"#utility.yul\":7809:7995 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8001:8544 */\n tag_75:\n /* \"#utility.yul\":8102:8104 */\n 0x1f\n /* \"#utility.yul\":8097:8100 */\n dup3\n /* \"#utility.yul\":8094:8105 */\n gt\n /* \"#utility.yul\":8091:8537 */\n iszero\n tag_169\n jumpi\n /* \"#utility.yul\":8136:8174 */\n tag_170\n /* \"#utility.yul\":8168:8173 */\n dup2\n /* \"#utility.yul\":8136:8174 */\n tag_63\n jump\t// in\n tag_170:\n /* \"#utility.yul\":8220:8249 */\n tag_171\n /* \"#utility.yul\":8238:8248 */\n dup5\n /* \"#utility.yul\":8220:8249 */\n tag_64\n jump\t// in\n tag_171:\n /* \"#utility.yul\":8210:8218 */\n dup2\n /* \"#utility.yul\":8206:8250 */\n add\n /* \"#utility.yul\":8403:8405 */\n 0x20\n /* \"#utility.yul\":8391:8401 */\n dup6\n /* \"#utility.yul\":8388:8406 */\n lt\n /* \"#utility.yul\":8385:8434 */\n iszero\n tag_172\n jumpi\n /* \"#utility.yul\":8424:8432 */\n dup2\n /* \"#utility.yul\":8409:8432 */\n swap1\n pop\n /* \"#utility.yul\":8385:8434 */\n tag_172:\n /* \"#utility.yul\":8447:8527 */\n tag_173\n /* \"#utility.yul\":8503:8525 */\n tag_174\n /* \"#utility.yul\":8521:8524 */\n dup6\n /* \"#utility.yul\":8503:8525 */\n tag_64\n jump\t// in\n tag_174:\n /* \"#utility.yul\":8493:8501 */\n dup4\n /* \"#utility.yul\":8489:8526 */\n add\n /* \"#utility.yul\":8476:8487 */\n dup3\n /* \"#utility.yul\":8447:8527 */\n tag_74\n jump\t// in\n tag_173:\n /* \"#utility.yul\":8106:8537 */\n pop\n pop\n /* \"#utility.yul\":8091:8537 */\n tag_169:\n /* \"#utility.yul\":8001:8544 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8550:8667 */\n tag_76:\n /* \"#utility.yul\":8604:8612 */\n 0x00\n /* \"#utility.yul\":8654:8659 */\n dup3\n /* \"#utility.yul\":8648:8652 */\n dup3\n /* \"#utility.yul\":8644:8660 */\n shr\n /* \"#utility.yul\":8623:8660 */\n swap1\n pop\n /* \"#utility.yul\":8550:8667 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8673:8842 */\n tag_77:\n /* \"#utility.yul\":8717:8723 */\n 0x00\n /* \"#utility.yul\":8750:8801 */\n tag_177\n /* \"#utility.yul\":8798:8799 */\n 0x00\n /* \"#utility.yul\":8794:8800 */\n not\n /* \"#utility.yul\":8786:8791 */\n dup5\n /* \"#utility.yul\":8783:8784 */\n 0x08\n /* \"#utility.yul\":8779:8792 */\n mul\n /* \"#utility.yul\":8750:8801 */\n tag_76\n jump\t// in\n tag_177:\n /* \"#utility.yul\":8746:8802 */\n not\n /* \"#utility.yul\":8831:8835 */\n dup1\n /* \"#utility.yul\":8825:8829 */\n dup4\n /* \"#utility.yul\":8821:8836 */\n and\n /* \"#utility.yul\":8811:8836 */\n swap2\n pop\n /* \"#utility.yul\":8724:8842 */\n pop\n /* \"#utility.yul\":8673:8842 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8847:9142 */\n tag_78:\n /* \"#utility.yul\":8923:8927 */\n 0x00\n /* \"#utility.yul\":9069:9098 */\n tag_179\n /* \"#utility.yul\":9094:9097 */\n dup4\n /* \"#utility.yul\":9088:9092 */\n dup4\n /* \"#utility.yul\":9069:9098 */\n tag_77\n jump\t// in\n tag_179:\n /* \"#utility.yul\":9061:9098 */\n swap2\n pop\n /* \"#utility.yul\":9131:9134 */\n dup3\n /* \"#utility.yul\":9128:9129 */\n 0x02\n /* \"#utility.yul\":9124:9135 */\n mul\n /* \"#utility.yul\":9118:9122 */\n dup3\n /* \"#utility.yul\":9115:9136 */\n or\n /* \"#utility.yul\":9107:9136 */\n swap1\n pop\n /* \"#utility.yul\":8847:9142 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":9147:10550 */\n tag_29:\n /* \"#utility.yul\":9271:9315 */\n tag_181\n /* \"#utility.yul\":9311:9314 */\n dup4\n /* \"#utility.yul\":9306:9309 */\n dup4\n /* \"#utility.yul\":9271:9315 */\n tag_60\n jump\t// in\n tag_181:\n /* \"#utility.yul\":9380:9398 */\n 0xffffffffffffffff\n /* \"#utility.yul\":9372:9378 */\n dup2\n /* \"#utility.yul\":9369:9399 */\n gt\n /* \"#utility.yul\":9366:9422 */\n iszero\n tag_182\n jumpi\n /* \"#utility.yul\":9402:9420 */\n tag_183\n tag_61\n jump\t// in\n tag_183:\n /* \"#utility.yul\":9366:9422 */\n tag_182:\n /* \"#utility.yul\":9446:9484 */\n tag_184\n /* \"#utility.yul\":9478:9482 */\n dup3\n /* \"#utility.yul\":9472:9483 */\n sload\n /* \"#utility.yul\":9446:9484 */\n tag_32\n jump\t// in\n tag_184:\n /* \"#utility.yul\":9531:9598 */\n tag_185\n /* \"#utility.yul\":9591:9597 */\n dup3\n /* \"#utility.yul\":9583:9589 */\n dup3\n /* \"#utility.yul\":9577:9581 */\n dup6\n /* \"#utility.yul\":9531:9598 */\n tag_75\n jump\t// in\n tag_185:\n /* \"#utility.yul\":9625:9626 */\n 0x00\n /* \"#utility.yul\":9654:9656 */\n 0x1f\n /* \"#utility.yul\":9646:9652 */\n dup4\n /* \"#utility.yul\":9643:9657 */\n gt\n /* \"#utility.yul\":9671:9672 */\n 0x01\n /* \"#utility.yul\":9666:10298 */\n dup2\n eq\n tag_187\n jumpi\n /* \"#utility.yul\":10342:10343 */\n 0x00\n /* \"#utility.yul\":10359:10365 */\n dup5\n /* \"#utility.yul\":10356:10440 */\n iszero\n tag_188\n jumpi\n /* \"#utility.yul\":10415:10424 */\n dup3\n /* \"#utility.yul\":10410:10413 */\n dup8\n /* \"#utility.yul\":10406:10425 */\n add\n /* \"#utility.yul\":10393:10426 */\n calldataload\n /* \"#utility.yul\":10384:10426 */\n swap1\n pop\n /* \"#utility.yul\":10356:10440 */\n tag_188:\n /* \"#utility.yul\":10466:10533 */\n tag_189\n /* \"#utility.yul\":10526:10532 */\n dup6\n /* \"#utility.yul\":10519:10524 */\n dup3\n /* \"#utility.yul\":10466:10533 */\n tag_78\n jump\t// in\n tag_189:\n /* \"#utility.yul\":10460:10464 */\n dup7\n /* \"#utility.yul\":10453:10534 */\n sstore\n /* \"#utility.yul\":10315:10544 */\n pop\n /* \"#utility.yul\":9636:10544 */\n jump(tag_186)\n /* \"#utility.yul\":9666:10298 */\n tag_187:\n /* \"#utility.yul\":9718:9722 */\n 0x1f\n /* \"#utility.yul\":9714:9723 */\n not\n /* \"#utility.yul\":9706:9712 */\n dup5\n /* \"#utility.yul\":9702:9724 */\n and\n /* \"#utility.yul\":9752:9789 */\n tag_190\n /* \"#utility.yul\":9784:9788 */\n dup7\n /* \"#utility.yul\":9752:9789 */\n tag_63\n jump\t// in\n tag_190:\n /* \"#utility.yul\":9811:9812 */\n 0x00\n /* \"#utility.yul\":9825:10040 */\n tag_191:\n /* \"#utility.yul\":9839:9846 */\n dup3\n /* \"#utility.yul\":9836:9837 */\n dup2\n /* \"#utility.yul\":9833:9847 */\n lt\n /* \"#utility.yul\":9825:10040 */\n iszero\n tag_193\n jumpi\n /* \"#utility.yul\":9925:9934 */\n dup5\n /* \"#utility.yul\":9920:9923 */\n dup10\n /* \"#utility.yul\":9916:9935 */\n add\n /* \"#utility.yul\":9903:9936 */\n calldataload\n /* \"#utility.yul\":9895:9901 */\n dup3\n /* \"#utility.yul\":9888:9937 */\n sstore\n /* \"#utility.yul\":9976:9977 */\n 0x01\n /* \"#utility.yul\":9968:9974 */\n dup3\n /* \"#utility.yul\":9964:9978 */\n add\n /* \"#utility.yul\":9954:9978 */\n swap2\n pop\n /* \"#utility.yul\":10023:10025 */\n 0x20\n /* \"#utility.yul\":10012:10021 */\n dup6\n /* \"#utility.yul\":10008:10026 */\n add\n /* \"#utility.yul\":9995:10026 */\n swap5\n pop\n /* \"#utility.yul\":9862:9866 */\n 0x20\n /* \"#utility.yul\":9859:9860 */\n dup2\n /* \"#utility.yul\":9855:9867 */\n add\n /* \"#utility.yul\":9850:9867 */\n swap1\n pop\n /* \"#utility.yul\":9825:10040 */\n jump(tag_191)\n tag_193:\n /* \"#utility.yul\":10068:10074 */\n dup7\n /* \"#utility.yul\":10059:10066 */\n dup4\n /* \"#utility.yul\":10056:10075 */\n lt\n /* \"#utility.yul\":10053:10239 */\n iszero\n tag_194\n jumpi\n /* \"#utility.yul\":10133:10142 */\n dup5\n /* \"#utility.yul\":10128:10131 */\n dup10\n /* \"#utility.yul\":10124:10143 */\n add\n /* \"#utility.yul\":10111:10144 */\n calldataload\n /* \"#utility.yul\":10176:10224 */\n tag_195\n /* \"#utility.yul\":10218:10222 */\n 0x1f\n /* \"#utility.yul\":10210:10216 */\n dup10\n /* \"#utility.yul\":10206:10223 */\n and\n /* \"#utility.yul\":10195:10204 */\n dup3\n /* \"#utility.yul\":10176:10224 */\n tag_77\n jump\t// in\n tag_195:\n /* \"#utility.yul\":10168:10174 */\n dup4\n /* \"#utility.yul\":10161:10225 */\n sstore\n /* \"#utility.yul\":10076:10239 */\n pop\n /* \"#utility.yul\":10053:10239 */\n tag_194:\n /* \"#utility.yul\":10285:10286 */\n 0x01\n /* \"#utility.yul\":10281:10282 */\n 0x02\n /* \"#utility.yul\":10273:10279 */\n dup9\n /* \"#utility.yul\":10269:10283 */\n mul\n /* \"#utility.yul\":10265:10287 */\n add\n /* \"#utility.yul\":10259:10263 */\n dup9\n /* \"#utility.yul\":10252:10288 */\n sstore\n /* \"#utility.yul\":9673:10298 */\n pop\n pop\n pop\n /* \"#utility.yul\":9636:10544 */\n tag_186:\n pop\n /* \"#utility.yul\":9246:10550 */\n pop\n pop\n pop\n /* \"#utility.yul\":9147:10550 */\n pop\n pop\n pop\n jump\t// out\n\n auxdata: 0xa264697066735822122017505db29d005a0ca7290a01a22e0cf9abe8543ef818189ad2148cbb95966fc064736f6c63430008120033\n}\n",
"bytecode": {
"functionDebugData": {
"@_18": {
"entryPoint": null,
"id": 18,
"parameterSlots": 0,
"returnSlots": 0
},
"array_dataslot_t_string_storage": {
"entryPoint": 318,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 160,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 639,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_uint256": {
"entryPoint": 454,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 600,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 474,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": {
"entryPoint": 794,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 339,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 265,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 764,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"identity": {
"entryPoint": 464,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 732,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 218,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 171,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 514,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_left_dynamic": {
"entryPoint": 355,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 719,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 572,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 368,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 524,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 567,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:5231:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "66:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "77:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "93:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "87:5:1"
},
"nodeType": "YulFunctionCall",
"src": "87:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "77:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "49:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "59:6:1",
"type": ""
}
],
"src": "7:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "140:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "157:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "160:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "150:6:1"
},
"nodeType": "YulFunctionCall",
"src": "150:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "150:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "254:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "257:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "247:6:1"
},
"nodeType": "YulFunctionCall",
"src": "247:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "247:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "278:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "281:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "271:6:1"
},
"nodeType": "YulFunctionCall",
"src": "271:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "271:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "112:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "326:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "343:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "346:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "336:6:1"
},
"nodeType": "YulFunctionCall",
"src": "336:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "336:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "440:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "443:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "433:6:1"
},
"nodeType": "YulFunctionCall",
"src": "433:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "433:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "464:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "467:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "457:6:1"
},
"nodeType": "YulFunctionCall",
"src": "457:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "457:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "298:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "535:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "545:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "559:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "565:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "555:3:1"
},
"nodeType": "YulFunctionCall",
"src": "555:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "545:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "576:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "606:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "612:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "602:3:1"
},
"nodeType": "YulFunctionCall",
"src": "602:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "580:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "653:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "667:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "681:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "689:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "677:3:1"
},
"nodeType": "YulFunctionCall",
"src": "677:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "667:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "633:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "626:6:1"
},
"nodeType": "YulFunctionCall",
"src": "626:26:1"
},
"nodeType": "YulIf",
"src": "623:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "756:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "770:16:1"
},
"nodeType": "YulFunctionCall",
"src": "770:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "770:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "720:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "743:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "751:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "740:2:1"
},
"nodeType": "YulFunctionCall",
"src": "740:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "717:2:1"
},
"nodeType": "YulFunctionCall",
"src": "717:38:1"
},
"nodeType": "YulIf",
"src": "714:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "519:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "528:6:1",
"type": ""
}
],
"src": "484:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "864:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "874:11:1",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "882:3:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "874:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "902:1:1",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "905:3:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "895:6:1"
},
"nodeType": "YulFunctionCall",
"src": "895:14:1"
},
"nodeType": "YulExpressionStatement",
"src": "895:14:1"
},
{
"nodeType": "YulAssignment",
"src": "918:26:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "936:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "939:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nodeType": "YulIdentifier",
"src": "926:9:1"
},
"nodeType": "YulFunctionCall",
"src": "926:18:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "918:4:1"
}
]
}
]
},
"name": "array_dataslot_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "851:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "859:4:1",
"type": ""
}
],
"src": "810:141:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1001:49:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1011:33:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1029:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1036:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1025:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1025:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1041:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "1021:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1021:23:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1011:6:1"
}
]
}
]
},
"name": "divide_by_32_ceil",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "984:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "994:6:1",
"type": ""
}
],
"src": "957:93:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1109:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1119:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "1144:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1150:5:1"
}
],
"functionName": {
"name": "shl",
"nodeType": "YulIdentifier",
"src": "1140:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1140:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "1119:8:1"
}
]
}
]
},
"name": "shift_left_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "1084:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1090:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "1100:8:1",
"type": ""
}
],
"src": "1056:107:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1245:317:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1255:35:1",
"value": {
"arguments": [
{
"name": "shiftBytes",
"nodeType": "YulIdentifier",
"src": "1276:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1288:1:1",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "1272:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1272:18:1"
},
"variables": [
{
"name": "shiftBits",
"nodeType": "YulTypedName",
"src": "1259:9:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "1299:109:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "1330:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1341:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "1311:18:1"
},
"nodeType": "YulFunctionCall",
"src": "1311:97:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "1303:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1417:51:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "1448:9:1"
},
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "1459:8:1"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "1429:18:1"
},
"nodeType": "YulFunctionCall",
"src": "1429:39:1"
},
"variableNames": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "1417:8:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1477:30:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1490:5:1"
},
{
"arguments": [
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "1501:4:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "1497:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1497:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1486:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1486:21:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1477:5:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1516:40:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1529:5:1"
},
{
"arguments": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "1540:8:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "1550:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1536:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1536:19:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "1526:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1526:30:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1516:6:1"
}
]
}
]
},
"name": "update_byte_slice_dynamic32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1206:5:1",
"type": ""
},
{
"name": "shiftBytes",
"nodeType": "YulTypedName",
"src": "1213:10:1",
"type": ""
},
{
"name": "toInsert",
"nodeType": "YulTypedName",
"src": "1225:8:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "1238:6:1",
"type": ""
}
],
"src": "1169:393:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1613:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1623:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1634:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1623:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1595:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1605:7:1",
"type": ""
}
],
"src": "1568:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1683:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1693:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1700:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1693:3:1"
}
]
}
]
},
"name": "identity",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1669:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1679:3:1",
"type": ""
}
],
"src": "1651:60:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1777:82:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1787:66:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1845:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1827:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1827:24:1"
}
],
"functionName": {
"name": "identity",
"nodeType": "YulIdentifier",
"src": "1818:8:1"
},
"nodeType": "YulFunctionCall",
"src": "1818:34:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1800:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1800:53:1"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "1787:9:1"
}
]
}
]
},
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1757:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "1767:9:1",
"type": ""
}
],
"src": "1717:142:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1912:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1922:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1929:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1922:3:1"
}
]
}
]
},
"name": "prepare_store_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1898:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1908:3:1",
"type": ""
}
],
"src": "1865:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2022:193:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2032:63:1",
"value": {
"arguments": [
{
"name": "value_0",
"nodeType": "YulIdentifier",
"src": "2087:7:1"
}
],
"functionName": {
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "2056:30:1"
},
"nodeType": "YulFunctionCall",
"src": "2056:39:1"
},
"variables": [
{
"name": "convertedValue_0",
"nodeType": "YulTypedName",
"src": "2036:16:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "2111:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "2151:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "2145:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2145:11:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2158:6:1"
},
{
"arguments": [
{
"name": "convertedValue_0",
"nodeType": "YulIdentifier",
"src": "2190:16:1"
}
],
"functionName": {
"name": "prepare_store_t_uint256",
"nodeType": "YulIdentifier",
"src": "2166:23:1"
},
"nodeType": "YulFunctionCall",
"src": "2166:41:1"
}
],
"functionName": {
"name": "update_byte_slice_dynamic32",
"nodeType": "YulIdentifier",
"src": "2117:27:1"
},
"nodeType": "YulFunctionCall",
"src": "2117:91:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "2104:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2104:105:1"
},
"nodeType": "YulExpressionStatement",
"src": "2104:105:1"
}
]
},
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "1999:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2005:6:1",
"type": ""
},
{
"name": "value_0",
"nodeType": "YulTypedName",
"src": "2013:7:1",
"type": ""
}
],
"src": "1946:269:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2270:24:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2280:8:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2287:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "2280:3:1"
}
]
}
]
},
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "2266:3:1",
"type": ""
}
],
"src": "2221:73:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2353:136:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2363:46:1",
"value": {
"arguments": [],
"functionName": {
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulIdentifier",
"src": "2377:30:1"
},
"nodeType": "YulFunctionCall",
"src": "2377:32:1"
},
"variables": [
{
"name": "zero_0",
"nodeType": "YulTypedName",
"src": "2367:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "2462:4:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2468:6:1"
},
{
"name": "zero_0",
"nodeType": "YulIdentifier",
"src": "2476:6:1"
}
],
"functionName": {
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "2418:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2418:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "2418:65:1"
}
]
},
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "2339:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2345:6:1",
"type": ""
}
],
"src": "2300:189:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2545:136:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2612:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2656:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2663:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulIdentifier",
"src": "2626:29:1"
},
"nodeType": "YulFunctionCall",
"src": "2626:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "2626:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2565:5:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2572:3:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2562:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2562:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "2577:26:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2579:22:1",
"value": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2592:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2599:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2588:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2588:13:1"
},
"variableNames": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2579:5:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "2559:2:1",
"statements": []
},
"src": "2555:120:1"
}
]
},
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "start",
"nodeType": "YulTypedName",
"src": "2533:5:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2540:3:1",
"type": ""
}
],
"src": "2495:186:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2766:464:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2792:431:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2806:54:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "2854:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "2822:31:1"
},
"nodeType": "YulFunctionCall",
"src": "2822:38:1"
},
"variables": [
{
"name": "dataArea",
"nodeType": "YulTypedName",
"src": "2810:8:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2873:63:1",
"value": {
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "2896:8:1"
},
{
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "2924:10:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "2906:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2906:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2892:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2892:44:1"
},
"variables": [
{
"name": "deleteStart",
"nodeType": "YulTypedName",
"src": "2877:11:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3093:27:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3095:23:1",
"value": {
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "3110:8:1"
},
"variableNames": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "3095:11:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "3077:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3089:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "3074:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3074:18:1"
},
"nodeType": "YulIf",
"src": "3071:49:1"
},
{
"expression": {
"arguments": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "3162:11:1"
},
{
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "3179:8:1"
},
{
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "3207:3:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "3189:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3189:22:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3175:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3175:37:1"
}
],
"functionName": {
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulIdentifier",
"src": "3133:28:1"
},
"nodeType": "YulFunctionCall",
"src": "3133:80:1"
},
"nodeType": "YulExpressionStatement",
"src": "3133:80:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "2783:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2788:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2780:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2780:11:1"
},
"nodeType": "YulIf",
"src": "2777:446:1"
}
]
},
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "2742:5:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "2749:3:1",
"type": ""
},
{
"name": "startIndex",
"nodeType": "YulTypedName",
"src": "2754:10:1",
"type": ""
}
],
"src": "2687:543:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3299:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3309:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "3334:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3340:5:1"
}
],
"functionName": {
"name": "shr",
"nodeType": "YulIdentifier",
"src": "3330:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3330:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "3309:8:1"
}
]
}
]
},
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "3274:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3280:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "3290:8:1",
"type": ""
}
],
"src": "3236:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3410:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3420:68:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3469:1:1",
"type": "",
"value": "8"
},
{
"name": "bytes",
"nodeType": "YulIdentifier",
"src": "3472:5:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "3465:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3465:13:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3484:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "3480:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3480:6:1"
}
],
"functionName": {
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulIdentifier",
"src": "3436:28:1"
},
"nodeType": "YulFunctionCall",
"src": "3436:51:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "3432:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3432:56:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "3424:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3497:25:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3511:4:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "3517:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3507:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3507:15:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "3497:6:1"
}
]
}
]
},
"name": "mask_bytes_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "3387:4:1",
"type": ""
},
{
"name": "bytes",
"nodeType": "YulTypedName",
"src": "3393:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "3403:6:1",
"type": ""
}
],
"src": "3359:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3614:214:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3747:37:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3774:4:1"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "3780:3:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "3755:18:1"
},
"nodeType": "YulFunctionCall",
"src": "3755:29:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3747:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3793:29:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3804:4:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3814:1:1",
"type": "",
"value": "2"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "3817:3:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "3810:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3810:11:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "3801:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3801:21:1"
},
"variableNames": [
{
"name": "used",
"nodeType": "YulIdentifier",
"src": "3793:4:1"
}
]
}
]
},
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "3595:4:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "3601:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "used",
"nodeType": "YulTypedName",
"src": "3609:4:1",
"type": ""
}
],
"src": "3533:295:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3925:1303:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3936:51:1",
"value": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "3983:3:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "3950:32:1"
},
"nodeType": "YulFunctionCall",
"src": "3950:37:1"
},
"variables": [
{
"name": "newLen",
"nodeType": "YulTypedName",
"src": "3940:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4072:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "4074:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4074:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4074:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4044:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4052:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4041:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4041:30:1"
},
"nodeType": "YulIf",
"src": "4038:56:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "4104:52:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4150:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "4144:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4144:11:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nodeType": "YulIdentifier",
"src": "4118:25:1"
},
"nodeType": "YulFunctionCall",
"src": "4118:38:1"
},
"variables": [
{
"name": "oldLen",
"nodeType": "YulTypedName",
"src": "4108:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4249:4:1"
},
{
"name": "oldLen",
"nodeType": "YulIdentifier",
"src": "4255:6:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4263:6:1"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulIdentifier",
"src": "4203:45:1"
},
"nodeType": "YulFunctionCall",
"src": "4203:67:1"
},
"nodeType": "YulExpressionStatement",
"src": "4203:67:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "4280:18:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4297:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nodeType": "YulTypedName",
"src": "4284:9:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4308:17:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4321:4:1",
"type": "",
"value": "0x20"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4308:9:1"
}
]
},
{
"cases": [
{
"body": {
"nodeType": "YulBlock",
"src": "4372:611:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4386:37:1",
"value": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4405:6:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4417:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "4413:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4413:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4401:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4401:22:1"
},
"variables": [
{
"name": "loopEnd",
"nodeType": "YulTypedName",
"src": "4390:7:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "4437:51:1",
"value": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4483:4:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "4451:31:1"
},
"nodeType": "YulFunctionCall",
"src": "4451:37:1"
},
"variables": [
{
"name": "dstPtr",
"nodeType": "YulTypedName",
"src": "4441:6:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "4501:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4510:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "4505:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4569:163:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4594:6:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "4612:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4617:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4608:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4608:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4602:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4602:26:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "4587:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4587:42:1"
},
"nodeType": "YulExpressionStatement",
"src": "4587:42:1"
},
{
"nodeType": "YulAssignment",
"src": "4646:24:1",
"value": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4660:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4668:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4656:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4656:14:1"
},
"variableNames": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4646:6:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4687:31:1",
"value": {
"arguments": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4704:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4715:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4700:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4700:18:1"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4687:9:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4535:1:1"
},
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "4538:7:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4532:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4532:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "4547:21:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4549:17:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4558:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4561:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4554:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4554:12:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4549:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "4528:3:1",
"statements": []
},
"src": "4524:208:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4768:156:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4786:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "4813:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4818:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4809:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4809:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4803:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4803:26:1"
},
"variables": [
{
"name": "lastValue",
"nodeType": "YulTypedName",
"src": "4790:9:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4853:6:1"
},
{
"arguments": [
{
"name": "lastValue",
"nodeType": "YulIdentifier",
"src": "4880:9:1"
},
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4895:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4903:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4891:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4891:17:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "4861:18:1"
},
"nodeType": "YulFunctionCall",
"src": "4861:48:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "4846:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4846:64:1"
},
"nodeType": "YulExpressionStatement",
"src": "4846:64:1"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "4751:7:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4760:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4748:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4748:19:1"
},
"nodeType": "YulIf",
"src": "4745:179:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4944:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4958:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4966:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "4954:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4954:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4970:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4950:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4950:22:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "4937:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4937:36:1"
},
"nodeType": "YulExpressionStatement",
"src": "4937:36:1"
}
]
},
"nodeType": "YulCase",
"src": "4365:618:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4370:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nodeType": "YulBlock",
"src": "5000:222:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5014:14:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "5027:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5018:5:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5051:67:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5069:35:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "5088:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "5093:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5084:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5084:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5078:5:1"
},
"nodeType": "YulFunctionCall",
"src": "5078:26:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5069:5:1"
}
]
}
]
},
"condition": {
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "5044:6:1"
},
"nodeType": "YulIf",
"src": "5041:77:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "5138:4:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5197:5:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "5204:6:1"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulIdentifier",
"src": "5144:52:1"
},
"nodeType": "YulFunctionCall",
"src": "5144:67:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "5131:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5131:81:1"
},
"nodeType": "YulExpressionStatement",
"src": "5131:81:1"
}
]
},
"nodeType": "YulCase",
"src": "4992:230:1",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4345:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4353:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4342:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4342:14:1"
},
"nodeType": "YulSwitch",
"src": "4335:887:1"
}
]
},
"name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "3914:4:1",
"type": ""
},
{
"name": "src",
"nodeType": "YulTypedName",
"src": "3920:3:1",
"type": ""
}
],
"src": "3833:1395:1"
}
]
},
"contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "60806040523480156200001157600080fd5b506040518060400160405280600b81526020017f48656c6c6f20576f726c64000000000000000000000000000000000000000000815250600090816200005891906200031a565b5033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000401565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200012257607f821691505b602082108103620001385762000137620000da565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620001a27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000163565b620001ae868362000163565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620001fb620001f5620001ef84620001c6565b620001d0565b620001c6565b9050919050565b6000819050919050565b6200021783620001da565b6200022f620002268262000202565b84845462000170565b825550505050565b600090565b6200024662000237565b620002538184846200020c565b505050565b5b818110156200027b576200026f6000826200023c565b60018101905062000259565b5050565b601f821115620002ca5762000294816200013e565b6200029f8462000153565b81016020851015620002af578190505b620002c7620002be8562000153565b83018262000258565b50505b505050565b600082821c905092915050565b6000620002ef60001984600802620002cf565b1980831691505092915050565b60006200030a8383620002dc565b9150826002028217905092915050565b6200032582620000a0565b67ffffffffffffffff811115620003415762000340620000ab565b5b6200034d825462000109565b6200035a8282856200027f565b600060209050601f8311600181146200039257600084156200037d578287015190505b620003898582620002fc565b865550620003f9565b601f198416620003a2866200013e565b60005b82811015620003cc57848901518255600182019150602085019450602081019050620003a5565b86831015620003ec5784890151620003e8601f891682620002dc565b8355505b6001600288020188555050505b505050505050565b6108dc80620004116000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80635d3a1f9d146100515780638da5cb5b1461006d578063c605f76c1461008b578063f2fde38b146100a9575b600080fd5b61006b60048036038101906100669190610366565b6100c5565b005b61007561016b565b60405161008291906103f4565b60405180910390f35b610093610191565b6040516100a0919061049f565b60405180910390f35b6100c360048036038101906100be91906104ed565b610223565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610155576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014c90610566565b60405180910390fd5b8181600091826101669291906107d6565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600080546101a0906105ef565b80601f01602080910402602001604051908101604052809291908181526020018280546101cc906105ef565b80156102195780601f106101ee57610100808354040283529160200191610219565b820191906000526020600020905b8154815290600101906020018083116101fc57829003601f168201915b5050505050905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102aa90610566565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f84011261032657610325610301565b5b8235905067ffffffffffffffff81111561034357610342610306565b5b60208301915083600182028301111561035f5761035e61030b565b5b9250929050565b6000806020838503121561037d5761037c6102f7565b5b600083013567ffffffffffffffff81111561039b5761039a6102fc565b5b6103a785828601610310565b92509250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103de826103b3565b9050919050565b6103ee816103d3565b82525050565b600060208201905061040960008301846103e5565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561044957808201518184015260208101905061042e565b60008484015250505050565b6000601f19601f8301169050919050565b60006104718261040f565b61047b818561041a565b935061048b81856020860161042b565b61049481610455565b840191505092915050565b600060208201905081810360008301526104b98184610466565b905092915050565b6104ca816103d3565b81146104d557600080fd5b50565b6000813590506104e7816104c1565b92915050565b600060208284031215610503576105026102f7565b5b6000610511848285016104d8565b91505092915050565b7f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000600082015250565b600061055060178361041a565b915061055b8261051a565b602082019050919050565b6000602082019050818103600083015261057f81610543565b9050919050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061060757607f821691505b60208210810361061a576106196105c0565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026106827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610645565b61068c8683610645565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006106d36106ce6106c9846106a4565b6106ae565b6106a4565b9050919050565b6000819050919050565b6106ed836106b8565b6107016106f9826106da565b848454610652565b825550505050565b600090565b610716610709565b6107218184846106e4565b505050565b5b818110156107455761073a60008261070e565b600181019050610727565b5050565b601f82111561078a5761075b81610620565b61076484610635565b81016020851015610773578190505b61078761077f85610635565b830182610726565b50505b505050565b600082821c905092915050565b60006107ad6000198460080261078f565b1980831691505092915050565b60006107c6838361079c565b9150826002028217905092915050565b6107e08383610586565b67ffffffffffffffff8111156107f9576107f8610591565b5b61080382546105ef565b61080e828285610749565b6000601f83116001811461083d576000841561082b578287013590505b61083585826107ba565b86555061089d565b601f19841661084b86610620565b60005b828110156108735784890135825560018201915060208501945060208101905061084e565b86831015610890578489013561088c601f89168261079c565b8355505b6001600288020188555050505b5050505050505056fea264697066735822122017505db29d005a0ca7290a01a22e0cf9abe8543ef818189ad2148cbb95966fc064736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xB DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x48656C6C6F20576F726C64000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x0 SWAP1 DUP2 PUSH3 0x58 SWAP2 SWAP1 PUSH3 0x31A JUMP JUMPDEST POP CALLER PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x401 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x122 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x138 JUMPI PUSH3 0x137 PUSH3 0xDA JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x1A2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x163 JUMP JUMPDEST PUSH3 0x1AE DUP7 DUP4 PUSH3 0x163 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x1FB PUSH3 0x1F5 PUSH3 0x1EF DUP5 PUSH3 0x1C6 JUMP JUMPDEST PUSH3 0x1D0 JUMP JUMPDEST PUSH3 0x1C6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x217 DUP4 PUSH3 0x1DA JUMP JUMPDEST PUSH3 0x22F PUSH3 0x226 DUP3 PUSH3 0x202 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x170 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x246 PUSH3 0x237 JUMP JUMPDEST PUSH3 0x253 DUP2 DUP5 DUP5 PUSH3 0x20C JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x27B JUMPI PUSH3 0x26F PUSH1 0x0 DUP3 PUSH3 0x23C JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x259 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x2CA JUMPI PUSH3 0x294 DUP2 PUSH3 0x13E JUMP JUMPDEST PUSH3 0x29F DUP5 PUSH3 0x153 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x2AF JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x2C7 PUSH3 0x2BE DUP6 PUSH3 0x153 JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x258 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2EF PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x2CF JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x30A DUP4 DUP4 PUSH3 0x2DC JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x325 DUP3 PUSH3 0xA0 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x341 JUMPI PUSH3 0x340 PUSH3 0xAB JUMP JUMPDEST JUMPDEST PUSH3 0x34D DUP3 SLOAD PUSH3 0x109 JUMP JUMPDEST PUSH3 0x35A DUP3 DUP3 DUP6 PUSH3 0x27F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x392 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x37D JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x389 DUP6 DUP3 PUSH3 0x2FC JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x3F9 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x3A2 DUP7 PUSH3 0x13E JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x3CC JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x3A5 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x3EC JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x3E8 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x2DC JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x8DC DUP1 PUSH3 0x411 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 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5D3A1F9D EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x6D JUMPI DUP1 PUSH4 0xC605F76C EQ PUSH2 0x8B JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xA9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x366 JUMP JUMPDEST PUSH2 0xC5 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x75 PUSH2 0x16B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x82 SWAP2 SWAP1 PUSH2 0x3F4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x93 PUSH2 0x191 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA0 SWAP2 SWAP1 PUSH2 0x49F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xBE SWAP2 SWAP1 PUSH2 0x4ED JUMP JUMPDEST PUSH2 0x223 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x155 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x14C SWAP1 PUSH2 0x566 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 PUSH1 0x0 SWAP2 DUP3 PUSH2 0x166 SWAP3 SWAP2 SWAP1 PUSH2 0x7D6 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x1A0 SWAP1 PUSH2 0x5EF JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1CC SWAP1 PUSH2 0x5EF JUMP JUMPDEST DUP1 ISZERO PUSH2 0x219 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1EE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x219 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 0x1FC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x2B3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2AA SWAP1 PUSH2 0x566 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x326 JUMPI PUSH2 0x325 PUSH2 0x301 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x343 JUMPI PUSH2 0x342 PUSH2 0x306 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x35F JUMPI PUSH2 0x35E PUSH2 0x30B JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x37D JUMPI PUSH2 0x37C PUSH2 0x2F7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x39B JUMPI PUSH2 0x39A PUSH2 0x2FC JUMP JUMPDEST JUMPDEST PUSH2 0x3A7 DUP6 DUP3 DUP7 ADD PUSH2 0x310 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DE DUP3 PUSH2 0x3B3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3EE DUP2 PUSH2 0x3D3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x409 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3E5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x449 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x42E JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x471 DUP3 PUSH2 0x40F JUMP JUMPDEST PUSH2 0x47B DUP2 DUP6 PUSH2 0x41A JUMP JUMPDEST SWAP4 POP PUSH2 0x48B DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x42B JUMP JUMPDEST PUSH2 0x494 DUP2 PUSH2 0x455 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x4B9 DUP2 DUP5 PUSH2 0x466 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x4CA DUP2 PUSH2 0x3D3 JUMP JUMPDEST DUP2 EQ PUSH2 0x4D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4E7 DUP2 PUSH2 0x4C1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x503 JUMPI PUSH2 0x502 PUSH2 0x2F7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x511 DUP5 DUP3 DUP6 ADD PUSH2 0x4D8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x43616C6C6572206973206E6F7420746865206F776E6572000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x550 PUSH1 0x17 DUP4 PUSH2 0x41A JUMP JUMPDEST SWAP2 POP PUSH2 0x55B DUP3 PUSH2 0x51A 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 0x57F DUP2 PUSH2 0x543 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x607 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x61A JUMPI PUSH2 0x619 PUSH2 0x5C0 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0x682 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x645 JUMP JUMPDEST PUSH2 0x68C DUP7 DUP4 PUSH2 0x645 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6D3 PUSH2 0x6CE PUSH2 0x6C9 DUP5 PUSH2 0x6A4 JUMP JUMPDEST PUSH2 0x6AE JUMP JUMPDEST PUSH2 0x6A4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6ED DUP4 PUSH2 0x6B8 JUMP JUMPDEST PUSH2 0x701 PUSH2 0x6F9 DUP3 PUSH2 0x6DA JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x652 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x716 PUSH2 0x709 JUMP JUMPDEST PUSH2 0x721 DUP2 DUP5 DUP5 PUSH2 0x6E4 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x745 JUMPI PUSH2 0x73A PUSH1 0x0 DUP3 PUSH2 0x70E JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x727 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x78A JUMPI PUSH2 0x75B DUP2 PUSH2 0x620 JUMP JUMPDEST PUSH2 0x764 DUP5 PUSH2 0x635 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x773 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x787 PUSH2 0x77F DUP6 PUSH2 0x635 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x726 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7AD PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x78F JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7C6 DUP4 DUP4 PUSH2 0x79C JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x7E0 DUP4 DUP4 PUSH2 0x586 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x7F9 JUMPI PUSH2 0x7F8 PUSH2 0x591 JUMP JUMPDEST JUMPDEST PUSH2 0x803 DUP3 SLOAD PUSH2 0x5EF JUMP JUMPDEST PUSH2 0x80E DUP3 DUP3 DUP6 PUSH2 0x749 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x83D JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x82B JUMPI DUP3 DUP8 ADD CALLDATALOAD SWAP1 POP JUMPDEST PUSH2 0x835 DUP6 DUP3 PUSH2 0x7BA JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x89D JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x84B DUP7 PUSH2 0x620 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x873 JUMPI DUP5 DUP10 ADD CALLDATALOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x84E JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x890 JUMPI DUP5 DUP10 ADD CALLDATALOAD PUSH2 0x88C PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x79C JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 OR POP 0x5D 0xB2 SWAP14 STOP GAS 0xC 0xA7 0x29 EXP ADD LOG2 0x2E 0xC 0xF9 0xAB 0xE8 SLOAD RETURNDATACOPY 0xF8 XOR XOR SWAP11 0xD2 EQ DUP13 0xBB SWAP6 SWAP7 PUSH16 0xC064736F6C6343000812003300000000 ",
"sourceMap": "69:565:0:-:0;;;149:79;;;;;;;;;;173:20;;;;;;;;;;;;;;;;;:4;:20;;;;;;:::i;:::-;;211:10;203:5;;:18;;;;;;;;;;;;;;;;;;69:565;;7:99:1;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:180::-;160:77;157:1;150:88;257:4;254:1;247:15;281:4;278:1;271:15;298:180;346:77;343:1;336:88;443:4;440:1;433:15;467:4;464:1;457:15;484:320;528:6;565:1;559:4;555:12;545:22;;612:1;606:4;602:12;633:18;623:81;;689:4;681:6;677:17;667:27;;623:81;751:2;743:6;740:14;720:18;717:38;714:84;;770:18;;:::i;:::-;714:84;535:269;484:320;;;:::o;810:141::-;859:4;882:3;874:11;;905:3;902:1;895:14;939:4;936:1;926:18;918:26;;810:141;;;:::o;957:93::-;994:6;1041:2;1036;1029:5;1025:14;1021:23;1011:33;;957:93;;;:::o;1056:107::-;1100:8;1150:5;1144:4;1140:16;1119:37;;1056:107;;;;:::o;1169:393::-;1238:6;1288:1;1276:10;1272:18;1311:97;1341:66;1330:9;1311:97;:::i;:::-;1429:39;1459:8;1448:9;1429:39;:::i;:::-;1417:51;;1501:4;1497:9;1490:5;1486:21;1477:30;;1550:4;1540:8;1536:19;1529:5;1526:30;1516:40;;1245:317;;1169:393;;;;;:::o;1568:77::-;1605:7;1634:5;1623:16;;1568:77;;;:::o;1651:60::-;1679:3;1700:5;1693:12;;1651:60;;;:::o;1717:142::-;1767:9;1800:53;1818:34;1827:24;1845:5;1827:24;:::i;:::-;1818:34;:::i;:::-;1800:53;:::i;:::-;1787:66;;1717:142;;;:::o;1865:75::-;1908:3;1929:5;1922:12;;1865:75;;;:::o;1946:269::-;2056:39;2087:7;2056:39;:::i;:::-;2117:91;2166:41;2190:16;2166:41;:::i;:::-;2158:6;2151:4;2145:11;2117:91;:::i;:::-;2111:4;2104:105;2022:193;1946:269;;;:::o;2221:73::-;2266:3;2221:73;:::o;2300:189::-;2377:32;;:::i;:::-;2418:65;2476:6;2468;2462:4;2418:65;:::i;:::-;2353:136;2300:189;;:::o;2495:186::-;2555:120;2572:3;2565:5;2562:14;2555:120;;;2626:39;2663:1;2656:5;2626:39;:::i;:::-;2599:1;2592:5;2588:13;2579:22;;2555:120;;;2495:186;;:::o;2687:543::-;2788:2;2783:3;2780:11;2777:446;;;2822:38;2854:5;2822:38;:::i;:::-;2906:29;2924:10;2906:29;:::i;:::-;2896:8;2892:44;3089:2;3077:10;3074:18;3071:49;;;3110:8;3095:23;;3071:49;3133:80;3189:22;3207:3;3189:22;:::i;:::-;3179:8;3175:37;3162:11;3133:80;:::i;:::-;2792:431;;2777:446;2687:543;;;:::o;3236:117::-;3290:8;3340:5;3334:4;3330:16;3309:37;;3236:117;;;;:::o;3359:169::-;3403:6;3436:51;3484:1;3480:6;3472:5;3469:1;3465:13;3436:51;:::i;:::-;3432:56;3517:4;3511;3507:15;3497:25;;3410:118;3359:169;;;;:::o;3533:295::-;3609:4;3755:29;3780:3;3774:4;3755:29;:::i;:::-;3747:37;;3817:3;3814:1;3810:11;3804:4;3801:21;3793:29;;3533:295;;;;:::o;3833:1395::-;3950:37;3983:3;3950:37;:::i;:::-;4052:18;4044:6;4041:30;4038:56;;;4074:18;;:::i;:::-;4038:56;4118:38;4150:4;4144:11;4118:38;:::i;:::-;4203:67;4263:6;4255;4249:4;4203:67;:::i;:::-;4297:1;4321:4;4308:17;;4353:2;4345:6;4342:14;4370:1;4365:618;;;;5027:1;5044:6;5041:77;;;5093:9;5088:3;5084:19;5078:26;5069:35;;5041:77;5144:67;5204:6;5197:5;5144:67;:::i;:::-;5138:4;5131:81;5000:222;4335:887;;4365:618;4417:4;4413:9;4405:6;4401:22;4451:37;4483:4;4451:37;:::i;:::-;4510:1;4524:208;4538:7;4535:1;4532:14;4524:208;;;4617:9;4612:3;4608:19;4602:26;4594:6;4587:42;4668:1;4660:6;4656:14;4646:24;;4715:2;4704:9;4700:18;4687:31;;4561:4;4558:1;4554:12;4549:17;;4524:208;;;4760:6;4751:7;4748:19;4745:179;;;4818:9;4813:3;4809:19;4803:26;4861:48;4903:4;4895:6;4891:17;4880:9;4861:48;:::i;:::-;4853:6;4846:64;4768:156;4745:179;4970:1;4966;4958:6;4954:14;4950:22;4944:4;4937:36;4372:611;;;4335:887;;3925:1303;;;3833:1395;;:::o;69:565:0:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@helloWorld_26": {
"entryPoint": 401,
"id": 26,
"parameterSlots": 0,
"returnSlots": 1
},
"@owner_5": {
"entryPoint": 363,
"id": 5,
"parameterSlots": 0,
"returnSlots": 0
},
"@setText_38": {
"entryPoint": 197,
"id": 38,
"parameterSlots": 2,
"returnSlots": 0
},
"@transferOwnership_50": {
"entryPoint": 547,
"id": 50,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_address": {
"entryPoint": 1240,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_string_calldata_ptr": {
"entryPoint": 784,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_address": {
"entryPoint": 1261,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_string_calldata_ptr": {
"entryPoint": 870,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 997,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1126,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_stringliteral_15ed5034391ed5ef65b8bb8dbcb08f9b6c4034ebcf89f76344a17e1651e92b33_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1347,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 1012,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1183,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_15ed5034391ed5ef65b8bb8dbcb08f9b6c4034ebcf89f76344a17e1651e92b33__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1382,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_dataslot_t_string_storage": {
"entryPoint": 1568,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_calldata_ptr": {
"entryPoint": 1414,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 1039,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 1050,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 1865,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_address": {
"entryPoint": 979,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 947,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 1700,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 1830,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 1720,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_string_calldata_ptr_to_t_string_storage": {
"entryPoint": 2006,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 1067,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 1589,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 1519,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 1978,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"identity": {
"entryPoint": 1710,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 1948,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 1472,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 1425,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 1754,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490": {
"entryPoint": 774,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 769,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": {
"entryPoint": 779,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 764,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 759,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 1109,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_left_dynamic": {
"entryPoint": 1605,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 1935,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 1806,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"store_literal_in_memory_15ed5034391ed5ef65b8bb8dbcb08f9b6c4034ebcf89f76344a17e1651e92b33": {
"entryPoint": 1306,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 1618,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 1764,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 1217,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 1801,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:10553: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": "546:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "563:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "566:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "556:6:1"
},
"nodeType": "YulFunctionCall",
"src": "556:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "556:12:1"
}
]
},
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
"nodeType": "YulFunctionDefinition",
"src": "457:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "669:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "686:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "689:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "679:6:1"
},
"nodeType": "YulFunctionCall",
"src": "679:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "679:12:1"
}
]
},
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulFunctionDefinition",
"src": "580:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "792:478:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "841:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "843:77:1"
},
"nodeType": "YulFunctionCall",
"src": "843:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "843:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "820:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "828:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "816:3:1"
},
"nodeType": "YulFunctionCall",
"src": "816:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "835:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "812:3:1"
},
"nodeType": "YulFunctionCall",
"src": "812:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "805:6:1"
},
"nodeType": "YulFunctionCall",
"src": "805:35:1"
},
"nodeType": "YulIf",
"src": "802:122:1"
},
{
"nodeType": "YulAssignment",
"src": "933:30:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "956:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "943:12:1"
},
"nodeType": "YulFunctionCall",
"src": "943:20:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "933:6:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1006:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
"nodeType": "YulIdentifier",
"src": "1008:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1008:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1008:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "978:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "986:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "975:2:1"
},
"nodeType": "YulFunctionCall",
"src": "975:30:1"
},
"nodeType": "YulIf",
"src": "972:117:1"
},
{
"nodeType": "YulAssignment",
"src": "1098:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1114:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1122:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1110:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1110:17:1"
},
"variableNames": [
{
"name": "arrayPos",
"nodeType": "YulIdentifier",
"src": "1098:8:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1181:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulIdentifier",
"src": "1183:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1183:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1183:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "arrayPos",
"nodeType": "YulIdentifier",
"src": "1146:8:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1160:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1168:4:1",
"type": "",
"value": "0x01"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "1156:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1156:17:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1142:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1142:32:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1176:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1139:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1139:41:1"
},
"nodeType": "YulIf",
"src": "1136:128:1"
}
]
},
"name": "abi_decode_t_string_calldata_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "759:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "767:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "arrayPos",
"nodeType": "YulTypedName",
"src": "775:8:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "785:6:1",
"type": ""
}
],
"src": "717:553:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1362:443:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1408:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1410:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1410:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1410:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1383:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1392:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1379:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1379:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1404:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1375:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1375:32:1"
},
"nodeType": "YulIf",
"src": "1372:119:1"
},
{
"nodeType": "YulBlock",
"src": "1501:297:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1516:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1547:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1558:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1543:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1543:17:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1530:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1530:31:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1520:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1608:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "1610:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1610:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1610:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1580:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1588:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1577:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1577:30:1"
},
"nodeType": "YulIf",
"src": "1574:117:1"
},
{
"nodeType": "YulAssignment",
"src": "1705:83:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1760:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1771:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1756:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1756:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1780:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_calldata_ptr",
"nodeType": "YulIdentifier",
"src": "1723:32:1"
},
"nodeType": "YulFunctionCall",
"src": "1723:65:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1705:6:1"
},
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1713:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_calldata_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1324:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1335:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1347:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1355:6:1",
"type": ""
}
],
"src": "1276:529:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1856:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1866:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1881:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1888:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1877:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1877:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1866:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1838:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1848:7:1",
"type": ""
}
],
"src": "1811:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1988:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1998:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2027:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "2009:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2009:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1998:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1970:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1980:7:1",
"type": ""
}
],
"src": "1943:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2110:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2127:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2150:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "2132:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2132:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2120:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2120:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "2120:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2098:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2105:3:1",
"type": ""
}
],
"src": "2045:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2267:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2277:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2289:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2300:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2285:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2285:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2277:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2357:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2370:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2381:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2366:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2366:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "2313:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2313:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2313:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2239:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2251:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2262:4:1",
"type": ""
}
],
"src": "2169:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2456:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2467:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2483:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2477:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2477:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2467:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2439:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2449:6:1",
"type": ""
}
],
"src": "2397:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2598:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2615:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2620:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2608:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2608:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "2608:19:1"
},
{
"nodeType": "YulAssignment",
"src": "2636:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2655:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2660:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2651:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2651:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "2636:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2570:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2575:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "2586:11:1",
"type": ""
}
],
"src": "2502:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2739:184:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2749:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2758:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "2753:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2818:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2843:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2848:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2839:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2839:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "2862:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2867:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2858:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2858:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2852:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2852:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2832:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2832:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "2832:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2779:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2782:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2776:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2776:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "2790:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2792:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2801:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2804:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2797:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2797:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2792:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "2772:3:1",
"statements": []
},
"src": "2768:113:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2901:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2906:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2897:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2897:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2915:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2890:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2890:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "2890:27:1"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "2721:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "2726:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2731:6:1",
"type": ""
}
],
"src": "2677:246:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2977:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2987:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3005:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3012:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3001:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3001:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3021:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "3017:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3017:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2997:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2997:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "2987:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2960:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "2970:6:1",
"type": ""
}
],
"src": "2929:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3129:285:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3139:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3186:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "3153:32:1"
},
"nodeType": "YulFunctionCall",
"src": "3153:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3143:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3201:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3267:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3272:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3208:58:1"
},
"nodeType": "YulFunctionCall",
"src": "3208:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3201:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3327:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3334:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3323:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3323:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3341:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3346:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulIdentifier",
"src": "3288:34:1"
},
"nodeType": "YulFunctionCall",
"src": "3288:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "3288:65:1"
},
{
"nodeType": "YulAssignment",
"src": "3362:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3373:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3400:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "3378:21:1"
},
"nodeType": "YulFunctionCall",
"src": "3378:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3369:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3369:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3362:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3110:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3117:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3125:3:1",
"type": ""
}
],
"src": "3037:377:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3538:195:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3548:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3560:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3571:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3556:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3556:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3548:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3595:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3606:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3591:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3591:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3614:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3620:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3610:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3610:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3584:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3584:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "3584:47:1"
},
{
"nodeType": "YulAssignment",
"src": "3640:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3712:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3721:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3648:63:1"
},
"nodeType": "YulFunctionCall",
"src": "3648:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3640:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3510:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3522:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3533:4:1",
"type": ""
}
],
"src": "3420:313:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3782:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3839:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3848:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3851:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3841:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3841:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3841:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3805:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3830:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "3812:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3812:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3802:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3802:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3795:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3795:43:1"
},
"nodeType": "YulIf",
"src": "3792:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3775:5:1",
"type": ""
}
],
"src": "3739:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3919:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3929:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3951:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "3938:12:1"
},
"nodeType": "YulFunctionCall",
"src": "3938:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3929:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3994:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "3967:26:1"
},
"nodeType": "YulFunctionCall",
"src": "3967:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "3967:33:1"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3897:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3905:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3913:5:1",
"type": ""
}
],
"src": "3867:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4078:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4124:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "4126:77:1"
},
"nodeType": "YulFunctionCall",
"src": "4126:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "4126:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4099:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4108:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4095:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4095:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4120:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "4091:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4091:32:1"
},
"nodeType": "YulIf",
"src": "4088:119:1"
},
{
"nodeType": "YulBlock",
"src": "4217:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4232:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4246:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4236:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4261:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4296:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4307:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4292:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4292:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4316:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "4271:20:1"
},
"nodeType": "YulFunctionCall",
"src": "4271:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4261:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4048:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "4059:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4071:6:1",
"type": ""
}
],
"src": "4012:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4453:67:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4475:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4483:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4471:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4471:14:1"
},
{
"hexValue": "43616c6c6572206973206e6f7420746865206f776e6572",
"kind": "string",
"nodeType": "YulLiteral",
"src": "4487:25:1",
"type": "",
"value": "Caller is not the owner"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4464:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4464:49:1"
},
"nodeType": "YulExpressionStatement",
"src": "4464:49:1"
}
]
},
"name": "store_literal_in_memory_15ed5034391ed5ef65b8bb8dbcb08f9b6c4034ebcf89f76344a17e1651e92b33",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4445:6:1",
"type": ""
}
],
"src": "4347:173:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4672:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4682:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4748:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4753:2:1",
"type": "",
"value": "23"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4689:58:1"
},
"nodeType": "YulFunctionCall",
"src": "4689:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4682:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4854:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_15ed5034391ed5ef65b8bb8dbcb08f9b6c4034ebcf89f76344a17e1651e92b33",
"nodeType": "YulIdentifier",
"src": "4765:88:1"
},
"nodeType": "YulFunctionCall",
"src": "4765:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "4765:93:1"
},
{
"nodeType": "YulAssignment",
"src": "4867:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4878:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4883:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4874:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4874:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4867:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_15ed5034391ed5ef65b8bb8dbcb08f9b6c4034ebcf89f76344a17e1651e92b33_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4660:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "4668:3:1",
"type": ""
}
],
"src": "4526:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5069:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5079:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5091:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5102:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5087:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5087:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5079:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5126:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5137:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5122:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5122:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5145:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5151:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "5141:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5141:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5115:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5115:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "5115:47:1"
},
{
"nodeType": "YulAssignment",
"src": "5171:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5305:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_15ed5034391ed5ef65b8bb8dbcb08f9b6c4034ebcf89f76344a17e1651e92b33_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "5179:124:1"
},
"nodeType": "YulFunctionCall",
"src": "5179:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5171:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_15ed5034391ed5ef65b8bb8dbcb08f9b6c4034ebcf89f76344a17e1651e92b33__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5049:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5064:4:1",
"type": ""
}
],
"src": "4898:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5389:31:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5400:13:1",
"value": {
"name": "len",
"nodeType": "YulIdentifier",
"src": "5410:3:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5400:6:1"
}
]
}
]
},
"name": "array_length_t_string_calldata_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5367:5:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "5374:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5382:6:1",
"type": ""
}
],
"src": "5323:97:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5454:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5471:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5474:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5464:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5464:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "5464:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5568:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5571:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5561:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5561:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5561:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5592:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5595:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5585:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5585:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5585:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "5426:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5640:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5657:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5660:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5650:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5650:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "5650:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5754:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5757:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5747:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5747:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5747:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5778:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5781:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5771:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5771:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5771:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "5612:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5849:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5859:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5873:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5879:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "5869:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5869:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5859:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "5890:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5920:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5926:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5916:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5916:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "5894:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5967:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5981:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5995:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6003:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5991:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5991:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5981:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "5947:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5940:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5940:26:1"
},
"nodeType": "YulIf",
"src": "5937:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6070:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "6084:16:1"
},
"nodeType": "YulFunctionCall",
"src": "6084:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "6084:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "6034:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6057:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6065:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "6054:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6054:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "6031:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6031:38:1"
},
"nodeType": "YulIf",
"src": "6028:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "5833:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5842:6:1",
"type": ""
}
],
"src": "5798:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6178:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6188:11:1",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "6196:3:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "6188:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6216:1:1",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "6219:3:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6209:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6209:14:1"
},
"nodeType": "YulExpressionStatement",
"src": "6209:14:1"
},
{
"nodeType": "YulAssignment",
"src": "6232:26:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6250:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6253:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nodeType": "YulIdentifier",
"src": "6240:9:1"
},
"nodeType": "YulFunctionCall",
"src": "6240:18:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "6232:4:1"
}
]
}
]
},
"name": "array_dataslot_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "6165:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "6173:4:1",
"type": ""
}
],
"src": "6124:141:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6315:49:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6325:33:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6343:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6350:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6339:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6339:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6355:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "6335:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6335:23:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "6325:6:1"
}
]
}
]
},
"name": "divide_by_32_ceil",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6298:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "6308:6:1",
"type": ""
}
],
"src": "6271:93:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6423:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6433:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "6458:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6464:5:1"
}
],
"functionName": {
"name": "shl",
"nodeType": "YulIdentifier",
"src": "6454:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6454:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "6433:8:1"
}
]
}
]
},
"name": "shift_left_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "6398:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6404:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "6414:8:1",
"type": ""
}
],
"src": "6370:107:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6559:317:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6569:35:1",
"value": {
"arguments": [
{
"name": "shiftBytes",
"nodeType": "YulIdentifier",
"src": "6590:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6602:1:1",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "6586:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6586:18:1"
},
"variables": [
{
"name": "shiftBits",
"nodeType": "YulTypedName",
"src": "6573:9:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "6613:109:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "6644:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6655:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "6625:18:1"
},
"nodeType": "YulFunctionCall",
"src": "6625:97:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "6617:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "6731:51:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "6762:9:1"
},
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "6773:8:1"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "6743:18:1"
},
"nodeType": "YulFunctionCall",
"src": "6743:39:1"
},
"variableNames": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "6731:8:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "6791:30:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6804:5:1"
},
{
"arguments": [
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "6815:4:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "6811:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6811:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6800:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6800:21:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6791:5:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "6830:40:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6843:5:1"
},
{
"arguments": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "6854:8:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "6864:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6850:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6850:19:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "6840:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6840:30:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "6830:6:1"
}
]
}
]
},
"name": "update_byte_slice_dynamic32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6520:5:1",
"type": ""
},
{
"name": "shiftBytes",
"nodeType": "YulTypedName",
"src": "6527:10:1",
"type": ""
},
{
"name": "toInsert",
"nodeType": "YulTypedName",
"src": "6539:8:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "6552:6:1",
"type": ""
}
],
"src": "6483:393:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6927:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6937:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "6948:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "6937:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6909:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "6919:7:1",
"type": ""
}
],
"src": "6882:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6997:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7007:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "7014:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "7007:3:1"
}
]
}
]
},
"name": "identity",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6983:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "6993:3:1",
"type": ""
}
],
"src": "6965:60:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7091:82:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7101:66:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7159:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "7141:17:1"
},
"nodeType": "YulFunctionCall",
"src": "7141:24:1"
}
],
"functionName": {
"name": "identity",
"nodeType": "YulIdentifier",
"src": "7132:8:1"
},
"nodeType": "YulFunctionCall",
"src": "7132:34:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "7114:17:1"
},
"nodeType": "YulFunctionCall",
"src": "7114:53:1"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "7101:9:1"
}
]
}
]
},
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7071:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "7081:9:1",
"type": ""
}
],
"src": "7031:142:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7226:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7236:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "7243:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "7236:3:1"
}
]
}
]
},
"name": "prepare_store_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7212:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "7222:3:1",
"type": ""
}
],
"src": "7179:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7336:193:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "7346:63:1",
"value": {
"arguments": [
{
"name": "value_0",
"nodeType": "YulIdentifier",
"src": "7401:7:1"
}
],
"functionName": {
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "7370:30:1"
},
"nodeType": "YulFunctionCall",
"src": "7370:39:1"
},
"variables": [
{
"name": "convertedValue_0",
"nodeType": "YulTypedName",
"src": "7350:16:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "7425:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "7465:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "7459:5:1"
},
"nodeType": "YulFunctionCall",
"src": "7459:11:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "7472:6:1"
},
{
"arguments": [
{
"name": "convertedValue_0",
"nodeType": "YulIdentifier",
"src": "7504:16:1"
}
],
"functionName": {
"name": "prepare_store_t_uint256",
"nodeType": "YulIdentifier",
"src": "7480:23:1"
},
"nodeType": "YulFunctionCall",
"src": "7480:41:1"
}
],
"functionName": {
"name": "update_byte_slice_dynamic32",
"nodeType": "YulIdentifier",
"src": "7431:27:1"
},
"nodeType": "YulFunctionCall",
"src": "7431:91:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "7418:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7418:105:1"
},
"nodeType": "YulExpressionStatement",
"src": "7418:105:1"
}
]
},
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "7313:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "7319:6:1",
"type": ""
},
{
"name": "value_0",
"nodeType": "YulTypedName",
"src": "7327:7:1",
"type": ""
}
],
"src": "7260:269:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7584:24:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7594:8:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "7601:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "7594:3:1"
}
]
}
]
},
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "7580:3:1",
"type": ""
}
],
"src": "7535:73:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7667:136:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "7677:46:1",
"value": {
"arguments": [],
"functionName": {
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulIdentifier",
"src": "7691:30:1"
},
"nodeType": "YulFunctionCall",
"src": "7691:32:1"
},
"variables": [
{
"name": "zero_0",
"nodeType": "YulTypedName",
"src": "7681:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "7776:4:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "7782:6:1"
},
{
"name": "zero_0",
"nodeType": "YulIdentifier",
"src": "7790:6:1"
}
],
"functionName": {
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "7732:43:1"
},
"nodeType": "YulFunctionCall",
"src": "7732:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "7732:65:1"
}
]
},
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "7653:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "7659:6:1",
"type": ""
}
],
"src": "7614:189:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7859:136:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "7926:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "7970:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7977:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulIdentifier",
"src": "7940:29:1"
},
"nodeType": "YulFunctionCall",
"src": "7940:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "7940:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "7879:5:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "7886:3:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "7876:2:1"
},
"nodeType": "YulFunctionCall",
"src": "7876:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "7891:26:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7893:22:1",
"value": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "7906:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7913:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7902:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7902:13:1"
},
"variableNames": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "7893:5:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "7873:2:1",
"statements": []
},
"src": "7869:120:1"
}
]
},
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "start",
"nodeType": "YulTypedName",
"src": "7847:5:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "7854:3:1",
"type": ""
}
],
"src": "7809:186:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8080:464:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "8106:431:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "8120:54:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "8168:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "8136:31:1"
},
"nodeType": "YulFunctionCall",
"src": "8136:38:1"
},
"variables": [
{
"name": "dataArea",
"nodeType": "YulTypedName",
"src": "8124:8:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "8187:63:1",
"value": {
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "8210:8:1"
},
{
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "8238:10:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "8220:17:1"
},
"nodeType": "YulFunctionCall",
"src": "8220:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8206:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8206:44:1"
},
"variables": [
{
"name": "deleteStart",
"nodeType": "YulTypedName",
"src": "8191:11:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "8407:27:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8409:23:1",
"value": {
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "8424:8:1"
},
"variableNames": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "8409:11:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "8391:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8403:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "8388:2:1"
},
"nodeType": "YulFunctionCall",
"src": "8388:18:1"
},
"nodeType": "YulIf",
"src": "8385:49:1"
},
{
"expression": {
"arguments": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "8476:11:1"
},
{
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "8493:8:1"
},
{
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "8521:3:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "8503:17:1"
},
"nodeType": "YulFunctionCall",
"src": "8503:22:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8489:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8489:37:1"
}
],
"functionName": {
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulIdentifier",
"src": "8447:28:1"
},
"nodeType": "YulFunctionCall",
"src": "8447:80:1"
},
"nodeType": "YulExpressionStatement",
"src": "8447:80:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "8097:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8102:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "8094:2:1"
},
"nodeType": "YulFunctionCall",
"src": "8094:11:1"
},
"nodeType": "YulIf",
"src": "8091:446:1"
}
]
},
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "8056:5:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "8063:3:1",
"type": ""
},
{
"name": "startIndex",
"nodeType": "YulTypedName",
"src": "8068:10:1",
"type": ""
}
],
"src": "8001:543:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8613:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8623:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "8648:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8654:5:1"
}
],
"functionName": {
"name": "shr",
"nodeType": "YulIdentifier",
"src": "8644:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8644:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "8623:8:1"
}
]
}
]
},
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "8588:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8594:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "8604:8:1",
"type": ""
}
],
"src": "8550:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8724:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "8734:68:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8783:1:1",
"type": "",
"value": "8"
},
{
"name": "bytes",
"nodeType": "YulIdentifier",
"src": "8786:5:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "8779:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8779:13:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8798:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "8794:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8794:6:1"
}
],
"functionName": {
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulIdentifier",
"src": "8750:28:1"
},
"nodeType": "YulFunctionCall",
"src": "8750:51:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "8746:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8746:56:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "8738:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "8811:25:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "8825:4:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "8831:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "8821:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8821:15:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "8811:6:1"
}
]
}
]
},
"name": "mask_bytes_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "8701:4:1",
"type": ""
},
{
"name": "bytes",
"nodeType": "YulTypedName",
"src": "8707:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "8717:6:1",
"type": ""
}
],
"src": "8673:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8928:214:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9061:37:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "9088:4:1"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "9094:3:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "9069:18:1"
},
"nodeType": "YulFunctionCall",
"src": "9069:29:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "9061:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "9107:29:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "9118:4:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9128:1:1",
"type": "",
"value": "2"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "9131:3:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "9124:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9124:11:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "9115:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9115:21:1"
},
"variableNames": [
{
"name": "used",
"nodeType": "YulIdentifier",
"src": "9107:4:1"
}
]
}
]
},
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "8909:4:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "8915:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "used",
"nodeType": "YulTypedName",
"src": "8923:4:1",
"type": ""
}
],
"src": "8847:295:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9246:1304:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "9257:58:1",
"value": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "9306:3:1"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "9311:3:1"
}
],
"functionName": {
"name": "array_length_t_string_calldata_ptr",
"nodeType": "YulIdentifier",
"src": "9271:34:1"
},
"nodeType": "YulFunctionCall",
"src": "9271:44:1"
},
"variables": [
{
"name": "newLen",
"nodeType": "YulTypedName",
"src": "9261:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "9400:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "9402:16:1"
},
"nodeType": "YulFunctionCall",
"src": "9402:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "9402:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "9372:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9380:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "9369:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9369:30:1"
},
"nodeType": "YulIf",
"src": "9366:56:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "9432:52:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "9478:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "9472:5:1"
},
"nodeType": "YulFunctionCall",
"src": "9472:11:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nodeType": "YulIdentifier",
"src": "9446:25:1"
},
"nodeType": "YulFunctionCall",
"src": "9446:38:1"
},
"variables": [
{
"name": "oldLen",
"nodeType": "YulTypedName",
"src": "9436:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "9577:4:1"
},
{
"name": "oldLen",
"nodeType": "YulIdentifier",
"src": "9583:6:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "9591:6:1"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulIdentifier",
"src": "9531:45:1"
},
"nodeType": "YulFunctionCall",
"src": "9531:67:1"
},
"nodeType": "YulExpressionStatement",
"src": "9531:67:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "9608:18:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "9625:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nodeType": "YulTypedName",
"src": "9612:9:1",
"type": ""
}
]
},
{
"cases": [
{
"body": {
"nodeType": "YulBlock",
"src": "9673:625:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "9687:37:1",
"value": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "9706:6:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9718:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "9714:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9714:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "9702:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9702:22:1"
},
"variables": [
{
"name": "loopEnd",
"nodeType": "YulTypedName",
"src": "9691:7:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "9738:51:1",
"value": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "9784:4:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "9752:31:1"
},
"nodeType": "YulFunctionCall",
"src": "9752:37:1"
},
"variables": [
{
"name": "dstPtr",
"nodeType": "YulTypedName",
"src": "9742:6:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "9802:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "9811:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "9806:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "9870:170:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "9895:6:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "9920:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "9925:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9916:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9916:19:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "9903:12:1"
},
"nodeType": "YulFunctionCall",
"src": "9903:33:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "9888:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9888:49:1"
},
"nodeType": "YulExpressionStatement",
"src": "9888:49:1"
},
{
"nodeType": "YulAssignment",
"src": "9954:24:1",
"value": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "9968:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9976:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9964:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9964:14:1"
},
"variableNames": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "9954:6:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "9995:31:1",
"value": {
"arguments": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "10012:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10023:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10008:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10008:18:1"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "9995:9:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "9836:1:1"
},
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "9839:7:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "9833:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9833:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "9848:21:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9850:17:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "9859:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9862:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9855:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9855:12:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "9850:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "9829:3:1",
"statements": []
},
"src": "9825:215:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10076:163:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "10094:50:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "10128:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "10133:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10124:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10124:19:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "10111:12:1"
},
"nodeType": "YulFunctionCall",
"src": "10111:33:1"
},
"variables": [
{
"name": "lastValue",
"nodeType": "YulTypedName",
"src": "10098:9:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "10168:6:1"
},
{
"arguments": [
{
"name": "lastValue",
"nodeType": "YulIdentifier",
"src": "10195:9:1"
},
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "10210:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10218:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "10206:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10206:17:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "10176:18:1"
},
"nodeType": "YulFunctionCall",
"src": "10176:48:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "10161:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10161:64:1"
},
"nodeType": "YulExpressionStatement",
"src": "10161:64:1"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "10059:7:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "10068:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "10056:2:1"
},
"nodeType": "YulFunctionCall",
"src": "10056:19:1"
},
"nodeType": "YulIf",
"src": "10053:186:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "10259:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "10273:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10281:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "10269:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10269:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10285:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10265:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10265:22:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "10252:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10252:36:1"
},
"nodeType": "YulExpressionStatement",
"src": "10252:36:1"
}
]
},
"nodeType": "YulCase",
"src": "9666:632:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "9671:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nodeType": "YulBlock",
"src": "10315:229:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "10329:14:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "10342:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "10333:5:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "10366:74:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "10384:42:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "10410:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "10415:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10406:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10406:19:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "10393:12:1"
},
"nodeType": "YulFunctionCall",
"src": "10393:33:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "10384:5:1"
}
]
}
]
},
"condition": {
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "10359:6:1"
},
"nodeType": "YulIf",
"src": "10356:84:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "10460:4:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "10519:5:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "10526:6:1"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulIdentifier",
"src": "10466:52:1"
},
"nodeType": "YulFunctionCall",
"src": "10466:67:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "10453:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10453:81:1"
},
"nodeType": "YulExpressionStatement",
"src": "10453:81:1"
}
]
},
"nodeType": "YulCase",
"src": "10307:237:1",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "9646:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9654:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "9643:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9643:14:1"
},
"nodeType": "YulSwitch",
"src": "9636:908:1"
}
]
},
"name": "copy_byte_array_to_storage_from_t_string_calldata_ptr_to_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "9230:4:1",
"type": ""
},
{
"name": "src",
"nodeType": "YulTypedName",
"src": "9236:3:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "9241:3:1",
"type": ""
}
],
"src": "9147:1403: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 revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // string\n function abi_decode_t_string_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_string_calldata_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_string_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function 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 array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function 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 store_literal_in_memory_15ed5034391ed5ef65b8bb8dbcb08f9b6c4034ebcf89f76344a17e1651e92b33(memPtr) {\n\n mstore(add(memPtr, 0), \"Caller is not the owner\")\n\n }\n\n function abi_encode_t_stringliteral_15ed5034391ed5ef65b8bb8dbcb08f9b6c4034ebcf89f76344a17e1651e92b33_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 23)\n store_literal_in_memory_15ed5034391ed5ef65b8bb8dbcb08f9b6c4034ebcf89f76344a17e1651e92b33(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_15ed5034391ed5ef65b8bb8dbcb08f9b6c4034ebcf89f76344a17e1651e92b33__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_15ed5034391ed5ef65b8bb8dbcb08f9b6c4034ebcf89f76344a17e1651e92b33_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_length_t_string_calldata_ptr(value, len) -> length {\n\n length := len\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_calldata_ptr_to_t_string_storage(slot, src, len) {\n\n let newLen := array_length_t_string_calldata_ptr(src, len)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, calldataload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := calldataload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := calldataload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061004c5760003560e01c80635d3a1f9d146100515780638da5cb5b1461006d578063c605f76c1461008b578063f2fde38b146100a9575b600080fd5b61006b60048036038101906100669190610366565b6100c5565b005b61007561016b565b60405161008291906103f4565b60405180910390f35b610093610191565b6040516100a0919061049f565b60405180910390f35b6100c360048036038101906100be91906104ed565b610223565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610155576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014c90610566565b60405180910390fd5b8181600091826101669291906107d6565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600080546101a0906105ef565b80601f01602080910402602001604051908101604052809291908181526020018280546101cc906105ef565b80156102195780601f106101ee57610100808354040283529160200191610219565b820191906000526020600020905b8154815290600101906020018083116101fc57829003601f168201915b5050505050905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102aa90610566565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f84011261032657610325610301565b5b8235905067ffffffffffffffff81111561034357610342610306565b5b60208301915083600182028301111561035f5761035e61030b565b5b9250929050565b6000806020838503121561037d5761037c6102f7565b5b600083013567ffffffffffffffff81111561039b5761039a6102fc565b5b6103a785828601610310565b92509250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103de826103b3565b9050919050565b6103ee816103d3565b82525050565b600060208201905061040960008301846103e5565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561044957808201518184015260208101905061042e565b60008484015250505050565b6000601f19601f8301169050919050565b60006104718261040f565b61047b818561041a565b935061048b81856020860161042b565b61049481610455565b840191505092915050565b600060208201905081810360008301526104b98184610466565b905092915050565b6104ca816103d3565b81146104d557600080fd5b50565b6000813590506104e7816104c1565b92915050565b600060208284031215610503576105026102f7565b5b6000610511848285016104d8565b91505092915050565b7f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000600082015250565b600061055060178361041a565b915061055b8261051a565b602082019050919050565b6000602082019050818103600083015261057f81610543565b9050919050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061060757607f821691505b60208210810361061a576106196105c0565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026106827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610645565b61068c8683610645565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006106d36106ce6106c9846106a4565b6106ae565b6106a4565b9050919050565b6000819050919050565b6106ed836106b8565b6107016106f9826106da565b848454610652565b825550505050565b600090565b610716610709565b6107218184846106e4565b505050565b5b818110156107455761073a60008261070e565b600181019050610727565b5050565b601f82111561078a5761075b81610620565b61076484610635565b81016020851015610773578190505b61078761077f85610635565b830182610726565b50505b505050565b600082821c905092915050565b60006107ad6000198460080261078f565b1980831691505092915050565b60006107c6838361079c565b9150826002028217905092915050565b6107e08383610586565b67ffffffffffffffff8111156107f9576107f8610591565b5b61080382546105ef565b61080e828285610749565b6000601f83116001811461083d576000841561082b578287013590505b61083585826107ba565b86555061089d565b601f19841661084b86610620565b60005b828110156108735784890135825560018201915060208501945060208101905061084e565b86831015610890578489013561088c601f89168261079c565b8355505b6001600288020188555050505b5050505050505056fea264697066735822122017505db29d005a0ca7290a01a22e0cf9abe8543ef818189ad2148cbb95966fc064736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5D3A1F9D EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x6D JUMPI DUP1 PUSH4 0xC605F76C EQ PUSH2 0x8B JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xA9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x366 JUMP JUMPDEST PUSH2 0xC5 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x75 PUSH2 0x16B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x82 SWAP2 SWAP1 PUSH2 0x3F4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x93 PUSH2 0x191 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA0 SWAP2 SWAP1 PUSH2 0x49F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xBE SWAP2 SWAP1 PUSH2 0x4ED JUMP JUMPDEST PUSH2 0x223 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x155 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x14C SWAP1 PUSH2 0x566 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 PUSH1 0x0 SWAP2 DUP3 PUSH2 0x166 SWAP3 SWAP2 SWAP1 PUSH2 0x7D6 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x1A0 SWAP1 PUSH2 0x5EF JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1CC SWAP1 PUSH2 0x5EF JUMP JUMPDEST DUP1 ISZERO PUSH2 0x219 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1EE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x219 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 0x1FC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x2B3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2AA SWAP1 PUSH2 0x566 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x326 JUMPI PUSH2 0x325 PUSH2 0x301 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x343 JUMPI PUSH2 0x342 PUSH2 0x306 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x35F JUMPI PUSH2 0x35E PUSH2 0x30B JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x37D JUMPI PUSH2 0x37C PUSH2 0x2F7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x39B JUMPI PUSH2 0x39A PUSH2 0x2FC JUMP JUMPDEST JUMPDEST PUSH2 0x3A7 DUP6 DUP3 DUP7 ADD PUSH2 0x310 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DE DUP3 PUSH2 0x3B3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3EE DUP2 PUSH2 0x3D3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x409 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3E5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x449 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x42E JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x471 DUP3 PUSH2 0x40F JUMP JUMPDEST PUSH2 0x47B DUP2 DUP6 PUSH2 0x41A JUMP JUMPDEST SWAP4 POP PUSH2 0x48B DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x42B JUMP JUMPDEST PUSH2 0x494 DUP2 PUSH2 0x455 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x4B9 DUP2 DUP5 PUSH2 0x466 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x4CA DUP2 PUSH2 0x3D3 JUMP JUMPDEST DUP2 EQ PUSH2 0x4D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4E7 DUP2 PUSH2 0x4C1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x503 JUMPI PUSH2 0x502 PUSH2 0x2F7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x511 DUP5 DUP3 DUP6 ADD PUSH2 0x4D8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x43616C6C6572206973206E6F7420746865206F776E6572000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x550 PUSH1 0x17 DUP4 PUSH2 0x41A JUMP JUMPDEST SWAP2 POP PUSH2 0x55B DUP3 PUSH2 0x51A 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 0x57F DUP2 PUSH2 0x543 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x607 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x61A JUMPI PUSH2 0x619 PUSH2 0x5C0 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0x682 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x645 JUMP JUMPDEST PUSH2 0x68C DUP7 DUP4 PUSH2 0x645 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6D3 PUSH2 0x6CE PUSH2 0x6C9 DUP5 PUSH2 0x6A4 JUMP JUMPDEST PUSH2 0x6AE JUMP JUMPDEST PUSH2 0x6A4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6ED DUP4 PUSH2 0x6B8 JUMP JUMPDEST PUSH2 0x701 PUSH2 0x6F9 DUP3 PUSH2 0x6DA JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x652 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x716 PUSH2 0x709 JUMP JUMPDEST PUSH2 0x721 DUP2 DUP5 DUP5 PUSH2 0x6E4 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x745 JUMPI PUSH2 0x73A PUSH1 0x0 DUP3 PUSH2 0x70E JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x727 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x78A JUMPI PUSH2 0x75B DUP2 PUSH2 0x620 JUMP JUMPDEST PUSH2 0x764 DUP5 PUSH2 0x635 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x773 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x787 PUSH2 0x77F DUP6 PUSH2 0x635 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x726 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7AD PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x78F JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7C6 DUP4 DUP4 PUSH2 0x79C JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x7E0 DUP4 DUP4 PUSH2 0x586 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x7F9 JUMPI PUSH2 0x7F8 PUSH2 0x591 JUMP JUMPDEST JUMPDEST PUSH2 0x803 DUP3 SLOAD PUSH2 0x5EF JUMP JUMPDEST PUSH2 0x80E DUP3 DUP3 DUP6 PUSH2 0x749 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x83D JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x82B JUMPI DUP3 DUP8 ADD CALLDATALOAD SWAP1 POP JUMPDEST PUSH2 0x835 DUP6 DUP3 PUSH2 0x7BA JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x89D JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x84B DUP7 PUSH2 0x620 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x873 JUMPI DUP5 DUP10 ADD CALLDATALOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x84E JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x890 JUMPI DUP5 DUP10 ADD CALLDATALOAD PUSH2 0x88C PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x79C JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 OR POP 0x5D 0xB2 SWAP14 STOP GAS 0xC 0xA7 0x29 EXP ADD LOG2 0x2E 0xC 0xF9 0xAB 0xE8 SLOAD RETURNDATACOPY 0xF8 XOR XOR SWAP11 0xD2 EQ DUP13 0xBB SWAP6 SWAP7 PUSH16 0xC064736F6C6343000812003300000000 ",
"sourceMap": "69:565:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;326:90;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;122:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;234:86;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;422:95;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;326:90;581:5;;;;;;;;;;;567:19;;:10;:19;;;558:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;402:7:::1;;395:4;:14;;;;;;;:::i;:::-;;326:90:::0;;:::o;122:20::-;;;;;;;;;;;;;:::o;234:86::-;277:13;309:4;302:11;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;234:86;:::o;422:95::-;581:5;;;;;;;;;;;567:19;;:10;:19;;;558:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;502:8:::1;494:5;;:16;;;;;;;;;;;;;;;;;;422:95:::0;:::o;88:117:1:-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:117;689:1;686;679:12;717:553;775:8;785:6;835:3;828:4;820:6;816:17;812:27;802:122;;843:79;;:::i;:::-;802:122;956:6;943:20;933:30;;986:18;978:6;975:30;972:117;;;1008:79;;:::i;:::-;972:117;1122:4;1114:6;1110:17;1098:29;;1176:3;1168:4;1160:6;1156:17;1146:8;1142:32;1139:41;1136:128;;;1183:79;;:::i;:::-;1136:128;717:553;;;;;:::o;1276:529::-;1347:6;1355;1404:2;1392:9;1383:7;1379:23;1375:32;1372:119;;;1410:79;;:::i;:::-;1372:119;1558:1;1547:9;1543:17;1530:31;1588:18;1580:6;1577:30;1574:117;;;1610:79;;:::i;:::-;1574:117;1723:65;1780:7;1771:6;1760:9;1756:22;1723:65;:::i;:::-;1705:83;;;;1501:297;1276:529;;;;;:::o;1811:126::-;1848:7;1888:42;1881:5;1877:54;1866:65;;1811:126;;;:::o;1943:96::-;1980:7;2009:24;2027:5;2009:24;:::i;:::-;1998:35;;1943:96;;;:::o;2045:118::-;2132:24;2150:5;2132:24;:::i;:::-;2127:3;2120:37;2045:118;;:::o;2169:222::-;2262:4;2300:2;2289:9;2285:18;2277:26;;2313:71;2381:1;2370:9;2366:17;2357:6;2313:71;:::i;:::-;2169:222;;;;:::o;2397:99::-;2449:6;2483:5;2477:12;2467:22;;2397:99;;;:::o;2502:169::-;2586:11;2620:6;2615:3;2608:19;2660:4;2655:3;2651:14;2636:29;;2502:169;;;;:::o;2677:246::-;2758:1;2768:113;2782:6;2779:1;2776:13;2768:113;;;2867:1;2862:3;2858:11;2852:18;2848:1;2843:3;2839:11;2832:39;2804:2;2801:1;2797:10;2792:15;;2768:113;;;2915:1;2906:6;2901:3;2897:16;2890:27;2739:184;2677:246;;;:::o;2929:102::-;2970:6;3021:2;3017:7;3012:2;3005:5;3001:14;2997:28;2987:38;;2929:102;;;:::o;3037:377::-;3125:3;3153:39;3186:5;3153:39;:::i;:::-;3208:71;3272:6;3267:3;3208:71;:::i;:::-;3201:78;;3288:65;3346:6;3341:3;3334:4;3327:5;3323:16;3288:65;:::i;:::-;3378:29;3400:6;3378:29;:::i;:::-;3373:3;3369:39;3362:46;;3129:285;3037:377;;;;:::o;3420:313::-;3533:4;3571:2;3560:9;3556:18;3548:26;;3620:9;3614:4;3610:20;3606:1;3595:9;3591:17;3584:47;3648:78;3721:4;3712:6;3648:78;:::i;:::-;3640:86;;3420:313;;;;:::o;3739:122::-;3812:24;3830:5;3812:24;:::i;:::-;3805:5;3802:35;3792:63;;3851:1;3848;3841:12;3792:63;3739:122;:::o;3867:139::-;3913:5;3951:6;3938:20;3929:29;;3967:33;3994:5;3967:33;:::i;:::-;3867:139;;;;:::o;4012:329::-;4071:6;4120:2;4108:9;4099:7;4095:23;4091:32;4088:119;;;4126:79;;:::i;:::-;4088:119;4246:1;4271:53;4316:7;4307:6;4296:9;4292:22;4271:53;:::i;:::-;4261:63;;4217:117;4012:329;;;;:::o;4347:173::-;4487:25;4483:1;4475:6;4471:14;4464:49;4347:173;:::o;4526:366::-;4668:3;4689:67;4753:2;4748:3;4689:67;:::i;:::-;4682:74;;4765:93;4854:3;4765:93;:::i;:::-;4883:2;4878:3;4874:12;4867:19;;4526:366;;;:::o;4898:419::-;5064:4;5102:2;5091:9;5087:18;5079:26;;5151:9;5145:4;5141:20;5137:1;5126:9;5122:17;5115:47;5179:131;5305:4;5179:131;:::i;:::-;5171:139;;4898:419;;;:::o;5323:97::-;5382:6;5410:3;5400:13;;5323:97;;;;:::o;5426:180::-;5474:77;5471:1;5464:88;5571:4;5568:1;5561:15;5595:4;5592:1;5585:15;5612:180;5660:77;5657:1;5650:88;5757:4;5754:1;5747:15;5781:4;5778:1;5771:15;5798:320;5842:6;5879:1;5873:4;5869:12;5859:22;;5926:1;5920:4;5916:12;5947:18;5937:81;;6003:4;5995:6;5991:17;5981:27;;5937:81;6065:2;6057:6;6054:14;6034:18;6031:38;6028:84;;6084:18;;:::i;:::-;6028:84;5849:269;5798:320;;;:::o;6124:141::-;6173:4;6196:3;6188:11;;6219:3;6216:1;6209:14;6253:4;6250:1;6240:18;6232:26;;6124:141;;;:::o;6271:93::-;6308:6;6355:2;6350;6343:5;6339:14;6335:23;6325:33;;6271:93;;;:::o;6370:107::-;6414:8;6464:5;6458:4;6454:16;6433:37;;6370:107;;;;:::o;6483:393::-;6552:6;6602:1;6590:10;6586:18;6625:97;6655:66;6644:9;6625:97;:::i;:::-;6743:39;6773:8;6762:9;6743:39;:::i;:::-;6731:51;;6815:4;6811:9;6804:5;6800:21;6791:30;;6864:4;6854:8;6850:19;6843:5;6840:30;6830:40;;6559:317;;6483:393;;;;;:::o;6882:77::-;6919:7;6948:5;6937:16;;6882:77;;;:::o;6965:60::-;6993:3;7014:5;7007:12;;6965:60;;;:::o;7031:142::-;7081:9;7114:53;7132:34;7141:24;7159:5;7141:24;:::i;:::-;7132:34;:::i;:::-;7114:53;:::i;:::-;7101:66;;7031:142;;;:::o;7179:75::-;7222:3;7243:5;7236:12;;7179:75;;;:::o;7260:269::-;7370:39;7401:7;7370:39;:::i;:::-;7431:91;7480:41;7504:16;7480:41;:::i;:::-;7472:6;7465:4;7459:11;7431:91;:::i;:::-;7425:4;7418:105;7336:193;7260:269;;;:::o;7535:73::-;7580:3;7535:73;:::o;7614:189::-;7691:32;;:::i;:::-;7732:65;7790:6;7782;7776:4;7732:65;:::i;:::-;7667:136;7614:189;;:::o;7809:186::-;7869:120;7886:3;7879:5;7876:14;7869:120;;;7940:39;7977:1;7970:5;7940:39;:::i;:::-;7913:1;7906:5;7902:13;7893:22;;7869:120;;;7809:186;;:::o;8001:543::-;8102:2;8097:3;8094:11;8091:446;;;8136:38;8168:5;8136:38;:::i;:::-;8220:29;8238:10;8220:29;:::i;:::-;8210:8;8206:44;8403:2;8391:10;8388:18;8385:49;;;8424:8;8409:23;;8385:49;8447:80;8503:22;8521:3;8503:22;:::i;:::-;8493:8;8489:37;8476:11;8447:80;:::i;:::-;8106:431;;8091:446;8001:543;;;:::o;8550:117::-;8604:8;8654:5;8648:4;8644:16;8623:37;;8550:117;;;;:::o;8673:169::-;8717:6;8750:51;8798:1;8794:6;8786:5;8783:1;8779:13;8750:51;:::i;:::-;8746:56;8831:4;8825;8821:15;8811:25;;8724:118;8673:169;;;;:::o;8847:295::-;8923:4;9069:29;9094:3;9088:4;9069:29;:::i;:::-;9061:37;;9131:3;9128:1;9124:11;9118:4;9115:21;9107:29;;8847:295;;;;:::o;9147:1403::-;9271:44;9311:3;9306;9271:44;:::i;:::-;9380:18;9372:6;9369:30;9366:56;;;9402:18;;:::i;:::-;9366:56;9446:38;9478:4;9472:11;9446:38;:::i;:::-;9531:67;9591:6;9583;9577:4;9531:67;:::i;:::-;9625:1;9654:2;9646:6;9643:14;9671:1;9666:632;;;;10342:1;10359:6;10356:84;;;10415:9;10410:3;10406:19;10393:33;10384:42;;10356:84;10466:67;10526:6;10519:5;10466:67;:::i;:::-;10460:4;10453:81;10315:229;9636:908;;9666:632;9718:4;9714:9;9706:6;9702:22;9752:37;9784:4;9752:37;:::i;:::-;9811:1;9825:215;9839:7;9836:1;9833:14;9825:215;;;9925:9;9920:3;9916:19;9903:33;9895:6;9888:49;9976:1;9968:6;9964:14;9954:24;;10023:2;10012:9;10008:18;9995:31;;9862:4;9859:1;9855:12;9850:17;;9825:215;;;10068:6;10059:7;10056:19;10053:186;;;10133:9;10128:3;10124:19;10111:33;10176:48;10218:4;10210:6;10206:17;10195:9;10176:48;:::i;:::-;10168:6;10161:64;10076:163;10053:186;10285:1;10281;10273:6;10269:14;10265:22;10259:4;10252:36;9673:625;;;9636:908;;9246:1304;;;9147:1403;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "453600",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"helloWorld()": "infinite",
"owner()": "2514",
"setText(string)": "infinite",
"transferOwnership(address)": "26936"
}
},
"legacyAssembly": {
".code": [
{
"begin": 69,
"end": 634,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 69,
"end": 634,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 69,
"end": 634,
"name": "MSTORE",
"source": 0
},
{
"begin": 149,
"end": 228,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 149,
"end": 228,
"name": "DUP1",
"source": 0
},
{
"begin": 149,
"end": 228,
"name": "ISZERO",
"source": 0
},
{
"begin": 149,
"end": 228,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 149,
"end": 228,
"name": "JUMPI",
"source": 0
},
{
"begin": 149,
"end": 228,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 149,
"end": 228,
"name": "DUP1",
"source": 0
},
{
"begin": 149,
"end": 228,
"name": "REVERT",
"source": 0
},
{
"begin": 149,
"end": 228,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 149,
"end": 228,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 149,
"end": 228,
"name": "POP",
"source": 0
},
{
"begin": 173,
"end": 193,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 173,
"end": 193,
"name": "MLOAD",
"source": 0
},
{
"begin": 173,
"end": 193,
"name": "DUP1",
"source": 0
},
{
"begin": 173,
"end": 193,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 173,
"end": 193,
"name": "ADD",
"source": 0
},
{
"begin": 173,
"end": 193,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 173,
"end": 193,
"name": "MSTORE",
"source": 0
},
{
"begin": 173,
"end": 193,
"name": "DUP1",
"source": 0
},
{
"begin": 173,
"end": 193,
"name": "PUSH",
"source": 0,
"value": "B"
},
{
"begin": 173,
"end": 193,
"name": "DUP2",
"source": 0
},
{
"begin": 173,
"end": 193,
"name": "MSTORE",
"source": 0
},
{
"begin": 173,
"end": 193,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 173,
"end": 193,
"name": "ADD",
"source": 0
},
{
"begin": 173,
"end": 193,
"name": "PUSH",
"source": 0,
"value": "48656C6C6F20576F726C64000000000000000000000000000000000000000000"
},
{
"begin": 173,
"end": 193,
"name": "DUP2",
"source": 0
},
{
"begin": 173,
"end": 193,
"name": "MSTORE",
"source": 0
},
{
"begin": 173,
"end": 193,
"name": "POP",
"source": 0
},
{
"begin": 173,
"end": 177,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 173,
"end": 193,
"name": "SWAP1",
"source": 0
},
{
"begin": 173,
"end": 193,
"name": "DUP2",
"source": 0
},
{
"begin": 173,
"end": 193,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 173,
"end": 193,
"name": "SWAP2",
"source": 0
},
{
"begin": 173,
"end": 193,
"name": "SWAP1",
"source": 0
},
{
"begin": 173,
"end": 193,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 173,
"end": 193,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 173,
"end": 193,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 173,
"end": 193,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 173,
"end": 193,
"name": "POP",
"source": 0
},
{
"begin": 211,
"end": 221,
"name": "CALLER",
"source": 0
},
{
"begin": 203,
"end": 208,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 203,
"end": 208,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 203,
"end": 221,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 203,
"end": 221,
"name": "EXP",
"source": 0
},
{
"begin": 203,
"end": 221,
"name": "DUP2",
"source": 0
},
{
"begin": 203,
"end": 221,
"name": "SLOAD",
"source": 0
},
{
"begin": 203,
"end": 221,
"name": "DUP2",
"source": 0
},
{
"begin": 203,
"end": 221,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 203,
"end": 221,
"name": "MUL",
"source": 0
},
{
"begin": 203,
"end": 221,
"name": "NOT",
"source": 0
},
{
"begin": 203,
"end": 221,
"name": "AND",
"source": 0
},
{
"begin": 203,
"end": 221,
"name": "SWAP1",
"source": 0
},
{
"begin": 203,
"end": 221,
"name": "DUP4",
"source": 0
},
{
"begin": 203,
"end": 221,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 203,
"end": 221,
"name": "AND",
"source": 0
},
{
"begin": 203,
"end": 221,
"name": "MUL",
"source": 0
},
{
"begin": 203,
"end": 221,
"name": "OR",
"source": 0
},
{
"begin": 203,
"end": 221,
"name": "SWAP1",
"source": 0
},
{
"begin": 203,
"end": 221,
"name": "SSTORE",
"source": 0
},
{
"begin": 203,
"end": 221,
"name": "POP",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 69,
"end": 634,
"name": "JUMP",
"source": 0
},
{
"begin": 7,
"end": 106,
"name": "tag",
"source": 1,
"value": "7"
},
{
"begin": 7,
"end": 106,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 59,
"end": 65,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 93,
"end": 98,
"name": "DUP2",
"source": 1
},
{
"begin": 87,
"end": 99,
"name": "MLOAD",
"source": 1
},
{
"begin": 77,
"end": 99,
"name": "SWAP1",
"source": 1
},
{
"begin": 77,
"end": 99,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 106,
"name": "SWAP2",
"source": 1
},
{
"begin": 7,
"end": 106,
"name": "SWAP1",
"source": 1
},
{
"begin": 7,
"end": 106,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 106,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 112,
"end": 292,
"name": "tag",
"source": 1,
"value": "8"
},
{
"begin": 112,
"end": 292,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 160,
"end": 237,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 157,
"end": 158,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 150,
"end": 238,
"name": "MSTORE",
"source": 1
},
{
"begin": 257,
"end": 261,
"name": "PUSH",
"source": 1,
"value": "41"
},
{
"begin": 254,
"end": 255,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 247,
"end": 262,
"name": "MSTORE",
"source": 1
},
{
"begin": 281,
"end": 285,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 278,
"end": 279,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 271,
"end": 286,
"name": "REVERT",
"source": 1
},
{
"begin": 298,
"end": 478,
"name": "tag",
"source": 1,
"value": "9"
},
{
"begin": 298,
"end": 478,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 346,
"end": 423,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 343,
"end": 344,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 336,
"end": 424,
"name": "MSTORE",
"source": 1
},
{
"begin": 443,
"end": 447,
"name": "PUSH",
"source": 1,
"value": "22"
},
{
"begin": 440,
"end": 441,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 433,
"end": 448,
"name": "MSTORE",
"source": 1
},
{
"begin": 467,
"end": 471,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 464,
"end": 465,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 457,
"end": 472,
"name": "REVERT",
"source": 1
},
{
"begin": 484,
"end": 804,
"name": "tag",
"source": 1,
"value": "10"
},
{
"begin": 484,
"end": 804,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 528,
"end": 534,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 565,
"end": 566,
"name": "PUSH",
"source": 1,
"value": "2"
},
{
"begin": 559,
"end": 563,
"name": "DUP3",
"source": 1
},
{
"begin": 555,
"end": 567,
"name": "DIV",
"source": 1
},
{
"begin": 545,
"end": 567,
"name": "SWAP1",
"source": 1
},
{
"begin": 545,
"end": 567,
"name": "POP",
"source": 1
},
{
"begin": 612,
"end": 613,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 606,
"end": 610,
"name": "DUP3",
"source": 1
},
{
"begin": 602,
"end": 614,
"name": "AND",
"source": 1
},
{
"begin": 633,
"end": 651,
"name": "DUP1",
"source": 1
},
{
"begin": 623,
"end": 704,
"name": "PUSH [tag]",
"source": 1,
"value": "32"
},
{
"begin": 623,
"end": 704,
"name": "JUMPI",
"source": 1
},
{
"begin": 689,
"end": 693,
"name": "PUSH",
"source": 1,
"value": "7F"
},
{
"begin": 681,
"end": 687,
"name": "DUP3",
"source": 1
},
{
"begin": 677,
"end": 694,
"name": "AND",
"source": 1
},
{
"begin": 667,
"end": 694,
"name": "SWAP2",
"source": 1
},
{
"begin": 667,
"end": 694,
"name": "POP",
"source": 1
},
{
"begin": 623,
"end": 704,
"name": "tag",
"source": 1,
"value": "32"
},
{
"begin": 623,
"end": 704,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 751,
"end": 753,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 743,
"end": 749,
"name": "DUP3",
"source": 1
},
{
"begin": 740,
"end": 754,
"name": "LT",
"source": 1
},
{
"begin": 720,
"end": 738,
"name": "DUP2",
"source": 1
},
{
"begin": 717,
"end": 755,
"name": "SUB",
"source": 1
},
{
"begin": 714,
"end": 798,
"name": "PUSH [tag]",
"source": 1,
"value": "33"
},
{
"begin": 714,
"end": 798,
"name": "JUMPI",
"source": 1
},
{
"begin": 770,
"end": 788,
"name": "PUSH [tag]",
"source": 1,
"value": "34"
},
{
"begin": 770,
"end": 788,
"name": "PUSH [tag]",
"source": 1,
"value": "9"
},
{
"begin": 770,
"end": 788,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 770,
"end": 788,
"name": "tag",
"source": 1,
"value": "34"
},
{
"begin": 770,
"end": 788,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 714,
"end": 798,
"name": "tag",
"source": 1,
"value": "33"
},
{
"begin": 714,
"end": 798,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 535,
"end": 804,
"name": "POP",
"source": 1
},
{
"begin": 484,
"end": 804,
"name": "SWAP2",
"source": 1
},
{
"begin": 484,
"end": 804,
"name": "SWAP1",
"source": 1
},
{
"begin": 484,
"end": 804,
"name": "POP",
"source": 1
},
{
"begin": 484,
"end": 804,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 810,
"end": 951,
"name": "tag",
"source": 1,
"value": "11"
},
{
"begin": 810,
"end": 951,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 859,
"end": 863,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 882,
"end": 885,
"name": "DUP2",
"source": 1
},
{
"begin": 874,
"end": 885,
"name": "SWAP1",
"source": 1
},
{
"begin": 874,
"end": 885,
"name": "POP",
"source": 1
},
{
"begin": 905,
"end": 908,
"name": "DUP2",
"source": 1
},
{
"begin": 902,
"end": 903,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 895,
"end": 909,
"name": "MSTORE",
"source": 1
},
{
"begin": 939,
"end": 943,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 936,
"end": 937,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 926,
"end": 944,
"name": "KECCAK256",
"source": 1
},
{
"begin": 918,
"end": 944,
"name": "SWAP1",
"source": 1
},
{
"begin": 918,
"end": 944,
"name": "POP",
"source": 1
},
{
"begin": 810,
"end": 951,
"name": "SWAP2",
"source": 1
},
{
"begin": 810,
"end": 951,
"name": "SWAP1",
"source": 1
},
{
"begin": 810,
"end": 951,
"name": "POP",
"source": 1
},
{
"begin": 810,
"end": 951,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 957,
"end": 1050,
"name": "tag",
"source": 1,
"value": "12"
},
{
"begin": 957,
"end": 1050,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 994,
"end": 1000,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1041,
"end": 1043,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1036,
"end": 1038,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 1029,
"end": 1034,
"name": "DUP4",
"source": 1
},
{
"begin": 1025,
"end": 1039,
"name": "ADD",
"source": 1
},
{
"begin": 1021,
"end": 1044,
"name": "DIV",
"source": 1
},
{
"begin": 1011,
"end": 1044,
"name": "SWAP1",
"source": 1
},
{
"begin": 1011,
"end": 1044,
"name": "POP",
"source": 1
},
{
"begin": 957,
"end": 1050,
"name": "SWAP2",
"source": 1
},
{
"begin": 957,
"end": 1050,
"name": "SWAP1",
"source": 1
},
{
"begin": 957,
"end": 1050,
"name": "POP",
"source": 1
},
{
"begin": 957,
"end": 1050,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1056,
"end": 1163,
"name": "tag",
"source": 1,
"value": "13"
},
{
"begin": 1056,
"end": 1163,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1100,
"end": 1108,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1150,
"end": 1155,
"name": "DUP3",
"source": 1
},
{
"begin": 1144,
"end": 1148,
"name": "DUP3",
"source": 1
},
{
"begin": 1140,
"end": 1156,
"name": "SHL",
"source": 1
},
{
"begin": 1119,
"end": 1156,
"name": "SWAP1",
"source": 1
},
{
"begin": 1119,
"end": 1156,
"name": "POP",
"source": 1
},
{
"begin": 1056,
"end": 1163,
"name": "SWAP3",
"source": 1
},
{
"begin": 1056,
"end": 1163,
"name": "SWAP2",
"source": 1
},
{
"begin": 1056,
"end": 1163,
"name": "POP",
"source": 1
},
{
"begin": 1056,
"end": 1163,
"name": "POP",
"source": 1
},
{
"begin": 1056,
"end": 1163,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1169,
"end": 1562,
"name": "tag",
"source": 1,
"value": "14"
},
{
"begin": 1169,
"end": 1562,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1238,
"end": 1244,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1288,
"end": 1289,
"name": "PUSH",
"source": 1,
"value": "8"
},
{
"begin": 1276,
"end": 1286,
"name": "DUP4",
"source": 1
},
{
"begin": 1272,
"end": 1290,
"name": "MUL",
"source": 1
},
{
"begin": 1311,
"end": 1408,
"name": "PUSH [tag]",
"source": 1,
"value": "39"
},
{
"begin": 1341,
"end": 1407,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1330,
"end": 1339,
"name": "DUP3",
"source": 1
},
{
"begin": 1311,
"end": 1408,
"name": "PUSH [tag]",
"source": 1,
"value": "13"
},
{
"begin": 1311,
"end": 1408,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1311,
"end": 1408,
"name": "tag",
"source": 1,
"value": "39"
},
{
"begin": 1311,
"end": 1408,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1429,
"end": 1468,
"name": "PUSH [tag]",
"source": 1,
"value": "40"
},
{
"begin": 1459,
"end": 1467,
"name": "DUP7",
"source": 1
},
{
"begin": 1448,
"end": 1457,
"name": "DUP4",
"source": 1
},
{
"begin": 1429,
"end": 1468,
"name": "PUSH [tag]",
"source": 1,
"value": "13"
},
{
"begin": 1429,
"end": 1468,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1429,
"end": 1468,
"name": "tag",
"source": 1,
"value": "40"
},
{
"begin": 1429,
"end": 1468,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1417,
"end": 1468,
"name": "SWAP6",
"source": 1
},
{
"begin": 1417,
"end": 1468,
"name": "POP",
"source": 1
},
{
"begin": 1501,
"end": 1505,
"name": "DUP1",
"source": 1
},
{
"begin": 1497,
"end": 1506,
"name": "NOT",
"source": 1
},
{
"begin": 1490,
"end": 1495,
"name": "DUP5",
"source": 1
},
{
"begin": 1486,
"end": 1507,
"name": "AND",
"source": 1
},
{
"begin": 1477,
"end": 1507,
"name": "SWAP4",
"source": 1
},
{
"begin": 1477,
"end": 1507,
"name": "POP",
"source": 1
},
{
"begin": 1550,
"end": 1554,
"name": "DUP1",
"source": 1
},
{
"begin": 1540,
"end": 1548,
"name": "DUP7",
"source": 1
},
{
"begin": 1536,
"end": 1555,
"name": "AND",
"source": 1
},
{
"begin": 1529,
"end": 1534,
"name": "DUP5",
"source": 1
},
{
"begin": 1526,
"end": 1556,
"name": "OR",
"source": 1
},
{
"begin": 1516,
"end": 1556,
"name": "SWAP3",
"source": 1
},
{
"begin": 1516,
"end": 1556,
"name": "POP",
"source": 1
},
{
"begin": 1245,
"end": 1562,
"name": "POP",
"source": 1
},
{
"begin": 1245,
"end": 1562,
"name": "POP",
"source": 1
},
{
"begin": 1169,
"end": 1562,
"name": "SWAP4",
"source": 1
},
{
"begin": 1169,
"end": 1562,
"name": "SWAP3",
"source": 1
},
{
"begin": 1169,
"end": 1562,
"name": "POP",
"source": 1
},
{
"begin": 1169,
"end": 1562,
"name": "POP",
"source": 1
},
{
"begin": 1169,
"end": 1562,
"name": "POP",
"source": 1
},
{
"begin": 1169,
"end": 1562,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1568,
"end": 1645,
"name": "tag",
"source": 1,
"value": "15"
},
{
"begin": 1568,
"end": 1645,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1605,
"end": 1612,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1634,
"end": 1639,
"name": "DUP2",
"source": 1
},
{
"begin": 1623,
"end": 1639,
"name": "SWAP1",
"source": 1
},
{
"begin": 1623,
"end": 1639,
"name": "POP",
"source": 1
},
{
"begin": 1568,
"end": 1645,
"name": "SWAP2",
"source": 1
},
{
"begin": 1568,
"end": 1645,
"name": "SWAP1",
"source": 1
},
{
"begin": 1568,
"end": 1645,
"name": "POP",
"source": 1
},
{
"begin": 1568,
"end": 1645,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1651,
"end": 1711,
"name": "tag",
"source": 1,
"value": "16"
},
{
"begin": 1651,
"end": 1711,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1679,
"end": 1682,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1700,
"end": 1705,
"name": "DUP2",
"source": 1
},
{
"begin": 1693,
"end": 1705,
"name": "SWAP1",
"source": 1
},
{
"begin": 1693,
"end": 1705,
"name": "POP",
"source": 1
},
{
"begin": 1651,
"end": 1711,
"name": "SWAP2",
"source": 1
},
{
"begin": 1651,
"end": 1711,
"name": "SWAP1",
"source": 1
},
{
"begin": 1651,
"end": 1711,
"name": "POP",
"source": 1
},
{
"begin": 1651,
"end": 1711,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1717,
"end": 1859,
"name": "tag",
"source": 1,
"value": "17"
},
{
"begin": 1717,
"end": 1859,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1767,
"end": 1776,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1800,
"end": 1853,
"name": "PUSH [tag]",
"source": 1,
"value": "44"
},
{
"begin": 1818,
"end": 1852,
"name": "PUSH [tag]",
"source": 1,
"value": "45"
},
{
"begin": 1827,
"end": 1851,
"name": "PUSH [tag]",
"source": 1,
"value": "46"
},
{
"begin": 1845,
"end": 1850,
"name": "DUP5",
"source": 1
},
{
"begin": 1827,
"end": 1851,
"name": "PUSH [tag]",
"source": 1,
"value": "15"
},
{
"begin": 1827,
"end": 1851,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1827,
"end": 1851,
"name": "tag",
"source": 1,
"value": "46"
},
{
"begin": 1827,
"end": 1851,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1818,
"end": 1852,
"name": "PUSH [tag]",
"source": 1,
"value": "16"
},
{
"begin": 1818,
"end": 1852,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1818,
"end": 1852,
"name": "tag",
"source": 1,
"value": "45"
},
{
"begin": 1818,
"end": 1852,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1800,
"end": 1853,
"name": "PUSH [tag]",
"source": 1,
"value": "15"
},
{
"begin": 1800,
"end": 1853,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1800,
"end": 1853,
"name": "tag",
"source": 1,
"value": "44"
},
{
"begin": 1800,
"end": 1853,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1787,
"end": 1853,
"name": "SWAP1",
"source": 1
},
{
"begin": 1787,
"end": 1853,
"name": "POP",
"source": 1
},
{
"begin": 1717,
"end": 1859,
"name": "SWAP2",
"source": 1
},
{
"begin": 1717,
"end": 1859,
"name": "SWAP1",
"source": 1
},
{
"begin": 1717,
"end": 1859,
"name": "POP",
"source": 1
},
{
"begin": 1717,
"end": 1859,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1865,
"end": 1940,
"name": "tag",
"source": 1,
"value": "18"
},
{
"begin": 1865,
"end": 1940,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1908,
"end": 1911,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1929,
"end": 1934,
"name": "DUP2",
"source": 1
},
{
"begin": 1922,
"end": 1934,
"name": "SWAP1",
"source": 1
},
{
"begin": 1922,
"end": 1934,
"name": "POP",
"source": 1
},
{
"begin": 1865,
"end": 1940,
"name": "SWAP2",
"source": 1
},
{
"begin": 1865,
"end": 1940,
"name": "SWAP1",
"source": 1
},
{
"begin": 1865,
"end": 1940,
"name": "POP",
"source": 1
},
{
"begin": 1865,
"end": 1940,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1946,
"end": 2215,
"name": "tag",
"source": 1,
"value": "19"
},
{
"begin": 1946,
"end": 2215,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2056,
"end": 2095,
"name": "PUSH [tag]",
"source": 1,
"value": "49"
},
{
"begin": 2087,
"end": 2094,
"name": "DUP4",
"source": 1
},
{
"begin": 2056,
"end": 2095,
"name": "PUSH [tag]",
"source": 1,
"value": "17"
},
{
"begin": 2056,
"end": 2095,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2056,
"end": 2095,
"name": "tag",
"source": 1,
"value": "49"
},
{
"begin": 2056,
"end": 2095,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2117,
"end": 2208,
"name": "PUSH [tag]",
"source": 1,
"value": "50"
},
{
"begin": 2166,
"end": 2207,
"name": "PUSH [tag]",
"source": 1,
"value": "51"
},
{
"begin": 2190,
"end": 2206,
"name": "DUP3",
"source": 1
},
{
"begin": 2166,
"end": 2207,
"name": "PUSH [tag]",
"source": 1,
"value": "18"
},
{
"begin": 2166,
"end": 2207,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2166,
"end": 2207,
"name": "tag",
"source": 1,
"value": "51"
},
{
"begin": 2166,
"end": 2207,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2158,
"end": 2164,
"name": "DUP5",
"source": 1
},
{
"begin": 2151,
"end": 2155,
"name": "DUP5",
"source": 1
},
{
"begin": 2145,
"end": 2156,
"name": "SLOAD",
"source": 1
},
{
"begin": 2117,
"end": 2208,
"name": "PUSH [tag]",
"source": 1,
"value": "14"
},
{
"begin": 2117,
"end": 2208,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2117,
"end": 2208,
"name": "tag",
"source": 1,
"value": "50"
},
{
"begin": 2117,
"end": 2208,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2111,
"end": 2115,
"name": "DUP3",
"source": 1
},
{
"begin": 2104,
"end": 2209,
"name": "SSTORE",
"source": 1
},
{
"begin": 2022,
"end": 2215,
"name": "POP",
"source": 1
},
{
"begin": 1946,
"end": 2215,
"name": "POP",
"source": 1
},
{
"begin": 1946,
"end": 2215,
"name": "POP",
"source": 1
},
{
"begin": 1946,
"end": 2215,
"name": "POP",
"source": 1
},
{
"begin": 1946,
"end": 2215,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2221,
"end": 2294,
"name": "tag",
"source": 1,
"value": "20"
},
{
"begin": 2221,
"end": 2294,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2266,
"end": 2269,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2221,
"end": 2294,
"name": "SWAP1",
"source": 1
},
{
"begin": 2221,
"end": 2294,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2300,
"end": 2489,
"name": "tag",
"source": 1,
"value": "21"
},
{
"begin": 2300,
"end": 2489,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2377,
"end": 2409,
"name": "PUSH [tag]",
"source": 1,
"value": "54"
},
{
"begin": 2377,
"end": 2409,
"name": "PUSH [tag]",
"source": 1,
"value": "20"
},
{
"begin": 2377,
"end": 2409,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2377,
"end": 2409,
"name": "tag",
"source": 1,
"value": "54"
},
{
"begin": 2377,
"end": 2409,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2418,
"end": 2483,
"name": "PUSH [tag]",
"source": 1,
"value": "55"
},
{
"begin": 2476,
"end": 2482,
"name": "DUP2",
"source": 1
},
{
"begin": 2468,
"end": 2474,
"name": "DUP5",
"source": 1
},
{
"begin": 2462,
"end": 2466,
"name": "DUP5",
"source": 1
},
{
"begin": 2418,
"end": 2483,
"name": "PUSH [tag]",
"source": 1,
"value": "19"
},
{
"begin": 2418,
"end": 2483,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2418,
"end": 2483,
"name": "tag",
"source": 1,
"value": "55"
},
{
"begin": 2418,
"end": 2483,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2353,
"end": 2489,
"name": "POP",
"source": 1
},
{
"begin": 2300,
"end": 2489,
"name": "POP",
"source": 1
},
{
"begin": 2300,
"end": 2489,
"name": "POP",
"source": 1
},
{
"begin": 2300,
"end": 2489,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2495,
"end": 2681,
"name": "tag",
"source": 1,
"value": "22"
},
{
"begin": 2495,
"end": 2681,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2555,
"end": 2675,
"name": "tag",
"source": 1,
"value": "57"
},
{
"begin": 2555,
"end": 2675,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2572,
"end": 2575,
"name": "DUP2",
"source": 1
},
{
"begin": 2565,
"end": 2570,
"name": "DUP2",
"source": 1
},
{
"begin": 2562,
"end": 2576,
"name": "LT",
"source": 1
},
{
"begin": 2555,
"end": 2675,
"name": "ISZERO",
"source": 1
},
{
"begin": 2555,
"end": 2675,
"name": "PUSH [tag]",
"source": 1,
"value": "59"
},
{
"begin": 2555,
"end": 2675,
"name": "JUMPI",
"source": 1
},
{
"begin": 2626,
"end": 2665,
"name": "PUSH [tag]",
"source": 1,
"value": "60"
},
{
"begin": 2663,
"end": 2664,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2656,
"end": 2661,
"name": "DUP3",
"source": 1
},
{
"begin": 2626,
"end": 2665,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 2626,
"end": 2665,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2626,
"end": 2665,
"name": "tag",
"source": 1,
"value": "60"
},
{
"begin": 2626,
"end": 2665,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2599,
"end": 2600,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 2592,
"end": 2597,
"name": "DUP2",
"source": 1
},
{
"begin": 2588,
"end": 2601,
"name": "ADD",
"source": 1
},
{
"begin": 2579,
"end": 2601,
"name": "SWAP1",
"source": 1
},
{
"begin": 2579,
"end": 2601,
"name": "POP",
"source": 1
},
{
"begin": 2555,
"end": 2675,
"name": "PUSH [tag]",
"source": 1,
"value": "57"
},
{
"begin": 2555,
"end": 2675,
"name": "JUMP",
"source": 1
},
{
"begin": 2555,
"end": 2675,
"name": "tag",
"source": 1,
"value": "59"
},
{
"begin": 2555,
"end": 2675,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2495,
"end": 2681,
"name": "POP",
"source": 1
},
{
"begin": 2495,
"end": 2681,
"name": "POP",
"source": 1
},
{
"begin": 2495,
"end": 2681,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2687,
"end": 3230,
"name": "tag",
"source": 1,
"value": "23"
},
{
"begin": 2687,
"end": 3230,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2788,
"end": 2790,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 2783,
"end": 2786,
"name": "DUP3",
"source": 1
},
{
"begin": 2780,
"end": 2791,
"name": "GT",
"source": 1
},
{
"begin": 2777,
"end": 3223,
"name": "ISZERO",
"source": 1
},
{
"begin": 2777,
"end": 3223,
"name": "PUSH [tag]",
"source": 1,
"value": "62"
},
{
"begin": 2777,
"end": 3223,
"name": "JUMPI",
"source": 1
},
{
"begin": 2822,
"end": 2860,
"name": "PUSH [tag]",
"source": 1,
"value": "63"
},
{
"begin": 2854,
"end": 2859,
"name": "DUP2",
"source": 1
},
{
"begin": 2822,
"end": 2860,
"name": "PUSH [tag]",
"source": 1,
"value": "11"
},
{
"begin": 2822,
"end": 2860,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2822,
"end": 2860,
"name": "tag",
"source": 1,
"value": "63"
},
{
"begin": 2822,
"end": 2860,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2906,
"end": 2935,
"name": "PUSH [tag]",
"source": 1,
"value": "64"
},
{
"begin": 2924,
"end": 2934,
"name": "DUP5",
"source": 1
},
{
"begin": 2906,
"end": 2935,
"name": "PUSH [tag]",
"source": 1,
"value": "12"
},
{
"begin": 2906,
"end": 2935,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2906,
"end": 2935,
"name": "tag",
"source": 1,
"value": "64"
},
{
"begin": 2906,
"end": 2935,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2896,
"end": 2904,
"name": "DUP2",
"source": 1
},
{
"begin": 2892,
"end": 2936,
"name": "ADD",
"source": 1
},
{
"begin": 3089,
"end": 3091,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 3077,
"end": 3087,
"name": "DUP6",
"source": 1
},
{
"begin": 3074,
"end": 3092,
"name": "LT",
"source": 1
},
{
"begin": 3071,
"end": 3120,
"name": "ISZERO",
"source": 1
},
{
"begin": 3071,
"end": 3120,
"name": "PUSH [tag]",
"source": 1,
"value": "65"
},
{
"begin": 3071,
"end": 3120,
"name": "JUMPI",
"source": 1
},
{
"begin": 3110,
"end": 3118,
"name": "DUP2",
"source": 1
},
{
"begin": 3095,
"end": 3118,
"name": "SWAP1",
"source": 1
},
{
"begin": 3095,
"end": 3118,
"name": "POP",
"source": 1
},
{
"begin": 3071,
"end": 3120,
"name": "tag",
"source": 1,
"value": "65"
},
{
"begin": 3071,
"end": 3120,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3133,
"end": 3213,
"name": "PUSH [tag]",
"source": 1,
"value": "66"
},
{
"begin": 3189,
"end": 3211,
"name": "PUSH [tag]",
"source": 1,
"value": "67"
},
{
"begin": 3207,
"end": 3210,
"name": "DUP6",
"source": 1
},
{
"begin": 3189,
"end": 3211,
"name": "PUSH [tag]",
"source": 1,
"value": "12"
},
{
"begin": 3189,
"end": 3211,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3189,
"end": 3211,
"name": "tag",
"source": 1,
"value": "67"
},
{
"begin": 3189,
"end": 3211,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3179,
"end": 3187,
"name": "DUP4",
"source": 1
},
{
"begin": 3175,
"end": 3212,
"name": "ADD",
"source": 1
},
{
"begin": 3162,
"end": 3173,
"name": "DUP3",
"source": 1
},
{
"begin": 3133,
"end": 3213,
"name": "PUSH [tag]",
"source": 1,
"value": "22"
},
{
"begin": 3133,
"end": 3213,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3133,
"end": 3213,
"name": "tag",
"source": 1,
"value": "66"
},
{
"begin": 3133,
"end": 3213,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2792,
"end": 3223,
"name": "POP",
"source": 1
},
{
"begin": 2792,
"end": 3223,
"name": "POP",
"source": 1
},
{
"begin": 2777,
"end": 3223,
"name": "tag",
"source": 1,
"value": "62"
},
{
"begin": 2777,
"end": 3223,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2687,
"end": 3230,
"name": "POP",
"source": 1
},
{
"begin": 2687,
"end": 3230,
"name": "POP",
"source": 1
},
{
"begin": 2687,
"end": 3230,
"name": "POP",
"source": 1
},
{
"begin": 2687,
"end": 3230,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 3236,
"end": 3353,
"name": "tag",
"source": 1,
"value": "24"
},
{
"begin": 3236,
"end": 3353,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3290,
"end": 3298,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3340,
"end": 3345,
"name": "DUP3",
"source": 1
},
{
"begin": 3334,
"end": 3338,
"name": "DUP3",
"source": 1
},
{
"begin": 3330,
"end": 3346,
"name": "SHR",
"source": 1
},
{
"begin": 3309,
"end": 3346,
"name": "SWAP1",
"source": 1
},
{
"begin": 3309,
"end": 3346,
"name": "POP",
"source": 1
},
{
"begin": 3236,
"end": 3353,
"name": "SWAP3",
"source": 1
},
{
"begin": 3236,
"end": 3353,
"name": "SWAP2",
"source": 1
},
{
"begin": 3236,
"end": 3353,
"name": "POP",
"source": 1
},
{
"begin": 3236,
"end": 3353,
"name": "POP",
"source": 1
},
{
"begin": 3236,
"end": 3353,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 3359,
"end": 3528,
"name": "tag",
"source": 1,
"value": "25"
},
{
"begin": 3359,
"end": 3528,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3403,
"end": 3409,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3436,
"end": 3487,
"name": "PUSH [tag]",
"source": 1,
"value": "70"
},
{
"begin": 3484,
"end": 3485,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3480,
"end": 3486,
"name": "NOT",
"source": 1
},
{
"begin": 3472,
"end": 3477,
"name": "DUP5",
"source": 1
},
{
"begin": 3469,
"end": 3470,
"name": "PUSH",
"source": 1,
"value": "8"
},
{
"begin": 3465,
"end": 3478,
"name": "MUL",
"source": 1
},
{
"begin": 3436,
"end": 3487,
"name": "PUSH [tag]",
"source": 1,
"value": "24"
},
{
"begin": 3436,
"end": 3487,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3436,
"end": 3487,
"name": "tag",
"source": 1,
"value": "70"
},
{
"begin": 3436,
"end": 3487,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3432,
"end": 3488,
"name": "NOT",
"source": 1
},
{
"begin": 3517,
"end": 3521,
"name": "DUP1",
"source": 1
},
{
"begin": 3511,
"end": 3515,
"name": "DUP4",
"source": 1
},
{
"begin": 3507,
"end": 3522,
"name": "AND",
"source": 1
},
{
"begin": 3497,
"end": 3522,
"name": "SWAP2",
"source": 1
},
{
"begin": 3497,
"end": 3522,
"name": "POP",
"source": 1
},
{
"begin": 3410,
"end": 3528,
"name": "POP",
"source": 1
},
{
"begin": 3359,
"end": 3528,
"name": "SWAP3",
"source": 1
},
{
"begin": 3359,
"end": 3528,
"name": "SWAP2",
"source": 1
},
{
"begin": 3359,
"end": 3528,
"name": "POP",
"source": 1
},
{
"begin": 3359,
"end": 3528,
"name": "POP",
"source": 1
},
{
"begin": 3359,
"end": 3528,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 3533,
"end": 3828,
"name": "tag",
"source": 1,
"value": "26"
},
{
"begin": 3533,
"end": 3828,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3609,
"end": 3613,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3755,
"end": 3784,
"name": "PUSH [tag]",
"source": 1,
"value": "72"
},
{
"begin": 3780,
"end": 3783,
"name": "DUP4",
"source": 1
},
{
"begin": 3774,
"end": 3778,
"name": "DUP4",
"source": 1
},
{
"begin": 3755,
"end": 3784,
"name": "PUSH [tag]",
"source": 1,
"value": "25"
},
{
"begin": 3755,
"end": 3784,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3755,
"end": 3784,
"name": "tag",
"source": 1,
"value": "72"
},
{
"begin": 3755,
"end": 3784,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3747,
"end": 3784,
"name": "SWAP2",
"source": 1
},
{
"begin": 3747,
"end": 3784,
"name": "POP",
"source": 1
},
{
"begin": 3817,
"end": 3820,
"name": "DUP3",
"source": 1
},
{
"begin": 3814,
"end": 3815,
"name": "PUSH",
"source": 1,
"value": "2"
},
{
"begin": 3810,
"end": 3821,
"name": "MUL",
"source": 1
},
{
"begin": 3804,
"end": 3808,
"name": "DUP3",
"source": 1
},
{
"begin": 3801,
"end": 3822,
"name": "OR",
"source": 1
},
{
"begin": 3793,
"end": 3822,
"name": "SWAP1",
"source": 1
},
{
"begin": 3793,
"end": 3822,
"name": "POP",
"source": 1
},
{
"begin": 3533,
"end": 3828,
"name": "SWAP3",
"source": 1
},
{
"begin": 3533,
"end": 3828,
"name": "SWAP2",
"source": 1
},
{
"begin": 3533,
"end": 3828,
"name": "POP",
"source": 1
},
{
"begin": 3533,
"end": 3828,
"name": "POP",
"source": 1
},
{
"begin": 3533,
"end": 3828,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 3833,
"end": 5228,
"name": "tag",
"source": 1,
"value": "5"
},
{
"begin": 3833,
"end": 5228,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3950,
"end": 3987,
"name": "PUSH [tag]",
"source": 1,
"value": "74"
},
{
"begin": 3983,
"end": 3986,
"name": "DUP3",
"source": 1
},
{
"begin": 3950,
"end": 3987,
"name": "PUSH [tag]",
"source": 1,
"value": "7"
},
{
"begin": 3950,
"end": 3987,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3950,
"end": 3987,
"name": "tag",
"source": 1,
"value": "74"
},
{
"begin": 3950,
"end": 3987,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4052,
"end": 4070,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 4044,
"end": 4050,
"name": "DUP2",
"source": 1
},
{
"begin": 4041,
"end": 4071,
"name": "GT",
"source": 1
},
{
"begin": 4038,
"end": 4094,
"name": "ISZERO",
"source": 1
},
{
"begin": 4038,
"end": 4094,
"name": "PUSH [tag]",
"source": 1,
"value": "75"
},
{
"begin": 4038,
"end": 4094,
"name": "JUMPI",
"source": 1
},
{
"begin": 4074,
"end": 4092,
"name": "PUSH [tag]",
"source": 1,
"value": "76"
},
{
"begin": 4074,
"end": 4092,
"name": "PUSH [tag]",
"source": 1,
"value": "8"
},
{
"begin": 4074,
"end": 4092,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4074,
"end": 4092,
"name": "tag",
"source": 1,
"value": "76"
},
{
"begin": 4074,
"end": 4092,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4038,
"end": 4094,
"name": "tag",
"source": 1,
"value": "75"
},
{
"begin": 4038,
"end": 4094,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4118,
"end": 4156,
"name": "PUSH [tag]",
"source": 1,
"value": "77"
},
{
"begin": 4150,
"end": 4154,
"name": "DUP3",
"source": 1
},
{
"begin": 4144,
"end": 4155,
"name": "SLOAD",
"source": 1
},
{
"begin": 4118,
"end": 4156,
"name": "PUSH [tag]",
"source": 1,
"value": "10"
},
{
"begin": 4118,
"end": 4156,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4118,
"end": 4156,
"name": "tag",
"source": 1,
"value": "77"
},
{
"begin": 4118,
"end": 4156,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4203,
"end": 4270,
"name": "PUSH [tag]",
"source": 1,
"value": "78"
},
{
"begin": 4263,
"end": 4269,
"name": "DUP3",
"source": 1
},
{
"begin": 4255,
"end": 4261,
"name": "DUP3",
"source": 1
},
{
"begin": 4249,
"end": 4253,
"name": "DUP6",
"source": 1
},
{
"begin": 4203,
"end": 4270,
"name": "PUSH [tag]",
"source": 1,
"value": "23"
},
{
"begin": 4203,
"end": 4270,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4203,
"end": 4270,
"name": "tag",
"source": 1,
"value": "78"
},
{
"begin": 4203,
"end": 4270,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4297,
"end": 4298,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4321,
"end": 4325,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4308,
"end": 4325,
"name": "SWAP1",
"source": 1
},
{
"begin": 4308,
"end": 4325,
"name": "POP",
"source": 1
},
{
"begin": 4353,
"end": 4355,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 4345,
"end": 4351,
"name": "DUP4",
"source": 1
},
{
"begin": 4342,
"end": 4356,
"name": "GT",
"source": 1
},
{
"begin": 4370,
"end": 4371,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 4365,
"end": 4983,
"name": "DUP2",
"source": 1
},
{
"begin": 4365,
"end": 4983,
"name": "EQ",
"source": 1
},
{
"begin": 4365,
"end": 4983,
"name": "PUSH [tag]",
"source": 1,
"value": "80"
},
{
"begin": 4365,
"end": 4983,
"name": "JUMPI",
"source": 1
},
{
"begin": 5027,
"end": 5028,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5044,
"end": 5050,
"name": "DUP5",
"source": 1
},
{
"begin": 5041,
"end": 5118,
"name": "ISZERO",
"source": 1
},
{
"begin": 5041,
"end": 5118,
"name": "PUSH [tag]",
"source": 1,
"value": "81"
},
{
"begin": 5041,
"end": 5118,
"name": "JUMPI",
"source": 1
},
{
"begin": 5093,
"end": 5102,
"name": "DUP3",
"source": 1
},
{
"begin": 5088,
"end": 5091,
"name": "DUP8",
"source": 1
},
{
"begin": 5084,
"end": 5103,
"name": "ADD",
"source": 1
},
{
"begin": 5078,
"end": 5104,
"name": "MLOAD",
"source": 1
},
{
"begin": 5069,
"end": 5104,
"name": "SWAP1",
"source": 1
},
{
"begin": 5069,
"end": 5104,
"name": "POP",
"source": 1
},
{
"begin": 5041,
"end": 5118,
"name": "tag",
"source": 1,
"value": "81"
},
{
"begin": 5041,
"end": 5118,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5144,
"end": 5211,
"name": "PUSH [tag]",
"source": 1,
"value": "82"
},
{
"begin": 5204,
"end": 5210,
"name": "DUP6",
"source": 1
},
{
"begin": 5197,
"end": 5202,
"name": "DUP3",
"source": 1
},
{
"begin": 5144,
"end": 5211,
"name": "PUSH [tag]",
"source": 1,
"value": "26"
},
{
"begin": 5144,
"end": 5211,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 5144,
"end": 5211,
"name": "tag",
"source": 1,
"value": "82"
},
{
"begin": 5144,
"end": 5211,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5138,
"end": 5142,
"name": "DUP7",
"source": 1
},
{
"begin": 5131,
"end": 5212,
"name": "SSTORE",
"source": 1
},
{
"begin": 5000,
"end": 5222,
"name": "POP",
"source": 1
},
{
"begin": 4335,
"end": 5222,
"name": "PUSH [tag]",
"source": 1,
"value": "79"
},
{
"begin": 4335,
"end": 5222,
"name": "JUMP",
"source": 1
},
{
"begin": 4365,
"end": 4983,
"name": "tag",
"source": 1,
"value": "80"
},
{
"begin": 4365,
"end": 4983,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4417,
"end": 4421,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 4413,
"end": 4422,
"name": "NOT",
"source": 1
},
{
"begin": 4405,
"end": 4411,
"name": "DUP5",
"source": 1
},
{
"begin": 4401,
"end": 4423,
"name": "AND",
"source": 1
},
{
"begin": 4451,
"end": 4488,
"name": "PUSH [tag]",
"source": 1,
"value": "83"
},
{
"begin": 4483,
"end": 4487,
"name": "DUP7",
"source": 1
},
{
"begin": 4451,
"end": 4488,
"name": "PUSH [tag]",
"source": 1,
"value": "11"
},
{
"begin": 4451,
"end": 4488,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4451,
"end": 4488,
"name": "tag",
"source": 1,
"value": "83"
},
{
"begin": 4451,
"end": 4488,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4510,
"end": 4511,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4524,
"end": 4732,
"name": "tag",
"source": 1,
"value": "84"
},
{
"begin": 4524,
"end": 4732,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4538,
"end": 4545,
"name": "DUP3",
"source": 1
},
{
"begin": 4535,
"end": 4536,
"name": "DUP2",
"source": 1
},
{
"begin": 4532,
"end": 4546,
"name": "LT",
"source": 1
},
{
"begin": 4524,
"end": 4732,
"name": "ISZERO",
"source": 1
},
{
"begin": 4524,
"end": 4732,
"name": "PUSH [tag]",
"source": 1,
"value": "86"
},
{
"begin": 4524,
"end": 4732,
"name": "JUMPI",
"source": 1
},
{
"begin": 4617,
"end": 4626,
"name": "DUP5",
"source": 1
},
{
"begin": 4612,
"end": 4615,
"name": "DUP10",
"source": 1
},
{
"begin": 4608,
"end": 4627,
"name": "ADD",
"source": 1
},
{
"begin": 4602,
"end": 4628,
"name": "MLOAD",
"source": 1
},
{
"begin": 4594,
"end": 4600,
"name": "DUP3",
"source": 1
},
{
"begin": 4587,
"end": 4629,
"name": "SSTORE",
"source": 1
},
{
"begin": 4668,
"end": 4669,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 4660,
"end": 4666,
"name": "DUP3",
"source": 1
},
{
"begin": 4656,
"end": 4670,
"name": "ADD",
"source": 1
},
{
"begin": 4646,
"end": 4670,
"name": "SWAP2",
"source": 1
},
{
"begin": 4646,
"end": 4670,
"name": "POP",
"source": 1
},
{
"begin": 4715,
"end": 4717,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4704,
"end": 4713,
"name": "DUP6",
"source": 1
},
{
"begin": 4700,
"end": 4718,
"name": "ADD",
"source": 1
},
{
"begin": 4687,
"end": 4718,
"name": "SWAP5",
"source": 1
},
{
"begin": 4687,
"end": 4718,
"name": "POP",
"source": 1
},
{
"begin": 4561,
"end": 4565,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4558,
"end": 4559,
"name": "DUP2",
"source": 1
},
{
"begin": 4554,
"end": 4566,
"name": "ADD",
"source": 1
},
{
"begin": 4549,
"end": 4566,
"name": "SWAP1",
"source": 1
},
{
"begin": 4549,
"end": 4566,
"name": "POP",
"source": 1
},
{
"begin": 4524,
"end": 4732,
"name": "PUSH [tag]",
"source": 1,
"value": "84"
},
{
"begin": 4524,
"end": 4732,
"name": "JUMP",
"source": 1
},
{
"begin": 4524,
"end": 4732,
"name": "tag",
"source": 1,
"value": "86"
},
{
"begin": 4524,
"end": 4732,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4760,
"end": 4766,
"name": "DUP7",
"source": 1
},
{
"begin": 4751,
"end": 4758,
"name": "DUP4",
"source": 1
},
{
"begin": 4748,
"end": 4767,
"name": "LT",
"source": 1
},
{
"begin": 4745,
"end": 4924,
"name": "ISZERO",
"source": 1
},
{
"begin": 4745,
"end": 4924,
"name": "PUSH [tag]",
"source": 1,
"value": "87"
},
{
"begin": 4745,
"end": 4924,
"name": "JUMPI",
"source": 1
},
{
"begin": 4818,
"end": 4827,
"name": "DUP5",
"source": 1
},
{
"begin": 4813,
"end": 4816,
"name": "DUP10",
"source": 1
},
{
"begin": 4809,
"end": 4828,
"name": "ADD",
"source": 1
},
{
"begin": 4803,
"end": 4829,
"name": "MLOAD",
"source": 1
},
{
"begin": 4861,
"end": 4909,
"name": "PUSH [tag]",
"source": 1,
"value": "88"
},
{
"begin": 4903,
"end": 4907,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 4895,
"end": 4901,
"name": "DUP10",
"source": 1
},
{
"begin": 4891,
"end": 4908,
"name": "AND",
"source": 1
},
{
"begin": 4880,
"end": 4889,
"name": "DUP3",
"source": 1
},
{
"begin": 4861,
"end": 4909,
"name": "PUSH [tag]",
"source": 1,
"value": "25"
},
{
"begin": 4861,
"end": 4909,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4861,
"end": 4909,
"name": "tag",
"source": 1,
"value": "88"
},
{
"begin": 4861,
"end": 4909,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4853,
"end": 4859,
"name": "DUP4",
"source": 1
},
{
"begin": 4846,
"end": 4910,
"name": "SSTORE",
"source": 1
},
{
"begin": 4768,
"end": 4924,
"name": "POP",
"source": 1
},
{
"begin": 4745,
"end": 4924,
"name": "tag",
"source": 1,
"value": "87"
},
{
"begin": 4745,
"end": 4924,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4970,
"end": 4971,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 4966,
"end": 4967,
"name": "PUSH",
"source": 1,
"value": "2"
},
{
"begin": 4958,
"end": 4964,
"name": "DUP9",
"source": 1
},
{
"begin": 4954,
"end": 4968,
"name": "MUL",
"source": 1
},
{
"begin": 4950,
"end": 4972,
"name": "ADD",
"source": 1
},
{
"begin": 4944,
"end": 4948,
"name": "DUP9",
"source": 1
},
{
"begin": 4937,
"end": 4973,
"name": "SSTORE",
"source": 1
},
{
"begin": 4372,
"end": 4983,
"name": "POP",
"source": 1
},
{
"begin": 4372,
"end": 4983,
"name": "POP",
"source": 1
},
{
"begin": 4372,
"end": 4983,
"name": "POP",
"source": 1
},
{
"begin": 4335,
"end": 5222,
"name": "tag",
"source": 1,
"value": "79"
},
{
"begin": 4335,
"end": 5222,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4335,
"end": 5222,
"name": "POP",
"source": 1
},
{
"begin": 3925,
"end": 5228,
"name": "POP",
"source": 1
},
{
"begin": 3925,
"end": 5228,
"name": "POP",
"source": 1
},
{
"begin": 3925,
"end": 5228,
"name": "POP",
"source": 1
},
{
"begin": 3833,
"end": 5228,
"name": "POP",
"source": 1
},
{
"begin": 3833,
"end": 5228,
"name": "POP",
"source": 1
},
{
"begin": 3833,
"end": 5228,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 69,
"end": 634,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 69,
"end": 634,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 69,
"end": 634,
"name": "DUP1",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 69,
"end": 634,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 69,
"end": 634,
"name": "CODECOPY",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 69,
"end": 634,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a264697066735822122017505db29d005a0ca7290a01a22e0cf9abe8543ef818189ad2148cbb95966fc064736f6c63430008120033",
".code": [
{
"begin": 69,
"end": 634,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 69,
"end": 634,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 69,
"end": 634,
"name": "MSTORE",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "DUP1",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "ISZERO",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 69,
"end": 634,
"name": "JUMPI",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 69,
"end": 634,
"name": "DUP1",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "REVERT",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 69,
"end": 634,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "POP",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 69,
"end": 634,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "LT",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 69,
"end": 634,
"name": "JUMPI",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 69,
"end": 634,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 69,
"end": 634,
"name": "SHR",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "DUP1",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "PUSH",
"source": 0,
"value": "5D3A1F9D"
},
{
"begin": 69,
"end": 634,
"name": "EQ",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 69,
"end": 634,
"name": "JUMPI",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "DUP1",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "PUSH",
"source": 0,
"value": "8DA5CB5B"
},
{
"begin": 69,
"end": 634,
"name": "EQ",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 69,
"end": 634,
"name": "JUMPI",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "DUP1",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "PUSH",
"source": 0,
"value": "C605F76C"
},
{
"begin": 69,
"end": 634,
"name": "EQ",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 69,
"end": 634,
"name": "JUMPI",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "DUP1",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "PUSH",
"source": 0,
"value": "F2FDE38B"
},
{
"begin": 69,
"end": 634,
"name": "EQ",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 69,
"end": 634,
"name": "JUMPI",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 69,
"end": 634,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 69,
"end": 634,
"name": "DUP1",
"source": 0
},
{
"begin": 69,
"end": 634,
"name": "REVERT",
"source": 0
},
{
"begin": 326,
"end": 416,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 326,
"end": 416,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 326,
"end": 416,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 326,
"end": 416,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 326,
"end": 416,
"name": "DUP1",
"source": 0
},
{
"begin": 326,
"end": 416,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 326,
"end": 416,
"name": "SUB",
"source": 0
},
{
"begin": 326,
"end": 416,
"name": "DUP2",
"source": 0
},
{
"begin": 326,
"end": 416,
"name": "ADD",
"source": 0
},
{
"begin": 326,
"end": 416,
"name": "SWAP1",
"source": 0
},
{
"begin": 326,
"end": 416,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 326,
"end": 416,
"name": "SWAP2",
"source": 0
},
{
"begin": 326,
"end": 416,
"name": "SWAP1",
"source": 0
},
{
"begin": 326,
"end": 416,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 326,
"end": 416,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 326,
"end": 416,
"name": "tag",
"source": 0,
"value": "8"
},
{
"begin": 326,
"end": 416,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 326,
"end": 416,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 326,
"end": 416,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 326,
"end": 416,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 326,
"end": 416,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 326,
"end": 416,
"name": "STOP",
"source": 0
},
{
"begin": 122,
"end": 142,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 122,
"end": 142,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 122,
"end": 142,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 122,
"end": 142,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 122,
"end": 142,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 122,
"end": 142,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 122,
"end": 142,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 122,
"end": 142,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 122,
"end": 142,
"name": "MLOAD",
"source": 0
},
{
"begin": 122,
"end": 142,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 122,
"end": 142,
"name": "SWAP2",
"source": 0
},
{
"begin": 122,
"end": 142,
"name": "SWAP1",
"source": 0
},
{
"begin": 122,
"end": 142,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 122,
"end": 142,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 122,
"end": 142,
"name": "tag",
"source": 0,
"value": "13"
},
{
"begin": 122,
"end": 142,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 122,
"end": 142,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 122,
"end": 142,
"name": "MLOAD",
"source": 0
},
{
"begin": 122,
"end": 142,
"name": "DUP1",
"source": 0
},
{
"begin": 122,
"end": 142,
"name": "SWAP2",
"source": 0
},
{
"begin": 122,
"end": 142,
"name": "SUB",
"source": 0
},
{
"begin": 122,
"end": 142,
"name": "SWAP1",
"source": 0
},
{
"begin": 122,
"end": 142,
"name": "RETURN",
"source": 0
},
{
"begin": 234,
"end": 320,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 234,
"end": 320,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 234,
"end": 320,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 234,
"end": 320,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 234,
"end": 320,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 234,
"end": 320,
"name": "tag",
"source": 0,
"value": "15"
},
{
"begin": 234,
"end": 320,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 234,
"end": 320,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 234,
"end": 320,
"name": "MLOAD",
"source": 0
},
{
"begin": 234,
"end": 320,
"name": "PUSH [tag]",
"source": 0,
"value": "17"
},
{
"begin": 234,
"end": 320,
"name": "SWAP2",
"source": 0
},
{
"begin": 234,
"end": 320,
"name": "SWAP1",
"source": 0
},
{
"begin": 234,
"end": 320,
"name": "PUSH [tag]",
"source": 0,
"value": "18"
},
{
"begin": 234,
"end": 320,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 234,
"end": 320,
"name": "tag",
"source": 0,
"value": "17"
},
{
"begin": 234,
"end": 320,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 234,
"end": 320,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 234,
"end": 320,
"name": "MLOAD",
"source": 0
},
{
"begin": 234,
"end": 320,
"name": "DUP1",
"source": 0
},
{
"begin": 234,
"end": 320,
"name": "SWAP2",
"source": 0
},
{
"begin": 234,
"end": 320,
"name": "SUB",
"source": 0
},
{
"begin": 234,
"end": 320,
"name": "SWAP1",
"source": 0
},
{
"begin": 234,
"end": 320,
"name": "RETURN",
"source": 0
},
{
"begin": 422,
"end": 517,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 422,
"end": 517,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 422,
"end": 517,
"name": "PUSH [tag]",
"source": 0,
"value": "19"
},
{
"begin": 422,
"end": 517,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 422,
"end": 517,
"name": "DUP1",
"source": 0
},
{
"begin": 422,
"end": 517,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 422,
"end": 517,
"name": "SUB",
"source": 0
},
{
"begin": 422,
"end": 517,
"name": "DUP2",
"source": 0
},
{
"begin": 422,
"end": 517,
"name": "ADD",
"source": 0
},
{
"begin": 422,
"end": 517,
"name": "SWAP1",
"source": 0
},
{
"begin": 422,
"end": 517,
"name": "PUSH [tag]",
"source": 0,
"value": "20"
},
{
"begin": 422,
"end": 517,
"name": "SWAP2",
"source": 0
},
{
"begin": 422,
"end": 517,
"name": "SWAP1",
"source": 0
},
{
"begin": 422,
"end": 517,
"name": "PUSH [tag]",
"source": 0,
"value": "21"
},
{
"begin": 422,
"end": 517,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 422,
"end": 517,
"name": "tag",
"source": 0,
"value": "20"
},
{
"begin": 422,
"end": 517,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 422,
"end": 517,
"name": "PUSH [tag]",
"source": 0,
"value": "22"
},
{
"begin": 422,
"end": 517,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 422,
"end": 517,
"name": "tag",
"source": 0,
"value": "19"
},
{
"begin": 422,
"end": 517,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 422,
"end": 517,
"name": "STOP",
"source": 0
},
{
"begin": 326,
"end": 416,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 326,
"end": 416,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 581,
"end": 586,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 581,
"end": 586,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 581,
"end": 586,
"name": "SWAP1",
"source": 0
},
{
"begin": 581,
"end": 586,
"name": "SLOAD",
"source": 0
},
{
"begin": 581,
"end": 586,
"name": "SWAP1",
"source": 0
},
{
"begin": 581,
"end": 586,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 581,
"end": 586,
"name": "EXP",
"source": 0
},
{
"begin": 581,
"end": 586,
"name": "SWAP1",
"source": 0
},
{
"begin": 581,
"end": 586,
"name": "DIV",
"source": 0
},
{
"begin": 581,
"end": 586,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 581,
"end": 586,
"name": "AND",
"source": 0
},
{
"begin": 567,
"end": 586,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 567,
"end": 586,
"name": "AND",
"source": 0
},
{
"begin": 567,
"end": 577,
"name": "CALLER",
"source": 0
},
{
"begin": 567,
"end": 586,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 567,
"end": 586,
"name": "AND",
"source": 0
},
{
"begin": 567,
"end": 586,
"name": "EQ",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "PUSH [tag]",
"source": 0,
"value": "24"
},
{
"begin": 558,
"end": 614,
"name": "JUMPI",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 558,
"end": 614,
"name": "MLOAD",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "PUSH",
"source": 0,
"value": "8C379A000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 558,
"end": 614,
"name": "DUP2",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "MSTORE",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 558,
"end": 614,
"name": "ADD",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "PUSH [tag]",
"source": 0,
"value": "25"
},
{
"begin": 558,
"end": 614,
"name": "SWAP1",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "PUSH [tag]",
"source": 0,
"value": "26"
},
{
"begin": 558,
"end": 614,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "tag",
"source": 0,
"value": "25"
},
{
"begin": 558,
"end": 614,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 558,
"end": 614,
"name": "MLOAD",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "DUP1",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "SWAP2",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "SUB",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "SWAP1",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "REVERT",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "tag",
"source": 0,
"value": "24"
},
{
"begin": 558,
"end": 614,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 402,
"end": 409,
"modifierDepth": 1,
"name": "DUP2",
"source": 0
},
{
"begin": 402,
"end": 409,
"modifierDepth": 1,
"name": "DUP2",
"source": 0
},
{
"begin": 395,
"end": 399,
"modifierDepth": 1,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 395,
"end": 409,
"modifierDepth": 1,
"name": "SWAP2",
"source": 0
},
{
"begin": 395,
"end": 409,
"modifierDepth": 1,
"name": "DUP3",
"source": 0
},
{
"begin": 395,
"end": 409,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 0,
"value": "28"
},
{
"begin": 395,
"end": 409,
"modifierDepth": 1,
"name": "SWAP3",
"source": 0
},
{
"begin": 395,
"end": 409,
"modifierDepth": 1,
"name": "SWAP2",
"source": 0
},
{
"begin": 395,
"end": 409,
"modifierDepth": 1,
"name": "SWAP1",
"source": 0
},
{
"begin": 395,
"end": 409,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 0,
"value": "29"
},
{
"begin": 395,
"end": 409,
"jumpType": "[in]",
"modifierDepth": 1,
"name": "JUMP",
"source": 0
},
{
"begin": 395,
"end": 409,
"modifierDepth": 1,
"name": "tag",
"source": 0,
"value": "28"
},
{
"begin": 395,
"end": 409,
"modifierDepth": 1,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 395,
"end": 409,
"modifierDepth": 1,
"name": "POP",
"source": 0
},
{
"begin": 326,
"end": 416,
"name": "POP",
"source": 0
},
{
"begin": 326,
"end": 416,
"name": "POP",
"source": 0
},
{
"begin": 326,
"end": 416,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 122,
"end": 142,
"name": "tag",
"source": 0,
"value": "12"
},
{
"begin": 122,
"end": 142,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 122,
"end": 142,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 122,
"end": 142,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 122,
"end": 142,
"name": "SWAP1",
"source": 0
},
{
"begin": 122,
"end": 142,
"name": "SLOAD",
"source": 0
},
{
"begin": 122,
"end": 142,
"name": "SWAP1",
"source": 0
},
{
"begin": 122,
"end": 142,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 122,
"end": 142,
"name": "EXP",
"source": 0
},
{
"begin": 122,
"end": 142,
"name": "SWAP1",
"source": 0
},
{
"begin": 122,
"end": 142,
"name": "DIV",
"source": 0
},
{
"begin": 122,
"end": 142,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 122,
"end": 142,
"name": "AND",
"source": 0
},
{
"begin": 122,
"end": 142,
"name": "DUP2",
"source": 0
},
{
"begin": 122,
"end": 142,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 234,
"end": 320,
"name": "tag",
"source": 0,
"value": "16"
},
{
"begin": 234,
"end": 320,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 277,
"end": 290,
"name": "PUSH",
"source": 0,
"value": "60"
},
{
"begin": 309,
"end": 313,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 302,
"end": 313,
"name": "DUP1",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "SLOAD",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "PUSH [tag]",
"source": 0,
"value": "31"
},
{
"begin": 302,
"end": 313,
"name": "SWAP1",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "PUSH [tag]",
"source": 0,
"value": "32"
},
{
"begin": 302,
"end": 313,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "tag",
"source": 0,
"value": "31"
},
{
"begin": 302,
"end": 313,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "DUP1",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 302,
"end": 313,
"name": "ADD",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 302,
"end": 313,
"name": "DUP1",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "SWAP2",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "DIV",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "MUL",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 302,
"end": 313,
"name": "ADD",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 302,
"end": 313,
"name": "MLOAD",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "SWAP1",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "DUP2",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "ADD",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 302,
"end": 313,
"name": "MSTORE",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "DUP1",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "SWAP3",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "SWAP2",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "SWAP1",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "DUP2",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "DUP2",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "MSTORE",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 302,
"end": 313,
"name": "ADD",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "DUP3",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "DUP1",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "SLOAD",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "PUSH [tag]",
"source": 0,
"value": "33"
},
{
"begin": 302,
"end": 313,
"name": "SWAP1",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "PUSH [tag]",
"source": 0,
"value": "32"
},
{
"begin": 302,
"end": 313,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "tag",
"source": 0,
"value": "33"
},
{
"begin": 302,
"end": 313,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "DUP1",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "ISZERO",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "PUSH [tag]",
"source": 0,
"value": "34"
},
{
"begin": 302,
"end": 313,
"name": "JUMPI",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "DUP1",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 302,
"end": 313,
"name": "LT",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "PUSH [tag]",
"source": 0,
"value": "35"
},
{
"begin": 302,
"end": 313,
"name": "JUMPI",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 302,
"end": 313,
"name": "DUP1",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "DUP4",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "SLOAD",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "DIV",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "MUL",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "DUP4",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "MSTORE",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "SWAP2",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 302,
"end": 313,
"name": "ADD",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "SWAP2",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "PUSH [tag]",
"source": 0,
"value": "34"
},
{
"begin": 302,
"end": 313,
"name": "JUMP",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "tag",
"source": 0,
"value": "35"
},
{
"begin": 302,
"end": 313,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "DUP3",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "ADD",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "SWAP2",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "SWAP1",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 302,
"end": 313,
"name": "MSTORE",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 302,
"end": 313,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 302,
"end": 313,
"name": "KECCAK256",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "SWAP1",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "tag",
"source": 0,
"value": "36"
},
{
"begin": 302,
"end": 313,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "DUP2",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "SLOAD",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "DUP2",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "MSTORE",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "SWAP1",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 302,
"end": 313,
"name": "ADD",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "SWAP1",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 302,
"end": 313,
"name": "ADD",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "DUP1",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "DUP4",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "GT",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "PUSH [tag]",
"source": 0,
"value": "36"
},
{
"begin": 302,
"end": 313,
"name": "JUMPI",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "DUP3",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "SWAP1",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "SUB",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 302,
"end": 313,
"name": "AND",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "DUP3",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "ADD",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "SWAP2",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "tag",
"source": 0,
"value": "34"
},
{
"begin": 302,
"end": 313,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "POP",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "POP",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "POP",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "POP",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "POP",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "SWAP1",
"source": 0
},
{
"begin": 302,
"end": 313,
"name": "POP",
"source": 0
},
{
"begin": 234,
"end": 320,
"name": "SWAP1",
"source": 0
},
{
"begin": 234,
"end": 320,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 422,
"end": 517,
"name": "tag",
"source": 0,
"value": "22"
},
{
"begin": 422,
"end": 517,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 581,
"end": 586,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 581,
"end": 586,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 581,
"end": 586,
"name": "SWAP1",
"source": 0
},
{
"begin": 581,
"end": 586,
"name": "SLOAD",
"source": 0
},
{
"begin": 581,
"end": 586,
"name": "SWAP1",
"source": 0
},
{
"begin": 581,
"end": 586,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 581,
"end": 586,
"name": "EXP",
"source": 0
},
{
"begin": 581,
"end": 586,
"name": "SWAP1",
"source": 0
},
{
"begin": 581,
"end": 586,
"name": "DIV",
"source": 0
},
{
"begin": 581,
"end": 586,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 581,
"end": 586,
"name": "AND",
"source": 0
},
{
"begin": 567,
"end": 586,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 567,
"end": 586,
"name": "AND",
"source": 0
},
{
"begin": 567,
"end": 577,
"name": "CALLER",
"source": 0
},
{
"begin": 567,
"end": 586,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 567,
"end": 586,
"name": "AND",
"source": 0
},
{
"begin": 567,
"end": 586,
"name": "EQ",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "PUSH [tag]",
"source": 0,
"value": "38"
},
{
"begin": 558,
"end": 614,
"name": "JUMPI",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 558,
"end": 614,
"name": "MLOAD",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "PUSH",
"source": 0,
"value": "8C379A000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 558,
"end": 614,
"name": "DUP2",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "MSTORE",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 558,
"end": 614,
"name": "ADD",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "PUSH [tag]",
"source": 0,
"value": "39"
},
{
"begin": 558,
"end": 614,
"name": "SWAP1",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "PUSH [tag]",
"source": 0,
"value": "26"
},
{
"begin": 558,
"end": 614,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "tag",
"source": 0,
"value": "39"
},
{
"begin": 558,
"end": 614,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 558,
"end": 614,
"name": "MLOAD",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "DUP1",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "SWAP2",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "SUB",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "SWAP1",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "REVERT",
"source": 0
},
{
"begin": 558,
"end": 614,
"name": "tag",
"source": 0,
"value": "38"
},
{
"begin": 558,
"end": 614,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 502,
"end": 510,
"modifierDepth": 1,
"name": "DUP1",
"source": 0
},
{
"begin": 494,
"end": 499,
"modifierDepth": 1,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 494,
"end": 499,
"modifierDepth": 1,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 494,
"end": 510,
"modifierDepth": 1,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 494,
"end": 510,
"modifierDepth": 1,
"name": "EXP",
"source": 0
},
{
"begin": 494,
"end": 510,
"modifierDepth": 1,
"name": "DUP2",
"source": 0
},
{
"begin": 494,
"end": 510,
"modifierDepth": 1,
"name": "SLOAD",
"source": 0
},
{
"begin": 494,
"end": 510,
"modifierDepth": 1,
"name": "DUP2",
"source": 0
},
{
"begin": 494,
"end": 510,
"modifierDepth": 1,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 494,
"end": 510,
"modifierDepth": 1,
"name": "MUL",
"source": 0
},
{
"begin": 494,
"end": 510,
"modifierDepth": 1,
"name": "NOT",
"source": 0
},
{
"begin": 494,
"end": 510,
"modifierDepth": 1,
"name": "AND",
"source": 0
},
{
"begin": 494,
"end": 510,
"modifierDepth": 1,
"name": "SWAP1",
"source": 0
},
{
"begin": 494,
"end": 510,
"modifierDepth": 1,
"name": "DUP4",
"source": 0
},
{
"begin": 494,
"end": 510,
"modifierDepth": 1,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 494,
"end": 510,
"modifierDepth": 1,
"name": "AND",
"source": 0
},
{
"begin": 494,
"end": 510,
"modifierDepth": 1,
"name": "MUL",
"source": 0
},
{
"begin": 494,
"end": 510,
"modifierDepth": 1,
"name": "OR",
"source": 0
},
{
"begin": 494,
"end": 510,
"modifierDepth": 1,
"name": "SWAP1",
"source": 0
},
{
"begin": 494,
"end": 510,
"modifierDepth": 1,
"name": "SSTORE",
"source": 0
},
{
"begin": 494,
"end": 510,
"modifierDepth": 1,
"name": "POP",
"source": 0
},
{
"begin": 422,
"end": 517,
"name": "POP",
"source": 0
},
{
"begin": 422,
"end": 517,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 88,
"end": 205,
"name": "tag",
"source": 1,
"value": "42"
},
{
"begin": 88,
"end": 205,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 197,
"end": 198,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 194,
"end": 195,
"name": "DUP1",
"source": 1
},
{
"begin": 187,
"end": 199,
"name": "REVERT",
"source": 1
},
{
"begin": 211,
"end": 328,
"name": "tag",
"source": 1,
"value": "43"
},
{
"begin": 211,
"end": 328,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 320,
"end": 321,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 317,
"end": 318,
"name": "DUP1",
"source": 1
},
{
"begin": 310,
"end": 322,
"name": "REVERT",
"source": 1
},
{
"begin": 334,
"end": 451,
"name": "tag",
"source": 1,
"value": "44"
},
{
"begin": 334,
"end": 451,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 443,
"end": 444,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 440,
"end": 441,
"name": "DUP1",
"source": 1
},
{
"begin": 433,
"end": 445,
"name": "REVERT",
"source": 1
},
{
"begin": 457,
"end": 574,
"name": "tag",
"source": 1,
"value": "45"
},
{
"begin": 457,
"end": 574,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 566,
"end": 567,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 563,
"end": 564,
"name": "DUP1",
"source": 1
},
{
"begin": 556,
"end": 568,
"name": "REVERT",
"source": 1
},
{
"begin": 580,
"end": 697,
"name": "tag",
"source": 1,
"value": "46"
},
{
"begin": 580,
"end": 697,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 689,
"end": 690,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 686,
"end": 687,
"name": "DUP1",
"source": 1
},
{
"begin": 679,
"end": 691,
"name": "REVERT",
"source": 1
},
{
"begin": 717,
"end": 1270,
"name": "tag",
"source": 1,
"value": "47"
},
{
"begin": 717,
"end": 1270,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 775,
"end": 783,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 785,
"end": 791,
"name": "DUP1",
"source": 1
},
{
"begin": 835,
"end": 838,
"name": "DUP4",
"source": 1
},
{
"begin": 828,
"end": 832,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 820,
"end": 826,
"name": "DUP5",
"source": 1
},
{
"begin": 816,
"end": 833,
"name": "ADD",
"source": 1
},
{
"begin": 812,
"end": 839,
"name": "SLT",
"source": 1
},
{
"begin": 802,
"end": 924,
"name": "PUSH [tag]",
"source": 1,
"value": "87"
},
{
"begin": 802,
"end": 924,
"name": "JUMPI",
"source": 1
},
{
"begin": 843,
"end": 922,
"name": "PUSH [tag]",
"source": 1,
"value": "88"
},
{
"begin": 843,
"end": 922,
"name": "PUSH [tag]",
"source": 1,
"value": "44"
},
{
"begin": 843,
"end": 922,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 843,
"end": 922,
"name": "tag",
"source": 1,
"value": "88"
},
{
"begin": 843,
"end": 922,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 802,
"end": 924,
"name": "tag",
"source": 1,
"value": "87"
},
{
"begin": 802,
"end": 924,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 956,
"end": 962,
"name": "DUP3",
"source": 1
},
{
"begin": 943,
"end": 963,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 933,
"end": 963,
"name": "SWAP1",
"source": 1
},
{
"begin": 933,
"end": 963,
"name": "POP",
"source": 1
},
{
"begin": 986,
"end": 1004,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 978,
"end": 984,
"name": "DUP2",
"source": 1
},
{
"begin": 975,
"end": 1005,
"name": "GT",
"source": 1
},
{
"begin": 972,
"end": 1089,
"name": "ISZERO",
"source": 1
},
{
"begin": 972,
"end": 1089,
"name": "PUSH [tag]",
"source": 1,
"value": "89"
},
{
"begin": 972,
"end": 1089,
"name": "JUMPI",
"source": 1
},
{
"begin": 1008,
"end": 1087,
"name": "PUSH [tag]",
"source": 1,
"value": "90"
},
{
"begin": 1008,
"end": 1087,
"name": "PUSH [tag]",
"source": 1,
"value": "45"
},
{
"begin": 1008,
"end": 1087,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1008,
"end": 1087,
"name": "tag",
"source": 1,
"value": "90"
},
{
"begin": 1008,
"end": 1087,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 972,
"end": 1089,
"name": "tag",
"source": 1,
"value": "89"
},
{
"begin": 972,
"end": 1089,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1122,
"end": 1126,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1114,
"end": 1120,
"name": "DUP4",
"source": 1
},
{
"begin": 1110,
"end": 1127,
"name": "ADD",
"source": 1
},
{
"begin": 1098,
"end": 1127,
"name": "SWAP2",
"source": 1
},
{
"begin": 1098,
"end": 1127,
"name": "POP",
"source": 1
},
{
"begin": 1176,
"end": 1179,
"name": "DUP4",
"source": 1
},
{
"begin": 1168,
"end": 1172,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 1160,
"end": 1166,
"name": "DUP3",
"source": 1
},
{
"begin": 1156,
"end": 1173,
"name": "MUL",
"source": 1
},
{
"begin": 1146,
"end": 1154,
"name": "DUP4",
"source": 1
},
{
"begin": 1142,
"end": 1174,
"name": "ADD",
"source": 1
},
{
"begin": 1139,
"end": 1180,
"name": "GT",
"source": 1
},
{
"begin": 1136,
"end": 1264,
"name": "ISZERO",
"source": 1
},
{
"begin": 1136,
"end": 1264,
"name": "PUSH [tag]",
"source": 1,
"value": "91"
},
{
"begin": 1136,
"end": 1264,
"name": "JUMPI",
"source": 1
},
{
"begin": 1183,
"end": 1262,
"name": "PUSH [tag]",
"source": 1,
"value": "92"
},
{
"begin": 1183,
"end": 1262,
"name": "PUSH [tag]",
"source": 1,
"value": "46"
},
{
"begin": 1183,
"end": 1262,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1183,
"end": 1262,
"name": "tag",
"source": 1,
"value": "92"
},
{
"begin": 1183,
"end": 1262,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1136,
"end": 1264,
"name": "tag",
"source": 1,
"value": "91"
},
{
"begin": 1136,
"end": 1264,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 717,
"end": 1270,
"name": "SWAP3",
"source": 1
},
{
"begin": 717,
"end": 1270,
"name": "POP",
"source": 1
},
{
"begin": 717,
"end": 1270,
"name": "SWAP3",
"source": 1
},
{
"begin": 717,
"end": 1270,
"name": "SWAP1",
"source": 1
},
{
"begin": 717,
"end": 1270,
"name": "POP",
"source": 1
},
{
"begin": 717,
"end": 1270,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1276,
"end": 1805,
"name": "tag",
"source": 1,
"value": "9"
},
{
"begin": 1276,
"end": 1805,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1347,
"end": 1353,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1355,
"end": 1361,
"name": "DUP1",
"source": 1
},
{
"begin": 1404,
"end": 1406,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1392,
"end": 1401,
"name": "DUP4",
"source": 1
},
{
"begin": 1383,
"end": 1390,
"name": "DUP6",
"source": 1
},
{
"begin": 1379,
"end": 1402,
"name": "SUB",
"source": 1
},
{
"begin": 1375,
"end": 1407,
"name": "SLT",
"source": 1
},
{
"begin": 1372,
"end": 1491,
"name": "ISZERO",
"source": 1
},
{
"begin": 1372,
"end": 1491,
"name": "PUSH [tag]",
"source": 1,
"value": "94"
},
{
"begin": 1372,
"end": 1491,
"name": "JUMPI",
"source": 1
},
{
"begin": 1410,
"end": 1489,
"name": "PUSH [tag]",
"source": 1,
"value": "95"
},
{
"begin": 1410,
"end": 1489,
"name": "PUSH [tag]",
"source": 1,
"value": "42"
},
{
"begin": 1410,
"end": 1489,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1410,
"end": 1489,
"name": "tag",
"source": 1,
"value": "95"
},
{
"begin": 1410,
"end": 1489,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1372,
"end": 1491,
"name": "tag",
"source": 1,
"value": "94"
},
{
"begin": 1372,
"end": 1491,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1558,
"end": 1559,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1547,
"end": 1556,
"name": "DUP4",
"source": 1
},
{
"begin": 1543,
"end": 1560,
"name": "ADD",
"source": 1
},
{
"begin": 1530,
"end": 1561,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 1588,
"end": 1606,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 1580,
"end": 1586,
"name": "DUP2",
"source": 1
},
{
"begin": 1577,
"end": 1607,
"name": "GT",
"source": 1
},
{
"begin": 1574,
"end": 1691,
"name": "ISZERO",
"source": 1
},
{
"begin": 1574,
"end": 1691,
"name": "PUSH [tag]",
"source": 1,
"value": "96"
},
{
"begin": 1574,
"end": 1691,
"name": "JUMPI",
"source": 1
},
{
"begin": 1610,
"end": 1689,
"name": "PUSH [tag]",
"source": 1,
"value": "97"
},
{
"begin": 1610,
"end": 1689,
"name": "PUSH [tag]",
"source": 1,
"value": "43"
},
{
"begin": 1610,
"end": 1689,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1610,
"end": 1689,
"name": "tag",
"source": 1,
"value": "97"
},
{
"begin": 1610,
"end": 1689,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1574,
"end": 1691,
"name": "tag",
"source": 1,
"value": "96"
},
{
"begin": 1574,
"end": 1691,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1723,
"end": 1788,
"name": "PUSH [tag]",
"source": 1,
"value": "98"
},
{
"begin": 1780,
"end": 1787,
"name": "DUP6",
"source": 1
},
{
"begin": 1771,
"end": 1777,
"name": "DUP3",
"source": 1
},
{
"begin": 1760,
"end": 1769,
"name": "DUP7",
"source": 1
},
{
"begin": 1756,
"end": 1778,
"name": "ADD",
"source": 1
},
{
"begin": 1723,
"end": 1788,
"name": "PUSH [tag]",
"source": 1,
"value": "47"
},
{
"begin": 1723,
"end": 1788,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1723,
"end": 1788,
"name": "tag",
"source": 1,
"value": "98"
},
{
"begin": 1723,
"end": 1788,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1705,
"end": 1788,
"name": "SWAP3",
"source": 1
},
{
"begin": 1705,
"end": 1788,
"name": "POP",
"source": 1
},
{
"begin": 1705,
"end": 1788,
"name": "SWAP3",
"source": 1
},
{
"begin": 1705,
"end": 1788,
"name": "POP",
"source": 1
},
{
"begin": 1501,
"end": 1798,
"name": "POP",
"source": 1
},
{
"begin": 1276,
"end": 1805,
"name": "SWAP3",
"source": 1
},
{
"begin": 1276,
"end": 1805,
"name": "POP",
"source": 1
},
{
"begin": 1276,
"end": 1805,
"name": "SWAP3",
"source": 1
},
{
"begin": 1276,
"end": 1805,
"name": "SWAP1",
"source": 1
},
{
"begin": 1276,
"end": 1805,
"name": "POP",
"source": 1
},
{
"begin": 1276,
"end": 1805,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1811,
"end": 1937,
"name": "tag",
"source": 1,
"value": "48"
},
{
"begin": 1811,
"end": 1937,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1848,
"end": 1855,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1888,
"end": 1930,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1881,
"end": 1886,
"name": "DUP3",
"source": 1
},
{
"begin": 1877,
"end": 1931,
"name": "AND",
"source": 1
},
{
"begin": 1866,
"end": 1931,
"name": "SWAP1",
"source": 1
},
{
"begin": 1866,
"end": 1931,
"name": "POP",
"source": 1
},
{
"begin": 1811,
"end": 1937,
"name": "SWAP2",
"source": 1
},
{
"begin": 1811,
"end": 1937,
"name": "SWAP1",
"source": 1
},
{
"begin": 1811,
"end": 1937,
"name": "POP",
"source": 1
},
{
"begin": 1811,
"end": 1937,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1943,
"end": 2039,
"name": "tag",
"source": 1,
"value": "49"
},
{
"begin": 1943,
"end": 2039,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1980,
"end": 1987,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2009,
"end": 2033,
"name": "PUSH [tag]",
"source": 1,
"value": "101"
},
{
"begin": 2027,
"end": 2032,
"name": "DUP3",
"source": 1
},
{
"begin": 2009,
"end": 2033,
"name": "PUSH [tag]",
"source": 1,
"value": "48"
},
{
"begin": 2009,
"end": 2033,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2009,
"end": 2033,
"name": "tag",
"source": 1,
"value": "101"
},
{
"begin": 2009,
"end": 2033,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1998,
"end": 2033,
"name": "SWAP1",
"source": 1
},
{
"begin": 1998,
"end": 2033,
"name": "POP",
"source": 1
},
{
"begin": 1943,
"end": 2039,
"name": "SWAP2",
"source": 1
},
{
"begin": 1943,
"end": 2039,
"name": "SWAP1",
"source": 1
},
{
"begin": 1943,
"end": 2039,
"name": "POP",
"source": 1
},
{
"begin": 1943,
"end": 2039,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2045,
"end": 2163,
"name": "tag",
"source": 1,
"value": "50"
},
{
"begin": 2045,
"end": 2163,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2132,
"end": 2156,
"name": "PUSH [tag]",
"source": 1,
"value": "103"
},
{
"begin": 2150,
"end": 2155,
"name": "DUP2",
"source": 1
},
{
"begin": 2132,
"end": 2156,
"name": "PUSH [tag]",
"source": 1,
"value": "49"
},
{
"begin": 2132,
"end": 2156,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2132,
"end": 2156,
"name": "tag",
"source": 1,
"value": "103"
},
{
"begin": 2132,
"end": 2156,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2127,
"end": 2130,
"name": "DUP3",
"source": 1
},
{
"begin": 2120,
"end": 2157,
"name": "MSTORE",
"source": 1
},
{
"begin": 2045,
"end": 2163,
"name": "POP",
"source": 1
},
{
"begin": 2045,
"end": 2163,
"name": "POP",
"source": 1
},
{
"begin": 2045,
"end": 2163,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2169,
"end": 2391,
"name": "tag",
"source": 1,
"value": "14"
},
{
"begin": 2169,
"end": 2391,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2262,
"end": 2266,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2300,
"end": 2302,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2289,
"end": 2298,
"name": "DUP3",
"source": 1
},
{
"begin": 2285,
"end": 2303,
"name": "ADD",
"source": 1
},
{
"begin": 2277,
"end": 2303,
"name": "SWAP1",
"source": 1
},
{
"begin": 2277,
"end": 2303,
"name": "POP",
"source": 1
},
{
"begin": 2313,
"end": 2384,
"name": "PUSH [tag]",
"source": 1,
"value": "105"
},
{
"begin": 2381,
"end": 2382,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2370,
"end": 2379,
"name": "DUP4",
"source": 1
},
{
"begin": 2366,
"end": 2383,
"name": "ADD",
"source": 1
},
{
"begin": 2357,
"end": 2363,
"name": "DUP5",
"source": 1
},
{
"begin": 2313,
"end": 2384,
"name": "PUSH [tag]",
"source": 1,
"value": "50"
},
{
"begin": 2313,
"end": 2384,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2313,
"end": 2384,
"name": "tag",
"source": 1,
"value": "105"
},
{
"begin": 2313,
"end": 2384,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2169,
"end": 2391,
"name": "SWAP3",
"source": 1
},
{
"begin": 2169,
"end": 2391,
"name": "SWAP2",
"source": 1
},
{
"begin": 2169,
"end": 2391,
"name": "POP",
"source": 1
},
{
"begin": 2169,
"end": 2391,
"name": "POP",
"source": 1
},
{
"begin": 2169,
"end": 2391,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2397,
"end": 2496,
"name": "tag",
"source": 1,
"value": "51"
},
{
"begin": 2397,
"end": 2496,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2449,
"end": 2455,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2483,
"end": 2488,
"name": "DUP2",
"source": 1
},
{
"begin": 2477,
"end": 2489,
"name": "MLOAD",
"source": 1
},
{
"begin": 2467,
"end": 2489,
"name": "SWAP1",
"source": 1
},
{
"begin": 2467,
"end": 2489,
"name": "POP",
"source": 1
},
{
"begin": 2397,
"end": 2496,
"name": "SWAP2",
"source": 1
},
{
"begin": 2397,
"end": 2496,
"name": "SWAP1",
"source": 1
},
{
"begin": 2397,
"end": 2496,
"name": "POP",
"source": 1
},
{
"begin": 2397,
"end": 2496,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2502,
"end": 2671,
"name": "tag",
"source": 1,
"value": "52"
},
{
"begin": 2502,
"end": 2671,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2586,
"end": 2597,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2620,
"end": 2626,
"name": "DUP3",
"source": 1
},
{
"begin": 2615,
"end": 2618,
"name": "DUP3",
"source": 1
},
{
"begin": 2608,
"end": 2627,
"name": "MSTORE",
"source": 1
},
{
"begin": 2660,
"end": 2664,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2655,
"end": 2658,
"name": "DUP3",
"source": 1
},
{
"begin": 2651,
"end": 2665,
"name": "ADD",
"source": 1
},
{
"begin": 2636,
"end": 2665,
"name": "SWAP1",
"source": 1
},
{
"begin": 2636,
"end": 2665,
"name": "POP",
"source": 1
},
{
"begin": 2502,
"end": 2671,
"name": "SWAP3",
"source": 1
},
{
"begin": 2502,
"end": 2671,
"name": "SWAP2",
"source": 1
},
{
"begin": 2502,
"end": 2671,
"name": "POP",
"source": 1
},
{
"begin": 2502,
"end": 2671,
"name": "POP",
"source": 1
},
{
"begin": 2502,
"end": 2671,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2677,
"end": 2923,
"name": "tag",
"source": 1,
"value": "53"
},
{
"begin": 2677,
"end": 2923,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2758,
"end": 2759,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2768,
"end": 2881,
"name": "tag",
"source": 1,
"value": "109"
},
{
"begin": 2768,
"end": 2881,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2782,
"end": 2788,
"name": "DUP4",
"source": 1
},
{
"begin": 2779,
"end": 2780,
"name": "DUP2",
"source": 1
},
{
"begin": 2776,
"end": 2789,
"name": "LT",
"source": 1
},
{
"begin": 2768,
"end": 2881,
"name": "ISZERO",
"source": 1
},
{
"begin": 2768,
"end": 2881,
"name": "PUSH [tag]",
"source": 1,
"value": "111"
},
{
"begin": 2768,
"end": 2881,
"name": "JUMPI",
"source": 1
},
{
"begin": 2867,
"end": 2868,
"name": "DUP1",
"source": 1
},
{
"begin": 2862,
"end": 2865,
"name": "DUP3",
"source": 1
},
{
"begin": 2858,
"end": 2869,
"name": "ADD",
"source": 1
},
{
"begin": 2852,
"end": 2870,
"name": "MLOAD",
"source": 1
},
{
"begin": 2848,
"end": 2849,
"name": "DUP2",
"source": 1
},
{
"begin": 2843,
"end": 2846,
"name": "DUP5",
"source": 1
},
{
"begin": 2839,
"end": 2850,
"name": "ADD",
"source": 1
},
{
"begin": 2832,
"end": 2871,
"name": "MSTORE",
"source": 1
},
{
"begin": 2804,
"end": 2806,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2801,
"end": 2802,
"name": "DUP2",
"source": 1
},
{
"begin": 2797,
"end": 2807,
"name": "ADD",
"source": 1
},
{
"begin": 2792,
"end": 2807,
"name": "SWAP1",
"source": 1
},
{
"begin": 2792,
"end": 2807,
"name": "POP",
"source": 1
},
{
"begin": 2768,
"end": 2881,
"name": "PUSH [tag]",
"source": 1,
"value": "109"
},
{
"begin": 2768,
"end": 2881,
"name": "JUMP",
"source": 1
},
{
"begin": 2768,
"end": 2881,
"name": "tag",
"source": 1,
"value": "111"
},
{
"begin": 2768,
"end": 2881,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2915,
"end": 2916,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2906,
"end": 2912,
"name": "DUP5",
"source": 1
},
{
"begin": 2901,
"end": 2904,
"name": "DUP5",
"source": 1
},
{
"begin": 2897,
"end": 2913,
"name": "ADD",
"source": 1
},
{
"begin": 2890,
"end": 2917,
"name": "MSTORE",
"source": 1
},
{
"begin": 2739,
"end": 2923,
"name": "POP",
"source": 1
},
{
"begin": 2677,
"end": 2923,
"name": "POP",
"source": 1
},
{
"begin": 2677,
"end": 2923,
"name": "POP",
"source": 1
},
{
"begin": 2677,
"end": 2923,
"name": "POP",
"source": 1
},
{
"begin": 2677,
"end": 2923,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2929,
"end": 3031,
"name": "tag",
"source": 1,
"value": "54"
},
{
"begin": 2929,
"end": 3031,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2970,
"end": 2976,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3021,
"end": 3023,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 3017,
"end": 3024,
"name": "NOT",
"source": 1
},
{
"begin": 3012,
"end": 3014,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 3005,
"end": 3010,
"name": "DUP4",
"source": 1
},
{
"begin": 3001,
"end": 3015,
"name": "ADD",
"source": 1
},
{
"begin": 2997,
"end": 3025,
"name": "AND",
"source": 1
},
{
"begin": 2987,
"end": 3025,
"name": "SWAP1",
"source": 1
},
{
"begin": 2987,
"end": 3025,
"name": "POP",
"source": 1
},
{
"begin": 2929,
"end": 3031,
"name": "SWAP2",
"source": 1
},
{
"begin": 2929,
"end": 3031,
"name": "SWAP1",
"source": 1
},
{
"begin": 2929,
"end": 3031,
"name": "POP",
"source": 1
},
{
"begin": 2929,
"end": 3031,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 3037,
"end": 3414,
"name": "tag",
"source": 1,
"value": "55"
},
{
"begin": 3037,
"end": 3414,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3125,
"end": 3128,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3153,
"end": 3192,
"name": "PUSH [tag]",
"source": 1,
"value": "114"
},
{
"begin": 3186,
"end": 3191,
"name": "DUP3",
"source": 1
},
{
"begin": 3153,
"end": 3192,
"name": "PUSH [tag]",
"source": 1,
"value": "51"
},
{
"begin": 3153,
"end": 3192,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3153,
"end": 3192,
"name": "tag",
"source": 1,
"value": "114"
},
{
"begin": 3153,
"end": 3192,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3208,
"end": 3279,
"name": "PUSH [tag]",
"source": 1,
"value": "115"
},
{
"begin": 3272,
"end": 3278,
"name": "DUP2",
"source": 1
},
{
"begin": 3267,
"end": 3270,
"name": "DUP6",
"source": 1
},
{
"begin": 3208,
"end": 3279,
"name": "PUSH [tag]",
"source": 1,
"value": "52"
},
{
"begin": 3208,
"end": 3279,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3208,
"end": 3279,
"name": "tag",
"source": 1,
"value": "115"
},
{
"begin": 3208,
"end": 3279,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3201,
"end": 3279,
"name": "SWAP4",
"source": 1
},
{
"begin": 3201,
"end": 3279,
"name": "POP",
"source": 1
},
{
"begin": 3288,
"end": 3353,
"name": "PUSH [tag]",
"source": 1,
"value": "116"
},
{
"begin": 3346,
"end": 3352,
"name": "DUP2",
"source": 1
},
{
"begin": 3341,
"end": 3344,
"name": "DUP6",
"source": 1
},
{
"begin": 3334,
"end": 3338,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 3327,
"end": 3332,
"name": "DUP7",
"source": 1
},
{
"begin": 3323,
"end": 3339,
"name": "ADD",
"source": 1
},
{
"begin": 3288,
"end": 3353,
"name": "PUSH [tag]",
"source": 1,
"value": "53"
},
{
"begin": 3288,
"end": 3353,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3288,
"end": 3353,
"name": "tag",
"source": 1,
"value": "116"
},
{
"begin": 3288,
"end": 3353,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3378,
"end": 3407,
"name": "PUSH [tag]",
"source": 1,
"value": "117"
},
{
"begin": 3400,
"end": 3406,
"name": "DUP2",
"source": 1
},
{
"begin": 3378,
"end": 3407,
"name": "PUSH [tag]",
"source": 1,
"value": "54"
},
{
"begin": 3378,
"end": 3407,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3378,
"end": 3407,
"name": "tag",
"source": 1,
"value": "117"
},
{
"begin": 3378,
"end": 3407,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3373,
"end": 3376,
"name": "DUP5",
"source": 1
},
{
"begin": 3369,
"end": 3408,
"name": "ADD",
"source": 1
},
{
"begin": 3362,
"end": 3408,
"name": "SWAP2",
"source": 1
},
{
"begin": 3362,
"end": 3408,
"name": "POP",
"source": 1
},
{
"begin": 3129,
"end": 3414,
"name": "POP",
"source": 1
},
{
"begin": 3037,
"end": 3414,
"name": "SWAP3",
"source": 1
},
{
"begin": 3037,
"end": 3414,
"name": "SWAP2",
"source": 1
},
{
"begin": 3037,
"end": 3414,
"name": "POP",
"source": 1
},
{
"begin": 3037,
"end": 3414,
"name": "POP",
"source": 1
},
{
"begin": 3037,
"end": 3414,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 3420,
"end": 3733,
"name": "tag",
"source": 1,
"value": "18"
},
{
"begin": 3420,
"end": 3733,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3533,
"end": 3537,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3571,
"end": 3573,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 3560,
"end": 3569,
"name": "DUP3",
"source": 1
},
{
"begin": 3556,
"end": 3574,
"name": "ADD",
"source": 1
},
{
"begin": 3548,
"end": 3574,
"name": "SWAP1",
"source": 1
},
{
"begin": 3548,
"end": 3574,
"name": "POP",
"source": 1
},
{
"begin": 3620,
"end": 3629,
"name": "DUP2",
"source": 1
},
{
"begin": 3614,
"end": 3618,
"name": "DUP2",
"source": 1
},
{
"begin": 3610,
"end": 3630,
"name": "SUB",
"source": 1
},
{
"begin": 3606,
"end": 3607,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3595,
"end": 3604,
"name": "DUP4",
"source": 1
},
{
"begin": 3591,
"end": 3608,
"name": "ADD",
"source": 1
},
{
"begin": 3584,
"end": 3631,
"name": "MSTORE",
"source": 1
},
{
"begin": 3648,
"end": 3726,
"name": "PUSH [tag]",
"source": 1,
"value": "119"
},
{
"begin": 3721,
"end": 3725,
"name": "DUP2",
"source": 1
},
{
"begin": 3712,
"end": 3718,
"name": "DUP5",
"source": 1
},
{
"begin": 3648,
"end": 3726,
"name": "PUSH [tag]",
"source": 1,
"value": "55"
},
{
"be
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