Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save fabiconcept/5d2bf3e869eb3d153b48a17dc42a21ff to your computer and use it in GitHub Desktop.

Select an option

Save fabiconcept/5d2bf3e869eb3d153b48a17dc42a21ff 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.34+commit.80d5c536.js&optimize=undefined&runs=200&gist=
{
"contracts/idcl_token.sol": {
"__sources__": {
"contracts/idcl_token.sol": {
"content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.23;\n\n/**\n* @title Imo Digital City Token (IDCT)\n* @dev ERC-20 compliant token for the Imo Digital City ecosystem\n* @notice This token represents digital assets in the Imo Digital City project\n* @author [Imo Digital City Limited]\n*/\ncontract BasicToken {\n // Token metadata\n string public name = \"Imo Digital City Token\";\n string public symbol = \"IDCT\";\n uint8 public decimals = 18;\n uint256 public totalSupply;\n \n // Token icon/logo URI (IPFS recommended for decentralization)\n string public logoURI = \"https://secret-room.sirv.com/digital.png\";\n \n // Balance mapping\n mapping(address => uint256) public balanceOf;\n \n // Allowance mapping for approved spending\n mapping(address => mapping(address => uint256)) public allowance;\n \n // Contract owner\n address public owner;\n \n // Events\n event Transfer(address indexed from, address indexed to, uint256 value);\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Mint(address indexed to, uint256 value);\n event Burn(address indexed from, uint256 value);\n \n // Modifiers\n modifier onlyOwner() {\n require(msg.sender == owner, \"Only owner can call this function\");\n _;\n }\n\n /**\n * @dev Constructor - Initializes token with name, symbol, decimals and initial supply\n * @param _initialSupply Initial token supply (will be multiplied by 10^decimals)\n */\n constructor(uint256 _initialSupply) {\n owner = msg.sender;\n totalSupply = _initialSupply * 10 ** uint256(decimals);\n balanceOf[msg.sender] = totalSupply;\n \n emit Transfer(address(0), msg.sender, totalSupply);\n }\n\n /**\n * @dev Transfers tokens to a specified address\n * @param _to Recipient address\n * @param _value Amount to transfer\n * @return success Boolean indicating success\n */\n function transfer(address _to, uint256 _value) public returns (bool success) {\n require(_to != address(0), \"Cannot transfer to zero address\");\n require(balanceOf[msg.sender] >= _value, \"Insufficient balance\");\n \n balanceOf[msg.sender] -= _value;\n balanceOf[_to] += _value;\n \n emit Transfer(msg.sender, _to, _value);\n return true;\n }\n \n /**\n * @dev Approves an address to spend tokens on behalf of the owner\n * @param _spender Address being approved\n * @param _value Amount approved for spending\n * @return success Boolean indicating success\n */\n function approve(address _spender, uint256 _value) public returns (bool success) {\n require(_spender != address(0), \"Cannot approve zero address\");\n \n allowance[msg.sender][_spender] = _value;\n \n emit Approval(msg.sender, _spender, _value);\n return true;\n }\n \n /**\n * @dev Transfers tokens from one address to another (with approval)\n * @param _from Sender address\n * @param _to Recipient address\n * @param _value Amount to transfer\n * @return success Boolean indicating success\n */\n function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {\n require(_to != address(0), \"Cannot transfer to zero address\");\n require(balanceOf[_from] >= _value, \"Insufficient balance\");\n require(allowance[_from][msg.sender] >= _value, \"Allowance exceeded\");\n \n balanceOf[_from] -= _value;\n balanceOf[_to] += _value;\n allowance[_from][msg.sender] -= _value;\n \n emit Transfer(_from, _to, _value);\n return true;\n }\n \n /**\n * @dev Mints new tokens (owner only)\n * @dev Only callable by contract owner\n * @param _to Address receiving new tokens\n * @param _value Amount to mint\n * @return success Boolean indicating success\n */\n function mint(address _to, uint256 _value) public onlyOwner returns (bool success) {\n require(_to != address(0), \"Cannot mint to zero address\");\n \n totalSupply += _value;\n balanceOf[_to] += _value;\n\n emit Mint(_to, _value);\n emit Transfer(address(0), _to, _value);\n return true;\n }\n \n /**\n * @dev Burns tokens from sender's balance\n * @param _value Amount to burn\n * @return success Boolean indicating success\n */\n function burn(uint256 _value) public returns (bool success) {\n require(balanceOf[msg.sender] >= _value, \"Insufficient balance to burn\");\n \n balanceOf[msg.sender] -= _value;\n totalSupply -= _value;\n \n emit Burn(msg.sender, _value);\n emit Transfer(msg.sender, address(0), _value);\n return true;\n }\n \n /**\n * @dev Updates token logo URI (owner only)\n * @param _newLogoURI New logo URI\n */\n function updateLogoURI(string memory _newLogoURI) public onlyOwner {\n logoURI = _newLogoURI;\n }\n \n /**\n * @dev Transfers contract ownership (owner only)\n * @param _newOwner New owner address\n */\n function transferOwnership(address _newOwner) public onlyOwner {\n require(_newOwner != address(0), \"New owner cannot be zero address\");\n owner = _newOwner;\n }\n}",
"file": "contracts/idcl_token.sol"
}
}
}
}
// 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": {}
}
]
}
REMIX DEFAULT WORKSPACE
Remix default workspace is present when:
i. Remix loads for the very first time
ii. A new workspace is created with 'Default' template
iii. There are no files existing in the File Explorer
This workspace contains 3 directories:
1. 'contracts': Holds three contracts with increasing levels of complexity.
2. 'scripts': Contains four typescript files to deploy a contract. It is explained below.
3. 'tests': Contains one Solidity test file for 'Ballot' contract & one JS test file for 'Storage' contract.
SCRIPTS
The 'scripts' folder has two typescript files which help to deploy the 'Storage' contract using 'ethers.js' libraries.
For the deployment of any other contract, just update the contract name from 'Storage' to the desired contract and provide constructor arguments accordingly
in the file `deploy_with_ethers.ts`
In the 'tests' folder there is a script containing Mocha-Chai unit tests for 'Storage' contract.
To run a script, right click on file name in the file explorer and click 'Run'. Remember, Solidity file must already be compiled.
Output from script will appear in remix terminal.
Please note, require/import is supported in a limited manner for Remix supported modules.
For now, modules supported by Remix are ethers, swarmgw, chai, multihashes, remix and hardhat only for hardhat.ethers object/plugin.
For unsupported modules, an error like this will be thrown: '<module_name> module require is not supported by Remix IDE' will be shown.
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"sepolia:11155111": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_108": {
"entryPoint": null,
"id": 108,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_uint256_fromMemory": {
"entryPoint": 1364,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256_fromMemory": {
"entryPoint": 1384,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 1914,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 1929,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_dataslot_t_string_storage": {
"entryPoint": 689,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 541,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"checked_exp_helper": {
"entryPoint": 1484,
"id": null,
"parameterSlots": 4,
"returnSlots": 2
},
"checked_exp_t_uint256_t_uint256": {
"entryPoint": 1775,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_exp_unsigned": {
"entryPoint": 1566,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"checked_mul_t_uint256": {
"entryPoint": 1849,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 981,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_uint256": {
"entryPoint": 815,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 943,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 833,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": {
"entryPoint": 1131,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 707,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 641,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 1104,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"identity": {
"entryPoint": 824,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 1076,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 1427,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 596,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 551,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 866,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 1338,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"shift_left_dynamic": {
"entryPoint": 722,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_1_unsigned": {
"entryPoint": 1472,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 1064,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 919,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 734,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 875,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 1342,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 912,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:9709:1",
"nodeType": "YulBlock",
"src": "0:9709:1",
"statements": [
{
"body": {
"nativeSrc": "66:40:1",
"nodeType": "YulBlock",
"src": "66:40:1",
"statements": [
{
"nativeSrc": "77:22:1",
"nodeType": "YulAssignment",
"src": "77:22:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "93:5:1",
"nodeType": "YulIdentifier",
"src": "93:5:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "87:5:1",
"nodeType": "YulIdentifier",
"src": "87:5:1"
},
"nativeSrc": "87:12:1",
"nodeType": "YulFunctionCall",
"src": "87:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "77:6:1",
"nodeType": "YulIdentifier",
"src": "77:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "7:99:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "49:5:1",
"nodeType": "YulTypedName",
"src": "49:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "59:6:1",
"nodeType": "YulTypedName",
"src": "59:6:1",
"type": ""
}
],
"src": "7:99:1"
},
{
"body": {
"nativeSrc": "140:152:1",
"nodeType": "YulBlock",
"src": "140:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "157:1:1",
"nodeType": "YulLiteral",
"src": "157:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "160:77:1",
"nodeType": "YulLiteral",
"src": "160:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "150:6:1",
"nodeType": "YulIdentifier",
"src": "150:6:1"
},
"nativeSrc": "150:88:1",
"nodeType": "YulFunctionCall",
"src": "150:88:1"
},
"nativeSrc": "150:88:1",
"nodeType": "YulExpressionStatement",
"src": "150:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "254:1:1",
"nodeType": "YulLiteral",
"src": "254:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "257:4:1",
"nodeType": "YulLiteral",
"src": "257:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "247:6:1",
"nodeType": "YulIdentifier",
"src": "247:6:1"
},
"nativeSrc": "247:15:1",
"nodeType": "YulFunctionCall",
"src": "247:15:1"
},
"nativeSrc": "247:15:1",
"nodeType": "YulExpressionStatement",
"src": "247:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "278:1:1",
"nodeType": "YulLiteral",
"src": "278:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "281:4:1",
"nodeType": "YulLiteral",
"src": "281:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "271:6:1",
"nodeType": "YulIdentifier",
"src": "271:6:1"
},
"nativeSrc": "271:15:1",
"nodeType": "YulFunctionCall",
"src": "271:15:1"
},
"nativeSrc": "271:15:1",
"nodeType": "YulExpressionStatement",
"src": "271:15:1"
}
]
},
"name": "panic_error_0x41",
"nativeSrc": "112:180:1",
"nodeType": "YulFunctionDefinition",
"src": "112:180:1"
},
{
"body": {
"nativeSrc": "326:152:1",
"nodeType": "YulBlock",
"src": "326:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "343:1:1",
"nodeType": "YulLiteral",
"src": "343:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "346:77:1",
"nodeType": "YulLiteral",
"src": "346:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "336:6:1",
"nodeType": "YulIdentifier",
"src": "336:6:1"
},
"nativeSrc": "336:88:1",
"nodeType": "YulFunctionCall",
"src": "336:88:1"
},
"nativeSrc": "336:88:1",
"nodeType": "YulExpressionStatement",
"src": "336:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "440:1:1",
"nodeType": "YulLiteral",
"src": "440:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "443:4:1",
"nodeType": "YulLiteral",
"src": "443:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "433:6:1",
"nodeType": "YulIdentifier",
"src": "433:6:1"
},
"nativeSrc": "433:15:1",
"nodeType": "YulFunctionCall",
"src": "433:15:1"
},
"nativeSrc": "433:15:1",
"nodeType": "YulExpressionStatement",
"src": "433:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "464:1:1",
"nodeType": "YulLiteral",
"src": "464:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "467:4:1",
"nodeType": "YulLiteral",
"src": "467:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "457:6:1",
"nodeType": "YulIdentifier",
"src": "457:6:1"
},
"nativeSrc": "457:15:1",
"nodeType": "YulFunctionCall",
"src": "457:15:1"
},
"nativeSrc": "457:15:1",
"nodeType": "YulExpressionStatement",
"src": "457:15:1"
}
]
},
"name": "panic_error_0x22",
"nativeSrc": "298:180:1",
"nodeType": "YulFunctionDefinition",
"src": "298:180:1"
},
{
"body": {
"nativeSrc": "535:269:1",
"nodeType": "YulBlock",
"src": "535:269:1",
"statements": [
{
"nativeSrc": "545:22:1",
"nodeType": "YulAssignment",
"src": "545:22:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "559:4:1",
"nodeType": "YulIdentifier",
"src": "559:4:1"
},
{
"kind": "number",
"nativeSrc": "565:1:1",
"nodeType": "YulLiteral",
"src": "565:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nativeSrc": "555:3:1",
"nodeType": "YulIdentifier",
"src": "555:3:1"
},
"nativeSrc": "555:12:1",
"nodeType": "YulFunctionCall",
"src": "555:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "545:6:1",
"nodeType": "YulIdentifier",
"src": "545:6:1"
}
]
},
{
"nativeSrc": "576:38:1",
"nodeType": "YulVariableDeclaration",
"src": "576:38:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "606:4:1",
"nodeType": "YulIdentifier",
"src": "606:4:1"
},
{
"kind": "number",
"nativeSrc": "612:1:1",
"nodeType": "YulLiteral",
"src": "612:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "602:3:1",
"nodeType": "YulIdentifier",
"src": "602:3:1"
},
"nativeSrc": "602:12:1",
"nodeType": "YulFunctionCall",
"src": "602:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "580:18:1",
"nodeType": "YulTypedName",
"src": "580:18:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "653:51:1",
"nodeType": "YulBlock",
"src": "653:51:1",
"statements": [
{
"nativeSrc": "667:27:1",
"nodeType": "YulAssignment",
"src": "667:27:1",
"value": {
"arguments": [
{
"name": "length",
"nativeSrc": "681:6:1",
"nodeType": "YulIdentifier",
"src": "681:6:1"
},
{
"kind": "number",
"nativeSrc": "689:4:1",
"nodeType": "YulLiteral",
"src": "689:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nativeSrc": "677:3:1",
"nodeType": "YulIdentifier",
"src": "677:3:1"
},
"nativeSrc": "677:17:1",
"nodeType": "YulFunctionCall",
"src": "677:17:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "667:6:1",
"nodeType": "YulIdentifier",
"src": "667:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "633:18:1",
"nodeType": "YulIdentifier",
"src": "633:18:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "626:6:1",
"nodeType": "YulIdentifier",
"src": "626:6:1"
},
"nativeSrc": "626:26:1",
"nodeType": "YulFunctionCall",
"src": "626:26:1"
},
"nativeSrc": "623:81:1",
"nodeType": "YulIf",
"src": "623:81:1"
},
{
"body": {
"nativeSrc": "756:42:1",
"nodeType": "YulBlock",
"src": "756:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nativeSrc": "770:16:1",
"nodeType": "YulIdentifier",
"src": "770:16:1"
},
"nativeSrc": "770:18:1",
"nodeType": "YulFunctionCall",
"src": "770:18:1"
},
"nativeSrc": "770:18:1",
"nodeType": "YulExpressionStatement",
"src": "770:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "720:18:1",
"nodeType": "YulIdentifier",
"src": "720:18:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "743:6:1",
"nodeType": "YulIdentifier",
"src": "743:6:1"
},
{
"kind": "number",
"nativeSrc": "751:2:1",
"nodeType": "YulLiteral",
"src": "751:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "740:2:1",
"nodeType": "YulIdentifier",
"src": "740:2:1"
},
"nativeSrc": "740:14:1",
"nodeType": "YulFunctionCall",
"src": "740:14:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "717:2:1",
"nodeType": "YulIdentifier",
"src": "717:2:1"
},
"nativeSrc": "717:38:1",
"nodeType": "YulFunctionCall",
"src": "717:38:1"
},
"nativeSrc": "714:84:1",
"nodeType": "YulIf",
"src": "714:84:1"
}
]
},
"name": "extract_byte_array_length",
"nativeSrc": "484:320:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "519:4:1",
"nodeType": "YulTypedName",
"src": "519:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "528:6:1",
"nodeType": "YulTypedName",
"src": "528:6:1",
"type": ""
}
],
"src": "484:320:1"
},
{
"body": {
"nativeSrc": "864:87:1",
"nodeType": "YulBlock",
"src": "864:87:1",
"statements": [
{
"nativeSrc": "874:11:1",
"nodeType": "YulAssignment",
"src": "874:11:1",
"value": {
"name": "ptr",
"nativeSrc": "882:3:1",
"nodeType": "YulIdentifier",
"src": "882:3:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "874:4:1",
"nodeType": "YulIdentifier",
"src": "874:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "902:1:1",
"nodeType": "YulLiteral",
"src": "902:1:1",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nativeSrc": "905:3:1",
"nodeType": "YulIdentifier",
"src": "905:3:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "895:6:1",
"nodeType": "YulIdentifier",
"src": "895:6:1"
},
"nativeSrc": "895:14:1",
"nodeType": "YulFunctionCall",
"src": "895:14:1"
},
"nativeSrc": "895:14:1",
"nodeType": "YulExpressionStatement",
"src": "895:14:1"
},
{
"nativeSrc": "918:26:1",
"nodeType": "YulAssignment",
"src": "918:26:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "936:1:1",
"nodeType": "YulLiteral",
"src": "936:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "939:4:1",
"nodeType": "YulLiteral",
"src": "939:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nativeSrc": "926:9:1",
"nodeType": "YulIdentifier",
"src": "926:9:1"
},
"nativeSrc": "926:18:1",
"nodeType": "YulFunctionCall",
"src": "926:18:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "918:4:1",
"nodeType": "YulIdentifier",
"src": "918:4:1"
}
]
}
]
},
"name": "array_dataslot_t_string_storage",
"nativeSrc": "810:141:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nativeSrc": "851:3:1",
"nodeType": "YulTypedName",
"src": "851:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nativeSrc": "859:4:1",
"nodeType": "YulTypedName",
"src": "859:4:1",
"type": ""
}
],
"src": "810:141:1"
},
{
"body": {
"nativeSrc": "1001:49:1",
"nodeType": "YulBlock",
"src": "1001:49:1",
"statements": [
{
"nativeSrc": "1011:33:1",
"nodeType": "YulAssignment",
"src": "1011:33:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "1029:5:1",
"nodeType": "YulIdentifier",
"src": "1029:5:1"
},
{
"kind": "number",
"nativeSrc": "1036:2:1",
"nodeType": "YulLiteral",
"src": "1036:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1025:3:1",
"nodeType": "YulIdentifier",
"src": "1025:3:1"
},
"nativeSrc": "1025:14:1",
"nodeType": "YulFunctionCall",
"src": "1025:14:1"
},
{
"kind": "number",
"nativeSrc": "1041:2:1",
"nodeType": "YulLiteral",
"src": "1041:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "div",
"nativeSrc": "1021:3:1",
"nodeType": "YulIdentifier",
"src": "1021:3:1"
},
"nativeSrc": "1021:23:1",
"nodeType": "YulFunctionCall",
"src": "1021:23:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "1011:6:1",
"nodeType": "YulIdentifier",
"src": "1011:6:1"
}
]
}
]
},
"name": "divide_by_32_ceil",
"nativeSrc": "957:93:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "984:5:1",
"nodeType": "YulTypedName",
"src": "984:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "994:6:1",
"nodeType": "YulTypedName",
"src": "994:6:1",
"type": ""
}
],
"src": "957:93:1"
},
{
"body": {
"nativeSrc": "1109:54:1",
"nodeType": "YulBlock",
"src": "1109:54:1",
"statements": [
{
"nativeSrc": "1119:37:1",
"nodeType": "YulAssignment",
"src": "1119:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nativeSrc": "1144:4:1",
"nodeType": "YulIdentifier",
"src": "1144:4:1"
},
{
"name": "value",
"nativeSrc": "1150:5:1",
"nodeType": "YulIdentifier",
"src": "1150:5:1"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "1140:3:1",
"nodeType": "YulIdentifier",
"src": "1140:3:1"
},
"nativeSrc": "1140:16:1",
"nodeType": "YulFunctionCall",
"src": "1140:16:1"
},
"variableNames": [
{
"name": "newValue",
"nativeSrc": "1119:8:1",
"nodeType": "YulIdentifier",
"src": "1119:8:1"
}
]
}
]
},
"name": "shift_left_dynamic",
"nativeSrc": "1056:107:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nativeSrc": "1084:4:1",
"nodeType": "YulTypedName",
"src": "1084:4:1",
"type": ""
},
{
"name": "value",
"nativeSrc": "1090:5:1",
"nodeType": "YulTypedName",
"src": "1090:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nativeSrc": "1100:8:1",
"nodeType": "YulTypedName",
"src": "1100:8:1",
"type": ""
}
],
"src": "1056:107:1"
},
{
"body": {
"nativeSrc": "1245:317:1",
"nodeType": "YulBlock",
"src": "1245:317:1",
"statements": [
{
"nativeSrc": "1255:35:1",
"nodeType": "YulVariableDeclaration",
"src": "1255:35:1",
"value": {
"arguments": [
{
"name": "shiftBytes",
"nativeSrc": "1276:10:1",
"nodeType": "YulIdentifier",
"src": "1276:10:1"
},
{
"kind": "number",
"nativeSrc": "1288:1:1",
"nodeType": "YulLiteral",
"src": "1288:1:1",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "1272:3:1",
"nodeType": "YulIdentifier",
"src": "1272:3:1"
},
"nativeSrc": "1272:18:1",
"nodeType": "YulFunctionCall",
"src": "1272:18:1"
},
"variables": [
{
"name": "shiftBits",
"nativeSrc": "1259:9:1",
"nodeType": "YulTypedName",
"src": "1259:9:1",
"type": ""
}
]
},
{
"nativeSrc": "1299:109:1",
"nodeType": "YulVariableDeclaration",
"src": "1299:109:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nativeSrc": "1330:9:1",
"nodeType": "YulIdentifier",
"src": "1330:9:1"
},
{
"kind": "number",
"nativeSrc": "1341:66:1",
"nodeType": "YulLiteral",
"src": "1341:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nativeSrc": "1311:18:1",
"nodeType": "YulIdentifier",
"src": "1311:18:1"
},
"nativeSrc": "1311:97:1",
"nodeType": "YulFunctionCall",
"src": "1311:97:1"
},
"variables": [
{
"name": "mask",
"nativeSrc": "1303:4:1",
"nodeType": "YulTypedName",
"src": "1303:4:1",
"type": ""
}
]
},
{
"nativeSrc": "1417:51:1",
"nodeType": "YulAssignment",
"src": "1417:51:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nativeSrc": "1448:9:1",
"nodeType": "YulIdentifier",
"src": "1448:9:1"
},
{
"name": "toInsert",
"nativeSrc": "1459:8:1",
"nodeType": "YulIdentifier",
"src": "1459:8:1"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nativeSrc": "1429:18:1",
"nodeType": "YulIdentifier",
"src": "1429:18:1"
},
"nativeSrc": "1429:39:1",
"nodeType": "YulFunctionCall",
"src": "1429:39:1"
},
"variableNames": [
{
"name": "toInsert",
"nativeSrc": "1417:8:1",
"nodeType": "YulIdentifier",
"src": "1417:8:1"
}
]
},
{
"nativeSrc": "1477:30:1",
"nodeType": "YulAssignment",
"src": "1477:30:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "1490:5:1",
"nodeType": "YulIdentifier",
"src": "1490:5:1"
},
{
"arguments": [
{
"name": "mask",
"nativeSrc": "1501:4:1",
"nodeType": "YulIdentifier",
"src": "1501:4:1"
}
],
"functionName": {
"name": "not",
"nativeSrc": "1497:3:1",
"nodeType": "YulIdentifier",
"src": "1497:3:1"
},
"nativeSrc": "1497:9:1",
"nodeType": "YulFunctionCall",
"src": "1497:9:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1486:3:1",
"nodeType": "YulIdentifier",
"src": "1486:3:1"
},
"nativeSrc": "1486:21:1",
"nodeType": "YulFunctionCall",
"src": "1486:21:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "1477:5:1",
"nodeType": "YulIdentifier",
"src": "1477:5:1"
}
]
},
{
"nativeSrc": "1516:40:1",
"nodeType": "YulAssignment",
"src": "1516:40:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "1529:5:1",
"nodeType": "YulIdentifier",
"src": "1529:5:1"
},
{
"arguments": [
{
"name": "toInsert",
"nativeSrc": "1540:8:1",
"nodeType": "YulIdentifier",
"src": "1540:8:1"
},
{
"name": "mask",
"nativeSrc": "1550:4:1",
"nodeType": "YulIdentifier",
"src": "1550:4:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1536:3:1",
"nodeType": "YulIdentifier",
"src": "1536:3:1"
},
"nativeSrc": "1536:19:1",
"nodeType": "YulFunctionCall",
"src": "1536:19:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "1526:2:1",
"nodeType": "YulIdentifier",
"src": "1526:2:1"
},
"nativeSrc": "1526:30:1",
"nodeType": "YulFunctionCall",
"src": "1526:30:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "1516:6:1",
"nodeType": "YulIdentifier",
"src": "1516:6:1"
}
]
}
]
},
"name": "update_byte_slice_dynamic32",
"nativeSrc": "1169:393:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1206:5:1",
"nodeType": "YulTypedName",
"src": "1206:5:1",
"type": ""
},
{
"name": "shiftBytes",
"nativeSrc": "1213:10:1",
"nodeType": "YulTypedName",
"src": "1213:10:1",
"type": ""
},
{
"name": "toInsert",
"nativeSrc": "1225:8:1",
"nodeType": "YulTypedName",
"src": "1225:8:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "1238:6:1",
"nodeType": "YulTypedName",
"src": "1238:6:1",
"type": ""
}
],
"src": "1169:393:1"
},
{
"body": {
"nativeSrc": "1613:32:1",
"nodeType": "YulBlock",
"src": "1613:32:1",
"statements": [
{
"nativeSrc": "1623:16:1",
"nodeType": "YulAssignment",
"src": "1623:16:1",
"value": {
"name": "value",
"nativeSrc": "1634:5:1",
"nodeType": "YulIdentifier",
"src": "1634:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "1623:7:1",
"nodeType": "YulIdentifier",
"src": "1623:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nativeSrc": "1568:77:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1595:5:1",
"nodeType": "YulTypedName",
"src": "1595:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "1605:7:1",
"nodeType": "YulTypedName",
"src": "1605:7:1",
"type": ""
}
],
"src": "1568:77:1"
},
{
"body": {
"nativeSrc": "1683:28:1",
"nodeType": "YulBlock",
"src": "1683:28:1",
"statements": [
{
"nativeSrc": "1693:12:1",
"nodeType": "YulAssignment",
"src": "1693:12:1",
"value": {
"name": "value",
"nativeSrc": "1700:5:1",
"nodeType": "YulIdentifier",
"src": "1700:5:1"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "1693:3:1",
"nodeType": "YulIdentifier",
"src": "1693:3:1"
}
]
}
]
},
"name": "identity",
"nativeSrc": "1651:60:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1669:5:1",
"nodeType": "YulTypedName",
"src": "1669:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nativeSrc": "1679:3:1",
"nodeType": "YulTypedName",
"src": "1679:3:1",
"type": ""
}
],
"src": "1651:60:1"
},
{
"body": {
"nativeSrc": "1777:82:1",
"nodeType": "YulBlock",
"src": "1777:82:1",
"statements": [
{
"nativeSrc": "1787:66:1",
"nodeType": "YulAssignment",
"src": "1787:66:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "1845:5:1",
"nodeType": "YulIdentifier",
"src": "1845:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1827:17:1",
"nodeType": "YulIdentifier",
"src": "1827:17:1"
},
"nativeSrc": "1827:24:1",
"nodeType": "YulFunctionCall",
"src": "1827:24:1"
}
],
"functionName": {
"name": "identity",
"nativeSrc": "1818:8:1",
"nodeType": "YulIdentifier",
"src": "1818:8:1"
},
"nativeSrc": "1818:34:1",
"nodeType": "YulFunctionCall",
"src": "1818:34:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1800:17:1",
"nodeType": "YulIdentifier",
"src": "1800:17:1"
},
"nativeSrc": "1800:53:1",
"nodeType": "YulFunctionCall",
"src": "1800:53:1"
},
"variableNames": [
{
"name": "converted",
"nativeSrc": "1787:9:1",
"nodeType": "YulIdentifier",
"src": "1787:9:1"
}
]
}
]
},
"name": "convert_t_uint256_to_t_uint256",
"nativeSrc": "1717:142:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1757:5:1",
"nodeType": "YulTypedName",
"src": "1757:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nativeSrc": "1767:9:1",
"nodeType": "YulTypedName",
"src": "1767:9:1",
"type": ""
}
],
"src": "1717:142:1"
},
{
"body": {
"nativeSrc": "1912:28:1",
"nodeType": "YulBlock",
"src": "1912:28:1",
"statements": [
{
"nativeSrc": "1922:12:1",
"nodeType": "YulAssignment",
"src": "1922:12:1",
"value": {
"name": "value",
"nativeSrc": "1929:5:1",
"nodeType": "YulIdentifier",
"src": "1929:5:1"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "1922:3:1",
"nodeType": "YulIdentifier",
"src": "1922:3:1"
}
]
}
]
},
"name": "prepare_store_t_uint256",
"nativeSrc": "1865:75:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1898:5:1",
"nodeType": "YulTypedName",
"src": "1898:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nativeSrc": "1908:3:1",
"nodeType": "YulTypedName",
"src": "1908:3:1",
"type": ""
}
],
"src": "1865:75:1"
},
{
"body": {
"nativeSrc": "2022:193:1",
"nodeType": "YulBlock",
"src": "2022:193:1",
"statements": [
{
"nativeSrc": "2032:63:1",
"nodeType": "YulVariableDeclaration",
"src": "2032:63:1",
"value": {
"arguments": [
{
"name": "value_0",
"nativeSrc": "2087:7:1",
"nodeType": "YulIdentifier",
"src": "2087:7:1"
}
],
"functionName": {
"name": "convert_t_uint256_to_t_uint256",
"nativeSrc": "2056:30:1",
"nodeType": "YulIdentifier",
"src": "2056:30:1"
},
"nativeSrc": "2056:39:1",
"nodeType": "YulFunctionCall",
"src": "2056:39:1"
},
"variables": [
{
"name": "convertedValue_0",
"nativeSrc": "2036:16:1",
"nodeType": "YulTypedName",
"src": "2036:16:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "2111:4:1",
"nodeType": "YulIdentifier",
"src": "2111:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "slot",
"nativeSrc": "2151:4:1",
"nodeType": "YulIdentifier",
"src": "2151:4:1"
}
],
"functionName": {
"name": "sload",
"nativeSrc": "2145:5:1",
"nodeType": "YulIdentifier",
"src": "2145:5:1"
},
"nativeSrc": "2145:11:1",
"nodeType": "YulFunctionCall",
"src": "2145:11:1"
},
{
"name": "offset",
"nativeSrc": "2158:6:1",
"nodeType": "YulIdentifier",
"src": "2158:6:1"
},
{
"arguments": [
{
"name": "convertedValue_0",
"nativeSrc": "2190:16:1",
"nodeType": "YulIdentifier",
"src": "2190:16:1"
}
],
"functionName": {
"name": "prepare_store_t_uint256",
"nativeSrc": "2166:23:1",
"nodeType": "YulIdentifier",
"src": "2166:23:1"
},
"nativeSrc": "2166:41:1",
"nodeType": "YulFunctionCall",
"src": "2166:41:1"
}
],
"functionName": {
"name": "update_byte_slice_dynamic32",
"nativeSrc": "2117:27:1",
"nodeType": "YulIdentifier",
"src": "2117:27:1"
},
"nativeSrc": "2117:91:1",
"nodeType": "YulFunctionCall",
"src": "2117:91:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "2104:6:1",
"nodeType": "YulIdentifier",
"src": "2104:6:1"
},
"nativeSrc": "2104:105:1",
"nodeType": "YulFunctionCall",
"src": "2104:105:1"
},
"nativeSrc": "2104:105:1",
"nodeType": "YulExpressionStatement",
"src": "2104:105:1"
}
]
},
"name": "update_storage_value_t_uint256_to_t_uint256",
"nativeSrc": "1946:269:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "1999:4:1",
"nodeType": "YulTypedName",
"src": "1999:4:1",
"type": ""
},
{
"name": "offset",
"nativeSrc": "2005:6:1",
"nodeType": "YulTypedName",
"src": "2005:6:1",
"type": ""
},
{
"name": "value_0",
"nativeSrc": "2013:7:1",
"nodeType": "YulTypedName",
"src": "2013:7:1",
"type": ""
}
],
"src": "1946:269:1"
},
{
"body": {
"nativeSrc": "2270:24:1",
"nodeType": "YulBlock",
"src": "2270:24:1",
"statements": [
{
"nativeSrc": "2280:8:1",
"nodeType": "YulAssignment",
"src": "2280:8:1",
"value": {
"kind": "number",
"nativeSrc": "2287:1:1",
"nodeType": "YulLiteral",
"src": "2287:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "2280:3:1",
"nodeType": "YulIdentifier",
"src": "2280:3:1"
}
]
}
]
},
"name": "zero_value_for_split_t_uint256",
"nativeSrc": "2221:73:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "ret",
"nativeSrc": "2266:3:1",
"nodeType": "YulTypedName",
"src": "2266:3:1",
"type": ""
}
],
"src": "2221:73:1"
},
{
"body": {
"nativeSrc": "2353:136:1",
"nodeType": "YulBlock",
"src": "2353:136:1",
"statements": [
{
"nativeSrc": "2363:46:1",
"nodeType": "YulVariableDeclaration",
"src": "2363:46:1",
"value": {
"arguments": [],
"functionName": {
"name": "zero_value_for_split_t_uint256",
"nativeSrc": "2377:30:1",
"nodeType": "YulIdentifier",
"src": "2377:30:1"
},
"nativeSrc": "2377:32:1",
"nodeType": "YulFunctionCall",
"src": "2377:32:1"
},
"variables": [
{
"name": "zero_0",
"nativeSrc": "2367:6:1",
"nodeType": "YulTypedName",
"src": "2367:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "2462:4:1",
"nodeType": "YulIdentifier",
"src": "2462:4:1"
},
{
"name": "offset",
"nativeSrc": "2468:6:1",
"nodeType": "YulIdentifier",
"src": "2468:6:1"
},
{
"name": "zero_0",
"nativeSrc": "2476:6:1",
"nodeType": "YulIdentifier",
"src": "2476:6:1"
}
],
"functionName": {
"name": "update_storage_value_t_uint256_to_t_uint256",
"nativeSrc": "2418:43:1",
"nodeType": "YulIdentifier",
"src": "2418:43:1"
},
"nativeSrc": "2418:65:1",
"nodeType": "YulFunctionCall",
"src": "2418:65:1"
},
"nativeSrc": "2418:65:1",
"nodeType": "YulExpressionStatement",
"src": "2418:65:1"
}
]
},
"name": "storage_set_to_zero_t_uint256",
"nativeSrc": "2300:189:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "2339:4:1",
"nodeType": "YulTypedName",
"src": "2339:4:1",
"type": ""
},
{
"name": "offset",
"nativeSrc": "2345:6:1",
"nodeType": "YulTypedName",
"src": "2345:6:1",
"type": ""
}
],
"src": "2300:189:1"
},
{
"body": {
"nativeSrc": "2555:154:1",
"nodeType": "YulBlock",
"src": "2555:154:1",
"statements": [
{
"body": {
"nativeSrc": "2628:75:1",
"nodeType": "YulBlock",
"src": "2628:75:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "startSlot",
"nativeSrc": "2676:9:1",
"nodeType": "YulIdentifier",
"src": "2676:9:1"
},
{
"name": "i",
"nativeSrc": "2687:1:1",
"nodeType": "YulIdentifier",
"src": "2687:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2672:3:1",
"nodeType": "YulIdentifier",
"src": "2672:3:1"
},
"nativeSrc": "2672:17:1",
"nodeType": "YulFunctionCall",
"src": "2672:17:1"
},
{
"kind": "number",
"nativeSrc": "2691:1:1",
"nodeType": "YulLiteral",
"src": "2691:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "storage_set_to_zero_t_uint256",
"nativeSrc": "2642:29:1",
"nodeType": "YulIdentifier",
"src": "2642:29:1"
},
"nativeSrc": "2642:51:1",
"nodeType": "YulFunctionCall",
"src": "2642:51:1"
},
"nativeSrc": "2642:51:1",
"nodeType": "YulExpressionStatement",
"src": "2642:51:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nativeSrc": "2587:1:1",
"nodeType": "YulIdentifier",
"src": "2587:1:1"
},
{
"name": "slotCount",
"nativeSrc": "2590:9:1",
"nodeType": "YulIdentifier",
"src": "2590:9:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "2584:2:1",
"nodeType": "YulIdentifier",
"src": "2584:2:1"
},
"nativeSrc": "2584:16:1",
"nodeType": "YulFunctionCall",
"src": "2584:16:1"
},
"nativeSrc": "2565:138:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "2601:18:1",
"nodeType": "YulBlock",
"src": "2601:18:1",
"statements": [
{
"nativeSrc": "2603:14:1",
"nodeType": "YulAssignment",
"src": "2603:14:1",
"value": {
"arguments": [
{
"name": "i",
"nativeSrc": "2612:1:1",
"nodeType": "YulIdentifier",
"src": "2612:1:1"
},
{
"kind": "number",
"nativeSrc": "2615:1:1",
"nodeType": "YulLiteral",
"src": "2615:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2608:3:1",
"nodeType": "YulIdentifier",
"src": "2608:3:1"
},
"nativeSrc": "2608:9:1",
"nodeType": "YulFunctionCall",
"src": "2608:9:1"
},
"variableNames": [
{
"name": "i",
"nativeSrc": "2603:1:1",
"nodeType": "YulIdentifier",
"src": "2603:1:1"
}
]
}
]
},
"pre": {
"nativeSrc": "2569:14:1",
"nodeType": "YulBlock",
"src": "2569:14:1",
"statements": [
{
"nativeSrc": "2571:10:1",
"nodeType": "YulVariableDeclaration",
"src": "2571:10:1",
"value": {
"kind": "number",
"nativeSrc": "2580:1:1",
"nodeType": "YulLiteral",
"src": "2580:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nativeSrc": "2575:1:1",
"nodeType": "YulTypedName",
"src": "2575:1:1",
"type": ""
}
]
}
]
},
"src": "2565:138:1"
}
]
},
"name": "clear_storage_range_t_bytes1",
"nativeSrc": "2495:214:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "startSlot",
"nativeSrc": "2533:9:1",
"nodeType": "YulTypedName",
"src": "2533:9:1",
"type": ""
},
{
"name": "slotCount",
"nativeSrc": "2544:9:1",
"nodeType": "YulTypedName",
"src": "2544:9:1",
"type": ""
}
],
"src": "2495:214:1"
},
{
"body": {
"nativeSrc": "2794:667:1",
"nodeType": "YulBlock",
"src": "2794:667:1",
"statements": [
{
"body": {
"nativeSrc": "2820:634:1",
"nodeType": "YulBlock",
"src": "2820:634:1",
"statements": [
{
"body": {
"nativeSrc": "2857:587:1",
"nodeType": "YulBlock",
"src": "2857:587:1",
"statements": [
{
"nativeSrc": "2875:54:1",
"nodeType": "YulVariableDeclaration",
"src": "2875:54:1",
"value": {
"arguments": [
{
"name": "array",
"nativeSrc": "2923:5:1",
"nodeType": "YulIdentifier",
"src": "2923:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nativeSrc": "2891:31:1",
"nodeType": "YulIdentifier",
"src": "2891:31:1"
},
"nativeSrc": "2891:38:1",
"nodeType": "YulFunctionCall",
"src": "2891:38:1"
},
"variables": [
{
"name": "dataArea",
"nativeSrc": "2879:8:1",
"nodeType": "YulTypedName",
"src": "2879:8:1",
"type": ""
}
]
},
{
"nativeSrc": "2946:42:1",
"nodeType": "YulVariableDeclaration",
"src": "2946:42:1",
"value": {
"arguments": [
{
"name": "len",
"nativeSrc": "2984:3:1",
"nodeType": "YulIdentifier",
"src": "2984:3:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nativeSrc": "2966:17:1",
"nodeType": "YulIdentifier",
"src": "2966:17:1"
},
"nativeSrc": "2966:22:1",
"nodeType": "YulFunctionCall",
"src": "2966:22:1"
},
"variables": [
{
"name": "oldSlotCount",
"nativeSrc": "2950:12:1",
"nodeType": "YulTypedName",
"src": "2950:12:1",
"type": ""
}
]
},
{
"nativeSrc": "3005:49:1",
"nodeType": "YulVariableDeclaration",
"src": "3005:49:1",
"value": {
"arguments": [
{
"name": "startIndex",
"nativeSrc": "3043:10:1",
"nodeType": "YulIdentifier",
"src": "3043:10:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nativeSrc": "3025:17:1",
"nodeType": "YulIdentifier",
"src": "3025:17:1"
},
"nativeSrc": "3025:29:1",
"nodeType": "YulFunctionCall",
"src": "3025:29:1"
},
"variables": [
{
"name": "newSlotCount",
"nativeSrc": "3009:12:1",
"nodeType": "YulTypedName",
"src": "3009:12:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "3219:57:1",
"nodeType": "YulBlock",
"src": "3219:57:1",
"statements": [
{
"nativeSrc": "3241:17:1",
"nodeType": "YulAssignment",
"src": "3241:17:1",
"value": {
"kind": "number",
"nativeSrc": "3257:1:1",
"nodeType": "YulLiteral",
"src": "3257:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "newSlotCount",
"nativeSrc": "3241:12:1",
"nodeType": "YulIdentifier",
"src": "3241:12:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nativeSrc": "3203:10:1",
"nodeType": "YulIdentifier",
"src": "3203:10:1"
},
{
"kind": "number",
"nativeSrc": "3215:2:1",
"nodeType": "YulLiteral",
"src": "3215:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "3200:2:1",
"nodeType": "YulIdentifier",
"src": "3200:2:1"
},
"nativeSrc": "3200:18:1",
"nodeType": "YulFunctionCall",
"src": "3200:18:1"
},
"nativeSrc": "3197:79:1",
"nodeType": "YulIf",
"src": "3197:79:1"
},
{
"nativeSrc": "3293:46:1",
"nodeType": "YulVariableDeclaration",
"src": "3293:46:1",
"value": {
"arguments": [
{
"name": "dataArea",
"nativeSrc": "3316:8:1",
"nodeType": "YulIdentifier",
"src": "3316:8:1"
},
{
"name": "newSlotCount",
"nativeSrc": "3326:12:1",
"nodeType": "YulIdentifier",
"src": "3326:12:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3312:3:1",
"nodeType": "YulIdentifier",
"src": "3312:3:1"
},
"nativeSrc": "3312:27:1",
"nodeType": "YulFunctionCall",
"src": "3312:27:1"
},
"variables": [
{
"name": "deleteStart",
"nativeSrc": "3297:11:1",
"nodeType": "YulTypedName",
"src": "3297:11:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "deleteStart",
"nativeSrc": "3385:11:1",
"nodeType": "YulIdentifier",
"src": "3385:11:1"
},
{
"arguments": [
{
"name": "oldSlotCount",
"nativeSrc": "3402:12:1",
"nodeType": "YulIdentifier",
"src": "3402:12:1"
},
{
"name": "newSlotCount",
"nativeSrc": "3416:12:1",
"nodeType": "YulIdentifier",
"src": "3416:12:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "3398:3:1",
"nodeType": "YulIdentifier",
"src": "3398:3:1"
},
"nativeSrc": "3398:31:1",
"nodeType": "YulFunctionCall",
"src": "3398:31:1"
}
],
"functionName": {
"name": "clear_storage_range_t_bytes1",
"nativeSrc": "3356:28:1",
"nodeType": "YulIdentifier",
"src": "3356:28:1"
},
"nativeSrc": "3356:74:1",
"nodeType": "YulFunctionCall",
"src": "3356:74:1"
},
"nativeSrc": "3356:74:1",
"nodeType": "YulExpressionStatement",
"src": "3356:74:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nativeSrc": "2840:3:1",
"nodeType": "YulIdentifier",
"src": "2840:3:1"
},
{
"name": "startIndex",
"nativeSrc": "2845:10:1",
"nodeType": "YulIdentifier",
"src": "2845:10:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "2837:2:1",
"nodeType": "YulIdentifier",
"src": "2837:2:1"
},
"nativeSrc": "2837:19:1",
"nodeType": "YulFunctionCall",
"src": "2837:19:1"
},
"nativeSrc": "2834:610:1",
"nodeType": "YulIf",
"src": "2834:610:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nativeSrc": "2811:3:1",
"nodeType": "YulIdentifier",
"src": "2811:3:1"
},
{
"kind": "number",
"nativeSrc": "2816:2:1",
"nodeType": "YulLiteral",
"src": "2816:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "2808:2:1",
"nodeType": "YulIdentifier",
"src": "2808:2:1"
},
"nativeSrc": "2808:11:1",
"nodeType": "YulFunctionCall",
"src": "2808:11:1"
},
"nativeSrc": "2805:649:1",
"nodeType": "YulIf",
"src": "2805:649:1"
}
]
},
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nativeSrc": "2715:746:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nativeSrc": "2770:5:1",
"nodeType": "YulTypedName",
"src": "2770:5:1",
"type": ""
},
{
"name": "len",
"nativeSrc": "2777:3:1",
"nodeType": "YulTypedName",
"src": "2777:3:1",
"type": ""
},
{
"name": "startIndex",
"nativeSrc": "2782:10:1",
"nodeType": "YulTypedName",
"src": "2782:10:1",
"type": ""
}
],
"src": "2715:746:1"
},
{
"body": {
"nativeSrc": "3530:54:1",
"nodeType": "YulBlock",
"src": "3530:54:1",
"statements": [
{
"nativeSrc": "3540:37:1",
"nodeType": "YulAssignment",
"src": "3540:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nativeSrc": "3565:4:1",
"nodeType": "YulIdentifier",
"src": "3565:4:1"
},
{
"name": "value",
"nativeSrc": "3571:5:1",
"nodeType": "YulIdentifier",
"src": "3571:5:1"
}
],
"functionName": {
"name": "shr",
"nativeSrc": "3561:3:1",
"nodeType": "YulIdentifier",
"src": "3561:3:1"
},
"nativeSrc": "3561:16:1",
"nodeType": "YulFunctionCall",
"src": "3561:16:1"
},
"variableNames": [
{
"name": "newValue",
"nativeSrc": "3540:8:1",
"nodeType": "YulIdentifier",
"src": "3540:8:1"
}
]
}
]
},
"name": "shift_right_unsigned_dynamic",
"nativeSrc": "3467:117:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nativeSrc": "3505:4:1",
"nodeType": "YulTypedName",
"src": "3505:4:1",
"type": ""
},
{
"name": "value",
"nativeSrc": "3511:5:1",
"nodeType": "YulTypedName",
"src": "3511:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nativeSrc": "3521:8:1",
"nodeType": "YulTypedName",
"src": "3521:8:1",
"type": ""
}
],
"src": "3467:117:1"
},
{
"body": {
"nativeSrc": "3641:118:1",
"nodeType": "YulBlock",
"src": "3641:118:1",
"statements": [
{
"nativeSrc": "3651:68:1",
"nodeType": "YulVariableDeclaration",
"src": "3651:68:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nativeSrc": "3700:1:1",
"nodeType": "YulLiteral",
"src": "3700:1:1",
"type": "",
"value": "8"
},
{
"name": "bytes",
"nativeSrc": "3703:5:1",
"nodeType": "YulIdentifier",
"src": "3703:5:1"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "3696:3:1",
"nodeType": "YulIdentifier",
"src": "3696:3:1"
},
"nativeSrc": "3696:13:1",
"nodeType": "YulFunctionCall",
"src": "3696:13:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "3715:1:1",
"nodeType": "YulLiteral",
"src": "3715:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nativeSrc": "3711:3:1",
"nodeType": "YulIdentifier",
"src": "3711:3:1"
},
"nativeSrc": "3711:6:1",
"nodeType": "YulFunctionCall",
"src": "3711:6:1"
}
],
"functionName": {
"name": "shift_right_unsigned_dynamic",
"nativeSrc": "3667:28:1",
"nodeType": "YulIdentifier",
"src": "3667:28:1"
},
"nativeSrc": "3667:51:1",
"nodeType": "YulFunctionCall",
"src": "3667:51:1"
}
],
"functionName": {
"name": "not",
"nativeSrc": "3663:3:1",
"nodeType": "YulIdentifier",
"src": "3663:3:1"
},
"nativeSrc": "3663:56:1",
"nodeType": "YulFunctionCall",
"src": "3663:56:1"
},
"variables": [
{
"name": "mask",
"nativeSrc": "3655:4:1",
"nodeType": "YulTypedName",
"src": "3655:4:1",
"type": ""
}
]
},
{
"nativeSrc": "3728:25:1",
"nodeType": "YulAssignment",
"src": "3728:25:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "3742:4:1",
"nodeType": "YulIdentifier",
"src": "3742:4:1"
},
{
"name": "mask",
"nativeSrc": "3748:4:1",
"nodeType": "YulIdentifier",
"src": "3748:4:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "3738:3:1",
"nodeType": "YulIdentifier",
"src": "3738:3:1"
},
"nativeSrc": "3738:15:1",
"nodeType": "YulFunctionCall",
"src": "3738:15:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "3728:6:1",
"nodeType": "YulIdentifier",
"src": "3728:6:1"
}
]
}
]
},
"name": "mask_bytes_dynamic",
"nativeSrc": "3590:169:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "3618:4:1",
"nodeType": "YulTypedName",
"src": "3618:4:1",
"type": ""
},
{
"name": "bytes",
"nativeSrc": "3624:5:1",
"nodeType": "YulTypedName",
"src": "3624:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "3634:6:1",
"nodeType": "YulTypedName",
"src": "3634:6:1",
"type": ""
}
],
"src": "3590:169:1"
},
{
"body": {
"nativeSrc": "3845:214:1",
"nodeType": "YulBlock",
"src": "3845:214:1",
"statements": [
{
"nativeSrc": "3978:37:1",
"nodeType": "YulAssignment",
"src": "3978:37:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "4005:4:1",
"nodeType": "YulIdentifier",
"src": "4005:4:1"
},
{
"name": "len",
"nativeSrc": "4011:3:1",
"nodeType": "YulIdentifier",
"src": "4011:3:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nativeSrc": "3986:18:1",
"nodeType": "YulIdentifier",
"src": "3986:18:1"
},
"nativeSrc": "3986:29:1",
"nodeType": "YulFunctionCall",
"src": "3986:29:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "3978:4:1",
"nodeType": "YulIdentifier",
"src": "3978:4:1"
}
]
},
{
"nativeSrc": "4024:29:1",
"nodeType": "YulAssignment",
"src": "4024:29:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "4035:4:1",
"nodeType": "YulIdentifier",
"src": "4035:4:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "4045:1:1",
"nodeType": "YulLiteral",
"src": "4045:1:1",
"type": "",
"value": "2"
},
{
"name": "len",
"nativeSrc": "4048:3:1",
"nodeType": "YulIdentifier",
"src": "4048:3:1"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "4041:3:1",
"nodeType": "YulIdentifier",
"src": "4041:3:1"
},
"nativeSrc": "4041:11:1",
"nodeType": "YulFunctionCall",
"src": "4041:11:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "4032:2:1",
"nodeType": "YulIdentifier",
"src": "4032:2:1"
},
"nativeSrc": "4032:21:1",
"nodeType": "YulFunctionCall",
"src": "4032:21:1"
},
"variableNames": [
{
"name": "used",
"nativeSrc": "4024:4:1",
"nodeType": "YulIdentifier",
"src": "4024:4:1"
}
]
}
]
},
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nativeSrc": "3764:295:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "3826:4:1",
"nodeType": "YulTypedName",
"src": "3826:4:1",
"type": ""
},
{
"name": "len",
"nativeSrc": "3832:3:1",
"nodeType": "YulTypedName",
"src": "3832:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "used",
"nativeSrc": "3840:4:1",
"nodeType": "YulTypedName",
"src": "3840:4:1",
"type": ""
}
],
"src": "3764:295:1"
},
{
"body": {
"nativeSrc": "4156:1303:1",
"nodeType": "YulBlock",
"src": "4156:1303:1",
"statements": [
{
"nativeSrc": "4167:51:1",
"nodeType": "YulVariableDeclaration",
"src": "4167:51:1",
"value": {
"arguments": [
{
"name": "src",
"nativeSrc": "4214:3:1",
"nodeType": "YulIdentifier",
"src": "4214:3:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "4181:32:1",
"nodeType": "YulIdentifier",
"src": "4181:32:1"
},
"nativeSrc": "4181:37:1",
"nodeType": "YulFunctionCall",
"src": "4181:37:1"
},
"variables": [
{
"name": "newLen",
"nativeSrc": "4171:6:1",
"nodeType": "YulTypedName",
"src": "4171:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "4303:22:1",
"nodeType": "YulBlock",
"src": "4303:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "4305:16:1",
"nodeType": "YulIdentifier",
"src": "4305:16:1"
},
"nativeSrc": "4305:18:1",
"nodeType": "YulFunctionCall",
"src": "4305:18:1"
},
"nativeSrc": "4305:18:1",
"nodeType": "YulExpressionStatement",
"src": "4305:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "4275:6:1",
"nodeType": "YulIdentifier",
"src": "4275:6:1"
},
{
"kind": "number",
"nativeSrc": "4283:18:1",
"nodeType": "YulLiteral",
"src": "4283:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "4272:2:1",
"nodeType": "YulIdentifier",
"src": "4272:2:1"
},
"nativeSrc": "4272:30:1",
"nodeType": "YulFunctionCall",
"src": "4272:30:1"
},
"nativeSrc": "4269:56:1",
"nodeType": "YulIf",
"src": "4269:56:1"
},
{
"nativeSrc": "4335:52:1",
"nodeType": "YulVariableDeclaration",
"src": "4335:52:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nativeSrc": "4381:4:1",
"nodeType": "YulIdentifier",
"src": "4381:4:1"
}
],
"functionName": {
"name": "sload",
"nativeSrc": "4375:5:1",
"nodeType": "YulIdentifier",
"src": "4375:5:1"
},
"nativeSrc": "4375:11:1",
"nodeType": "YulFunctionCall",
"src": "4375:11:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nativeSrc": "4349:25:1",
"nodeType": "YulIdentifier",
"src": "4349:25:1"
},
"nativeSrc": "4349:38:1",
"nodeType": "YulFunctionCall",
"src": "4349:38:1"
},
"variables": [
{
"name": "oldLen",
"nativeSrc": "4339:6:1",
"nodeType": "YulTypedName",
"src": "4339:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "4480:4:1",
"nodeType": "YulIdentifier",
"src": "4480:4:1"
},
{
"name": "oldLen",
"nativeSrc": "4486:6:1",
"nodeType": "YulIdentifier",
"src": "4486:6:1"
},
{
"name": "newLen",
"nativeSrc": "4494:6:1",
"nodeType": "YulIdentifier",
"src": "4494:6:1"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nativeSrc": "4434:45:1",
"nodeType": "YulIdentifier",
"src": "4434:45:1"
},
"nativeSrc": "4434:67:1",
"nodeType": "YulFunctionCall",
"src": "4434:67:1"
},
"nativeSrc": "4434:67:1",
"nodeType": "YulExpressionStatement",
"src": "4434:67:1"
},
{
"nativeSrc": "4511:18:1",
"nodeType": "YulVariableDeclaration",
"src": "4511:18:1",
"value": {
"kind": "number",
"nativeSrc": "4528:1:1",
"nodeType": "YulLiteral",
"src": "4528:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nativeSrc": "4515:9:1",
"nodeType": "YulTypedName",
"src": "4515:9:1",
"type": ""
}
]
},
{
"nativeSrc": "4539:17:1",
"nodeType": "YulAssignment",
"src": "4539:17:1",
"value": {
"kind": "number",
"nativeSrc": "4552:4:1",
"nodeType": "YulLiteral",
"src": "4552:4:1",
"type": "",
"value": "0x20"
},
"variableNames": [
{
"name": "srcOffset",
"nativeSrc": "4539:9:1",
"nodeType": "YulIdentifier",
"src": "4539:9:1"
}
]
},
{
"cases": [
{
"body": {
"nativeSrc": "4603:611:1",
"nodeType": "YulBlock",
"src": "4603:611:1",
"statements": [
{
"nativeSrc": "4617:37:1",
"nodeType": "YulVariableDeclaration",
"src": "4617:37:1",
"value": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "4636:6:1",
"nodeType": "YulIdentifier",
"src": "4636:6:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "4648:4:1",
"nodeType": "YulLiteral",
"src": "4648:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nativeSrc": "4644:3:1",
"nodeType": "YulIdentifier",
"src": "4644:3:1"
},
"nativeSrc": "4644:9:1",
"nodeType": "YulFunctionCall",
"src": "4644:9:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "4632:3:1",
"nodeType": "YulIdentifier",
"src": "4632:3:1"
},
"nativeSrc": "4632:22:1",
"nodeType": "YulFunctionCall",
"src": "4632:22:1"
},
"variables": [
{
"name": "loopEnd",
"nativeSrc": "4621:7:1",
"nodeType": "YulTypedName",
"src": "4621:7:1",
"type": ""
}
]
},
{
"nativeSrc": "4668:51:1",
"nodeType": "YulVariableDeclaration",
"src": "4668:51:1",
"value": {
"arguments": [
{
"name": "slot",
"nativeSrc": "4714:4:1",
"nodeType": "YulIdentifier",
"src": "4714:4:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nativeSrc": "4682:31:1",
"nodeType": "YulIdentifier",
"src": "4682:31:1"
},
"nativeSrc": "4682:37:1",
"nodeType": "YulFunctionCall",
"src": "4682:37:1"
},
"variables": [
{
"name": "dstPtr",
"nativeSrc": "4672:6:1",
"nodeType": "YulTypedName",
"src": "4672:6:1",
"type": ""
}
]
},
{
"nativeSrc": "4732:10:1",
"nodeType": "YulVariableDeclaration",
"src": "4732:10:1",
"value": {
"kind": "number",
"nativeSrc": "4741:1:1",
"nodeType": "YulLiteral",
"src": "4741:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nativeSrc": "4736:1:1",
"nodeType": "YulTypedName",
"src": "4736:1:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "4800:163:1",
"nodeType": "YulBlock",
"src": "4800:163:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "4825:6:1",
"nodeType": "YulIdentifier",
"src": "4825:6:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "4843:3:1",
"nodeType": "YulIdentifier",
"src": "4843:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "4848:9:1",
"nodeType": "YulIdentifier",
"src": "4848:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4839:3:1",
"nodeType": "YulIdentifier",
"src": "4839:3:1"
},
"nativeSrc": "4839:19:1",
"nodeType": "YulFunctionCall",
"src": "4839:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "4833:5:1",
"nodeType": "YulIdentifier",
"src": "4833:5:1"
},
"nativeSrc": "4833:26:1",
"nodeType": "YulFunctionCall",
"src": "4833:26:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "4818:6:1",
"nodeType": "YulIdentifier",
"src": "4818:6:1"
},
"nativeSrc": "4818:42:1",
"nodeType": "YulFunctionCall",
"src": "4818:42:1"
},
"nativeSrc": "4818:42:1",
"nodeType": "YulExpressionStatement",
"src": "4818:42:1"
},
{
"nativeSrc": "4877:24:1",
"nodeType": "YulAssignment",
"src": "4877:24:1",
"value": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "4891:6:1",
"nodeType": "YulIdentifier",
"src": "4891:6:1"
},
{
"kind": "number",
"nativeSrc": "4899:1:1",
"nodeType": "YulLiteral",
"src": "4899:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4887:3:1",
"nodeType": "YulIdentifier",
"src": "4887:3:1"
},
"nativeSrc": "4887:14:1",
"nodeType": "YulFunctionCall",
"src": "4887:14:1"
},
"variableNames": [
{
"name": "dstPtr",
"nativeSrc": "4877:6:1",
"nodeType": "YulIdentifier",
"src": "4877:6:1"
}
]
},
{
"nativeSrc": "4918:31:1",
"nodeType": "YulAssignment",
"src": "4918:31:1",
"value": {
"arguments": [
{
"name": "srcOffset",
"nativeSrc": "4935:9:1",
"nodeType": "YulIdentifier",
"src": "4935:9:1"
},
{
"kind": "number",
"nativeSrc": "4946:2:1",
"nodeType": "YulLiteral",
"src": "4946:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4931:3:1",
"nodeType": "YulIdentifier",
"src": "4931:3:1"
},
"nativeSrc": "4931:18:1",
"nodeType": "YulFunctionCall",
"src": "4931:18:1"
},
"variableNames": [
{
"name": "srcOffset",
"nativeSrc": "4918:9:1",
"nodeType": "YulIdentifier",
"src": "4918:9:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nativeSrc": "4766:1:1",
"nodeType": "YulIdentifier",
"src": "4766:1:1"
},
{
"name": "loopEnd",
"nativeSrc": "4769:7:1",
"nodeType": "YulIdentifier",
"src": "4769:7:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "4763:2:1",
"nodeType": "YulIdentifier",
"src": "4763:2:1"
},
"nativeSrc": "4763:14:1",
"nodeType": "YulFunctionCall",
"src": "4763:14:1"
},
"nativeSrc": "4755:208:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "4778:21:1",
"nodeType": "YulBlock",
"src": "4778:21:1",
"statements": [
{
"nativeSrc": "4780:17:1",
"nodeType": "YulAssignment",
"src": "4780:17:1",
"value": {
"arguments": [
{
"name": "i",
"nativeSrc": "4789:1:1",
"nodeType": "YulIdentifier",
"src": "4789:1:1"
},
{
"kind": "number",
"nativeSrc": "4792:4:1",
"nodeType": "YulLiteral",
"src": "4792:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4785:3:1",
"nodeType": "YulIdentifier",
"src": "4785:3:1"
},
"nativeSrc": "4785:12:1",
"nodeType": "YulFunctionCall",
"src": "4785:12:1"
},
"variableNames": [
{
"name": "i",
"nativeSrc": "4780:1:1",
"nodeType": "YulIdentifier",
"src": "4780:1:1"
}
]
}
]
},
"pre": {
"nativeSrc": "4759:3:1",
"nodeType": "YulBlock",
"src": "4759:3:1",
"statements": []
},
"src": "4755:208:1"
},
{
"body": {
"nativeSrc": "4999:156:1",
"nodeType": "YulBlock",
"src": "4999:156:1",
"statements": [
{
"nativeSrc": "5017:43:1",
"nodeType": "YulVariableDeclaration",
"src": "5017:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "5044:3:1",
"nodeType": "YulIdentifier",
"src": "5044:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "5049:9:1",
"nodeType": "YulIdentifier",
"src": "5049:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5040:3:1",
"nodeType": "YulIdentifier",
"src": "5040:3:1"
},
"nativeSrc": "5040:19:1",
"nodeType": "YulFunctionCall",
"src": "5040:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "5034:5:1",
"nodeType": "YulIdentifier",
"src": "5034:5:1"
},
"nativeSrc": "5034:26:1",
"nodeType": "YulFunctionCall",
"src": "5034:26:1"
},
"variables": [
{
"name": "lastValue",
"nativeSrc": "5021:9:1",
"nodeType": "YulTypedName",
"src": "5021:9:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "5084:6:1",
"nodeType": "YulIdentifier",
"src": "5084:6:1"
},
{
"arguments": [
{
"name": "lastValue",
"nativeSrc": "5111:9:1",
"nodeType": "YulIdentifier",
"src": "5111:9:1"
},
{
"arguments": [
{
"name": "newLen",
"nativeSrc": "5126:6:1",
"nodeType": "YulIdentifier",
"src": "5126:6:1"
},
{
"kind": "number",
"nativeSrc": "5134:4:1",
"nodeType": "YulLiteral",
"src": "5134:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "and",
"nativeSrc": "5122:3:1",
"nodeType": "YulIdentifier",
"src": "5122:3:1"
},
"nativeSrc": "5122:17:1",
"nodeType": "YulFunctionCall",
"src": "5122:17:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nativeSrc": "5092:18:1",
"nodeType": "YulIdentifier",
"src": "5092:18:1"
},
"nativeSrc": "5092:48:1",
"nodeType": "YulFunctionCall",
"src": "5092:48:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "5077:6:1",
"nodeType": "YulIdentifier",
"src": "5077:6:1"
},
"nativeSrc": "5077:64:1",
"nodeType": "YulFunctionCall",
"src": "5077:64:1"
},
"nativeSrc": "5077:64:1",
"nodeType": "YulExpressionStatement",
"src": "5077:64:1"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nativeSrc": "4982:7:1",
"nodeType": "YulIdentifier",
"src": "4982:7:1"
},
{
"name": "newLen",
"nativeSrc": "4991:6:1",
"nodeType": "YulIdentifier",
"src": "4991:6:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "4979:2:1",
"nodeType": "YulIdentifier",
"src": "4979:2:1"
},
"nativeSrc": "4979:19:1",
"nodeType": "YulFunctionCall",
"src": "4979:19:1"
},
"nativeSrc": "4976:179:1",
"nodeType": "YulIf",
"src": "4976:179:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "5175:4:1",
"nodeType": "YulIdentifier",
"src": "5175:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "newLen",
"nativeSrc": "5189:6:1",
"nodeType": "YulIdentifier",
"src": "5189:6:1"
},
{
"kind": "number",
"nativeSrc": "5197:1:1",
"nodeType": "YulLiteral",
"src": "5197:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "5185:3:1",
"nodeType": "YulIdentifier",
"src": "5185:3:1"
},
"nativeSrc": "5185:14:1",
"nodeType": "YulFunctionCall",
"src": "5185:14:1"
},
{
"kind": "number",
"nativeSrc": "5201:1:1",
"nodeType": "YulLiteral",
"src": "5201:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5181:3:1",
"nodeType": "YulIdentifier",
"src": "5181:3:1"
},
"nativeSrc": "5181:22:1",
"nodeType": "YulFunctionCall",
"src": "5181:22:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "5168:6:1",
"nodeType": "YulIdentifier",
"src": "5168:6:1"
},
"nativeSrc": "5168:36:1",
"nodeType": "YulFunctionCall",
"src": "5168:36:1"
},
"nativeSrc": "5168:36:1",
"nodeType": "YulExpressionStatement",
"src": "5168:36:1"
}
]
},
"nativeSrc": "4596:618:1",
"nodeType": "YulCase",
"src": "4596:618:1",
"value": {
"kind": "number",
"nativeSrc": "4601:1:1",
"nodeType": "YulLiteral",
"src": "4601:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nativeSrc": "5231:222:1",
"nodeType": "YulBlock",
"src": "5231:222:1",
"statements": [
{
"nativeSrc": "5245:14:1",
"nodeType": "YulVariableDeclaration",
"src": "5245:14:1",
"value": {
"kind": "number",
"nativeSrc": "5258:1:1",
"nodeType": "YulLiteral",
"src": "5258:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nativeSrc": "5249:5:1",
"nodeType": "YulTypedName",
"src": "5249:5:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "5282:67:1",
"nodeType": "YulBlock",
"src": "5282:67:1",
"statements": [
{
"nativeSrc": "5300:35:1",
"nodeType": "YulAssignment",
"src": "5300:35:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "5319:3:1",
"nodeType": "YulIdentifier",
"src": "5319:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "5324:9:1",
"nodeType": "YulIdentifier",
"src": "5324:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5315:3:1",
"nodeType": "YulIdentifier",
"src": "5315:3:1"
},
"nativeSrc": "5315:19:1",
"nodeType": "YulFunctionCall",
"src": "5315:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "5309:5:1",
"nodeType": "YulIdentifier",
"src": "5309:5:1"
},
"nativeSrc": "5309:26:1",
"nodeType": "YulFunctionCall",
"src": "5309:26:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "5300:5:1",
"nodeType": "YulIdentifier",
"src": "5300:5:1"
}
]
}
]
},
"condition": {
"name": "newLen",
"nativeSrc": "5275:6:1",
"nodeType": "YulIdentifier",
"src": "5275:6:1"
},
"nativeSrc": "5272:77:1",
"nodeType": "YulIf",
"src": "5272:77:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "5369:4:1",
"nodeType": "YulIdentifier",
"src": "5369:4:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "5428:5:1",
"nodeType": "YulIdentifier",
"src": "5428:5:1"
},
{
"name": "newLen",
"nativeSrc": "5435:6:1",
"nodeType": "YulIdentifier",
"src": "5435:6:1"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nativeSrc": "5375:52:1",
"nodeType": "YulIdentifier",
"src": "5375:52:1"
},
"nativeSrc": "5375:67:1",
"nodeType": "YulFunctionCall",
"src": "5375:67:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "5362:6:1",
"nodeType": "YulIdentifier",
"src": "5362:6:1"
},
"nativeSrc": "5362:81:1",
"nodeType": "YulFunctionCall",
"src": "5362:81:1"
},
"nativeSrc": "5362:81:1",
"nodeType": "YulExpressionStatement",
"src": "5362:81:1"
}
]
},
"nativeSrc": "5223:230:1",
"nodeType": "YulCase",
"src": "5223:230:1",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "4576:6:1",
"nodeType": "YulIdentifier",
"src": "4576:6:1"
},
{
"kind": "number",
"nativeSrc": "4584:2:1",
"nodeType": "YulLiteral",
"src": "4584:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "4573:2:1",
"nodeType": "YulIdentifier",
"src": "4573:2:1"
},
"nativeSrc": "4573:14:1",
"nodeType": "YulFunctionCall",
"src": "4573:14:1"
},
"nativeSrc": "4566:887:1",
"nodeType": "YulSwitch",
"src": "4566:887:1"
}
]
},
"name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage",
"nativeSrc": "4064:1395:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "4145:4:1",
"nodeType": "YulTypedName",
"src": "4145:4:1",
"type": ""
},
{
"name": "src",
"nativeSrc": "4151:3:1",
"nodeType": "YulTypedName",
"src": "4151:3:1",
"type": ""
}
],
"src": "4064:1395:1"
},
{
"body": {
"nativeSrc": "5505:35:1",
"nodeType": "YulBlock",
"src": "5505:35:1",
"statements": [
{
"nativeSrc": "5515:19:1",
"nodeType": "YulAssignment",
"src": "5515:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "5531:2:1",
"nodeType": "YulLiteral",
"src": "5531:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "5525:5:1",
"nodeType": "YulIdentifier",
"src": "5525:5:1"
},
"nativeSrc": "5525:9:1",
"nodeType": "YulFunctionCall",
"src": "5525:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "5515:6:1",
"nodeType": "YulIdentifier",
"src": "5515:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nativeSrc": "5465:75:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "5498:6:1",
"nodeType": "YulTypedName",
"src": "5498:6:1",
"type": ""
}
],
"src": "5465:75:1"
},
{
"body": {
"nativeSrc": "5635:28:1",
"nodeType": "YulBlock",
"src": "5635:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "5652:1:1",
"nodeType": "YulLiteral",
"src": "5652:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "5655:1:1",
"nodeType": "YulLiteral",
"src": "5655:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "5645:6:1",
"nodeType": "YulIdentifier",
"src": "5645:6:1"
},
"nativeSrc": "5645:12:1",
"nodeType": "YulFunctionCall",
"src": "5645:12:1"
},
"nativeSrc": "5645:12:1",
"nodeType": "YulExpressionStatement",
"src": "5645:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "5546:117:1",
"nodeType": "YulFunctionDefinition",
"src": "5546:117:1"
},
{
"body": {
"nativeSrc": "5758:28:1",
"nodeType": "YulBlock",
"src": "5758:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "5775:1:1",
"nodeType": "YulLiteral",
"src": "5775:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "5778:1:1",
"nodeType": "YulLiteral",
"src": "5778:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "5768:6:1",
"nodeType": "YulIdentifier",
"src": "5768:6:1"
},
"nativeSrc": "5768:12:1",
"nodeType": "YulFunctionCall",
"src": "5768:12:1"
},
"nativeSrc": "5768:12:1",
"nodeType": "YulExpressionStatement",
"src": "5768:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "5669:117:1",
"nodeType": "YulFunctionDefinition",
"src": "5669:117:1"
},
{
"body": {
"nativeSrc": "5835:79:1",
"nodeType": "YulBlock",
"src": "5835:79:1",
"statements": [
{
"body": {
"nativeSrc": "5892:16:1",
"nodeType": "YulBlock",
"src": "5892:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "5901:1:1",
"nodeType": "YulLiteral",
"src": "5901:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "5904:1:1",
"nodeType": "YulLiteral",
"src": "5904:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "5894:6:1",
"nodeType": "YulIdentifier",
"src": "5894:6:1"
},
"nativeSrc": "5894:12:1",
"nodeType": "YulFunctionCall",
"src": "5894:12:1"
},
"nativeSrc": "5894:12:1",
"nodeType": "YulExpressionStatement",
"src": "5894:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "5858:5:1",
"nodeType": "YulIdentifier",
"src": "5858:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "5883:5:1",
"nodeType": "YulIdentifier",
"src": "5883:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "5865:17:1",
"nodeType": "YulIdentifier",
"src": "5865:17:1"
},
"nativeSrc": "5865:24:1",
"nodeType": "YulFunctionCall",
"src": "5865:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "5855:2:1",
"nodeType": "YulIdentifier",
"src": "5855:2:1"
},
"nativeSrc": "5855:35:1",
"nodeType": "YulFunctionCall",
"src": "5855:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "5848:6:1",
"nodeType": "YulIdentifier",
"src": "5848:6:1"
},
"nativeSrc": "5848:43:1",
"nodeType": "YulFunctionCall",
"src": "5848:43:1"
},
"nativeSrc": "5845:63:1",
"nodeType": "YulIf",
"src": "5845:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nativeSrc": "5792:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "5828:5:1",
"nodeType": "YulTypedName",
"src": "5828:5:1",
"type": ""
}
],
"src": "5792:122:1"
},
{
"body": {
"nativeSrc": "5983:80:1",
"nodeType": "YulBlock",
"src": "5983:80:1",
"statements": [
{
"nativeSrc": "5993:22:1",
"nodeType": "YulAssignment",
"src": "5993:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "6008:6:1",
"nodeType": "YulIdentifier",
"src": "6008:6:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "6002:5:1",
"nodeType": "YulIdentifier",
"src": "6002:5:1"
},
"nativeSrc": "6002:13:1",
"nodeType": "YulFunctionCall",
"src": "6002:13:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "5993:5:1",
"nodeType": "YulIdentifier",
"src": "5993:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "6051:5:1",
"nodeType": "YulIdentifier",
"src": "6051:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nativeSrc": "6024:26:1",
"nodeType": "YulIdentifier",
"src": "6024:26:1"
},
"nativeSrc": "6024:33:1",
"nodeType": "YulFunctionCall",
"src": "6024:33:1"
},
"nativeSrc": "6024:33:1",
"nodeType": "YulExpressionStatement",
"src": "6024:33:1"
}
]
},
"name": "abi_decode_t_uint256_fromMemory",
"nativeSrc": "5920:143:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "5961:6:1",
"nodeType": "YulTypedName",
"src": "5961:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "5969:3:1",
"nodeType": "YulTypedName",
"src": "5969:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "5977:5:1",
"nodeType": "YulTypedName",
"src": "5977:5:1",
"type": ""
}
],
"src": "5920:143:1"
},
{
"body": {
"nativeSrc": "6146:274:1",
"nodeType": "YulBlock",
"src": "6146:274:1",
"statements": [
{
"body": {
"nativeSrc": "6192:83:1",
"nodeType": "YulBlock",
"src": "6192:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "6194:77:1",
"nodeType": "YulIdentifier",
"src": "6194:77:1"
},
"nativeSrc": "6194:79:1",
"nodeType": "YulFunctionCall",
"src": "6194:79:1"
},
"nativeSrc": "6194:79:1",
"nodeType": "YulExpressionStatement",
"src": "6194:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "6167:7:1",
"nodeType": "YulIdentifier",
"src": "6167:7:1"
},
{
"name": "headStart",
"nativeSrc": "6176:9:1",
"nodeType": "YulIdentifier",
"src": "6176:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "6163:3:1",
"nodeType": "YulIdentifier",
"src": "6163:3:1"
},
"nativeSrc": "6163:23:1",
"nodeType": "YulFunctionCall",
"src": "6163:23:1"
},
{
"kind": "number",
"nativeSrc": "6188:2:1",
"nodeType": "YulLiteral",
"src": "6188:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "6159:3:1",
"nodeType": "YulIdentifier",
"src": "6159:3:1"
},
"nativeSrc": "6159:32:1",
"nodeType": "YulFunctionCall",
"src": "6159:32:1"
},
"nativeSrc": "6156:119:1",
"nodeType": "YulIf",
"src": "6156:119:1"
},
{
"nativeSrc": "6285:128:1",
"nodeType": "YulBlock",
"src": "6285:128:1",
"statements": [
{
"nativeSrc": "6300:15:1",
"nodeType": "YulVariableDeclaration",
"src": "6300:15:1",
"value": {
"kind": "number",
"nativeSrc": "6314:1:1",
"nodeType": "YulLiteral",
"src": "6314:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "6304:6:1",
"nodeType": "YulTypedName",
"src": "6304:6:1",
"type": ""
}
]
},
{
"nativeSrc": "6329:74:1",
"nodeType": "YulAssignment",
"src": "6329:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "6375:9:1",
"nodeType": "YulIdentifier",
"src": "6375:9:1"
},
{
"name": "offset",
"nativeSrc": "6386:6:1",
"nodeType": "YulIdentifier",
"src": "6386:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6371:3:1",
"nodeType": "YulIdentifier",
"src": "6371:3:1"
},
"nativeSrc": "6371:22:1",
"nodeType": "YulFunctionCall",
"src": "6371:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "6395:7:1",
"nodeType": "YulIdentifier",
"src": "6395:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256_fromMemory",
"nativeSrc": "6339:31:1",
"nodeType": "YulIdentifier",
"src": "6339:31:1"
},
"nativeSrc": "6339:64:1",
"nodeType": "YulFunctionCall",
"src": "6339:64:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "6329:6:1",
"nodeType": "YulIdentifier",
"src": "6329:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256_fromMemory",
"nativeSrc": "6069:351:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "6116:9:1",
"nodeType": "YulTypedName",
"src": "6116:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "6127:7:1",
"nodeType": "YulTypedName",
"src": "6127:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "6139:6:1",
"nodeType": "YulTypedName",
"src": "6139:6:1",
"type": ""
}
],
"src": "6069:351:1"
},
{
"body": {
"nativeSrc": "6454:152:1",
"nodeType": "YulBlock",
"src": "6454:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "6471:1:1",
"nodeType": "YulLiteral",
"src": "6471:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "6474:77:1",
"nodeType": "YulLiteral",
"src": "6474:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "6464:6:1",
"nodeType": "YulIdentifier",
"src": "6464:6:1"
},
"nativeSrc": "6464:88:1",
"nodeType": "YulFunctionCall",
"src": "6464:88:1"
},
"nativeSrc": "6464:88:1",
"nodeType": "YulExpressionStatement",
"src": "6464:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "6568:1:1",
"nodeType": "YulLiteral",
"src": "6568:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "6571:4:1",
"nodeType": "YulLiteral",
"src": "6571:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "6561:6:1",
"nodeType": "YulIdentifier",
"src": "6561:6:1"
},
"nativeSrc": "6561:15:1",
"nodeType": "YulFunctionCall",
"src": "6561:15:1"
},
"nativeSrc": "6561:15:1",
"nodeType": "YulExpressionStatement",
"src": "6561:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "6592:1:1",
"nodeType": "YulLiteral",
"src": "6592:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "6595:4:1",
"nodeType": "YulLiteral",
"src": "6595:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "6585:6:1",
"nodeType": "YulIdentifier",
"src": "6585:6:1"
},
"nativeSrc": "6585:15:1",
"nodeType": "YulFunctionCall",
"src": "6585:15:1"
},
"nativeSrc": "6585:15:1",
"nodeType": "YulExpressionStatement",
"src": "6585:15:1"
}
]
},
"name": "panic_error_0x11",
"nativeSrc": "6426:180:1",
"nodeType": "YulFunctionDefinition",
"src": "6426:180:1"
},
{
"body": {
"nativeSrc": "6663:51:1",
"nodeType": "YulBlock",
"src": "6663:51:1",
"statements": [
{
"nativeSrc": "6673:34:1",
"nodeType": "YulAssignment",
"src": "6673:34:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "6698:1:1",
"nodeType": "YulLiteral",
"src": "6698:1:1",
"type": "",
"value": "1"
},
{
"name": "value",
"nativeSrc": "6701:5:1",
"nodeType": "YulIdentifier",
"src": "6701:5:1"
}
],
"functionName": {
"name": "shr",
"nativeSrc": "6694:3:1",
"nodeType": "YulIdentifier",
"src": "6694:3:1"
},
"nativeSrc": "6694:13:1",
"nodeType": "YulFunctionCall",
"src": "6694:13:1"
},
"variableNames": [
{
"name": "newValue",
"nativeSrc": "6673:8:1",
"nodeType": "YulIdentifier",
"src": "6673:8:1"
}
]
}
]
},
"name": "shift_right_1_unsigned",
"nativeSrc": "6612:102:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "6644:5:1",
"nodeType": "YulTypedName",
"src": "6644:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nativeSrc": "6654:8:1",
"nodeType": "YulTypedName",
"src": "6654:8:1",
"type": ""
}
],
"src": "6612:102:1"
},
{
"body": {
"nativeSrc": "6793:775:1",
"nodeType": "YulBlock",
"src": "6793:775:1",
"statements": [
{
"nativeSrc": "6803:15:1",
"nodeType": "YulAssignment",
"src": "6803:15:1",
"value": {
"name": "_power",
"nativeSrc": "6812:6:1",
"nodeType": "YulIdentifier",
"src": "6812:6:1"
},
"variableNames": [
{
"name": "power",
"nativeSrc": "6803:5:1",
"nodeType": "YulIdentifier",
"src": "6803:5:1"
}
]
},
{
"nativeSrc": "6827:14:1",
"nodeType": "YulAssignment",
"src": "6827:14:1",
"value": {
"name": "_base",
"nativeSrc": "6836:5:1",
"nodeType": "YulIdentifier",
"src": "6836:5:1"
},
"variableNames": [
{
"name": "base",
"nativeSrc": "6827:4:1",
"nodeType": "YulIdentifier",
"src": "6827:4:1"
}
]
},
{
"body": {
"nativeSrc": "6885:677:1",
"nodeType": "YulBlock",
"src": "6885:677:1",
"statements": [
{
"body": {
"nativeSrc": "6973:22:1",
"nodeType": "YulBlock",
"src": "6973:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "6975:16:1",
"nodeType": "YulIdentifier",
"src": "6975:16:1"
},
"nativeSrc": "6975:18:1",
"nodeType": "YulFunctionCall",
"src": "6975:18:1"
},
"nativeSrc": "6975:18:1",
"nodeType": "YulExpressionStatement",
"src": "6975:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "base",
"nativeSrc": "6951:4:1",
"nodeType": "YulIdentifier",
"src": "6951:4:1"
},
{
"arguments": [
{
"name": "max",
"nativeSrc": "6961:3:1",
"nodeType": "YulIdentifier",
"src": "6961:3:1"
},
{
"name": "base",
"nativeSrc": "6966:4:1",
"nodeType": "YulIdentifier",
"src": "6966:4:1"
}
],
"functionName": {
"name": "div",
"nativeSrc": "6957:3:1",
"nodeType": "YulIdentifier",
"src": "6957:3:1"
},
"nativeSrc": "6957:14:1",
"nodeType": "YulFunctionCall",
"src": "6957:14:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "6948:2:1",
"nodeType": "YulIdentifier",
"src": "6948:2:1"
},
"nativeSrc": "6948:24:1",
"nodeType": "YulFunctionCall",
"src": "6948:24:1"
},
"nativeSrc": "6945:50:1",
"nodeType": "YulIf",
"src": "6945:50:1"
},
{
"body": {
"nativeSrc": "7040:419:1",
"nodeType": "YulBlock",
"src": "7040:419:1",
"statements": [
{
"nativeSrc": "7420:25:1",
"nodeType": "YulAssignment",
"src": "7420:25:1",
"value": {
"arguments": [
{
"name": "power",
"nativeSrc": "7433:5:1",
"nodeType": "YulIdentifier",
"src": "7433:5:1"
},
{
"name": "base",
"nativeSrc": "7440:4:1",
"nodeType": "YulIdentifier",
"src": "7440:4:1"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "7429:3:1",
"nodeType": "YulIdentifier",
"src": "7429:3:1"
},
"nativeSrc": "7429:16:1",
"nodeType": "YulFunctionCall",
"src": "7429:16:1"
},
"variableNames": [
{
"name": "power",
"nativeSrc": "7420:5:1",
"nodeType": "YulIdentifier",
"src": "7420:5:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "exponent",
"nativeSrc": "7015:8:1",
"nodeType": "YulIdentifier",
"src": "7015:8:1"
},
{
"kind": "number",
"nativeSrc": "7025:1:1",
"nodeType": "YulLiteral",
"src": "7025:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "7011:3:1",
"nodeType": "YulIdentifier",
"src": "7011:3:1"
},
"nativeSrc": "7011:16:1",
"nodeType": "YulFunctionCall",
"src": "7011:16:1"
},
"nativeSrc": "7008:451:1",
"nodeType": "YulIf",
"src": "7008:451:1"
},
{
"nativeSrc": "7472:23:1",
"nodeType": "YulAssignment",
"src": "7472:23:1",
"value": {
"arguments": [
{
"name": "base",
"nativeSrc": "7484:4:1",
"nodeType": "YulIdentifier",
"src": "7484:4:1"
},
{
"name": "base",
"nativeSrc": "7490:4:1",
"nodeType": "YulIdentifier",
"src": "7490:4:1"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "7480:3:1",
"nodeType": "YulIdentifier",
"src": "7480:3:1"
},
"nativeSrc": "7480:15:1",
"nodeType": "YulFunctionCall",
"src": "7480:15:1"
},
"variableNames": [
{
"name": "base",
"nativeSrc": "7472:4:1",
"nodeType": "YulIdentifier",
"src": "7472:4:1"
}
]
},
{
"nativeSrc": "7508:44:1",
"nodeType": "YulAssignment",
"src": "7508:44:1",
"value": {
"arguments": [
{
"name": "exponent",
"nativeSrc": "7543:8:1",
"nodeType": "YulIdentifier",
"src": "7543:8:1"
}
],
"functionName": {
"name": "shift_right_1_unsigned",
"nativeSrc": "7520:22:1",
"nodeType": "YulIdentifier",
"src": "7520:22:1"
},
"nativeSrc": "7520:32:1",
"nodeType": "YulFunctionCall",
"src": "7520:32:1"
},
"variableNames": [
{
"name": "exponent",
"nativeSrc": "7508:8:1",
"nodeType": "YulIdentifier",
"src": "7508:8:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "exponent",
"nativeSrc": "6861:8:1",
"nodeType": "YulIdentifier",
"src": "6861:8:1"
},
{
"kind": "number",
"nativeSrc": "6871:1:1",
"nodeType": "YulLiteral",
"src": "6871:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "6858:2:1",
"nodeType": "YulIdentifier",
"src": "6858:2:1"
},
"nativeSrc": "6858:15:1",
"nodeType": "YulFunctionCall",
"src": "6858:15:1"
},
"nativeSrc": "6850:712:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "6874:2:1",
"nodeType": "YulBlock",
"src": "6874:2:1",
"statements": []
},
"pre": {
"nativeSrc": "6854:3:1",
"nodeType": "YulBlock",
"src": "6854:3:1",
"statements": []
},
"src": "6850:712:1"
}
]
},
"name": "checked_exp_helper",
"nativeSrc": "6720:848:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "_power",
"nativeSrc": "6748:6:1",
"nodeType": "YulTypedName",
"src": "6748:6:1",
"type": ""
},
{
"name": "_base",
"nativeSrc": "6756:5:1",
"nodeType": "YulTypedName",
"src": "6756:5:1",
"type": ""
},
{
"name": "exponent",
"nativeSrc": "6763:8:1",
"nodeType": "YulTypedName",
"src": "6763:8:1",
"type": ""
},
{
"name": "max",
"nativeSrc": "6773:3:1",
"nodeType": "YulTypedName",
"src": "6773:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "power",
"nativeSrc": "6781:5:1",
"nodeType": "YulTypedName",
"src": "6781:5:1",
"type": ""
},
{
"name": "base",
"nativeSrc": "6788:4:1",
"nodeType": "YulTypedName",
"src": "6788:4:1",
"type": ""
}
],
"src": "6720:848:1"
},
{
"body": {
"nativeSrc": "7634:1013:1",
"nodeType": "YulBlock",
"src": "7634:1013:1",
"statements": [
{
"body": {
"nativeSrc": "7829:20:1",
"nodeType": "YulBlock",
"src": "7829:20:1",
"statements": [
{
"nativeSrc": "7831:10:1",
"nodeType": "YulAssignment",
"src": "7831:10:1",
"value": {
"kind": "number",
"nativeSrc": "7840:1:1",
"nodeType": "YulLiteral",
"src": "7840:1:1",
"type": "",
"value": "1"
},
"variableNames": [
{
"name": "power",
"nativeSrc": "7831:5:1",
"nodeType": "YulIdentifier",
"src": "7831:5:1"
}
]
},
{
"nativeSrc": "7842:5:1",
"nodeType": "YulLeave",
"src": "7842:5:1"
}
]
},
"condition": {
"arguments": [
{
"name": "exponent",
"nativeSrc": "7819:8:1",
"nodeType": "YulIdentifier",
"src": "7819:8:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "7812:6:1",
"nodeType": "YulIdentifier",
"src": "7812:6:1"
},
"nativeSrc": "7812:16:1",
"nodeType": "YulFunctionCall",
"src": "7812:16:1"
},
"nativeSrc": "7809:40:1",
"nodeType": "YulIf",
"src": "7809:40:1"
},
{
"body": {
"nativeSrc": "7874:20:1",
"nodeType": "YulBlock",
"src": "7874:20:1",
"statements": [
{
"nativeSrc": "7876:10:1",
"nodeType": "YulAssignment",
"src": "7876:10:1",
"value": {
"kind": "number",
"nativeSrc": "7885:1:1",
"nodeType": "YulLiteral",
"src": "7885:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "power",
"nativeSrc": "7876:5:1",
"nodeType": "YulIdentifier",
"src": "7876:5:1"
}
]
},
{
"nativeSrc": "7887:5:1",
"nodeType": "YulLeave",
"src": "7887:5:1"
}
]
},
"condition": {
"arguments": [
{
"name": "base",
"nativeSrc": "7868:4:1",
"nodeType": "YulIdentifier",
"src": "7868:4:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "7861:6:1",
"nodeType": "YulIdentifier",
"src": "7861:6:1"
},
"nativeSrc": "7861:12:1",
"nodeType": "YulFunctionCall",
"src": "7861:12:1"
},
"nativeSrc": "7858:36:1",
"nodeType": "YulIf",
"src": "7858:36:1"
},
{
"cases": [
{
"body": {
"nativeSrc": "8004:20:1",
"nodeType": "YulBlock",
"src": "8004:20:1",
"statements": [
{
"nativeSrc": "8006:10:1",
"nodeType": "YulAssignment",
"src": "8006:10:1",
"value": {
"kind": "number",
"nativeSrc": "8015:1:1",
"nodeType": "YulLiteral",
"src": "8015:1:1",
"type": "",
"value": "1"
},
"variableNames": [
{
"name": "power",
"nativeSrc": "8006:5:1",
"nodeType": "YulIdentifier",
"src": "8006:5:1"
}
]
},
{
"nativeSrc": "8017:5:1",
"nodeType": "YulLeave",
"src": "8017:5:1"
}
]
},
"nativeSrc": "7997:27:1",
"nodeType": "YulCase",
"src": "7997:27:1",
"value": {
"kind": "number",
"nativeSrc": "8002:1:1",
"nodeType": "YulLiteral",
"src": "8002:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nativeSrc": "8048:176:1",
"nodeType": "YulBlock",
"src": "8048:176:1",
"statements": [
{
"body": {
"nativeSrc": "8083:22:1",
"nodeType": "YulBlock",
"src": "8083:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "8085:16:1",
"nodeType": "YulIdentifier",
"src": "8085:16:1"
},
"nativeSrc": "8085:18:1",
"nodeType": "YulFunctionCall",
"src": "8085:18:1"
},
"nativeSrc": "8085:18:1",
"nodeType": "YulExpressionStatement",
"src": "8085:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "exponent",
"nativeSrc": "8068:8:1",
"nodeType": "YulIdentifier",
"src": "8068:8:1"
},
{
"kind": "number",
"nativeSrc": "8078:3:1",
"nodeType": "YulLiteral",
"src": "8078:3:1",
"type": "",
"value": "255"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "8065:2:1",
"nodeType": "YulIdentifier",
"src": "8065:2:1"
},
"nativeSrc": "8065:17:1",
"nodeType": "YulFunctionCall",
"src": "8065:17:1"
},
"nativeSrc": "8062:43:1",
"nodeType": "YulIf",
"src": "8062:43:1"
},
{
"nativeSrc": "8118:25:1",
"nodeType": "YulAssignment",
"src": "8118:25:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "8131:1:1",
"nodeType": "YulLiteral",
"src": "8131:1:1",
"type": "",
"value": "2"
},
{
"name": "exponent",
"nativeSrc": "8134:8:1",
"nodeType": "YulIdentifier",
"src": "8134:8:1"
}
],
"functionName": {
"name": "exp",
"nativeSrc": "8127:3:1",
"nodeType": "YulIdentifier",
"src": "8127:3:1"
},
"nativeSrc": "8127:16:1",
"nodeType": "YulFunctionCall",
"src": "8127:16:1"
},
"variableNames": [
{
"name": "power",
"nativeSrc": "8118:5:1",
"nodeType": "YulIdentifier",
"src": "8118:5:1"
}
]
},
{
"body": {
"nativeSrc": "8174:22:1",
"nodeType": "YulBlock",
"src": "8174:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "8176:16:1",
"nodeType": "YulIdentifier",
"src": "8176:16:1"
},
"nativeSrc": "8176:18:1",
"nodeType": "YulFunctionCall",
"src": "8176:18:1"
},
"nativeSrc": "8176:18:1",
"nodeType": "YulExpressionStatement",
"src": "8176:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "power",
"nativeSrc": "8162:5:1",
"nodeType": "YulIdentifier",
"src": "8162:5:1"
},
{
"name": "max",
"nativeSrc": "8169:3:1",
"nodeType": "YulIdentifier",
"src": "8169:3:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "8159:2:1",
"nodeType": "YulIdentifier",
"src": "8159:2:1"
},
"nativeSrc": "8159:14:1",
"nodeType": "YulFunctionCall",
"src": "8159:14:1"
},
"nativeSrc": "8156:40:1",
"nodeType": "YulIf",
"src": "8156:40:1"
},
{
"nativeSrc": "8209:5:1",
"nodeType": "YulLeave",
"src": "8209:5:1"
}
]
},
"nativeSrc": "8033:191:1",
"nodeType": "YulCase",
"src": "8033:191:1",
"value": {
"kind": "number",
"nativeSrc": "8038:1:1",
"nodeType": "YulLiteral",
"src": "8038:1:1",
"type": "",
"value": "2"
}
}
],
"expression": {
"name": "base",
"nativeSrc": "7954:4:1",
"nodeType": "YulIdentifier",
"src": "7954:4:1"
},
"nativeSrc": "7947:277:1",
"nodeType": "YulSwitch",
"src": "7947:277:1"
},
{
"body": {
"nativeSrc": "8356:123:1",
"nodeType": "YulBlock",
"src": "8356:123:1",
"statements": [
{
"nativeSrc": "8370:28:1",
"nodeType": "YulAssignment",
"src": "8370:28:1",
"value": {
"arguments": [
{
"name": "base",
"nativeSrc": "8383:4:1",
"nodeType": "YulIdentifier",
"src": "8383:4:1"
},
{
"name": "exponent",
"nativeSrc": "8389:8:1",
"nodeType": "YulIdentifier",
"src": "8389:8:1"
}
],
"functionName": {
"name": "exp",
"nativeSrc": "8379:3:1",
"nodeType": "YulIdentifier",
"src": "8379:3:1"
},
"nativeSrc": "8379:19:1",
"nodeType": "YulFunctionCall",
"src": "8379:19:1"
},
"variableNames": [
{
"name": "power",
"nativeSrc": "8370:5:1",
"nodeType": "YulIdentifier",
"src": "8370:5:1"
}
]
},
{
"body": {
"nativeSrc": "8429:22:1",
"nodeType": "YulBlock",
"src": "8429:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "8431:16:1",
"nodeType": "YulIdentifier",
"src": "8431:16:1"
},
"nativeSrc": "8431:18:1",
"nodeType": "YulFunctionCall",
"src": "8431:18:1"
},
"nativeSrc": "8431:18:1",
"nodeType": "YulExpressionStatement",
"src": "8431:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "power",
"nativeSrc": "8417:5:1",
"nodeType": "YulIdentifier",
"src": "8417:5:1"
},
{
"name": "max",
"nativeSrc": "8424:3:1",
"nodeType": "YulIdentifier",
"src": "8424:3:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "8414:2:1",
"nodeType": "YulIdentifier",
"src": "8414:2:1"
},
"nativeSrc": "8414:14:1",
"nodeType": "YulFunctionCall",
"src": "8414:14:1"
},
"nativeSrc": "8411:40:1",
"nodeType": "YulIf",
"src": "8411:40:1"
},
{
"nativeSrc": "8464:5:1",
"nodeType": "YulLeave",
"src": "8464:5:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "base",
"nativeSrc": "8259:4:1",
"nodeType": "YulIdentifier",
"src": "8259:4:1"
},
{
"kind": "number",
"nativeSrc": "8265:2:1",
"nodeType": "YulLiteral",
"src": "8265:2:1",
"type": "",
"value": "11"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "8256:2:1",
"nodeType": "YulIdentifier",
"src": "8256:2:1"
},
"nativeSrc": "8256:12:1",
"nodeType": "YulFunctionCall",
"src": "8256:12:1"
},
{
"arguments": [
{
"name": "exponent",
"nativeSrc": "8273:8:1",
"nodeType": "YulIdentifier",
"src": "8273:8:1"
},
{
"kind": "number",
"nativeSrc": "8283:2:1",
"nodeType": "YulLiteral",
"src": "8283:2:1",
"type": "",
"value": "78"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "8270:2:1",
"nodeType": "YulIdentifier",
"src": "8270:2:1"
},
"nativeSrc": "8270:16:1",
"nodeType": "YulFunctionCall",
"src": "8270:16:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "8252:3:1",
"nodeType": "YulIdentifier",
"src": "8252:3:1"
},
"nativeSrc": "8252:35:1",
"nodeType": "YulFunctionCall",
"src": "8252:35:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "base",
"nativeSrc": "8308:4:1",
"nodeType": "YulIdentifier",
"src": "8308:4:1"
},
{
"kind": "number",
"nativeSrc": "8314:3:1",
"nodeType": "YulLiteral",
"src": "8314:3:1",
"type": "",
"value": "307"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "8305:2:1",
"nodeType": "YulIdentifier",
"src": "8305:2:1"
},
"nativeSrc": "8305:13:1",
"nodeType": "YulFunctionCall",
"src": "8305:13:1"
},
{
"arguments": [
{
"name": "exponent",
"nativeSrc": "8323:8:1",
"nodeType": "YulIdentifier",
"src": "8323:8:1"
},
{
"kind": "number",
"nativeSrc": "8333:2:1",
"nodeType": "YulLiteral",
"src": "8333:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "8320:2:1",
"nodeType": "YulIdentifier",
"src": "8320:2:1"
},
"nativeSrc": "8320:16:1",
"nodeType": "YulFunctionCall",
"src": "8320:16:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "8301:3:1",
"nodeType": "YulIdentifier",
"src": "8301:3:1"
},
"nativeSrc": "8301:36:1",
"nodeType": "YulFunctionCall",
"src": "8301:36:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "8236:2:1",
"nodeType": "YulIdentifier",
"src": "8236:2:1"
},
"nativeSrc": "8236:111:1",
"nodeType": "YulFunctionCall",
"src": "8236:111:1"
},
"nativeSrc": "8233:246:1",
"nodeType": "YulIf",
"src": "8233:246:1"
},
{
"nativeSrc": "8489:57:1",
"nodeType": "YulAssignment",
"src": "8489:57:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "8523:1:1",
"nodeType": "YulLiteral",
"src": "8523:1:1",
"type": "",
"value": "1"
},
{
"name": "base",
"nativeSrc": "8526:4:1",
"nodeType": "YulIdentifier",
"src": "8526:4:1"
},
{
"name": "exponent",
"nativeSrc": "8532:8:1",
"nodeType": "YulIdentifier",
"src": "8532:8:1"
},
{
"name": "max",
"nativeSrc": "8542:3:1",
"nodeType": "YulIdentifier",
"src": "8542:3:1"
}
],
"functionName": {
"name": "checked_exp_helper",
"nativeSrc": "8504:18:1",
"nodeType": "YulIdentifier",
"src": "8504:18:1"
},
"nativeSrc": "8504:42:1",
"nodeType": "YulFunctionCall",
"src": "8504:42:1"
},
"variableNames": [
{
"name": "power",
"nativeSrc": "8489:5:1",
"nodeType": "YulIdentifier",
"src": "8489:5:1"
},
{
"name": "base",
"nativeSrc": "8496:4:1",
"nodeType": "YulIdentifier",
"src": "8496:4:1"
}
]
},
{
"body": {
"nativeSrc": "8585:22:1",
"nodeType": "YulBlock",
"src": "8585:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "8587:16:1",
"nodeType": "YulIdentifier",
"src": "8587:16:1"
},
"nativeSrc": "8587:18:1",
"nodeType": "YulFunctionCall",
"src": "8587:18:1"
},
"nativeSrc": "8587:18:1",
"nodeType": "YulExpressionStatement",
"src": "8587:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "power",
"nativeSrc": "8562:5:1",
"nodeType": "YulIdentifier",
"src": "8562:5:1"
},
{
"arguments": [
{
"name": "max",
"nativeSrc": "8573:3:1",
"nodeType": "YulIdentifier",
"src": "8573:3:1"
},
{
"name": "base",
"nativeSrc": "8578:4:1",
"nodeType": "YulIdentifier",
"src": "8578:4:1"
}
],
"functionName": {
"name": "div",
"nativeSrc": "8569:3:1",
"nodeType": "YulIdentifier",
"src": "8569:3:1"
},
"nativeSrc": "8569:14:1",
"nodeType": "YulFunctionCall",
"src": "8569:14:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "8559:2:1",
"nodeType": "YulIdentifier",
"src": "8559:2:1"
},
"nativeSrc": "8559:25:1",
"nodeType": "YulFunctionCall",
"src": "8559:25:1"
},
"nativeSrc": "8556:51:1",
"nodeType": "YulIf",
"src": "8556:51:1"
},
{
"nativeSrc": "8616:25:1",
"nodeType": "YulAssignment",
"src": "8616:25:1",
"value": {
"arguments": [
{
"name": "power",
"nativeSrc": "8629:5:1",
"nodeType": "YulIdentifier",
"src": "8629:5:1"
},
{
"name": "base",
"nativeSrc": "8636:4:1",
"nodeType": "YulIdentifier",
"src": "8636:4:1"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "8625:3:1",
"nodeType": "YulIdentifier",
"src": "8625:3:1"
},
"nativeSrc": "8625:16:1",
"nodeType": "YulFunctionCall",
"src": "8625:16:1"
},
"variableNames": [
{
"name": "power",
"nativeSrc": "8616:5:1",
"nodeType": "YulIdentifier",
"src": "8616:5:1"
}
]
}
]
},
"name": "checked_exp_unsigned",
"nativeSrc": "7574:1073:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "base",
"nativeSrc": "7604:4:1",
"nodeType": "YulTypedName",
"src": "7604:4:1",
"type": ""
},
{
"name": "exponent",
"nativeSrc": "7610:8:1",
"nodeType": "YulTypedName",
"src": "7610:8:1",
"type": ""
},
{
"name": "max",
"nativeSrc": "7620:3:1",
"nodeType": "YulTypedName",
"src": "7620:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "power",
"nativeSrc": "7628:5:1",
"nodeType": "YulTypedName",
"src": "7628:5:1",
"type": ""
}
],
"src": "7574:1073:1"
},
{
"body": {
"nativeSrc": "8719:219:1",
"nodeType": "YulBlock",
"src": "8719:219:1",
"statements": [
{
"nativeSrc": "8729:31:1",
"nodeType": "YulAssignment",
"src": "8729:31:1",
"value": {
"arguments": [
{
"name": "base",
"nativeSrc": "8755:4:1",
"nodeType": "YulIdentifier",
"src": "8755:4:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "8737:17:1",
"nodeType": "YulIdentifier",
"src": "8737:17:1"
},
"nativeSrc": "8737:23:1",
"nodeType": "YulFunctionCall",
"src": "8737:23:1"
},
"variableNames": [
{
"name": "base",
"nativeSrc": "8729:4:1",
"nodeType": "YulIdentifier",
"src": "8729:4:1"
}
]
},
{
"nativeSrc": "8769:39:1",
"nodeType": "YulAssignment",
"src": "8769:39:1",
"value": {
"arguments": [
{
"name": "exponent",
"nativeSrc": "8799:8:1",
"nodeType": "YulIdentifier",
"src": "8799:8:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "8781:17:1",
"nodeType": "YulIdentifier",
"src": "8781:17:1"
},
"nativeSrc": "8781:27:1",
"nodeType": "YulFunctionCall",
"src": "8781:27:1"
},
"variableNames": [
{
"name": "exponent",
"nativeSrc": "8769:8:1",
"nodeType": "YulIdentifier",
"src": "8769:8:1"
}
]
},
{
"nativeSrc": "8818:113:1",
"nodeType": "YulAssignment",
"src": "8818:113:1",
"value": {
"arguments": [
{
"name": "base",
"nativeSrc": "8848:4:1",
"nodeType": "YulIdentifier",
"src": "8848:4:1"
},
{
"name": "exponent",
"nativeSrc": "8854:8:1",
"nodeType": "YulIdentifier",
"src": "8854:8:1"
},
{
"kind": "number",
"nativeSrc": "8864:66:1",
"nodeType": "YulLiteral",
"src": "8864:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "checked_exp_unsigned",
"nativeSrc": "8827:20:1",
"nodeType": "YulIdentifier",
"src": "8827:20:1"
},
"nativeSrc": "8827:104:1",
"nodeType": "YulFunctionCall",
"src": "8827:104:1"
},
"variableNames": [
{
"name": "power",
"nativeSrc": "8818:5:1",
"nodeType": "YulIdentifier",
"src": "8818:5:1"
}
]
}
]
},
"name": "checked_exp_t_uint256_t_uint256",
"nativeSrc": "8653:285:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "base",
"nativeSrc": "8694:4:1",
"nodeType": "YulTypedName",
"src": "8694:4:1",
"type": ""
},
{
"name": "exponent",
"nativeSrc": "8700:8:1",
"nodeType": "YulTypedName",
"src": "8700:8:1",
"type": ""
}
],
"returnVariables": [
{
"name": "power",
"nativeSrc": "8713:5:1",
"nodeType": "YulTypedName",
"src": "8713:5:1",
"type": ""
}
],
"src": "8653:285:1"
},
{
"body": {
"nativeSrc": "8992:362:1",
"nodeType": "YulBlock",
"src": "8992:362:1",
"statements": [
{
"nativeSrc": "9002:25:1",
"nodeType": "YulAssignment",
"src": "9002:25:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "9025:1:1",
"nodeType": "YulIdentifier",
"src": "9025:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "9007:17:1",
"nodeType": "YulIdentifier",
"src": "9007:17:1"
},
"nativeSrc": "9007:20:1",
"nodeType": "YulFunctionCall",
"src": "9007:20:1"
},
"variableNames": [
{
"name": "x",
"nativeSrc": "9002:1:1",
"nodeType": "YulIdentifier",
"src": "9002:1:1"
}
]
},
{
"nativeSrc": "9036:25:1",
"nodeType": "YulAssignment",
"src": "9036:25:1",
"value": {
"arguments": [
{
"name": "y",
"nativeSrc": "9059:1:1",
"nodeType": "YulIdentifier",
"src": "9059:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "9041:17:1",
"nodeType": "YulIdentifier",
"src": "9041:17:1"
},
"nativeSrc": "9041:20:1",
"nodeType": "YulFunctionCall",
"src": "9041:20:1"
},
"variableNames": [
{
"name": "y",
"nativeSrc": "9036:1:1",
"nodeType": "YulIdentifier",
"src": "9036:1:1"
}
]
},
{
"nativeSrc": "9070:28:1",
"nodeType": "YulVariableDeclaration",
"src": "9070:28:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "9093:1:1",
"nodeType": "YulIdentifier",
"src": "9093:1:1"
},
{
"name": "y",
"nativeSrc": "9096:1:1",
"nodeType": "YulIdentifier",
"src": "9096:1:1"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "9089:3:1",
"nodeType": "YulIdentifier",
"src": "9089:3:1"
},
"nativeSrc": "9089:9:1",
"nodeType": "YulFunctionCall",
"src": "9089:9:1"
},
"variables": [
{
"name": "product_raw",
"nativeSrc": "9074:11:1",
"nodeType": "YulTypedName",
"src": "9074:11:1",
"type": ""
}
]
},
{
"nativeSrc": "9107:41:1",
"nodeType": "YulAssignment",
"src": "9107:41:1",
"value": {
"arguments": [
{
"name": "product_raw",
"nativeSrc": "9136:11:1",
"nodeType": "YulIdentifier",
"src": "9136:11:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "9118:17:1",
"nodeType": "YulIdentifier",
"src": "9118:17:1"
},
"nativeSrc": "9118:30:1",
"nodeType": "YulFunctionCall",
"src": "9118:30:1"
},
"variableNames": [
{
"name": "product",
"nativeSrc": "9107:7:1",
"nodeType": "YulIdentifier",
"src": "9107:7:1"
}
]
},
{
"body": {
"nativeSrc": "9325:22:1",
"nodeType": "YulBlock",
"src": "9325:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "9327:16:1",
"nodeType": "YulIdentifier",
"src": "9327:16:1"
},
"nativeSrc": "9327:18:1",
"nodeType": "YulFunctionCall",
"src": "9327:18:1"
},
"nativeSrc": "9327:18:1",
"nodeType": "YulExpressionStatement",
"src": "9327:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "x",
"nativeSrc": "9258:1:1",
"nodeType": "YulIdentifier",
"src": "9258:1:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "9251:6:1",
"nodeType": "YulIdentifier",
"src": "9251:6:1"
},
"nativeSrc": "9251:9:1",
"nodeType": "YulFunctionCall",
"src": "9251:9:1"
},
{
"arguments": [
{
"name": "y",
"nativeSrc": "9281:1:1",
"nodeType": "YulIdentifier",
"src": "9281:1:1"
},
{
"arguments": [
{
"name": "product",
"nativeSrc": "9288:7:1",
"nodeType": "YulIdentifier",
"src": "9288:7:1"
},
{
"name": "x",
"nativeSrc": "9297:1:1",
"nodeType": "YulIdentifier",
"src": "9297:1:1"
}
],
"functionName": {
"name": "div",
"nativeSrc": "9284:3:1",
"nodeType": "YulIdentifier",
"src": "9284:3:1"
},
"nativeSrc": "9284:15:1",
"nodeType": "YulFunctionCall",
"src": "9284:15:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "9278:2:1",
"nodeType": "YulIdentifier",
"src": "9278:2:1"
},
"nativeSrc": "9278:22:1",
"nodeType": "YulFunctionCall",
"src": "9278:22:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "9231:2:1",
"nodeType": "YulIdentifier",
"src": "9231:2:1"
},
"nativeSrc": "9231:83:1",
"nodeType": "YulFunctionCall",
"src": "9231:83:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "9211:6:1",
"nodeType": "YulIdentifier",
"src": "9211:6:1"
},
"nativeSrc": "9211:113:1",
"nodeType": "YulFunctionCall",
"src": "9211:113:1"
},
"nativeSrc": "9208:139:1",
"nodeType": "YulIf",
"src": "9208:139:1"
}
]
},
"name": "checked_mul_t_uint256",
"nativeSrc": "8944:410:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nativeSrc": "8975:1:1",
"nodeType": "YulTypedName",
"src": "8975:1:1",
"type": ""
},
{
"name": "y",
"nativeSrc": "8978:1:1",
"nodeType": "YulTypedName",
"src": "8978:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "product",
"nativeSrc": "8984:7:1",
"nodeType": "YulTypedName",
"src": "8984:7:1",
"type": ""
}
],
"src": "8944:410:1"
},
{
"body": {
"nativeSrc": "9425:53:1",
"nodeType": "YulBlock",
"src": "9425:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "9442:3:1",
"nodeType": "YulIdentifier",
"src": "9442:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "9465:5:1",
"nodeType": "YulIdentifier",
"src": "9465:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "9447:17:1",
"nodeType": "YulIdentifier",
"src": "9447:17:1"
},
"nativeSrc": "9447:24:1",
"nodeType": "YulFunctionCall",
"src": "9447:24:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "9435:6:1",
"nodeType": "YulIdentifier",
"src": "9435:6:1"
},
"nativeSrc": "9435:37:1",
"nodeType": "YulFunctionCall",
"src": "9435:37:1"
},
"nativeSrc": "9435:37:1",
"nodeType": "YulExpressionStatement",
"src": "9435:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "9360:118:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "9413:5:1",
"nodeType": "YulTypedName",
"src": "9413:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "9420:3:1",
"nodeType": "YulTypedName",
"src": "9420:3:1",
"type": ""
}
],
"src": "9360:118:1"
},
{
"body": {
"nativeSrc": "9582:124:1",
"nodeType": "YulBlock",
"src": "9582:124:1",
"statements": [
{
"nativeSrc": "9592:26:1",
"nodeType": "YulAssignment",
"src": "9592:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "9604:9:1",
"nodeType": "YulIdentifier",
"src": "9604:9:1"
},
{
"kind": "number",
"nativeSrc": "9615:2:1",
"nodeType": "YulLiteral",
"src": "9615:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9600:3:1",
"nodeType": "YulIdentifier",
"src": "9600:3:1"
},
"nativeSrc": "9600:18:1",
"nodeType": "YulFunctionCall",
"src": "9600:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "9592:4:1",
"nodeType": "YulIdentifier",
"src": "9592:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "9672:6:1",
"nodeType": "YulIdentifier",
"src": "9672:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "9685:9:1",
"nodeType": "YulIdentifier",
"src": "9685:9:1"
},
{
"kind": "number",
"nativeSrc": "9696:1:1",
"nodeType": "YulLiteral",
"src": "9696:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9681:3:1",
"nodeType": "YulIdentifier",
"src": "9681:3:1"
},
"nativeSrc": "9681:17:1",
"nodeType": "YulFunctionCall",
"src": "9681:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "9628:43:1",
"nodeType": "YulIdentifier",
"src": "9628:43:1"
},
"nativeSrc": "9628:71:1",
"nodeType": "YulFunctionCall",
"src": "9628:71:1"
},
"nativeSrc": "9628:71:1",
"nodeType": "YulExpressionStatement",
"src": "9628:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nativeSrc": "9484:222:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "9554:9:1",
"nodeType": "YulTypedName",
"src": "9554:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "9566:6:1",
"nodeType": "YulTypedName",
"src": "9566:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "9577:4:1",
"nodeType": "YulTypedName",
"src": "9577:4:1",
"type": ""
}
],
"src": "9484:222: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(startSlot, slotCount) {\n for { let i := 0 } lt(i, slotCount) { i := add(i, 1) }\n {\n storage_set_to_zero_t_uint256(add(startSlot, i), 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n if gt(len, startIndex) {\n let dataArea := array_dataslot_t_string_storage(array)\n let oldSlotCount := divide_by_32_ceil(len)\n let newSlotCount := 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) {\n newSlotCount := 0\n }\n let deleteStart := add(dataArea, newSlotCount)\n clear_storage_range_t_bytes1(deleteStart, sub(oldSlotCount, newSlotCount))\n }\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 function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function shift_right_1_unsigned(value) -> newValue {\n newValue :=\n\n shr(1, value)\n\n }\n\n function checked_exp_helper(_power, _base, exponent, max) -> power, base {\n power := _power\n base := _base\n for { } gt(exponent, 1) {}\n {\n // overflow check for base * base\n if gt(base, div(max, base)) { panic_error_0x11() }\n if and(exponent, 1)\n {\n // No checks for power := mul(power, base) needed, because the check\n // for base * base above is sufficient, since:\n // |power| <= base (proof by induction) and thus:\n // |power * base| <= base * base <= max <= |min| (for signed)\n // (this is equally true for signed and unsigned exp)\n power := mul(power, base)\n }\n base := mul(base, base)\n exponent := shift_right_1_unsigned(exponent)\n }\n }\n\n function checked_exp_unsigned(base, exponent, max) -> power {\n // This function currently cannot be inlined because of the\n // \"leave\" statements. We have to improve the optimizer.\n\n // Note that 0**0 == 1\n if iszero(exponent) { power := 1 leave }\n if iszero(base) { power := 0 leave }\n\n // Specializations for small bases\n switch base\n // 0 is handled above\n case 1 { power := 1 leave }\n case 2\n {\n if gt(exponent, 255) { panic_error_0x11() }\n power := exp(2, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n if or(\n and(lt(base, 11), lt(exponent, 78)),\n and(lt(base, 307), lt(exponent, 32))\n )\n {\n power := exp(base, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n\n power, base := checked_exp_helper(1, base, exponent, max)\n\n if gt(power, div(max, base)) { panic_error_0x11() }\n power := mul(power, base)\n }\n\n function checked_exp_t_uint256_t_uint256(base, exponent) -> power {\n base := cleanup_t_uint256(base)\n exponent := cleanup_t_uint256(exponent)\n\n power := checked_exp_unsigned(base, exponent, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n let product_raw := mul(x, y)\n product := cleanup_t_uint256(product_raw)\n\n // overflow, if x != 0 and y != product/x\n if iszero(\n or(\n iszero(x),\n eq(y, div(product, x))\n )\n ) { panic_error_0x11() }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "60806040526040518060400160405280601681526020017f496d6f204469676974616c204369747920546f6b656e000000000000000000008152505f9081610047919061046b565b506040518060400160405280600481526020017f49444354000000000000000000000000000000000000000000000000000000008152506001908161008c919061046b565b50601260025f6101000a81548160ff021916908360ff1602179055506040518060600160405280602881526020016124da60289139600490816100cf919061046b565b503480156100db575f5ffd5b5060405161250238038061250283398181016040528101906100fd9190610568565b3360075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060025f9054906101000a900460ff1660ff16600a61015b91906106ef565b816101669190610739565b60038190555060035460055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503373ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60035460405161020f9190610789565b60405180910390a3506107a2565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061029857607f821691505b6020821081036102ab576102aa610254565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261030d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826102d2565b61031786836102d2565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61035b6103566103518461032f565b610338565b61032f565b9050919050565b5f819050919050565b61037483610341565b61038861038082610362565b8484546102de565b825550505050565b5f5f905090565b61039f610390565b6103aa81848461036b565b505050565b5f5b828110156103d0576103c55f828401610397565b6001810190506103b1565b505050565b601f8211156104235782821115610422576103ef816102b1565b6103f8836102c3565b610401856102c3565b602086101561040e575f90505b80830161041d828403826103af565b505050505b5b505050565b5f82821c905092915050565b5f6104435f1984600802610428565b1980831691505092915050565b5f61045b8383610434565b9150826002028217905092915050565b6104748261021d565b67ffffffffffffffff81111561048d5761048c610227565b5b6104978254610281565b6104a28282856103d5565b5f60209050601f8311600181146104d3575f84156104c1578287015190505b6104cb8582610450565b865550610532565b601f1984166104e1866102b1565b5f5b82811015610508578489015182556001820191506020850194506020810190506104e3565b868310156105255784890151610521601f891682610434565b8355505b6001600288020188555050505b505050505050565b5f5ffd5b6105478161032f565b8114610551575f5ffd5b50565b5f815190506105628161053e565b92915050565b5f6020828403121561057d5761057c61053a565b5b5f61058a84828501610554565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b6001851115610615578086048111156105f1576105f0610593565b5b60018516156106005780820291505b808102905061060e856105c0565b94506105d5565b94509492505050565b5f8261062d57600190506106e8565b8161063a575f90506106e8565b8160018114610650576002811461065a57610689565b60019150506106e8565b60ff84111561066c5761066b610593565b5b8360020a91508482111561068357610682610593565b5b506106e8565b5060208310610133831016604e8410600b84101617156106be5782820a9050838111156106b9576106b8610593565b5b6106e8565b6106cb84848460016105cc565b925090508184048111156106e2576106e1610593565b5b81810290505b9392505050565b5f6106f98261032f565b91506107048361032f565b92506107317fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461061e565b905092915050565b5f6107438261032f565b915061074e8361032f565b925082820261075c8161032f565b9150828204841483151761077357610772610593565b5b5092915050565b6107838161032f565b82525050565b5f60208201905061079c5f83018461077a565b92915050565b611d2b806107af5f395ff3fe608060405234801561000f575f5ffd5b50600436106100f3575f3560e01c806363879c091161009557806395d89b411161006457806395d89b4114610299578063a9059cbb146102b7578063dd62ed3e146102e7578063f2fde38b14610317576100f3565b806363879c09146102115780636bb38b281461022d57806370a082311461024b5780638da5cb5b1461027b576100f3565b806323b872dd116100d157806323b872dd14610163578063313ce5671461019357806340c10f19146101b157806342966c68146101e1576100f3565b806306fdde03146100f7578063095ea7b31461011557806318160ddd14610145575b5f5ffd5b6100ff610333565b60405161010c9190611215565b60405180910390f35b61012f600480360381019061012a91906112d3565b6103be565b60405161013c919061132b565b60405180910390f35b61014d610519565b60405161015a9190611353565b60405180910390f35b61017d6004803603810190610178919061136c565b61051f565b60405161018a919061132b565b60405180910390f35b61019b61086d565b6040516101a891906113d7565b60405180910390f35b6101cb60048036038101906101c691906112d3565b61087f565b6040516101d8919061132b565b60405180910390f35b6101fb60048036038101906101f691906113f0565b610aa5565b604051610208919061132b565b60405180910390f35b61022b60048036038101906102269190611547565b610c4d565b005b610235610cef565b6040516102429190611215565b60405180910390f35b6102656004803603810190610260919061158e565b610d7b565b6040516102729190611353565b60405180910390f35b610283610d90565b60405161029091906115c8565b60405180910390f35b6102a1610db5565b6040516102ae9190611215565b60405180910390f35b6102d160048036038101906102cc91906112d3565b610e41565b6040516102de919061132b565b60405180910390f35b61030160048036038101906102fc91906115e1565b611045565b60405161030e9190611353565b60405180910390f35b610331600480360381019061032c919061158e565b611065565b005b5f805461033f9061164c565b80601f016020809104026020016040519081016040528092919081815260200182805461036b9061164c565b80156103b65780601f1061038d576101008083540402835291602001916103b6565b820191905f5260205f20905b81548152906001019060200180831161039957829003601f168201915b505050505081565b5f5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361042d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610424906116c6565b60405180910390fd5b8160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516105079190611353565b60405180910390a36001905092915050565b60035481565b5f5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361058e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105859061172e565b60405180910390fd5b8160055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054101561060e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060590611796565b60405180910390fd5b8160065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156106c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c0906117fe565b60405180910390fd5b8160055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546107159190611849565b925050819055508160055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610768919061187c565b925050819055508160065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546107f69190611849565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161085a9190611353565b60405180910390a3600190509392505050565b60025f9054906101000a900460ff1681565b5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461090f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109069061191f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361097d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097490611987565b60405180910390fd5b8160035f82825461098e919061187c565b925050819055508160055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546109e1919061187c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688583604051610a2e9190611353565b60405180910390a28273ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a939190611353565b60405180910390a36001905092915050565b5f8160055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610b26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1d906119ef565b60405180910390fd5b8160055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610b729190611849565b925050819055508160035f828254610b8a9190611849565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca583604051610bd79190611353565b60405180910390a25f73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c3c9190611353565b60405180910390a360019050919050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cdc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd39061191f565b60405180910390fd5b8060049081610ceb9190611bbe565b5050565b60048054610cfc9061164c565b80601f0160208091040260200160405190810160405280929190818152602001828054610d289061164c565b8015610d735780601f10610d4a57610100808354040283529160200191610d73565b820191905f5260205f20905b815481529060010190602001808311610d5657829003601f168201915b505050505081565b6005602052805f5260405f205f915090505481565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054610dc29061164c565b80601f0160208091040260200160405190810160405280929190818152602001828054610dee9061164c565b8015610e395780601f10610e1057610100808354040283529160200191610e39565b820191905f5260205f20905b815481529060010190602001808311610e1c57829003601f168201915b505050505081565b5f5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea79061172e565b60405180910390fd5b8160055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610f30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2790611796565b60405180910390fd5b8160055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610f7c9190611849565b925050819055508160055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610fcf919061187c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110339190611353565b60405180910390a36001905092915050565b6006602052815f5260405f20602052805f5260405f205f91509150505481565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110eb9061191f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611162576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115990611cd7565b60405180910390fd5b8060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6111e7826111a5565b6111f181856111af565b93506112018185602086016111bf565b61120a816111cd565b840191505092915050565b5f6020820190508181035f83015261122d81846111dd565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61126f82611246565b9050919050565b61127f81611265565b8114611289575f5ffd5b50565b5f8135905061129a81611276565b92915050565b5f819050919050565b6112b2816112a0565b81146112bc575f5ffd5b50565b5f813590506112cd816112a9565b92915050565b5f5f604083850312156112e9576112e861123e565b5b5f6112f68582860161128c565b9250506020611307858286016112bf565b9150509250929050565b5f8115159050919050565b61132581611311565b82525050565b5f60208201905061133e5f83018461131c565b92915050565b61134d816112a0565b82525050565b5f6020820190506113665f830184611344565b92915050565b5f5f5f606084860312156113835761138261123e565b5b5f6113908682870161128c565b93505060206113a18682870161128c565b92505060406113b2868287016112bf565b9150509250925092565b5f60ff82169050919050565b6113d1816113bc565b82525050565b5f6020820190506113ea5f8301846113c8565b92915050565b5f602082840312156114055761140461123e565b5b5f611412848285016112bf565b91505092915050565b5f5ffd5b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611459826111cd565b810181811067ffffffffffffffff8211171561147857611477611423565b5b80604052505050565b5f61148a611235565b90506114968282611450565b919050565b5f67ffffffffffffffff8211156114b5576114b4611423565b5b6114be826111cd565b9050602081019050919050565b828183375f83830152505050565b5f6114eb6114e68461149b565b611481565b9050828152602081018484840111156115075761150661141f565b5b6115128482856114cb565b509392505050565b5f82601f83011261152e5761152d61141b565b5b813561153e8482602086016114d9565b91505092915050565b5f6020828403121561155c5761155b61123e565b5b5f82013567ffffffffffffffff81111561157957611578611242565b5b6115858482850161151a565b91505092915050565b5f602082840312156115a3576115a261123e565b5b5f6115b08482850161128c565b91505092915050565b6115c281611265565b82525050565b5f6020820190506115db5f8301846115b9565b92915050565b5f5f604083850312156115f7576115f661123e565b5b5f6116048582860161128c565b92505060206116158582860161128c565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061166357607f821691505b6020821081036116765761167561161f565b5b50919050565b7f43616e6e6f7420617070726f7665207a65726f206164647265737300000000005f82015250565b5f6116b0601b836111af565b91506116bb8261167c565b602082019050919050565b5f6020820190508181035f8301526116dd816116a4565b9050919050565b7f43616e6e6f74207472616e7366657220746f207a65726f2061646472657373005f82015250565b5f611718601f836111af565b9150611723826116e4565b602082019050919050565b5f6020820190508181035f8301526117458161170c565b9050919050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f6117806014836111af565b915061178b8261174c565b602082019050919050565b5f6020820190508181035f8301526117ad81611774565b9050919050565b7f416c6c6f77616e636520657863656564656400000000000000000000000000005f82015250565b5f6117e86012836111af565b91506117f3826117b4565b602082019050919050565b5f6020820190508181035f830152611815816117dc565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611853826112a0565b915061185e836112a0565b92508282039050818111156118765761187561181c565b5b92915050565b5f611886826112a0565b9150611891836112a0565b92508282019050808211156118a9576118a861181c565b5b92915050565b7f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f5f8201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b5f6119096021836111af565b9150611914826118af565b604082019050919050565b5f6020820190508181035f830152611936816118fd565b9050919050565b7f43616e6e6f74206d696e7420746f207a65726f206164647265737300000000005f82015250565b5f611971601b836111af565b915061197c8261193d565b602082019050919050565b5f6020820190508181035f83015261199e81611965565b9050919050565b7f496e73756666696369656e742062616c616e636520746f206275726e000000005f82015250565b5f6119d9601c836111af565b91506119e4826119a5565b602082019050919050565b5f6020820190508181035f830152611a06816119cd565b9050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302611a697fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611a2e565b611a738683611a2e565b95508019841693508086168417925050509392505050565b5f819050919050565b5f611aae611aa9611aa4846112a0565b611a8b565b6112a0565b9050919050565b5f819050919050565b611ac783611a94565b611adb611ad382611ab5565b848454611a3a565b825550505050565b5f5f905090565b611af2611ae3565b611afd818484611abe565b505050565b5f5b82811015611b2357611b185f828401611aea565b600181019050611b04565b505050565b601f821115611b765782821115611b7557611b4281611a0d565b611b4b83611a1f565b611b5485611a1f565b6020861015611b61575f90505b808301611b7082840382611b02565b505050505b5b505050565b5f82821c905092915050565b5f611b965f1984600802611b7b565b1980831691505092915050565b5f611bae8383611b87565b9150826002028217905092915050565b611bc7826111a5565b67ffffffffffffffff811115611be057611bdf611423565b5b611bea825461164c565b611bf5828285611b28565b5f60209050601f831160018114611c26575f8415611c14578287015190505b611c1e8582611ba3565b865550611c85565b601f198416611c3486611a0d565b5f5b82811015611c5b57848901518255600182019150602085019450602081019050611c36565b86831015611c785784890151611c74601f891682611b87565b8355505b6001600288020188555050505b505050505050565b7f4e6577206f776e65722063616e6e6f74206265207a65726f20616464726573735f82015250565b5f611cc16020836111af565b9150611ccc82611c8d565b602082019050919050565b5f6020820190508181035f830152611cee81611cb5565b905091905056fea26469706673582212200a6ca861033ddd18646857eea2ac134986eed8c60b54f4e5698b1a3cad3b5eef64736f6c6343000822003368747470733a2f2f7365637265742d726f6f6d2e736972762e636f6d2f6469676974616c2e706e67",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x16 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x496D6F204469676974616C204369747920546F6B656E00000000000000000000 DUP2 MSTORE POP PUSH0 SWAP1 DUP2 PUSH2 0x47 SWAP2 SWAP1 PUSH2 0x46B JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x4 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4944435400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x1 SWAP1 DUP2 PUSH2 0x8C SWAP2 SWAP1 PUSH2 0x46B JUMP JUMPDEST POP PUSH1 0x12 PUSH1 0x2 PUSH0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x28 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x24DA PUSH1 0x28 SWAP2 CODECOPY PUSH1 0x4 SWAP1 DUP2 PUSH2 0xCF SWAP2 SWAP1 PUSH2 0x46B JUMP JUMPDEST POP CALLVALUE DUP1 ISZERO PUSH2 0xDB JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x2502 CODESIZE SUB DUP1 PUSH2 0x2502 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0xFD SWAP2 SWAP1 PUSH2 0x568 JUMP JUMPDEST CALLER PUSH1 0x7 PUSH0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x2 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND PUSH1 0xA PUSH2 0x15B SWAP2 SWAP1 PUSH2 0x6EF JUMP JUMPDEST DUP2 PUSH2 0x166 SWAP2 SWAP1 PUSH2 0x739 JUMP JUMPDEST PUSH1 0x3 DUP2 SWAP1 SSTORE POP PUSH1 0x3 SLOAD PUSH1 0x5 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x3 SLOAD PUSH1 0x40 MLOAD PUSH2 0x20F SWAP2 SWAP1 PUSH2 0x789 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP PUSH2 0x7A2 JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x298 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x2AB JUMPI PUSH2 0x2AA PUSH2 0x254 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP DUP2 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x8 DUP4 MUL PUSH2 0x30D PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x2D2 JUMP JUMPDEST PUSH2 0x317 DUP7 DUP4 PUSH2 0x2D2 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 PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x35B PUSH2 0x356 PUSH2 0x351 DUP5 PUSH2 0x32F JUMP JUMPDEST PUSH2 0x338 JUMP JUMPDEST PUSH2 0x32F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x374 DUP4 PUSH2 0x341 JUMP JUMPDEST PUSH2 0x388 PUSH2 0x380 DUP3 PUSH2 0x362 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x2DE JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH0 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x39F PUSH2 0x390 JUMP JUMPDEST PUSH2 0x3AA DUP2 DUP5 DUP5 PUSH2 0x36B JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x3D0 JUMPI PUSH2 0x3C5 PUSH0 DUP3 DUP5 ADD PUSH2 0x397 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x3B1 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x423 JUMPI DUP3 DUP3 GT ISZERO PUSH2 0x422 JUMPI PUSH2 0x3EF DUP2 PUSH2 0x2B1 JUMP JUMPDEST PUSH2 0x3F8 DUP4 PUSH2 0x2C3 JUMP JUMPDEST PUSH2 0x401 DUP6 PUSH2 0x2C3 JUMP JUMPDEST PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x40E JUMPI PUSH0 SWAP1 POP JUMPDEST DUP1 DUP4 ADD PUSH2 0x41D DUP3 DUP5 SUB DUP3 PUSH2 0x3AF JUMP JUMPDEST POP POP POP POP JUMPDEST JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x443 PUSH0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x428 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x45B DUP4 DUP4 PUSH2 0x434 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x474 DUP3 PUSH2 0x21D JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x48D JUMPI PUSH2 0x48C PUSH2 0x227 JUMP JUMPDEST JUMPDEST PUSH2 0x497 DUP3 SLOAD PUSH2 0x281 JUMP JUMPDEST PUSH2 0x4A2 DUP3 DUP3 DUP6 PUSH2 0x3D5 JUMP JUMPDEST PUSH0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x4D3 JUMPI PUSH0 DUP5 ISZERO PUSH2 0x4C1 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x4CB DUP6 DUP3 PUSH2 0x450 JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x532 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x4E1 DUP7 PUSH2 0x2B1 JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x508 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 PUSH2 0x4E3 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x525 JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x521 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x434 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 PUSH0 PUSH0 REVERT JUMPDEST PUSH2 0x547 DUP2 PUSH2 0x32F JUMP JUMPDEST DUP2 EQ PUSH2 0x551 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH2 0x562 DUP2 PUSH2 0x53E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x57D JUMPI PUSH2 0x57C PUSH2 0x53A JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x58A DUP5 DUP3 DUP6 ADD PUSH2 0x554 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 DUP2 PUSH1 0x1 SHR SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH0 DUP3 SWAP2 POP DUP4 SWAP1 POP JUMPDEST PUSH1 0x1 DUP6 GT ISZERO PUSH2 0x615 JUMPI DUP1 DUP7 DIV DUP2 GT ISZERO PUSH2 0x5F1 JUMPI PUSH2 0x5F0 PUSH2 0x593 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP6 AND ISZERO PUSH2 0x600 JUMPI DUP1 DUP3 MUL SWAP2 POP JUMPDEST DUP1 DUP2 MUL SWAP1 POP PUSH2 0x60E DUP6 PUSH2 0x5C0 JUMP JUMPDEST SWAP5 POP PUSH2 0x5D5 JUMP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH2 0x62D JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0x6E8 JUMP JUMPDEST DUP2 PUSH2 0x63A JUMPI PUSH0 SWAP1 POP PUSH2 0x6E8 JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x650 JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x65A JUMPI PUSH2 0x689 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x6E8 JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x66C JUMPI PUSH2 0x66B PUSH2 0x593 JUMP JUMPDEST JUMPDEST DUP4 PUSH1 0x2 EXP SWAP2 POP DUP5 DUP3 GT ISZERO PUSH2 0x683 JUMPI PUSH2 0x682 PUSH2 0x593 JUMP JUMPDEST JUMPDEST POP PUSH2 0x6E8 JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x6BE JUMPI DUP3 DUP3 EXP SWAP1 POP DUP4 DUP2 GT ISZERO PUSH2 0x6B9 JUMPI PUSH2 0x6B8 PUSH2 0x593 JUMP JUMPDEST JUMPDEST PUSH2 0x6E8 JUMP JUMPDEST PUSH2 0x6CB DUP5 DUP5 DUP5 PUSH1 0x1 PUSH2 0x5CC JUMP JUMPDEST SWAP3 POP SWAP1 POP DUP2 DUP5 DIV DUP2 GT ISZERO PUSH2 0x6E2 JUMPI PUSH2 0x6E1 PUSH2 0x593 JUMP JUMPDEST JUMPDEST DUP2 DUP2 MUL SWAP1 POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x6F9 DUP3 PUSH2 0x32F JUMP JUMPDEST SWAP2 POP PUSH2 0x704 DUP4 PUSH2 0x32F JUMP JUMPDEST SWAP3 POP PUSH2 0x731 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 DUP5 PUSH2 0x61E JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x743 DUP3 PUSH2 0x32F JUMP JUMPDEST SWAP2 POP PUSH2 0x74E DUP4 PUSH2 0x32F JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x75C DUP2 PUSH2 0x32F JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x773 JUMPI PUSH2 0x772 PUSH2 0x593 JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x783 DUP2 PUSH2 0x32F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x79C PUSH0 DUP4 ADD DUP5 PUSH2 0x77A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1D2B DUP1 PUSH2 0x7AF PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xF3 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x63879C09 GT PUSH2 0x95 JUMPI DUP1 PUSH4 0x95D89B41 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x299 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x2B7 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x2E7 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x317 JUMPI PUSH2 0xF3 JUMP JUMPDEST DUP1 PUSH4 0x63879C09 EQ PUSH2 0x211 JUMPI DUP1 PUSH4 0x6BB38B28 EQ PUSH2 0x22D JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x24B JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x27B JUMPI PUSH2 0xF3 JUMP JUMPDEST DUP1 PUSH4 0x23B872DD GT PUSH2 0xD1 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x163 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x193 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x1B1 JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x1E1 JUMPI PUSH2 0xF3 JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xF7 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x115 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x145 JUMPI JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH2 0xFF PUSH2 0x333 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10C SWAP2 SWAP1 PUSH2 0x1215 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x12F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x12A SWAP2 SWAP1 PUSH2 0x12D3 JUMP JUMPDEST PUSH2 0x3BE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13C SWAP2 SWAP1 PUSH2 0x132B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x14D PUSH2 0x519 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15A SWAP2 SWAP1 PUSH2 0x1353 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x17D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x178 SWAP2 SWAP1 PUSH2 0x136C JUMP JUMPDEST PUSH2 0x51F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18A SWAP2 SWAP1 PUSH2 0x132B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x19B PUSH2 0x86D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A8 SWAP2 SWAP1 PUSH2 0x13D7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1C6 SWAP2 SWAP1 PUSH2 0x12D3 JUMP JUMPDEST PUSH2 0x87F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D8 SWAP2 SWAP1 PUSH2 0x132B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1FB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1F6 SWAP2 SWAP1 PUSH2 0x13F0 JUMP JUMPDEST PUSH2 0xAA5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x208 SWAP2 SWAP1 PUSH2 0x132B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x22B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x226 SWAP2 SWAP1 PUSH2 0x1547 JUMP JUMPDEST PUSH2 0xC4D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x235 PUSH2 0xCEF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x242 SWAP2 SWAP1 PUSH2 0x1215 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x265 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x260 SWAP2 SWAP1 PUSH2 0x158E JUMP JUMPDEST PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x272 SWAP2 SWAP1 PUSH2 0x1353 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x283 PUSH2 0xD90 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x290 SWAP2 SWAP1 PUSH2 0x15C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2A1 PUSH2 0xDB5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2AE SWAP2 SWAP1 PUSH2 0x1215 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2D1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2CC SWAP2 SWAP1 PUSH2 0x12D3 JUMP JUMPDEST PUSH2 0xE41 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2DE SWAP2 SWAP1 PUSH2 0x132B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x301 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2FC SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH2 0x1045 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x30E SWAP2 SWAP1 PUSH2 0x1353 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x331 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x32C SWAP2 SWAP1 PUSH2 0x158E JUMP JUMPDEST PUSH2 0x1065 JUMP JUMPDEST STOP JUMPDEST PUSH0 DUP1 SLOAD PUSH2 0x33F SWAP1 PUSH2 0x164C 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 0x36B SWAP1 PUSH2 0x164C JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3B6 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x38D JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3B6 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x399 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH0 PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x42D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x424 SWAP1 PUSH2 0x16C6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x6 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 PUSH1 0x40 MLOAD PUSH2 0x507 SWAP2 SWAP1 PUSH2 0x1353 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH0 PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x58E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x585 SWAP1 PUSH2 0x172E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x5 PUSH0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD LT ISZERO PUSH2 0x60E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x605 SWAP1 PUSH2 0x1796 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x6 PUSH0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD LT ISZERO PUSH2 0x6C9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6C0 SWAP1 PUSH2 0x17FE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x5 PUSH0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x715 SWAP2 SWAP1 PUSH2 0x1849 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x5 PUSH0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x768 SWAP2 SWAP1 PUSH2 0x187C JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x6 PUSH0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x7F6 SWAP2 SWAP1 PUSH2 0x1849 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0x85A SWAP2 SWAP1 PUSH2 0x1353 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x2 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH0 PUSH1 0x7 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x90F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x906 SWAP1 PUSH2 0x191F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x97D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x974 SWAP1 PUSH2 0x1987 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x3 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x98E SWAP2 SWAP1 PUSH2 0x187C JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x5 PUSH0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x9E1 SWAP2 SWAP1 PUSH2 0x187C JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xF6798A560793A54C3BCFE86A93CDE1E73087D944C0EA20544137D4121396885 DUP4 PUSH1 0x40 MLOAD PUSH2 0xA2E SWAP2 SWAP1 PUSH2 0x1353 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0xA93 SWAP2 SWAP1 PUSH2 0x1353 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 PUSH1 0x5 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD LT ISZERO PUSH2 0xB26 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xB1D SWAP1 PUSH2 0x19EF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x5 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP3 DUP3 SLOAD PUSH2 0xB72 SWAP2 SWAP1 PUSH2 0x1849 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x3 PUSH0 DUP3 DUP3 SLOAD PUSH2 0xB8A SWAP2 SWAP1 PUSH2 0x1849 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xCC16F5DBB4873280815C1EE09DBD06736CFFCC184412CF7A71A0FDB75D397CA5 DUP4 PUSH1 0x40 MLOAD PUSH2 0xBD7 SWAP2 SWAP1 PUSH2 0x1353 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0xC3C SWAP2 SWAP1 PUSH2 0x1353 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x7 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xCDC JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCD3 SWAP1 PUSH2 0x191F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x4 SWAP1 DUP2 PUSH2 0xCEB SWAP2 SWAP1 PUSH2 0x1BBE JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH2 0xCFC SWAP1 PUSH2 0x164C 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 0xD28 SWAP1 PUSH2 0x164C JUMP JUMPDEST DUP1 ISZERO PUSH2 0xD73 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xD4A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xD73 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xD56 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 MSTORE DUP1 PUSH0 MSTORE PUSH1 0x40 PUSH0 KECCAK256 PUSH0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x7 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0xDC2 SWAP1 PUSH2 0x164C 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 0xDEE SWAP1 PUSH2 0x164C JUMP JUMPDEST DUP1 ISZERO PUSH2 0xE39 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xE10 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xE39 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xE1C JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH0 PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xEB0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xEA7 SWAP1 PUSH2 0x172E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x5 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD LT ISZERO PUSH2 0xF30 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF27 SWAP1 PUSH2 0x1796 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x5 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP3 DUP3 SLOAD PUSH2 0xF7C SWAP2 SWAP1 PUSH2 0x1849 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x5 PUSH0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP3 DUP3 SLOAD PUSH2 0xFCF SWAP2 SWAP1 PUSH2 0x187C JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0x1033 SWAP2 SWAP1 PUSH2 0x1353 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x6 PUSH1 0x20 MSTORE DUP2 PUSH0 MSTORE PUSH1 0x40 PUSH0 KECCAK256 PUSH1 0x20 MSTORE DUP1 PUSH0 MSTORE PUSH1 0x40 PUSH0 KECCAK256 PUSH0 SWAP2 POP SWAP2 POP POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x7 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x10F4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x10EB SWAP1 PUSH2 0x191F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x1162 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1159 SWAP1 PUSH2 0x1CD7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x7 PUSH0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 MCOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x11E7 DUP3 PUSH2 0x11A5 JUMP JUMPDEST PUSH2 0x11F1 DUP2 DUP6 PUSH2 0x11AF JUMP JUMPDEST SWAP4 POP PUSH2 0x1201 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x11BF JUMP JUMPDEST PUSH2 0x120A DUP2 PUSH2 0x11CD JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x122D DUP2 DUP5 PUSH2 0x11DD JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x126F DUP3 PUSH2 0x1246 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x127F DUP2 PUSH2 0x1265 JUMP JUMPDEST DUP2 EQ PUSH2 0x1289 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x129A DUP2 PUSH2 0x1276 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x12B2 DUP2 PUSH2 0x12A0 JUMP JUMPDEST DUP2 EQ PUSH2 0x12BC JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x12CD DUP2 PUSH2 0x12A9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH0 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x12E9 JUMPI PUSH2 0x12E8 PUSH2 0x123E JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x12F6 DUP6 DUP3 DUP7 ADD PUSH2 0x128C JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1307 DUP6 DUP3 DUP7 ADD PUSH2 0x12BF JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1325 DUP2 PUSH2 0x1311 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x133E PUSH0 DUP4 ADD DUP5 PUSH2 0x131C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x134D DUP2 PUSH2 0x12A0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1366 PUSH0 DUP4 ADD DUP5 PUSH2 0x1344 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH0 PUSH0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1383 JUMPI PUSH2 0x1382 PUSH2 0x123E JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x1390 DUP7 DUP3 DUP8 ADD PUSH2 0x128C JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x13A1 DUP7 DUP3 DUP8 ADD PUSH2 0x128C JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x13B2 DUP7 DUP3 DUP8 ADD PUSH2 0x12BF JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x13D1 DUP2 PUSH2 0x13BC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x13EA PUSH0 DUP4 ADD DUP5 PUSH2 0x13C8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1405 JUMPI PUSH2 0x1404 PUSH2 0x123E JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x1412 DUP5 DUP3 DUP6 ADD PUSH2 0x12BF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH2 0x1459 DUP3 PUSH2 0x11CD JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1478 JUMPI PUSH2 0x1477 PUSH2 0x1423 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x148A PUSH2 0x1235 JUMP JUMPDEST SWAP1 POP PUSH2 0x1496 DUP3 DUP3 PUSH2 0x1450 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x14B5 JUMPI PUSH2 0x14B4 PUSH2 0x1423 JUMP JUMPDEST JUMPDEST PUSH2 0x14BE DUP3 PUSH2 0x11CD JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x14EB PUSH2 0x14E6 DUP5 PUSH2 0x149B JUMP JUMPDEST PUSH2 0x1481 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1507 JUMPI PUSH2 0x1506 PUSH2 0x141F JUMP JUMPDEST JUMPDEST PUSH2 0x1512 DUP5 DUP3 DUP6 PUSH2 0x14CB JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x152E JUMPI PUSH2 0x152D PUSH2 0x141B JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x153E DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x14D9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x155C JUMPI PUSH2 0x155B PUSH2 0x123E JUMP JUMPDEST JUMPDEST PUSH0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1579 JUMPI PUSH2 0x1578 PUSH2 0x1242 JUMP JUMPDEST JUMPDEST PUSH2 0x1585 DUP5 DUP3 DUP6 ADD PUSH2 0x151A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x15A3 JUMPI PUSH2 0x15A2 PUSH2 0x123E JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x15B0 DUP5 DUP3 DUP6 ADD PUSH2 0x128C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x15C2 DUP2 PUSH2 0x1265 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x15DB PUSH0 DUP4 ADD DUP5 PUSH2 0x15B9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH0 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x15F7 JUMPI PUSH2 0x15F6 PUSH2 0x123E JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x1604 DUP6 DUP3 DUP7 ADD PUSH2 0x128C JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1615 DUP6 DUP3 DUP7 ADD PUSH2 0x128C JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1663 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1676 JUMPI PUSH2 0x1675 PUSH2 0x161F JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x43616E6E6F7420617070726F7665207A65726F20616464726573730000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x16B0 PUSH1 0x1B DUP4 PUSH2 0x11AF JUMP JUMPDEST SWAP2 POP PUSH2 0x16BB DUP3 PUSH2 0x167C JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x16DD DUP2 PUSH2 0x16A4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x43616E6E6F74207472616E7366657220746F207A65726F206164647265737300 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x1718 PUSH1 0x1F DUP4 PUSH2 0x11AF JUMP JUMPDEST SWAP2 POP PUSH2 0x1723 DUP3 PUSH2 0x16E4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x1745 DUP2 PUSH2 0x170C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x496E73756666696369656E742062616C616E6365000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x1780 PUSH1 0x14 DUP4 PUSH2 0x11AF JUMP JUMPDEST SWAP2 POP PUSH2 0x178B DUP3 PUSH2 0x174C JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x17AD DUP2 PUSH2 0x1774 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x416C6C6F77616E63652065786365656465640000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x17E8 PUSH1 0x12 DUP4 PUSH2 0x11AF JUMP JUMPDEST SWAP2 POP PUSH2 0x17F3 DUP3 PUSH2 0x17B4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x1815 DUP2 PUSH2 0x17DC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0x1853 DUP3 PUSH2 0x12A0 JUMP JUMPDEST SWAP2 POP PUSH2 0x185E DUP4 PUSH2 0x12A0 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x1876 JUMPI PUSH2 0x1875 PUSH2 0x181C JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x1886 DUP3 PUSH2 0x12A0 JUMP JUMPDEST SWAP2 POP PUSH2 0x1891 DUP4 PUSH2 0x12A0 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x18A9 JUMPI PUSH2 0x18A8 PUSH2 0x181C JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4F6E6C79206F776E65722063616E2063616C6C20746869732066756E6374696F PUSH0 DUP3 ADD MSTORE PUSH32 0x6E00000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x1909 PUSH1 0x21 DUP4 PUSH2 0x11AF JUMP JUMPDEST SWAP2 POP PUSH2 0x1914 DUP3 PUSH2 0x18AF JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x1936 DUP2 PUSH2 0x18FD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x43616E6E6F74206D696E7420746F207A65726F20616464726573730000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x1971 PUSH1 0x1B DUP4 PUSH2 0x11AF JUMP JUMPDEST SWAP2 POP PUSH2 0x197C DUP3 PUSH2 0x193D JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x199E DUP2 PUSH2 0x1965 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x496E73756666696369656E742062616C616E636520746F206275726E00000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x19D9 PUSH1 0x1C DUP4 PUSH2 0x11AF JUMP JUMPDEST SWAP2 POP PUSH2 0x19E4 DUP3 PUSH2 0x19A5 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x1A06 DUP2 PUSH2 0x19CD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP DUP2 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x8 DUP4 MUL PUSH2 0x1A69 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x1A2E JUMP JUMPDEST PUSH2 0x1A73 DUP7 DUP4 PUSH2 0x1A2E 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 PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x1AAE PUSH2 0x1AA9 PUSH2 0x1AA4 DUP5 PUSH2 0x12A0 JUMP JUMPDEST PUSH2 0x1A8B JUMP JUMPDEST PUSH2 0x12A0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1AC7 DUP4 PUSH2 0x1A94 JUMP JUMPDEST PUSH2 0x1ADB PUSH2 0x1AD3 DUP3 PUSH2 0x1AB5 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x1A3A JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH0 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x1AF2 PUSH2 0x1AE3 JUMP JUMPDEST PUSH2 0x1AFD DUP2 DUP5 DUP5 PUSH2 0x1ABE JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x1B23 JUMPI PUSH2 0x1B18 PUSH0 DUP3 DUP5 ADD PUSH2 0x1AEA JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1B04 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x1B76 JUMPI DUP3 DUP3 GT ISZERO PUSH2 0x1B75 JUMPI PUSH2 0x1B42 DUP2 PUSH2 0x1A0D JUMP JUMPDEST PUSH2 0x1B4B DUP4 PUSH2 0x1A1F JUMP JUMPDEST PUSH2 0x1B54 DUP6 PUSH2 0x1A1F JUMP JUMPDEST PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x1B61 JUMPI PUSH0 SWAP1 POP JUMPDEST DUP1 DUP4 ADD PUSH2 0x1B70 DUP3 DUP5 SUB DUP3 PUSH2 0x1B02 JUMP JUMPDEST POP POP POP POP JUMPDEST JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x1B96 PUSH0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x1B7B JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x1BAE DUP4 DUP4 PUSH2 0x1B87 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1BC7 DUP3 PUSH2 0x11A5 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1BE0 JUMPI PUSH2 0x1BDF PUSH2 0x1423 JUMP JUMPDEST JUMPDEST PUSH2 0x1BEA DUP3 SLOAD PUSH2 0x164C JUMP JUMPDEST PUSH2 0x1BF5 DUP3 DUP3 DUP6 PUSH2 0x1B28 JUMP JUMPDEST PUSH0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x1C26 JUMPI PUSH0 DUP5 ISZERO PUSH2 0x1C14 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x1C1E DUP6 DUP3 PUSH2 0x1BA3 JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x1C85 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x1C34 DUP7 PUSH2 0x1A0D JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x1C5B 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 PUSH2 0x1C36 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x1C78 JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x1C74 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x1B87 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 PUSH32 0x4E6577206F776E65722063616E6E6F74206265207A65726F2061646472657373 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x1CC1 PUSH1 0x20 DUP4 PUSH2 0x11AF JUMP JUMPDEST SWAP2 POP PUSH2 0x1CCC DUP3 PUSH2 0x1C8D JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x1CEE DUP2 PUSH2 0x1CB5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXP PUSH13 0xA861033DDD18646857EEA2AC13 BLOBHASH DUP7 RETURNCONTRACT 0xD8 0xC6 SIGNEXTEND SLOAD DELEGATECALL JUMPF 0x698B BYTE EXTCODECOPY 0xAD EXTCODESIZE MCOPY 0xEF PUSH5 0x736F6C6343 STOP ADDMOD 0x22 STOP CALLER PUSH9 0x747470733A2F2F7365 PUSH4 0x7265742D PUSH19 0x6F6F6D2E736972762E636F6D2F646967697461 PUSH13 0x2E706E67000000000000000000 ",
"sourceMap": "285:4988:0:-:0;;;333:45;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;384:29;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;443:2;419:26;;;;;;;;;;;;;;;;;;;;555:66;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1498:249;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1552:10;1544:5;;:18;;;;;;;;;;;;;;;;;;1617:8;;;;;;;;;;;1609:17;;1603:2;:23;;;;:::i;:::-;1586:14;:40;;;;:::i;:::-;1572:11;:54;;;;1660:11;;1636:9;:21;1646:10;1636:21;;;;;;;;;;;;;;;:35;;;;1716:10;1695:45;;1712:1;1695:45;;;1728:11;;1695:45;;;;;;:::i;:::-;;;;;;;;1498:249;285:4988;;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;2287:1;2280:8;;2221:73;:::o;2300:189::-;2377:32;;:::i;:::-;2418:65;2476:6;2468;2462:4;2418:65;:::i;:::-;2353:136;2300:189;;:::o;2495:214::-;2580:1;2565:138;2590:9;2587:1;2584:16;2565:138;;;2642:51;2691:1;2687;2676:9;2672:17;2642:51;:::i;:::-;2615:1;2612;2608:9;2603:14;;2565:138;;;2569:14;2495:214;;:::o;2715:746::-;2816:2;2811:3;2808:11;2805:649;;;2845:10;2840:3;2837:19;2834:610;;;2891:38;2923:5;2891:38;:::i;:::-;2966:22;2984:3;2966:22;:::i;:::-;3025:29;3043:10;3025:29;:::i;:::-;3215:2;3203:10;3200:18;3197:79;;;3257:1;3241:17;;3197:79;3326:12;3316:8;3312:27;3356:74;3416:12;3402;3398:31;3385:11;3356:74;:::i;:::-;2857:587;;;;2834:610;2805:649;2715:746;;;:::o;3467:117::-;3521:8;3571:5;3565:4;3561:16;3540:37;;3467:117;;;;:::o;3590:169::-;3634:6;3667:51;3715:1;3711:6;3703:5;3700:1;3696:13;3667:51;:::i;:::-;3663:56;3748:4;3742;3738:15;3728:25;;3641:118;3590:169;;;;:::o;3764:295::-;3840:4;3986:29;4011:3;4005:4;3986:29;:::i;:::-;3978:37;;4048:3;4045:1;4041:11;4035:4;4032:21;4024:29;;3764:295;;;;:::o;4064:1395::-;4181:37;4214:3;4181:37;:::i;:::-;4283:18;4275:6;4272:30;4269:56;;;4305:18;;:::i;:::-;4269:56;4349:38;4381:4;4375:11;4349:38;:::i;:::-;4434:67;4494:6;4486;4480:4;4434:67;:::i;:::-;4528:1;4552:4;4539:17;;4584:2;4576:6;4573:14;4601:1;4596:618;;;;5258:1;5275:6;5272:77;;;5324:9;5319:3;5315:19;5309:26;5300:35;;5272:77;5375:67;5435:6;5428:5;5375:67;:::i;:::-;5369:4;5362:81;5231:222;4566:887;;4596:618;4648:4;4644:9;4636:6;4632:22;4682:37;4714:4;4682:37;:::i;:::-;4741:1;4755:208;4769:7;4766:1;4763:14;4755:208;;;4848:9;4843:3;4839:19;4833:26;4825:6;4818:42;4899:1;4891:6;4887:14;4877:24;;4946:2;4935:9;4931:18;4918:31;;4792:4;4789:1;4785:12;4780:17;;4755:208;;;4991:6;4982:7;4979:19;4976:179;;;5049:9;5044:3;5040:19;5034:26;5092:48;5134:4;5126:6;5122:17;5111:9;5092:48;:::i;:::-;5084:6;5077:64;4999:156;4976:179;5201:1;5197;5189:6;5185:14;5181:22;5175:4;5168:36;4603:611;;;4566:887;;4156:1303;;;4064:1395;;:::o;5546:117::-;5655:1;5652;5645:12;5792:122;5865:24;5883:5;5865:24;:::i;:::-;5858:5;5855:35;5845:63;;5904:1;5901;5894:12;5845:63;5792:122;:::o;5920:143::-;5977:5;6008:6;6002:13;5993:22;;6024:33;6051:5;6024:33;:::i;:::-;5920:143;;;;:::o;6069:351::-;6139:6;6188:2;6176:9;6167:7;6163:23;6159:32;6156:119;;;6194:79;;:::i;:::-;6156:119;6314:1;6339:64;6395:7;6386:6;6375:9;6371:22;6339:64;:::i;:::-;6329:74;;6285:128;6069:351;;;;:::o;6426:180::-;6474:77;6471:1;6464:88;6571:4;6568:1;6561:15;6595:4;6592:1;6585:15;6612:102;6654:8;6701:5;6698:1;6694:13;6673:34;;6612:102;;;:::o;6720:848::-;6781:5;6788:4;6812:6;6803:15;;6836:5;6827:14;;6850:712;6871:1;6861:8;6858:15;6850:712;;;6966:4;6961:3;6957:14;6951:4;6948:24;6945:50;;;6975:18;;:::i;:::-;6945:50;7025:1;7015:8;7011:16;7008:451;;;7440:4;7433:5;7429:16;7420:25;;7008:451;7490:4;7484;7480:15;7472:23;;7520:32;7543:8;7520:32;:::i;:::-;7508:44;;6850:712;;;6720:848;;;;;;;:::o;7574:1073::-;7628:5;7819:8;7809:40;;7840:1;7831:10;;7842:5;;7809:40;7868:4;7858:36;;7885:1;7876:10;;7887:5;;7858:36;7954:4;8002:1;7997:27;;;;8038:1;8033:191;;;;7947:277;;7997:27;8015:1;8006:10;;8017:5;;;8033:191;8078:3;8068:8;8065:17;8062:43;;;8085:18;;:::i;:::-;8062:43;8134:8;8131:1;8127:16;8118:25;;8169:3;8162:5;8159:14;8156:40;;;8176:18;;:::i;:::-;8156:40;8209:5;;;7947:277;;8333:2;8323:8;8320:16;8314:3;8308:4;8305:13;8301:36;8283:2;8273:8;8270:16;8265:2;8259:4;8256:12;8252:35;8236:111;8233:246;;;8389:8;8383:4;8379:19;8370:28;;8424:3;8417:5;8414:14;8411:40;;;8431:18;;:::i;:::-;8411:40;8464:5;;8233:246;8504:42;8542:3;8532:8;8526:4;8523:1;8504:42;:::i;:::-;8489:57;;;;8578:4;8573:3;8569:14;8562:5;8559:25;8556:51;;;8587:18;;:::i;:::-;8556:51;8636:4;8629:5;8625:16;8616:25;;7574:1073;;;;;;:::o;8653:285::-;8713:5;8737:23;8755:4;8737:23;:::i;:::-;8729:31;;8781:27;8799:8;8781:27;:::i;:::-;8769:39;;8827:104;8864:66;8854:8;8848:4;8827:104;:::i;:::-;8818:113;;8653:285;;;;:::o;8944:410::-;8984:7;9007:20;9025:1;9007:20;:::i;:::-;9002:25;;9041:20;9059:1;9041:20;:::i;:::-;9036:25;;9096:1;9093;9089:9;9118:30;9136:11;9118:30;:::i;:::-;9107:41;;9297:1;9288:7;9284:15;9281:1;9278:22;9258:1;9251:9;9231:83;9208:139;;9327:18;;:::i;:::-;9208:139;8992:362;8944:410;;;;:::o;9360:118::-;9447:24;9465:5;9447:24;:::i;:::-;9442:3;9435:37;9360:118;;:::o;9484:222::-;9577:4;9615:2;9604:9;9600:18;9592:26;;9628:71;9696:1;9685:9;9681:17;9672:6;9628:71;:::i;:::-;9484:222;;;;:::o;285:4988:0:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@allowance_26": {
"entryPoint": 4165,
"id": 26,
"parameterSlots": 0,
"returnSlots": 0
},
"@approve_200": {
"entryPoint": 958,
"id": 200,
"parameterSlots": 2,
"returnSlots": 1
},
"@balanceOf_20": {
"entryPoint": 3451,
"id": 20,
"parameterSlots": 0,
"returnSlots": 0
},
"@burn_370": {
"entryPoint": 2725,
"id": 370,
"parameterSlots": 1,
"returnSlots": 1
},
"@decimals_11": {
"entryPoint": 2157,
"id": 11,
"parameterSlots": 0,
"returnSlots": 0
},
"@logoURI_16": {
"entryPoint": 3311,
"id": 16,
"parameterSlots": 0,
"returnSlots": 0
},
"@mint_322": {
"entryPoint": 2175,
"id": 322,
"parameterSlots": 2,
"returnSlots": 1
},
"@name_5": {
"entryPoint": 819,
"id": 5,
"parameterSlots": 0,
"returnSlots": 0
},
"@owner_28": {
"entryPoint": 3472,
"id": 28,
"parameterSlots": 0,
"returnSlots": 0
},
"@symbol_8": {
"entryPoint": 3509,
"id": 8,
"parameterSlots": 0,
"returnSlots": 0
},
"@totalSupply_13": {
"entryPoint": 1305,
"id": 13,
"parameterSlots": 0,
"returnSlots": 0
},
"@transferFrom_273": {
"entryPoint": 1311,
"id": 273,
"parameterSlots": 3,
"returnSlots": 1
},
"@transferOwnership_406": {
"entryPoint": 4197,
"id": 406,
"parameterSlots": 1,
"returnSlots": 0
},
"@transfer_161": {
"entryPoint": 3649,
"id": 161,
"parameterSlots": 2,
"returnSlots": 1
},
"@updateLogoURI_383": {
"entryPoint": 3149,
"id": 383,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_available_length_t_string_memory_ptr": {
"entryPoint": 5337,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 4748,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_string_memory_ptr": {
"entryPoint": 5402,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 4799,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 5518,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_address": {
"entryPoint": 5601,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_addresst_addresst_uint256": {
"entryPoint": 4972,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_addresst_uint256": {
"entryPoint": 4819,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_string_memory_ptr": {
"entryPoint": 5447,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 5104,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 5561,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 4892,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 4573,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_stringliteral_0cbffce02650d1c5ed2b639dc708d6fda7cacbd6b8d41a8f8e678e28ed22a498_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5796,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_12965c5a04e4382415d38b7802f2e82c1d2e7cc8b8ef9ef51ff6c86060f08027_to_t_string_memory_ptr_fromStack": {
"entryPoint": 6108,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef_to_t_string_memory_ptr_fromStack": {
"entryPoint": 6397,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9_to_t_string_memory_ptr_fromStack": {
"entryPoint": 6501,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5_to_t_string_memory_ptr_fromStack": {
"entryPoint": 6004,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_bb6ef8259868f621162cf2269ec456fd6e3660c295ef634f53db3982172a569f_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5900,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_eac0e9db12cd14c1c0291906654a3fa6bfacc1c08081fda717334bc66586bac5_to_t_string_memory_ptr_fromStack": {
"entryPoint": 6605,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_f16f43cb73d56e0745728a6b55de7a4e958d36df2c8d7b1ccb6242c8ad2ba8d2_to_t_string_memory_ptr_fromStack": {
"entryPoint": 7349,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 4932,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint8_to_t_uint8_fromStack": {
"entryPoint": 5064,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 5576,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 4907,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 4629,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_0cbffce02650d1c5ed2b639dc708d6fda7cacbd6b8d41a8f8e678e28ed22a498__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 5830,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_12965c5a04e4382415d38b7802f2e82c1d2e7cc8b8ef9ef51ff6c86060f08027__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 6142,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 6431,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 6535,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 6038,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_bb6ef8259868f621162cf2269ec456fd6e3660c295ef634f53db3982172a569f__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 5934,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_eac0e9db12cd14c1c0291906654a3fa6bfacc1c08081fda717334bc66586bac5__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 6639,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_f16f43cb73d56e0745728a6b55de7a4e958d36df2c8d7b1ccb6242c8ad2ba8d2__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 7383,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 4947,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed": {
"entryPoint": 5079,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 5249,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 4661,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_string_memory_ptr": {
"entryPoint": 5275,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_dataslot_t_string_storage": {
"entryPoint": 6669,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 4517,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 4527,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 6268,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 6217,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 6952,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_address": {
"entryPoint": 4709,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 4881,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 4678,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 4768,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint8": {
"entryPoint": 5052,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 6914,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 6804,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": {
"entryPoint": 7102,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"copy_calldata_to_memory_with_cleanup": {
"entryPoint": 5323,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 4543,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 6687,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 5708,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 7075,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 5200,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"identity": {
"entryPoint": 6795,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 7047,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 6172,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 5663,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 5155,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 6837,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 5147,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": {
"entryPoint": 5151,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 4674,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 4670,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 4557,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_left_dynamic": {
"entryPoint": 6702,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 7035,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 6890,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"store_literal_in_memory_0cbffce02650d1c5ed2b639dc708d6fda7cacbd6b8d41a8f8e678e28ed22a498": {
"entryPoint": 5756,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_12965c5a04e4382415d38b7802f2e82c1d2e7cc8b8ef9ef51ff6c86060f08027": {
"entryPoint": 6068,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef": {
"entryPoint": 6319,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9": {
"entryPoint": 6461,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5": {
"entryPoint": 5964,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_bb6ef8259868f621162cf2269ec456fd6e3660c295ef634f53db3982172a569f": {
"entryPoint": 5860,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_eac0e9db12cd14c1c0291906654a3fa6bfacc1c08081fda717334bc66586bac5": {
"entryPoint": 6565,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_f16f43cb73d56e0745728a6b55de7a4e958d36df2c8d7b1ccb6242c8ad2ba8d2": {
"entryPoint": 7309,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 6714,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 6846,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 4726,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 4777,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 6883,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:22417:1",
"nodeType": "YulBlock",
"src": "0:22417:1",
"statements": [
{
"body": {
"nativeSrc": "66:40:1",
"nodeType": "YulBlock",
"src": "66:40:1",
"statements": [
{
"nativeSrc": "77:22:1",
"nodeType": "YulAssignment",
"src": "77:22:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "93:5:1",
"nodeType": "YulIdentifier",
"src": "93:5:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "87:5:1",
"nodeType": "YulIdentifier",
"src": "87:5:1"
},
"nativeSrc": "87:12:1",
"nodeType": "YulFunctionCall",
"src": "87:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "77:6:1",
"nodeType": "YulIdentifier",
"src": "77:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "7:99:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "49:5:1",
"nodeType": "YulTypedName",
"src": "49:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "59:6:1",
"nodeType": "YulTypedName",
"src": "59:6:1",
"type": ""
}
],
"src": "7:99:1"
},
{
"body": {
"nativeSrc": "208:73:1",
"nodeType": "YulBlock",
"src": "208:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "225:3:1",
"nodeType": "YulIdentifier",
"src": "225:3:1"
},
{
"name": "length",
"nativeSrc": "230:6:1",
"nodeType": "YulIdentifier",
"src": "230:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "218:6:1",
"nodeType": "YulIdentifier",
"src": "218:6:1"
},
"nativeSrc": "218:19:1",
"nodeType": "YulFunctionCall",
"src": "218:19:1"
},
"nativeSrc": "218:19:1",
"nodeType": "YulExpressionStatement",
"src": "218:19:1"
},
{
"nativeSrc": "246:29:1",
"nodeType": "YulAssignment",
"src": "246:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "265:3:1",
"nodeType": "YulIdentifier",
"src": "265:3:1"
},
{
"kind": "number",
"nativeSrc": "270:4:1",
"nodeType": "YulLiteral",
"src": "270:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "261:3:1",
"nodeType": "YulIdentifier",
"src": "261:3:1"
},
"nativeSrc": "261:14:1",
"nodeType": "YulFunctionCall",
"src": "261:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "246:11:1",
"nodeType": "YulIdentifier",
"src": "246:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "112:169:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "180:3:1",
"nodeType": "YulTypedName",
"src": "180:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "185:6:1",
"nodeType": "YulTypedName",
"src": "185:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "196:11:1",
"nodeType": "YulTypedName",
"src": "196:11:1",
"type": ""
}
],
"src": "112:169:1"
},
{
"body": {
"nativeSrc": "349:77:1",
"nodeType": "YulBlock",
"src": "349:77:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nativeSrc": "366:3:1",
"nodeType": "YulIdentifier",
"src": "366:3:1"
},
{
"name": "src",
"nativeSrc": "371:3:1",
"nodeType": "YulIdentifier",
"src": "371:3:1"
},
{
"name": "length",
"nativeSrc": "376:6:1",
"nodeType": "YulIdentifier",
"src": "376:6:1"
}
],
"functionName": {
"name": "mcopy",
"nativeSrc": "360:5:1",
"nodeType": "YulIdentifier",
"src": "360:5:1"
},
"nativeSrc": "360:23:1",
"nodeType": "YulFunctionCall",
"src": "360:23:1"
},
"nativeSrc": "360:23:1",
"nodeType": "YulExpressionStatement",
"src": "360:23:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "403:3:1",
"nodeType": "YulIdentifier",
"src": "403:3:1"
},
{
"name": "length",
"nativeSrc": "408:6:1",
"nodeType": "YulIdentifier",
"src": "408:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "399:3:1",
"nodeType": "YulIdentifier",
"src": "399:3:1"
},
"nativeSrc": "399:16:1",
"nodeType": "YulFunctionCall",
"src": "399:16:1"
},
{
"kind": "number",
"nativeSrc": "417:1:1",
"nodeType": "YulLiteral",
"src": "417:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "392:6:1",
"nodeType": "YulIdentifier",
"src": "392:6:1"
},
"nativeSrc": "392:27:1",
"nodeType": "YulFunctionCall",
"src": "392:27:1"
},
"nativeSrc": "392:27:1",
"nodeType": "YulExpressionStatement",
"src": "392:27:1"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "287:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "331:3:1",
"nodeType": "YulTypedName",
"src": "331:3:1",
"type": ""
},
{
"name": "dst",
"nativeSrc": "336:3:1",
"nodeType": "YulTypedName",
"src": "336:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "341:6:1",
"nodeType": "YulTypedName",
"src": "341:6:1",
"type": ""
}
],
"src": "287:139:1"
},
{
"body": {
"nativeSrc": "480:54:1",
"nodeType": "YulBlock",
"src": "480:54:1",
"statements": [
{
"nativeSrc": "490:38:1",
"nodeType": "YulAssignment",
"src": "490:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "508:5:1",
"nodeType": "YulIdentifier",
"src": "508:5:1"
},
{
"kind": "number",
"nativeSrc": "515:2:1",
"nodeType": "YulLiteral",
"src": "515:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "504:3:1",
"nodeType": "YulIdentifier",
"src": "504:3:1"
},
"nativeSrc": "504:14:1",
"nodeType": "YulFunctionCall",
"src": "504:14:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "524:2:1",
"nodeType": "YulLiteral",
"src": "524:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nativeSrc": "520:3:1",
"nodeType": "YulIdentifier",
"src": "520:3:1"
},
"nativeSrc": "520:7:1",
"nodeType": "YulFunctionCall",
"src": "520:7:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "500:3:1",
"nodeType": "YulIdentifier",
"src": "500:3:1"
},
"nativeSrc": "500:28:1",
"nodeType": "YulFunctionCall",
"src": "500:28:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "490:6:1",
"nodeType": "YulIdentifier",
"src": "490:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nativeSrc": "432:102:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "463:5:1",
"nodeType": "YulTypedName",
"src": "463:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "473:6:1",
"nodeType": "YulTypedName",
"src": "473:6:1",
"type": ""
}
],
"src": "432:102:1"
},
{
"body": {
"nativeSrc": "632:285:1",
"nodeType": "YulBlock",
"src": "632:285:1",
"statements": [
{
"nativeSrc": "642:53:1",
"nodeType": "YulVariableDeclaration",
"src": "642:53:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "689:5:1",
"nodeType": "YulIdentifier",
"src": "689:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "656:32:1",
"nodeType": "YulIdentifier",
"src": "656:32:1"
},
"nativeSrc": "656:39:1",
"nodeType": "YulFunctionCall",
"src": "656:39:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "646:6:1",
"nodeType": "YulTypedName",
"src": "646:6:1",
"type": ""
}
]
},
{
"nativeSrc": "704:78:1",
"nodeType": "YulAssignment",
"src": "704:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "770:3:1",
"nodeType": "YulIdentifier",
"src": "770:3:1"
},
{
"name": "length",
"nativeSrc": "775:6:1",
"nodeType": "YulIdentifier",
"src": "775:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "711:58:1",
"nodeType": "YulIdentifier",
"src": "711:58:1"
},
"nativeSrc": "711:71:1",
"nodeType": "YulFunctionCall",
"src": "711:71:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "704:3:1",
"nodeType": "YulIdentifier",
"src": "704:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "830:5:1",
"nodeType": "YulIdentifier",
"src": "830:5:1"
},
{
"kind": "number",
"nativeSrc": "837:4:1",
"nodeType": "YulLiteral",
"src": "837:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "826:3:1",
"nodeType": "YulIdentifier",
"src": "826:3:1"
},
"nativeSrc": "826:16:1",
"nodeType": "YulFunctionCall",
"src": "826:16:1"
},
{
"name": "pos",
"nativeSrc": "844:3:1",
"nodeType": "YulIdentifier",
"src": "844:3:1"
},
{
"name": "length",
"nativeSrc": "849:6:1",
"nodeType": "YulIdentifier",
"src": "849:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "791:34:1",
"nodeType": "YulIdentifier",
"src": "791:34:1"
},
"nativeSrc": "791:65:1",
"nodeType": "YulFunctionCall",
"src": "791:65:1"
},
"nativeSrc": "791:65:1",
"nodeType": "YulExpressionStatement",
"src": "791:65:1"
},
{
"nativeSrc": "865:46:1",
"nodeType": "YulAssignment",
"src": "865:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "876:3:1",
"nodeType": "YulIdentifier",
"src": "876:3:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "903:6:1",
"nodeType": "YulIdentifier",
"src": "903:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "881:21:1",
"nodeType": "YulIdentifier",
"src": "881:21:1"
},
"nativeSrc": "881:29:1",
"nodeType": "YulFunctionCall",
"src": "881:29:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "872:3:1",
"nodeType": "YulIdentifier",
"src": "872:3:1"
},
"nativeSrc": "872:39:1",
"nodeType": "YulFunctionCall",
"src": "872:39:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "865:3:1",
"nodeType": "YulIdentifier",
"src": "865:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "540:377:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "613:5:1",
"nodeType": "YulTypedName",
"src": "613:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "620:3:1",
"nodeType": "YulTypedName",
"src": "620:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "628:3:1",
"nodeType": "YulTypedName",
"src": "628:3:1",
"type": ""
}
],
"src": "540:377:1"
},
{
"body": {
"nativeSrc": "1041:195:1",
"nodeType": "YulBlock",
"src": "1041:195:1",
"statements": [
{
"nativeSrc": "1051:26:1",
"nodeType": "YulAssignment",
"src": "1051:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1063:9:1",
"nodeType": "YulIdentifier",
"src": "1063:9:1"
},
{
"kind": "number",
"nativeSrc": "1074:2:1",
"nodeType": "YulLiteral",
"src": "1074:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1059:3:1",
"nodeType": "YulIdentifier",
"src": "1059:3:1"
},
"nativeSrc": "1059:18:1",
"nodeType": "YulFunctionCall",
"src": "1059:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1051:4:1",
"nodeType": "YulIdentifier",
"src": "1051:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1098:9:1",
"nodeType": "YulIdentifier",
"src": "1098:9:1"
},
{
"kind": "number",
"nativeSrc": "1109:1:1",
"nodeType": "YulLiteral",
"src": "1109:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1094:3:1",
"nodeType": "YulIdentifier",
"src": "1094:3:1"
},
"nativeSrc": "1094:17:1",
"nodeType": "YulFunctionCall",
"src": "1094:17:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "1117:4:1",
"nodeType": "YulIdentifier",
"src": "1117:4:1"
},
{
"name": "headStart",
"nativeSrc": "1123:9:1",
"nodeType": "YulIdentifier",
"src": "1123:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "1113:3:1",
"nodeType": "YulIdentifier",
"src": "1113:3:1"
},
"nativeSrc": "1113:20:1",
"nodeType": "YulFunctionCall",
"src": "1113:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1087:6:1",
"nodeType": "YulIdentifier",
"src": "1087:6:1"
},
"nativeSrc": "1087:47:1",
"nodeType": "YulFunctionCall",
"src": "1087:47:1"
},
"nativeSrc": "1087:47:1",
"nodeType": "YulExpressionStatement",
"src": "1087:47:1"
},
{
"nativeSrc": "1143:86:1",
"nodeType": "YulAssignment",
"src": "1143:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nativeSrc": "1215:6:1",
"nodeType": "YulIdentifier",
"src": "1215:6:1"
},
{
"name": "tail",
"nativeSrc": "1224:4:1",
"nodeType": "YulIdentifier",
"src": "1224:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "1151:63:1",
"nodeType": "YulIdentifier",
"src": "1151:63:1"
},
"nativeSrc": "1151:78:1",
"nodeType": "YulFunctionCall",
"src": "1151:78:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1143:4:1",
"nodeType": "YulIdentifier",
"src": "1143:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "923:313:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1013:9:1",
"nodeType": "YulTypedName",
"src": "1013:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "1025:6:1",
"nodeType": "YulTypedName",
"src": "1025:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "1036:4:1",
"nodeType": "YulTypedName",
"src": "1036:4:1",
"type": ""
}
],
"src": "923:313:1"
},
{
"body": {
"nativeSrc": "1282:35:1",
"nodeType": "YulBlock",
"src": "1282:35:1",
"statements": [
{
"nativeSrc": "1292:19:1",
"nodeType": "YulAssignment",
"src": "1292:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1308:2:1",
"nodeType": "YulLiteral",
"src": "1308:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "1302:5:1",
"nodeType": "YulIdentifier",
"src": "1302:5:1"
},
"nativeSrc": "1302:9:1",
"nodeType": "YulFunctionCall",
"src": "1302:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "1292:6:1",
"nodeType": "YulIdentifier",
"src": "1292:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nativeSrc": "1242:75:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "1275:6:1",
"nodeType": "YulTypedName",
"src": "1275:6:1",
"type": ""
}
],
"src": "1242:75:1"
},
{
"body": {
"nativeSrc": "1412:28:1",
"nodeType": "YulBlock",
"src": "1412:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1429:1:1",
"nodeType": "YulLiteral",
"src": "1429:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1432:1:1",
"nodeType": "YulLiteral",
"src": "1432:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1422:6:1",
"nodeType": "YulIdentifier",
"src": "1422:6:1"
},
"nativeSrc": "1422:12:1",
"nodeType": "YulFunctionCall",
"src": "1422:12:1"
},
"nativeSrc": "1422:12:1",
"nodeType": "YulExpressionStatement",
"src": "1422:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "1323:117:1",
"nodeType": "YulFunctionDefinition",
"src": "1323:117:1"
},
{
"body": {
"nativeSrc": "1535:28:1",
"nodeType": "YulBlock",
"src": "1535:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1552:1:1",
"nodeType": "YulLiteral",
"src": "1552:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1555:1:1",
"nodeType": "YulLiteral",
"src": "1555:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1545:6:1",
"nodeType": "YulIdentifier",
"src": "1545:6:1"
},
"nativeSrc": "1545:12:1",
"nodeType": "YulFunctionCall",
"src": "1545:12:1"
},
"nativeSrc": "1545:12:1",
"nodeType": "YulExpressionStatement",
"src": "1545:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "1446:117:1",
"nodeType": "YulFunctionDefinition",
"src": "1446:117:1"
},
{
"body": {
"nativeSrc": "1614:81:1",
"nodeType": "YulBlock",
"src": "1614:81:1",
"statements": [
{
"nativeSrc": "1624:65:1",
"nodeType": "YulAssignment",
"src": "1624:65:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "1639:5:1",
"nodeType": "YulIdentifier",
"src": "1639:5:1"
},
{
"kind": "number",
"nativeSrc": "1646:42:1",
"nodeType": "YulLiteral",
"src": "1646:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1635:3:1",
"nodeType": "YulIdentifier",
"src": "1635:3:1"
},
"nativeSrc": "1635:54:1",
"nodeType": "YulFunctionCall",
"src": "1635:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "1624:7:1",
"nodeType": "YulIdentifier",
"src": "1624:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nativeSrc": "1569:126:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1596:5:1",
"nodeType": "YulTypedName",
"src": "1596:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "1606:7:1",
"nodeType": "YulTypedName",
"src": "1606:7:1",
"type": ""
}
],
"src": "1569:126:1"
},
{
"body": {
"nativeSrc": "1746:51:1",
"nodeType": "YulBlock",
"src": "1746:51:1",
"statements": [
{
"nativeSrc": "1756:35:1",
"nodeType": "YulAssignment",
"src": "1756:35:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "1785:5:1",
"nodeType": "YulIdentifier",
"src": "1785:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nativeSrc": "1767:17:1",
"nodeType": "YulIdentifier",
"src": "1767:17:1"
},
"nativeSrc": "1767:24:1",
"nodeType": "YulFunctionCall",
"src": "1767:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "1756:7:1",
"nodeType": "YulIdentifier",
"src": "1756:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nativeSrc": "1701:96:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1728:5:1",
"nodeType": "YulTypedName",
"src": "1728:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "1738:7:1",
"nodeType": "YulTypedName",
"src": "1738:7:1",
"type": ""
}
],
"src": "1701:96:1"
},
{
"body": {
"nativeSrc": "1846:79:1",
"nodeType": "YulBlock",
"src": "1846:79:1",
"statements": [
{
"body": {
"nativeSrc": "1903:16:1",
"nodeType": "YulBlock",
"src": "1903:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1912:1:1",
"nodeType": "YulLiteral",
"src": "1912:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1915:1:1",
"nodeType": "YulLiteral",
"src": "1915:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1905:6:1",
"nodeType": "YulIdentifier",
"src": "1905:6:1"
},
"nativeSrc": "1905:12:1",
"nodeType": "YulFunctionCall",
"src": "1905:12:1"
},
"nativeSrc": "1905:12:1",
"nodeType": "YulExpressionStatement",
"src": "1905:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "1869:5:1",
"nodeType": "YulIdentifier",
"src": "1869:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "1894:5:1",
"nodeType": "YulIdentifier",
"src": "1894:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nativeSrc": "1876:17:1",
"nodeType": "YulIdentifier",
"src": "1876:17:1"
},
"nativeSrc": "1876:24:1",
"nodeType": "YulFunctionCall",
"src": "1876:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "1866:2:1",
"nodeType": "YulIdentifier",
"src": "1866:2:1"
},
"nativeSrc": "1866:35:1",
"nodeType": "YulFunctionCall",
"src": "1866:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "1859:6:1",
"nodeType": "YulIdentifier",
"src": "1859:6:1"
},
"nativeSrc": "1859:43:1",
"nodeType": "YulFunctionCall",
"src": "1859:43:1"
},
"nativeSrc": "1856:63:1",
"nodeType": "YulIf",
"src": "1856:63:1"
}
]
},
"name": "validator_revert_t_address",
"nativeSrc": "1803:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1839:5:1",
"nodeType": "YulTypedName",
"src": "1839:5:1",
"type": ""
}
],
"src": "1803:122:1"
},
{
"body": {
"nativeSrc": "1983:87:1",
"nodeType": "YulBlock",
"src": "1983:87:1",
"statements": [
{
"nativeSrc": "1993:29:1",
"nodeType": "YulAssignment",
"src": "1993:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "2015:6:1",
"nodeType": "YulIdentifier",
"src": "2015:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "2002:12:1",
"nodeType": "YulIdentifier",
"src": "2002:12:1"
},
"nativeSrc": "2002:20:1",
"nodeType": "YulFunctionCall",
"src": "2002:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "1993:5:1",
"nodeType": "YulIdentifier",
"src": "1993:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "2058:5:1",
"nodeType": "YulIdentifier",
"src": "2058:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nativeSrc": "2031:26:1",
"nodeType": "YulIdentifier",
"src": "2031:26:1"
},
"nativeSrc": "2031:33:1",
"nodeType": "YulFunctionCall",
"src": "2031:33:1"
},
"nativeSrc": "2031:33:1",
"nodeType": "YulExpressionStatement",
"src": "2031:33:1"
}
]
},
"name": "abi_decode_t_address",
"nativeSrc": "1931:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "1961:6:1",
"nodeType": "YulTypedName",
"src": "1961:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "1969:3:1",
"nodeType": "YulTypedName",
"src": "1969:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "1977:5:1",
"nodeType": "YulTypedName",
"src": "1977:5:1",
"type": ""
}
],
"src": "1931:139:1"
},
{
"body": {
"nativeSrc": "2121:32:1",
"nodeType": "YulBlock",
"src": "2121:32:1",
"statements": [
{
"nativeSrc": "2131:16:1",
"nodeType": "YulAssignment",
"src": "2131:16:1",
"value": {
"name": "value",
"nativeSrc": "2142:5:1",
"nodeType": "YulIdentifier",
"src": "2142:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "2131:7:1",
"nodeType": "YulIdentifier",
"src": "2131:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nativeSrc": "2076:77:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "2103:5:1",
"nodeType": "YulTypedName",
"src": "2103:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "2113:7:1",
"nodeType": "YulTypedName",
"src": "2113:7:1",
"type": ""
}
],
"src": "2076:77:1"
},
{
"body": {
"nativeSrc": "2202:79:1",
"nodeType": "YulBlock",
"src": "2202:79:1",
"statements": [
{
"body": {
"nativeSrc": "2259:16:1",
"nodeType": "YulBlock",
"src": "2259:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "2268:1:1",
"nodeType": "YulLiteral",
"src": "2268:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "2271:1:1",
"nodeType": "YulLiteral",
"src": "2271:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "2261:6:1",
"nodeType": "YulIdentifier",
"src": "2261:6:1"
},
"nativeSrc": "2261:12:1",
"nodeType": "YulFunctionCall",
"src": "2261:12:1"
},
"nativeSrc": "2261:12:1",
"nodeType": "YulExpressionStatement",
"src": "2261:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "2225:5:1",
"nodeType": "YulIdentifier",
"src": "2225:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "2250:5:1",
"nodeType": "YulIdentifier",
"src": "2250:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "2232:17:1",
"nodeType": "YulIdentifier",
"src": "2232:17:1"
},
"nativeSrc": "2232:24:1",
"nodeType": "YulFunctionCall",
"src": "2232:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "2222:2:1",
"nodeType": "YulIdentifier",
"src": "2222:2:1"
},
"nativeSrc": "2222:35:1",
"nodeType": "YulFunctionCall",
"src": "2222:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "2215:6:1",
"nodeType": "YulIdentifier",
"src": "2215:6:1"
},
"nativeSrc": "2215:43:1",
"nodeType": "YulFunctionCall",
"src": "2215:43:1"
},
"nativeSrc": "2212:63:1",
"nodeType": "YulIf",
"src": "2212:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nativeSrc": "2159:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "2195:5:1",
"nodeType": "YulTypedName",
"src": "2195:5:1",
"type": ""
}
],
"src": "2159:122:1"
},
{
"body": {
"nativeSrc": "2339:87:1",
"nodeType": "YulBlock",
"src": "2339:87:1",
"statements": [
{
"nativeSrc": "2349:29:1",
"nodeType": "YulAssignment",
"src": "2349:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "2371:6:1",
"nodeType": "YulIdentifier",
"src": "2371:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "2358:12:1",
"nodeType": "YulIdentifier",
"src": "2358:12:1"
},
"nativeSrc": "2358:20:1",
"nodeType": "YulFunctionCall",
"src": "2358:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "2349:5:1",
"nodeType": "YulIdentifier",
"src": "2349:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "2414:5:1",
"nodeType": "YulIdentifier",
"src": "2414:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nativeSrc": "2387:26:1",
"nodeType": "YulIdentifier",
"src": "2387:26:1"
},
"nativeSrc": "2387:33:1",
"nodeType": "YulFunctionCall",
"src": "2387:33:1"
},
"nativeSrc": "2387:33:1",
"nodeType": "YulExpressionStatement",
"src": "2387:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nativeSrc": "2287:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "2317:6:1",
"nodeType": "YulTypedName",
"src": "2317:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "2325:3:1",
"nodeType": "YulTypedName",
"src": "2325:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "2333:5:1",
"nodeType": "YulTypedName",
"src": "2333:5:1",
"type": ""
}
],
"src": "2287:139:1"
},
{
"body": {
"nativeSrc": "2515:391:1",
"nodeType": "YulBlock",
"src": "2515:391:1",
"statements": [
{
"body": {
"nativeSrc": "2561:83:1",
"nodeType": "YulBlock",
"src": "2561:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "2563:77:1",
"nodeType": "YulIdentifier",
"src": "2563:77:1"
},
"nativeSrc": "2563:79:1",
"nodeType": "YulFunctionCall",
"src": "2563:79:1"
},
"nativeSrc": "2563:79:1",
"nodeType": "YulExpressionStatement",
"src": "2563:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "2536:7:1",
"nodeType": "YulIdentifier",
"src": "2536:7:1"
},
{
"name": "headStart",
"nativeSrc": "2545:9:1",
"nodeType": "YulIdentifier",
"src": "2545:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "2532:3:1",
"nodeType": "YulIdentifier",
"src": "2532:3:1"
},
"nativeSrc": "2532:23:1",
"nodeType": "YulFunctionCall",
"src": "2532:23:1"
},
{
"kind": "number",
"nativeSrc": "2557:2:1",
"nodeType": "YulLiteral",
"src": "2557:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "2528:3:1",
"nodeType": "YulIdentifier",
"src": "2528:3:1"
},
"nativeSrc": "2528:32:1",
"nodeType": "YulFunctionCall",
"src": "2528:32:1"
},
"nativeSrc": "2525:119:1",
"nodeType": "YulIf",
"src": "2525:119:1"
},
{
"nativeSrc": "2654:117:1",
"nodeType": "YulBlock",
"src": "2654:117:1",
"statements": [
{
"nativeSrc": "2669:15:1",
"nodeType": "YulVariableDeclaration",
"src": "2669:15:1",
"value": {
"kind": "number",
"nativeSrc": "2683:1:1",
"nodeType": "YulLiteral",
"src": "2683:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "2673:6:1",
"nodeType": "YulTypedName",
"src": "2673:6:1",
"type": ""
}
]
},
{
"nativeSrc": "2698:63:1",
"nodeType": "YulAssignment",
"src": "2698:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "2733:9:1",
"nodeType": "YulIdentifier",
"src": "2733:9:1"
},
{
"name": "offset",
"nativeSrc": "2744:6:1",
"nodeType": "YulIdentifier",
"src": "2744:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2729:3:1",
"nodeType": "YulIdentifier",
"src": "2729:3:1"
},
"nativeSrc": "2729:22:1",
"nodeType": "YulFunctionCall",
"src": "2729:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "2753:7:1",
"nodeType": "YulIdentifier",
"src": "2753:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "2708:20:1",
"nodeType": "YulIdentifier",
"src": "2708:20:1"
},
"nativeSrc": "2708:53:1",
"nodeType": "YulFunctionCall",
"src": "2708:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "2698:6:1",
"nodeType": "YulIdentifier",
"src": "2698:6:1"
}
]
}
]
},
{
"nativeSrc": "2781:118:1",
"nodeType": "YulBlock",
"src": "2781:118:1",
"statements": [
{
"nativeSrc": "2796:16:1",
"nodeType": "YulVariableDeclaration",
"src": "2796:16:1",
"value": {
"kind": "number",
"nativeSrc": "2810:2:1",
"nodeType": "YulLiteral",
"src": "2810:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nativeSrc": "2800:6:1",
"nodeType": "YulTypedName",
"src": "2800:6:1",
"type": ""
}
]
},
{
"nativeSrc": "2826:63:1",
"nodeType": "YulAssignment",
"src": "2826:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "2861:9:1",
"nodeType": "YulIdentifier",
"src": "2861:9:1"
},
{
"name": "offset",
"nativeSrc": "2872:6:1",
"nodeType": "YulIdentifier",
"src": "2872:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2857:3:1",
"nodeType": "YulIdentifier",
"src": "2857:3:1"
},
"nativeSrc": "2857:22:1",
"nodeType": "YulFunctionCall",
"src": "2857:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "2881:7:1",
"nodeType": "YulIdentifier",
"src": "2881:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nativeSrc": "2836:20:1",
"nodeType": "YulIdentifier",
"src": "2836:20:1"
},
"nativeSrc": "2836:53:1",
"nodeType": "YulFunctionCall",
"src": "2836:53:1"
},
"variableNames": [
{
"name": "value1",
"nativeSrc": "2826:6:1",
"nodeType": "YulIdentifier",
"src": "2826:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_uint256",
"nativeSrc": "2432:474:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "2477:9:1",
"nodeType": "YulTypedName",
"src": "2477:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "2488:7:1",
"nodeType": "YulTypedName",
"src": "2488:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "2500:6:1",
"nodeType": "YulTypedName",
"src": "2500:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "2508:6:1",
"nodeType": "YulTypedName",
"src": "2508:6:1",
"type": ""
}
],
"src": "2432:474:1"
},
{
"body": {
"nativeSrc": "2954:48:1",
"nodeType": "YulBlock",
"src": "2954:48:1",
"statements": [
{
"nativeSrc": "2964:32:1",
"nodeType": "YulAssignment",
"src": "2964:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "2989:5:1",
"nodeType": "YulIdentifier",
"src": "2989:5:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "2982:6:1",
"nodeType": "YulIdentifier",
"src": "2982:6:1"
},
"nativeSrc": "2982:13:1",
"nodeType": "YulFunctionCall",
"src": "2982:13:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "2975:6:1",
"nodeType": "YulIdentifier",
"src": "2975:6:1"
},
"nativeSrc": "2975:21:1",
"nodeType": "YulFunctionCall",
"src": "2975:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "2964:7:1",
"nodeType": "YulIdentifier",
"src": "2964:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nativeSrc": "2912:90:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "2936:5:1",
"nodeType": "YulTypedName",
"src": "2936:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "2946:7:1",
"nodeType": "YulTypedName",
"src": "2946:7:1",
"type": ""
}
],
"src": "2912:90:1"
},
{
"body": {
"nativeSrc": "3067:50:1",
"nodeType": "YulBlock",
"src": "3067:50:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "3084:3:1",
"nodeType": "YulIdentifier",
"src": "3084:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "3104:5:1",
"nodeType": "YulIdentifier",
"src": "3104:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nativeSrc": "3089:14:1",
"nodeType": "YulIdentifier",
"src": "3089:14:1"
},
"nativeSrc": "3089:21:1",
"nodeType": "YulFunctionCall",
"src": "3089:21:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "3077:6:1",
"nodeType": "YulIdentifier",
"src": "3077:6:1"
},
"nativeSrc": "3077:34:1",
"nodeType": "YulFunctionCall",
"src": "3077:34:1"
},
"nativeSrc": "3077:34:1",
"nodeType": "YulExpressionStatement",
"src": "3077:34:1"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nativeSrc": "3008:109:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "3055:5:1",
"nodeType": "YulTypedName",
"src": "3055:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "3062:3:1",
"nodeType": "YulTypedName",
"src": "3062:3:1",
"type": ""
}
],
"src": "3008:109:1"
},
{
"body": {
"nativeSrc": "3215:118:1",
"nodeType": "YulBlock",
"src": "3215:118:1",
"statements": [
{
"nativeSrc": "3225:26:1",
"nodeType": "YulAssignment",
"src": "3225:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "3237:9:1",
"nodeType": "YulIdentifier",
"src": "3237:9:1"
},
{
"kind": "number",
"nativeSrc": "3248:2:1",
"nodeType": "YulLiteral",
"src": "3248:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3233:3:1",
"nodeType": "YulIdentifier",
"src": "3233:3:1"
},
"nativeSrc": "3233:18:1",
"nodeType": "YulFunctionCall",
"src": "3233:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "3225:4:1",
"nodeType": "YulIdentifier",
"src": "3225:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "3299:6:1",
"nodeType": "YulIdentifier",
"src": "3299:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3312:9:1",
"nodeType": "YulIdentifier",
"src": "3312:9:1"
},
{
"kind": "number",
"nativeSrc": "3323:1:1",
"nodeType": "YulLiteral",
"src": "3323:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3308:3:1",
"nodeType": "YulIdentifier",
"src": "3308:3:1"
},
"nativeSrc": "3308:17:1",
"nodeType": "YulFunctionCall",
"src": "3308:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nativeSrc": "3261:37:1",
"nodeType": "YulIdentifier",
"src": "3261:37:1"
},
"nativeSrc": "3261:65:1",
"nodeType": "YulFunctionCall",
"src": "3261:65:1"
},
"nativeSrc": "3261:65:1",
"nodeType": "YulExpressionStatement",
"src": "3261:65:1"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nativeSrc": "3123:210:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "3187:9:1",
"nodeType": "YulTypedName",
"src": "3187:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "3199:6:1",
"nodeType": "YulTypedName",
"src": "3199:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "3210:4:1",
"nodeType": "YulTypedName",
"src": "3210:4:1",
"type": ""
}
],
"src": "3123:210:1"
},
{
"body": {
"nativeSrc": "3404:53:1",
"nodeType": "YulBlock",
"src": "3404:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "3421:3:1",
"nodeType": "YulIdentifier",
"src": "3421:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "3444:5:1",
"nodeType": "YulIdentifier",
"src": "3444:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "3426:17:1",
"nodeType": "YulIdentifier",
"src": "3426:17:1"
},
"nativeSrc": "3426:24:1",
"nodeType": "YulFunctionCall",
"src": "3426:24:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "3414:6:1",
"nodeType": "YulIdentifier",
"src": "3414:6:1"
},
"nativeSrc": "3414:37:1",
"nodeType": "YulFunctionCall",
"src": "3414:37:1"
},
"nativeSrc": "3414:37:1",
"nodeType": "YulExpressionStatement",
"src": "3414:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "3339:118:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "3392:5:1",
"nodeType": "YulTypedName",
"src": "3392:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "3399:3:1",
"nodeType": "YulTypedName",
"src": "3399:3:1",
"type": ""
}
],
"src": "3339:118:1"
},
{
"body": {
"nativeSrc": "3561:124:1",
"nodeType": "YulBlock",
"src": "3561:124:1",
"statements": [
{
"nativeSrc": "3571:26:1",
"nodeType": "YulAssignment",
"src": "3571:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "3583:9:1",
"nodeType": "YulIdentifier",
"src": "3583:9:1"
},
{
"kind": "number",
"nativeSrc": "3594:2:1",
"nodeType": "YulLiteral",
"src": "3594:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3579:3:1",
"nodeType": "YulIdentifier",
"src": "3579:3:1"
},
"nativeSrc": "3579:18:1",
"nodeType": "YulFunctionCall",
"src": "3579:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "3571:4:1",
"nodeType": "YulIdentifier",
"src": "3571:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "3651:6:1",
"nodeType": "YulIdentifier",
"src": "3651:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3664:9:1",
"nodeType": "YulIdentifier",
"src": "3664:9:1"
},
{
"kind": "number",
"nativeSrc": "3675:1:1",
"nodeType": "YulLiteral",
"src": "3675:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3660:3:1",
"nodeType": "YulIdentifier",
"src": "3660:3:1"
},
"nativeSrc": "3660:17:1",
"nodeType": "YulFunctionCall",
"src": "3660:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "3607:43:1",
"nodeType": "YulIdentifier",
"src": "3607:43:1"
},
"nativeSrc": "3607:71:1",
"nodeType": "YulFunctionCall",
"src": "3607:71:1"
},
"nativeSrc": "3607:71:1",
"nodeType": "YulExpressionStatement",
"src": "3607:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nativeSrc": "3463:222:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "3533:9:1",
"nodeType": "YulTypedName",
"src": "3533:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "3545:6:1",
"nodeType": "YulTypedName",
"src": "3545:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "3556:4:1",
"nodeType": "YulTypedName",
"src": "3556:4:1",
"type": ""
}
],
"src": "3463:222:1"
},
{
"body": {
"nativeSrc": "3791:519:1",
"nodeType": "YulBlock",
"src": "3791:519:1",
"statements": [
{
"body": {
"nativeSrc": "3837:83:1",
"nodeType": "YulBlock",
"src": "3837:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "3839:77:1",
"nodeType": "YulIdentifier",
"src": "3839:77:1"
},
"nativeSrc": "3839:79:1",
"nodeType": "YulFunctionCall",
"src": "3839:79:1"
},
"nativeSrc": "3839:79:1",
"nodeType": "YulExpressionStatement",
"src": "3839:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "3812:7:1",
"nodeType": "YulIdentifier",
"src": "3812:7:1"
},
{
"name": "headStart",
"nativeSrc": "3821:9:1",
"nodeType": "YulIdentifier",
"src": "3821:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "3808:3:1",
"nodeType": "YulIdentifier",
"src": "3808:3:1"
},
"nativeSrc": "3808:23:1",
"nodeType": "YulFunctionCall",
"src": "3808:23:1"
},
{
"kind": "number",
"nativeSrc": "3833:2:1",
"nodeType": "YulLiteral",
"src": "3833:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "3804:3:1",
"nodeType": "YulIdentifier",
"src": "3804:3:1"
},
"nativeSrc": "3804:32:1",
"nodeType": "YulFunctionCall",
"src": "3804:32:1"
},
"nativeSrc": "3801:119:1",
"nodeType": "YulIf",
"src": "3801:119:1"
},
{
"nativeSrc": "3930:117:1",
"nodeType": "YulBlock",
"src": "3930:117:1",
"statements": [
{
"nativeSrc": "3945:15:1",
"nodeType": "YulVariableDeclaration",
"src": "3945:15:1",
"value": {
"kind": "number",
"nativeSrc": "3959:1:1",
"nodeType": "YulLiteral",
"src": "3959:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "3949:6:1",
"nodeType": "YulTypedName",
"src": "3949:6:1",
"type": ""
}
]
},
{
"nativeSrc": "3974:63:1",
"nodeType": "YulAssignment",
"src": "3974:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "4009:9:1",
"nodeType": "YulIdentifier",
"src": "4009:9:1"
},
{
"name": "offset",
"nativeSrc": "4020:6:1",
"nodeType": "YulIdentifier",
"src": "4020:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4005:3:1",
"nodeType": "YulIdentifier",
"src": "4005:3:1"
},
"nativeSrc": "4005:22:1",
"nodeType": "YulFunctionCall",
"src": "4005:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "4029:7:1",
"nodeType": "YulIdentifier",
"src": "4029:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "3984:20:1",
"nodeType": "YulIdentifier",
"src": "3984:20:1"
},
"nativeSrc": "3984:53:1",
"nodeType": "YulFunctionCall",
"src": "3984:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "3974:6:1",
"nodeType": "YulIdentifier",
"src": "3974:6:1"
}
]
}
]
},
{
"nativeSrc": "4057:118:1",
"nodeType": "YulBlock",
"src": "4057:118:1",
"statements": [
{
"nativeSrc": "4072:16:1",
"nodeType": "YulVariableDeclaration",
"src": "4072:16:1",
"value": {
"kind": "number",
"nativeSrc": "4086:2:1",
"nodeType": "YulLiteral",
"src": "4086:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nativeSrc": "4076:6:1",
"nodeType": "YulTypedName",
"src": "4076:6:1",
"type": ""
}
]
},
{
"nativeSrc": "4102:63:1",
"nodeType": "YulAssignment",
"src": "4102:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "4137:9:1",
"nodeType": "YulIdentifier",
"src": "4137:9:1"
},
{
"name": "offset",
"nativeSrc": "4148:6:1",
"nodeType": "YulIdentifier",
"src": "4148:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4133:3:1",
"nodeType": "YulIdentifier",
"src": "4133:3:1"
},
"nativeSrc": "4133:22:1",
"nodeType": "YulFunctionCall",
"src": "4133:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "4157:7:1",
"nodeType": "YulIdentifier",
"src": "4157:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "4112:20:1",
"nodeType": "YulIdentifier",
"src": "4112:20:1"
},
"nativeSrc": "4112:53:1",
"nodeType": "YulFunctionCall",
"src": "4112:53:1"
},
"variableNames": [
{
"name": "value1",
"nativeSrc": "4102:6:1",
"nodeType": "YulIdentifier",
"src": "4102:6:1"
}
]
}
]
},
{
"nativeSrc": "4185:118:1",
"nodeType": "YulBlock",
"src": "4185:118:1",
"statements": [
{
"nativeSrc": "4200:16:1",
"nodeType": "YulVariableDeclaration",
"src": "4200:16:1",
"value": {
"kind": "number",
"nativeSrc": "4214:2:1",
"nodeType": "YulLiteral",
"src": "4214:2:1",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nativeSrc": "4204:6:1",
"nodeType": "YulTypedName",
"src": "4204:6:1",
"type": ""
}
]
},
{
"nativeSrc": "4230:63:1",
"nodeType": "YulAssignment",
"src": "4230:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "4265:9:1",
"nodeType": "YulIdentifier",
"src": "4265:9:1"
},
{
"name": "offset",
"nativeSrc": "4276:6:1",
"nodeType": "YulIdentifier",
"src": "4276:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4261:3:1",
"nodeType": "YulIdentifier",
"src": "4261:3:1"
},
"nativeSrc": "4261:22:1",
"nodeType": "YulFunctionCall",
"src": "4261:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "4285:7:1",
"nodeType": "YulIdentifier",
"src": "4285:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nativeSrc": "4240:20:1",
"nodeType": "YulIdentifier",
"src": "4240:20:1"
},
"nativeSrc": "4240:53:1",
"nodeType": "YulFunctionCall",
"src": "4240:53:1"
},
"variableNames": [
{
"name": "value2",
"nativeSrc": "4230:6:1",
"nodeType": "YulIdentifier",
"src": "4230:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_addresst_uint256",
"nativeSrc": "3691:619:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "3745:9:1",
"nodeType": "YulTypedName",
"src": "3745:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "3756:7:1",
"nodeType": "YulTypedName",
"src": "3756:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "3768:6:1",
"nodeType": "YulTypedName",
"src": "3768:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "3776:6:1",
"nodeType": "YulTypedName",
"src": "3776:6:1",
"type": ""
},
{
"name": "value2",
"nativeSrc": "3784:6:1",
"nodeType": "YulTypedName",
"src": "3784:6:1",
"type": ""
}
],
"src": "3691:619:1"
},
{
"body": {
"nativeSrc": "4359:43:1",
"nodeType": "YulBlock",
"src": "4359:43:1",
"statements": [
{
"nativeSrc": "4369:27:1",
"nodeType": "YulAssignment",
"src": "4369:27:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "4384:5:1",
"nodeType": "YulIdentifier",
"src": "4384:5:1"
},
{
"kind": "number",
"nativeSrc": "4391:4:1",
"nodeType": "YulLiteral",
"src": "4391:4:1",
"type": "",
"value": "0xff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "4380:3:1",
"nodeType": "YulIdentifier",
"src": "4380:3:1"
},
"nativeSrc": "4380:16:1",
"nodeType": "YulFunctionCall",
"src": "4380:16:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "4369:7:1",
"nodeType": "YulIdentifier",
"src": "4369:7:1"
}
]
}
]
},
"name": "cleanup_t_uint8",
"nativeSrc": "4316:86:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "4341:5:1",
"nodeType": "YulTypedName",
"src": "4341:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "4351:7:1",
"nodeType": "YulTypedName",
"src": "4351:7:1",
"type": ""
}
],
"src": "4316:86:1"
},
{
"body": {
"nativeSrc": "4469:51:1",
"nodeType": "YulBlock",
"src": "4469:51:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4486:3:1",
"nodeType": "YulIdentifier",
"src": "4486:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "4507:5:1",
"nodeType": "YulIdentifier",
"src": "4507:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint8",
"nativeSrc": "4491:15:1",
"nodeType": "YulIdentifier",
"src": "4491:15:1"
},
"nativeSrc": "4491:22:1",
"nodeType": "YulFunctionCall",
"src": "4491:22:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "4479:6:1",
"nodeType": "YulIdentifier",
"src": "4479:6:1"
},
"nativeSrc": "4479:35:1",
"nodeType": "YulFunctionCall",
"src": "4479:35:1"
},
"nativeSrc": "4479:35:1",
"nodeType": "YulExpressionStatement",
"src": "4479:35:1"
}
]
},
"name": "abi_encode_t_uint8_to_t_uint8_fromStack",
"nativeSrc": "4408:112:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "4457:5:1",
"nodeType": "YulTypedName",
"src": "4457:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "4464:3:1",
"nodeType": "YulTypedName",
"src": "4464:3:1",
"type": ""
}
],
"src": "4408:112:1"
},
{
"body": {
"nativeSrc": "4620:120:1",
"nodeType": "YulBlock",
"src": "4620:120:1",
"statements": [
{
"nativeSrc": "4630:26:1",
"nodeType": "YulAssignment",
"src": "4630:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "4642:9:1",
"nodeType": "YulIdentifier",
"src": "4642:9:1"
},
{
"kind": "number",
"nativeSrc": "4653:2:1",
"nodeType": "YulLiteral",
"src": "4653:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4638:3:1",
"nodeType": "YulIdentifier",
"src": "4638:3:1"
},
"nativeSrc": "4638:18:1",
"nodeType": "YulFunctionCall",
"src": "4638:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "4630:4:1",
"nodeType": "YulIdentifier",
"src": "4630:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "4706:6:1",
"nodeType": "YulIdentifier",
"src": "4706:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "4719:9:1",
"nodeType": "YulIdentifier",
"src": "4719:9:1"
},
{
"kind": "number",
"nativeSrc": "4730:1:1",
"nodeType": "YulLiteral",
"src": "4730:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4715:3:1",
"nodeType": "YulIdentifier",
"src": "4715:3:1"
},
"nativeSrc": "4715:17:1",
"nodeType": "YulFunctionCall",
"src": "4715:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint8_to_t_uint8_fromStack",
"nativeSrc": "4666:39:1",
"nodeType": "YulIdentifier",
"src": "4666:39:1"
},
"nativeSrc": "4666:67:1",
"nodeType": "YulFunctionCall",
"src": "4666:67:1"
},
"nativeSrc": "4666:67:1",
"nodeType": "YulExpressionStatement",
"src": "4666:67:1"
}
]
},
"name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed",
"nativeSrc": "4526:214:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "4592:9:1",
"nodeType": "YulTypedName",
"src": "4592:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "4604:6:1",
"nodeType": "YulTypedName",
"src": "4604:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "4615:4:1",
"nodeType": "YulTypedName",
"src": "4615:4:1",
"type": ""
}
],
"src": "4526:214:1"
},
{
"body": {
"nativeSrc": "4812:263:1",
"nodeType": "YulBlock",
"src": "4812:263:1",
"statements": [
{
"body": {
"nativeSrc": "4858:83:1",
"nodeType": "YulBlock",
"src": "4858:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "4860:77:1",
"nodeType": "YulIdentifier",
"src": "4860:77:1"
},
"nativeSrc": "4860:79:1",
"nodeType": "YulFunctionCall",
"src": "4860:79:1"
},
"nativeSrc": "4860:79:1",
"nodeType": "YulExpressionStatement",
"src": "4860:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "4833:7:1",
"nodeType": "YulIdentifier",
"src": "4833:7:1"
},
{
"name": "headStart",
"nativeSrc": "4842:9:1",
"nodeType": "YulIdentifier",
"src": "4842:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "4829:3:1",
"nodeType": "YulIdentifier",
"src": "4829:3:1"
},
"nativeSrc": "4829:23:1",
"nodeType": "YulFunctionCall",
"src": "4829:23:1"
},
{
"kind": "number",
"nativeSrc": "4854:2:1",
"nodeType": "YulLiteral",
"src": "4854:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "4825:3:1",
"nodeType": "YulIdentifier",
"src": "4825:3:1"
},
"nativeSrc": "4825:32:1",
"nodeType": "YulFunctionCall",
"src": "4825:32:1"
},
"nativeSrc": "4822:119:1",
"nodeType": "YulIf",
"src": "4822:119:1"
},
{
"nativeSrc": "4951:117:1",
"nodeType": "YulBlock",
"src": "4951:117:1",
"statements": [
{
"nativeSrc": "4966:15:1",
"nodeType": "YulVariableDeclaration",
"src": "4966:15:1",
"value": {
"kind": "number",
"nativeSrc": "4980:1:1",
"nodeType": "YulLiteral",
"src": "4980:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "4970:6:1",
"nodeType": "YulTypedName",
"src": "4970:6:1",
"type": ""
}
]
},
{
"nativeSrc": "4995:63:1",
"nodeType": "YulAssignment",
"src": "4995:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "5030:9:1",
"nodeType": "YulIdentifier",
"src": "5030:9:1"
},
{
"name": "offset",
"nativeSrc": "5041:6:1",
"nodeType": "YulIdentifier",
"src": "5041:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5026:3:1",
"nodeType": "YulIdentifier",
"src": "5026:3:1"
},
"nativeSrc": "5026:22:1",
"nodeType": "YulFunctionCall",
"src": "5026:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "5050:7:1",
"nodeType": "YulIdentifier",
"src": "5050:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nativeSrc": "5005:20:1",
"nodeType": "YulIdentifier",
"src": "5005:20:1"
},
"nativeSrc": "5005:53:1",
"nodeType": "YulFunctionCall",
"src": "5005:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "4995:6:1",
"nodeType": "YulIdentifier",
"src": "4995:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nativeSrc": "4746:329:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "4782:9:1",
"nodeType": "YulTypedName",
"src": "4782:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "4793:7:1",
"nodeType": "YulTypedName",
"src": "4793:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "4805:6:1",
"nodeType": "YulTypedName",
"src": "4805:6:1",
"type": ""
}
],
"src": "4746:329:1"
},
{
"body": {
"nativeSrc": "5170:28:1",
"nodeType": "YulBlock",
"src": "5170:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "5187:1:1",
"nodeType": "YulLiteral",
"src": "5187:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "5190:1:1",
"nodeType": "YulLiteral",
"src": "5190:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "5180:6:1",
"nodeType": "YulIdentifier",
"src": "5180:6:1"
},
"nativeSrc": "5180:12:1",
"nodeType": "YulFunctionCall",
"src": "5180:12:1"
},
"nativeSrc": "5180:12:1",
"nodeType": "YulExpressionStatement",
"src": "5180:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nativeSrc": "5081:117:1",
"nodeType": "YulFunctionDefinition",
"src": "5081:117:1"
},
{
"body": {
"nativeSrc": "5293:28:1",
"nodeType": "YulBlock",
"src": "5293:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "5310:1:1",
"nodeType": "YulLiteral",
"src": "5310:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "5313:1:1",
"nodeType": "YulLiteral",
"src": "5313:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "5303:6:1",
"nodeType": "YulIdentifier",
"src": "5303:6:1"
},
"nativeSrc": "5303:12:1",
"nodeType": "YulFunctionCall",
"src": "5303:12:1"
},
"nativeSrc": "5303:12:1",
"nodeType": "YulExpressionStatement",
"src": "5303:12:1"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nativeSrc": "5204:117:1",
"nodeType": "YulFunctionDefinition",
"src": "5204:117:1"
},
{
"body": {
"nativeSrc": "5355:152:1",
"nodeType": "YulBlock",
"src": "5355:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "5372:1:1",
"nodeType": "YulLiteral",
"src": "5372:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "5375:77:1",
"nodeType": "YulLiteral",
"src": "5375:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "5365:6:1",
"nodeType": "YulIdentifier",
"src": "5365:6:1"
},
"nativeSrc": "5365:88:1",
"nodeType": "YulFunctionCall",
"src": "5365:88:1"
},
"nativeSrc": "5365:88:1",
"nodeType": "YulExpressionStatement",
"src": "5365:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "5469:1:1",
"nodeType": "YulLiteral",
"src": "5469:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "5472:4:1",
"nodeType": "YulLiteral",
"src": "5472:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "5462:6:1",
"nodeType": "YulIdentifier",
"src": "5462:6:1"
},
"nativeSrc": "5462:15:1",
"nodeType": "YulFunctionCall",
"src": "5462:15:1"
},
"nativeSrc": "5462:15:1",
"nodeType": "YulExpressionStatement",
"src": "5462:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "5493:1:1",
"nodeType": "YulLiteral",
"src": "5493:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "5496:4:1",
"nodeType": "YulLiteral",
"src": "5496:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "5486:6:1",
"nodeType": "YulIdentifier",
"src": "5486:6:1"
},
"nativeSrc": "5486:15:1",
"nodeType": "YulFunctionCall",
"src": "5486:15:1"
},
"nativeSrc": "5486:15:1",
"nodeType": "YulExpressionStatement",
"src": "5486:15:1"
}
]
},
"name": "panic_error_0x41",
"nativeSrc": "5327:180:1",
"nodeType": "YulFunctionDefinition",
"src": "5327:180:1"
},
{
"body": {
"nativeSrc": "5556:238:1",
"nodeType": "YulBlock",
"src": "5556:238:1",
"statements": [
{
"nativeSrc": "5566:58:1",
"nodeType": "YulVariableDeclaration",
"src": "5566:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nativeSrc": "5588:6:1",
"nodeType": "YulIdentifier",
"src": "5588:6:1"
},
{
"arguments": [
{
"name": "size",
"nativeSrc": "5618:4:1",
"nodeType": "YulIdentifier",
"src": "5618:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "5596:21:1",
"nodeType": "YulIdentifier",
"src": "5596:21:1"
},
"nativeSrc": "5596:27:1",
"nodeType": "YulFunctionCall",
"src": "5596:27:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5584:3:1",
"nodeType": "YulIdentifier",
"src": "5584:3:1"
},
"nativeSrc": "5584:40:1",
"nodeType": "YulFunctionCall",
"src": "5584:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nativeSrc": "5570:10:1",
"nodeType": "YulTypedName",
"src": "5570:10:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "5735:22:1",
"nodeType": "YulBlock",
"src": "5735:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "5737:16:1",
"nodeType": "YulIdentifier",
"src": "5737:16:1"
},
"nativeSrc": "5737:18:1",
"nodeType": "YulFunctionCall",
"src": "5737:18:1"
},
"nativeSrc": "5737:18:1",
"nodeType": "YulExpressionStatement",
"src": "5737:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nativeSrc": "5678:10:1",
"nodeType": "YulIdentifier",
"src": "5678:10:1"
},
{
"kind": "number",
"nativeSrc": "5690:18:1",
"nodeType": "YulLiteral",
"src": "5690:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "5675:2:1",
"nodeType": "YulIdentifier",
"src": "5675:2:1"
},
"nativeSrc": "5675:34:1",
"nodeType": "YulFunctionCall",
"src": "5675:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nativeSrc": "5714:10:1",
"nodeType": "YulIdentifier",
"src": "5714:10:1"
},
{
"name": "memPtr",
"nativeSrc": "5726:6:1",
"nodeType": "YulIdentifier",
"src": "5726:6:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "5711:2:1",
"nodeType": "YulIdentifier",
"src": "5711:2:1"
},
"nativeSrc": "5711:22:1",
"nodeType": "YulFunctionCall",
"src": "5711:22:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "5672:2:1",
"nodeType": "YulIdentifier",
"src": "5672:2:1"
},
"nativeSrc": "5672:62:1",
"nodeType": "YulFunctionCall",
"src": "5672:62:1"
},
"nativeSrc": "5669:88:1",
"nodeType": "YulIf",
"src": "5669:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "5773:2:1",
"nodeType": "YulLiteral",
"src": "5773:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nativeSrc": "5777:10:1",
"nodeType": "YulIdentifier",
"src": "5777:10:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "5766:6:1",
"nodeType": "YulIdentifier",
"src": "5766:6:1"
},
"nativeSrc": "5766:22:1",
"nodeType": "YulFunctionCall",
"src": "5766:22:1"
},
"nativeSrc": "5766:22:1",
"nodeType": "YulExpressionStatement",
"src": "5766:22:1"
}
]
},
"name": "finalize_allocation",
"nativeSrc": "5513:281:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "5542:6:1",
"nodeType": "YulTypedName",
"src": "5542:6:1",
"type": ""
},
{
"name": "size",
"nativeSrc": "5550:4:1",
"nodeType": "YulTypedName",
"src": "5550:4:1",
"type": ""
}
],
"src": "5513:281:1"
},
{
"body": {
"nativeSrc": "5841:88:1",
"nodeType": "YulBlock",
"src": "5841:88:1",
"statements": [
{
"nativeSrc": "5851:30:1",
"nodeType": "YulAssignment",
"src": "5851:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nativeSrc": "5861:18:1",
"nodeType": "YulIdentifier",
"src": "5861:18:1"
},
"nativeSrc": "5861:20:1",
"nodeType": "YulFunctionCall",
"src": "5861:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "5851:6:1",
"nodeType": "YulIdentifier",
"src": "5851:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nativeSrc": "5910:6:1",
"nodeType": "YulIdentifier",
"src": "5910:6:1"
},
{
"name": "size",
"nativeSrc": "5918:4:1",
"nodeType": "YulIdentifier",
"src": "5918:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nativeSrc": "5890:19:1",
"nodeType": "YulIdentifier",
"src": "5890:19:1"
},
"nativeSrc": "5890:33:1",
"nodeType": "YulFunctionCall",
"src": "5890:33:1"
},
"nativeSrc": "5890:33:1",
"nodeType": "YulExpressionStatement",
"src": "5890:33:1"
}
]
},
"name": "allocate_memory",
"nativeSrc": "5800:129:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nativeSrc": "5825:4:1",
"nodeType": "YulTypedName",
"src": "5825:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "5834:6:1",
"nodeType": "YulTypedName",
"src": "5834:6:1",
"type": ""
}
],
"src": "5800:129:1"
},
{
"body": {
"nativeSrc": "6002:241:1",
"nodeType": "YulBlock",
"src": "6002:241:1",
"statements": [
{
"body": {
"nativeSrc": "6107:22:1",
"nodeType": "YulBlock",
"src": "6107:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "6109:16:1",
"nodeType": "YulIdentifier",
"src": "6109:16:1"
},
"nativeSrc": "6109:18:1",
"nodeType": "YulFunctionCall",
"src": "6109:18:1"
},
"nativeSrc": "6109:18:1",
"nodeType": "YulExpressionStatement",
"src": "6109:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nativeSrc": "6079:6:1",
"nodeType": "YulIdentifier",
"src": "6079:6:1"
},
{
"kind": "number",
"nativeSrc": "6087:18:1",
"nodeType": "YulLiteral",
"src": "6087:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "6076:2:1",
"nodeType": "YulIdentifier",
"src": "6076:2:1"
},
"nativeSrc": "6076:30:1",
"nodeType": "YulFunctionCall",
"src": "6076:30:1"
},
"nativeSrc": "6073:56:1",
"nodeType": "YulIf",
"src": "6073:56:1"
},
{
"nativeSrc": "6139:37:1",
"nodeType": "YulAssignment",
"src": "6139:37:1",
"value": {
"arguments": [
{
"name": "length",
"nativeSrc": "6169:6:1",
"nodeType": "YulIdentifier",
"src": "6169:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "6147:21:1",
"nodeType": "YulIdentifier",
"src": "6147:21:1"
},
"nativeSrc": "6147:29:1",
"nodeType": "YulFunctionCall",
"src": "6147:29:1"
},
"variableNames": [
{
"name": "size",
"nativeSrc": "6139:4:1",
"nodeType": "YulIdentifier",
"src": "6139:4:1"
}
]
},
{
"nativeSrc": "6213:23:1",
"nodeType": "YulAssignment",
"src": "6213:23:1",
"value": {
"arguments": [
{
"name": "size",
"nativeSrc": "6225:4:1",
"nodeType": "YulIdentifier",
"src": "6225:4:1"
},
{
"kind": "number",
"nativeSrc": "6231:4:1",
"nodeType": "YulLiteral",
"src": "6231:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6221:3:1",
"nodeType": "YulIdentifier",
"src": "6221:3:1"
},
"nativeSrc": "6221:15:1",
"nodeType": "YulFunctionCall",
"src": "6221:15:1"
},
"variableNames": [
{
"name": "size",
"nativeSrc": "6213:4:1",
"nodeType": "YulIdentifier",
"src": "6213:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nativeSrc": "5935:308:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nativeSrc": "5986:6:1",
"nodeType": "YulTypedName",
"src": "5986:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nativeSrc": "5997:4:1",
"nodeType": "YulTypedName",
"src": "5997:4:1",
"type": ""
}
],
"src": "5935:308:1"
},
{
"body": {
"nativeSrc": "6313:84:1",
"nodeType": "YulBlock",
"src": "6313:84:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nativeSrc": "6337:3:1",
"nodeType": "YulIdentifier",
"src": "6337:3:1"
},
{
"name": "src",
"nativeSrc": "6342:3:1",
"nodeType": "YulIdentifier",
"src": "6342:3:1"
},
{
"name": "length",
"nativeSrc": "6347:6:1",
"nodeType": "YulIdentifier",
"src": "6347:6:1"
}
],
"functionName": {
"name": "calldatacopy",
"nativeSrc": "6324:12:1",
"nodeType": "YulIdentifier",
"src": "6324:12:1"
},
"nativeSrc": "6324:30:1",
"nodeType": "YulFunctionCall",
"src": "6324:30:1"
},
"nativeSrc": "6324:30:1",
"nodeType": "YulExpressionStatement",
"src": "6324:30:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "6374:3:1",
"nodeType": "YulIdentifier",
"src": "6374:3:1"
},
{
"name": "length",
"nativeSrc": "6379:6:1",
"nodeType": "YulIdentifier",
"src": "6379:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6370:3:1",
"nodeType": "YulIdentifier",
"src": "6370:3:1"
},
"nativeSrc": "6370:16:1",
"nodeType": "YulFunctionCall",
"src": "6370:16:1"
},
{
"kind": "number",
"nativeSrc": "6388:1:1",
"nodeType": "YulLiteral",
"src": "6388:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "6363:6:1",
"nodeType": "YulIdentifier",
"src": "6363:6:1"
},
"nativeSrc": "6363:27:1",
"nodeType": "YulFunctionCall",
"src": "6363:27:1"
},
"nativeSrc": "6363:27:1",
"nodeType": "YulExpressionStatement",
"src": "6363:27:1"
}
]
},
"name": "copy_calldata_to_memory_with_cleanup",
"nativeSrc": "6249:148:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "6295:3:1",
"nodeType": "YulTypedName",
"src": "6295:3:1",
"type": ""
},
{
"name": "dst",
"nativeSrc": "6300:3:1",
"nodeType": "YulTypedName",
"src": "6300:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "6305:6:1",
"nodeType": "YulTypedName",
"src": "6305:6:1",
"type": ""
}
],
"src": "6249:148:1"
},
{
"body": {
"nativeSrc": "6487:341:1",
"nodeType": "YulBlock",
"src": "6487:341:1",
"statements": [
{
"nativeSrc": "6497:75:1",
"nodeType": "YulAssignment",
"src": "6497:75:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nativeSrc": "6564:6:1",
"nodeType": "YulIdentifier",
"src": "6564:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nativeSrc": "6522:41:1",
"nodeType": "YulIdentifier",
"src": "6522:41:1"
},
"nativeSrc": "6522:49:1",
"nodeType": "YulFunctionCall",
"src": "6522:49:1"
}
],
"functionName": {
"name": "allocate_memory",
"nativeSrc": "6506:15:1",
"nodeType": "YulIdentifier",
"src": "6506:15:1"
},
"nativeSrc": "6506:66:1",
"nodeType": "YulFunctionCall",
"src": "6506:66:1"
},
"variableNames": [
{
"name": "array",
"nativeSrc": "6497:5:1",
"nodeType": "YulIdentifier",
"src": "6497:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nativeSrc": "6588:5:1",
"nodeType": "YulIdentifier",
"src": "6588:5:1"
},
{
"name": "length",
"nativeSrc": "6595:6:1",
"nodeType": "YulIdentifier",
"src": "6595:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "6581:6:1",
"nodeType": "YulIdentifier",
"src": "6581:6:1"
},
"nativeSrc": "6581:21:1",
"nodeType": "YulFunctionCall",
"src": "6581:21:1"
},
"nativeSrc": "6581:21:1",
"nodeType": "YulExpressionStatement",
"src": "6581:21:1"
},
{
"nativeSrc": "6611:27:1",
"nodeType": "YulVariableDeclaration",
"src": "6611:27:1",
"value": {
"arguments": [
{
"name": "array",
"nativeSrc": "6626:5:1",
"nodeType": "YulIdentifier",
"src": "6626:5:1"
},
{
"kind": "number",
"nativeSrc": "6633:4:1",
"nodeType": "YulLiteral",
"src": "6633:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6622:3:1",
"nodeType": "YulIdentifier",
"src": "6622:3:1"
},
"nativeSrc": "6622:16:1",
"nodeType": "YulFunctionCall",
"src": "6622:16:1"
},
"variables": [
{
"name": "dst",
"nativeSrc": "6615:3:1",
"nodeType": "YulTypedName",
"src": "6615:3:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "6676:83:1",
"nodeType": "YulBlock",
"src": "6676:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nativeSrc": "6678:77:1",
"nodeType": "YulIdentifier",
"src": "6678:77:1"
},
"nativeSrc": "6678:79:1",
"nodeType": "YulFunctionCall",
"src": "6678:79:1"
},
"nativeSrc": "6678:79:1",
"nodeType": "YulExpressionStatement",
"src": "6678:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "6657:3:1",
"nodeType": "YulIdentifier",
"src": "6657:3:1"
},
{
"name": "length",
"nativeSrc": "6662:6:1",
"nodeType": "YulIdentifier",
"src": "6662:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6653:3:1",
"nodeType": "YulIdentifier",
"src": "6653:3:1"
},
"nativeSrc": "6653:16:1",
"nodeType": "YulFunctionCall",
"src": "6653:16:1"
},
{
"name": "end",
"nativeSrc": "6671:3:1",
"nodeType": "YulIdentifier",
"src": "6671:3:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "6650:2:1",
"nodeType": "YulIdentifier",
"src": "6650:2:1"
},
"nativeSrc": "6650:25:1",
"nodeType": "YulFunctionCall",
"src": "6650:25:1"
},
"nativeSrc": "6647:112:1",
"nodeType": "YulIf",
"src": "6647:112:1"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nativeSrc": "6805:3:1",
"nodeType": "YulIdentifier",
"src": "6805:3:1"
},
{
"name": "dst",
"nativeSrc": "6810:3:1",
"nodeType": "YulIdentifier",
"src": "6810:3:1"
},
{
"name": "length",
"nativeSrc": "6815:6:1",
"nodeType": "YulIdentifier",
"src": "6815:6:1"
}
],
"functionName": {
"name": "copy_calldata_to_memory_with_cleanup",
"nativeSrc": "6768:36:1",
"nodeType": "YulIdentifier",
"src": "6768:36:1"
},
"nativeSrc": "6768:54:1",
"nodeType": "YulFunctionCall",
"src": "6768:54:1"
},
"nativeSrc": "6768:54:1",
"nodeType": "YulExpressionStatement",
"src": "6768:54:1"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr",
"nativeSrc": "6403:425:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "6460:3:1",
"nodeType": "YulTypedName",
"src": "6460:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "6465:6:1",
"nodeType": "YulTypedName",
"src": "6465:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "6473:3:1",
"nodeType": "YulTypedName",
"src": "6473:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nativeSrc": "6481:5:1",
"nodeType": "YulTypedName",
"src": "6481:5:1",
"type": ""
}
],
"src": "6403:425:1"
},
{
"body": {
"nativeSrc": "6910:278:1",
"nodeType": "YulBlock",
"src": "6910:278:1",
"statements": [
{
"body": {
"nativeSrc": "6959:83:1",
"nodeType": "YulBlock",
"src": "6959:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nativeSrc": "6961:77:1",
"nodeType": "YulIdentifier",
"src": "6961:77:1"
},
"nativeSrc": "6961:79:1",
"nodeType": "YulFunctionCall",
"src": "6961:79:1"
},
"nativeSrc": "6961:79:1",
"nodeType": "YulExpressionStatement",
"src": "6961:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nativeSrc": "6938:6:1",
"nodeType": "YulIdentifier",
"src": "6938:6:1"
},
{
"kind": "number",
"nativeSrc": "6946:4:1",
"nodeType": "YulLiteral",
"src": "6946:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6934:3:1",
"nodeType": "YulIdentifier",
"src": "6934:3:1"
},
"nativeSrc": "6934:17:1",
"nodeType": "YulFunctionCall",
"src": "6934:17:1"
},
{
"name": "end",
"nativeSrc": "6953:3:1",
"nodeType": "YulIdentifier",
"src": "6953:3:1"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "6930:3:1",
"nodeType": "YulIdentifier",
"src": "6930:3:1"
},
"nativeSrc": "6930:27:1",
"nodeType": "YulFunctionCall",
"src": "6930:27:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "6923:6:1",
"nodeType": "YulIdentifier",
"src": "6923:6:1"
},
"nativeSrc": "6923:35:1",
"nodeType": "YulFunctionCall",
"src": "6923:35:1"
},
"nativeSrc": "6920:122:1",
"nodeType": "YulIf",
"src": "6920:122:1"
},
{
"nativeSrc": "7051:34:1",
"nodeType": "YulVariableDeclaration",
"src": "7051:34:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "7078:6:1",
"nodeType": "YulIdentifier",
"src": "7078:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "7065:12:1",
"nodeType": "YulIdentifier",
"src": "7065:12:1"
},
"nativeSrc": "7065:20:1",
"nodeType": "YulFunctionCall",
"src": "7065:20:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "7055:6:1",
"nodeType": "YulTypedName",
"src": "7055:6:1",
"type": ""
}
]
},
{
"nativeSrc": "7094:88:1",
"nodeType": "YulAssignment",
"src": "7094:88:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nativeSrc": "7155:6:1",
"nodeType": "YulIdentifier",
"src": "7155:6:1"
},
{
"kind": "number",
"nativeSrc": "7163:4:1",
"nodeType": "YulLiteral",
"src": "7163:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7151:3:1",
"nodeType": "YulIdentifier",
"src": "7151:3:1"
},
"nativeSrc": "7151:17:1",
"nodeType": "YulFunctionCall",
"src": "7151:17:1"
},
{
"name": "length",
"nativeSrc": "7170:6:1",
"nodeType": "YulIdentifier",
"src": "7170:6:1"
},
{
"name": "end",
"nativeSrc": "7178:3:1",
"nodeType": "YulIdentifier",
"src": "7178:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr",
"nativeSrc": "7103:47:1",
"nodeType": "YulIdentifier",
"src": "7103:47:1"
},
"nativeSrc": "7103:79:1",
"nodeType": "YulFunctionCall",
"src": "7103:79:1"
},
"variableNames": [
{
"name": "array",
"nativeSrc": "7094:5:1",
"nodeType": "YulIdentifier",
"src": "7094:5:1"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr",
"nativeSrc": "6848:340:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "6888:6:1",
"nodeType": "YulTypedName",
"src": "6888:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "6896:3:1",
"nodeType": "YulTypedName",
"src": "6896:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nativeSrc": "6904:5:1",
"nodeType": "YulTypedName",
"src": "6904:5:1",
"type": ""
}
],
"src": "6848:340:1"
},
{
"body": {
"nativeSrc": "7270:433:1",
"nodeType": "YulBlock",
"src": "7270:433:1",
"statements": [
{
"body": {
"nativeSrc": "7316:83:1",
"nodeType": "YulBlock",
"src": "7316:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "7318:77:1",
"nodeType": "YulIdentifier",
"src": "7318:77:1"
},
"nativeSrc": "7318:79:1",
"nodeType": "YulFunctionCall",
"src": "7318:79:1"
},
"nativeSrc": "7318:79:1",
"nodeType": "YulExpressionStatement",
"src": "7318:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "7291:7:1",
"nodeType": "YulIdentifier",
"src": "7291:7:1"
},
{
"name": "headStart",
"nativeSrc": "7300:9:1",
"nodeType": "YulIdentifier",
"src": "7300:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "7287:3:1",
"nodeType": "YulIdentifier",
"src": "7287:3:1"
},
"nativeSrc": "7287:23:1",
"nodeType": "YulFunctionCall",
"src": "7287:23:1"
},
{
"kind": "number",
"nativeSrc": "7312:2:1",
"nodeType": "YulLiteral",
"src": "7312:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "7283:3:1",
"nodeType": "YulIdentifier",
"src": "7283:3:1"
},
"nativeSrc": "7283:32:1",
"nodeType": "YulFunctionCall",
"src": "7283:32:1"
},
"nativeSrc": "7280:119:1",
"nodeType": "YulIf",
"src": "7280:119:1"
},
{
"nativeSrc": "7409:287:1",
"nodeType": "YulBlock",
"src": "7409:287:1",
"statements": [
{
"nativeSrc": "7424:45:1",
"nodeType": "YulVariableDeclaration",
"src": "7424:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "7455:9:1",
"nodeType": "YulIdentifier",
"src": "7455:9:1"
},
{
"kind": "number",
"nativeSrc": "7466:1:1",
"nodeType": "YulLiteral",
"src": "7466:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7451:3:1",
"nodeType": "YulIdentifier",
"src": "7451:3:1"
},
"nativeSrc": "7451:17:1",
"nodeType": "YulFunctionCall",
"src": "7451:17:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "7438:12:1",
"nodeType": "YulIdentifier",
"src": "7438:12:1"
},
"nativeSrc": "7438:31:1",
"nodeType": "YulFunctionCall",
"src": "7438:31:1"
},
"variables": [
{
"name": "offset",
"nativeSrc": "7428:6:1",
"nodeType": "YulTypedName",
"src": "7428:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "7516:83:1",
"nodeType": "YulBlock",
"src": "7516:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "7518:77:1",
"nodeType": "YulIdentifier",
"src": "7518:77:1"
},
"nativeSrc": "7518:79:1",
"nodeType": "YulFunctionCall",
"src": "7518:79:1"
},
"nativeSrc": "7518:79:1",
"nodeType": "YulExpressionStatement",
"src": "7518:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nativeSrc": "7488:6:1",
"nodeType": "YulIdentifier",
"src": "7488:6:1"
},
{
"kind": "number",
"nativeSrc": "7496:18:1",
"nodeType": "YulLiteral",
"src": "7496:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "7485:2:1",
"nodeType": "YulIdentifier",
"src": "7485:2:1"
},
"nativeSrc": "7485:30:1",
"nodeType": "YulFunctionCall",
"src": "7485:30:1"
},
"nativeSrc": "7482:117:1",
"nodeType": "YulIf",
"src": "7482:117:1"
},
{
"nativeSrc": "7613:73:1",
"nodeType": "YulAssignment",
"src": "7613:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "7658:9:1",
"nodeType": "YulIdentifier",
"src": "7658:9:1"
},
{
"name": "offset",
"nativeSrc": "7669:6:1",
"nodeType": "YulIdentifier",
"src": "7669:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7654:3:1",
"nodeType": "YulIdentifier",
"src": "7654:3:1"
},
"nativeSrc": "7654:22:1",
"nodeType": "YulFunctionCall",
"src": "7654:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "7678:7:1",
"nodeType": "YulIdentifier",
"src": "7678:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nativeSrc": "7623:30:1",
"nodeType": "YulIdentifier",
"src": "7623:30:1"
},
"nativeSrc": "7623:63:1",
"nodeType": "YulFunctionCall",
"src": "7623:63:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "7613:6:1",
"nodeType": "YulIdentifier",
"src": "7613:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_memory_ptr",
"nativeSrc": "7194:509:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "7240:9:1",
"nodeType": "YulTypedName",
"src": "7240:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "7251:7:1",
"nodeType": "YulTypedName",
"src": "7251:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "7263:6:1",
"nodeType": "YulTypedName",
"src": "7263:6:1",
"type": ""
}
],
"src": "7194:509:1"
},
{
"body": {
"nativeSrc": "7775:263:1",
"nodeType": "YulBlock",
"src": "7775:263:1",
"statements": [
{
"body": {
"nativeSrc": "7821:83:1",
"nodeType": "YulBlock",
"src": "7821:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "7823:77:1",
"nodeType": "YulIdentifier",
"src": "7823:77:1"
},
"nativeSrc": "7823:79:1",
"nodeType": "YulFunctionCall",
"src": "7823:79:1"
},
"nativeSrc": "7823:79:1",
"nodeType": "YulExpressionStatement",
"src": "7823:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "7796:7:1",
"nodeType": "YulIdentifier",
"src": "7796:7:1"
},
{
"name": "headStart",
"nativeSrc": "7805:9:1",
"nodeType": "YulIdentifier",
"src": "7805:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "7792:3:1",
"nodeType": "YulIdentifier",
"src": "7792:3:1"
},
"nativeSrc": "7792:23:1",
"nodeType": "YulFunctionCall",
"src": "7792:23:1"
},
{
"kind": "number",
"nativeSrc": "7817:2:1",
"nodeType": "YulLiteral",
"src": "7817:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "7788:3:1",
"nodeType": "YulIdentifier",
"src": "7788:3:1"
},
"nativeSrc": "7788:32:1",
"nodeType": "YulFunctionCall",
"src": "7788:32:1"
},
"nativeSrc": "7785:119:1",
"nodeType": "YulIf",
"src": "7785:119:1"
},
{
"nativeSrc": "7914:117:1",
"nodeType": "YulBlock",
"src": "7914:117:1",
"statements": [
{
"nativeSrc": "7929:15:1",
"nodeType": "YulVariableDeclaration",
"src": "7929:15:1",
"value": {
"kind": "number",
"nativeSrc": "7943:1:1",
"nodeType": "YulLiteral",
"src": "7943:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "7933:6:1",
"nodeType": "YulTypedName",
"src": "7933:6:1",
"type": ""
}
]
},
{
"nativeSrc": "7958:63:1",
"nodeType": "YulAssignment",
"src": "7958:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "7993:9:1",
"nodeType": "YulIdentifier",
"src": "7993:9:1"
},
{
"name": "offset",
"nativeSrc": "8004:6:1",
"nodeType": "YulIdentifier",
"src": "8004:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7989:3:1",
"nodeType": "YulIdentifier",
"src": "7989:3:1"
},
"nativeSrc": "7989:22:1",
"nodeType": "YulFunctionCall",
"src": "7989:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "8013:7:1",
"nodeType": "YulIdentifier",
"src": "8013:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "7968:20:1",
"nodeType": "YulIdentifier",
"src": "7968:20:1"
},
"nativeSrc": "7968:53:1",
"nodeType": "YulFunctionCall",
"src": "7968:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "7958:6:1",
"nodeType": "YulIdentifier",
"src": "7958:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nativeSrc": "7709:329:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "7745:9:1",
"nodeType": "YulTypedName",
"src": "7745:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "7756:7:1",
"nodeType": "YulTypedName",
"src": "7756:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "7768:6:1",
"nodeType": "YulTypedName",
"src": "7768:6:1",
"type": ""
}
],
"src": "7709:329:1"
},
{
"body": {
"nativeSrc": "8109:53:1",
"nodeType": "YulBlock",
"src": "8109:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "8126:3:1",
"nodeType": "YulIdentifier",
"src": "8126:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "8149:5:1",
"nodeType": "YulIdentifier",
"src": "8149:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nativeSrc": "8131:17:1",
"nodeType": "YulIdentifier",
"src": "8131:17:1"
},
"nativeSrc": "8131:24:1",
"nodeType": "YulFunctionCall",
"src": "8131:24:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "8119:6:1",
"nodeType": "YulIdentifier",
"src": "8119:6:1"
},
"nativeSrc": "8119:37:1",
"nodeType": "YulFunctionCall",
"src": "8119:37:1"
},
"nativeSrc": "8119:37:1",
"nodeType": "YulExpressionStatement",
"src": "8119:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "8044:118:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "8097:5:1",
"nodeType": "YulTypedName",
"src": "8097:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "8104:3:1",
"nodeType": "YulTypedName",
"src": "8104:3:1",
"type": ""
}
],
"src": "8044:118:1"
},
{
"body": {
"nativeSrc": "8266:124:1",
"nodeType": "YulBlock",
"src": "8266:124:1",
"statements": [
{
"nativeSrc": "8276:26:1",
"nodeType": "YulAssignment",
"src": "8276:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "8288:9:1",
"nodeType": "YulIdentifier",
"src": "8288:9:1"
},
{
"kind": "number",
"nativeSrc": "8299:2:1",
"nodeType": "YulLiteral",
"src": "8299:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8284:3:1",
"nodeType": "YulIdentifier",
"src": "8284:3:1"
},
"nativeSrc": "8284:18:1",
"nodeType": "YulFunctionCall",
"src": "8284:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "8276:4:1",
"nodeType": "YulIdentifier",
"src": "8276:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "8356:6:1",
"nodeType": "YulIdentifier",
"src": "8356:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "8369:9:1",
"nodeType": "YulIdentifier",
"src": "8369:9:1"
},
{
"kind": "number",
"nativeSrc": "8380:1:1",
"nodeType": "YulLiteral",
"src": "8380:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8365:3:1",
"nodeType": "YulIdentifier",
"src": "8365:3:1"
},
"nativeSrc": "8365:17:1",
"nodeType": "YulFunctionCall",
"src": "8365:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "8312:43:1",
"nodeType": "YulIdentifier",
"src": "8312:43:1"
},
"nativeSrc": "8312:71:1",
"nodeType": "YulFunctionCall",
"src": "8312:71:1"
},
"nativeSrc": "8312:71:1",
"nodeType": "YulExpressionStatement",
"src": "8312:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nativeSrc": "8168:222:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "8238:9:1",
"nodeType": "YulTypedName",
"src": "8238:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "8250:6:1",
"nodeType": "YulTypedName",
"src": "8250:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "8261:4:1",
"nodeType": "YulTypedName",
"src": "8261:4:1",
"type": ""
}
],
"src": "8168:222:1"
},
{
"body": {
"nativeSrc": "8479:391:1",
"nodeType": "YulBlock",
"src": "8479:391:1",
"statements": [
{
"body": {
"nativeSrc": "8525:83:1",
"nodeType": "YulBlock",
"src": "8525:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "8527:77:1",
"nodeType": "YulIdentifier",
"src": "8527:77:1"
},
"nativeSrc": "8527:79:1",
"nodeType": "YulFunctionCall",
"src": "8527:79:1"
},
"nativeSrc": "8527:79:1",
"nodeType": "YulExpressionStatement",
"src": "8527:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "8500:7:1",
"nodeType": "YulIdentifier",
"src": "8500:7:1"
},
{
"name": "headStart",
"nativeSrc": "8509:9:1",
"nodeType": "YulIdentifier",
"src": "8509:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "8496:3:1",
"nodeType": "YulIdentifier",
"src": "8496:3:1"
},
"nativeSrc": "8496:23:1",
"nodeType": "YulFunctionCall",
"src": "8496:23:1"
},
{
"kind": "number",
"nativeSrc": "8521:2:1",
"nodeType": "YulLiteral",
"src": "8521:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "8492:3:1",
"nodeType": "YulIdentifier",
"src": "8492:3:1"
},
"nativeSrc": "8492:32:1",
"nodeType": "YulFunctionCall",
"src": "8492:32:1"
},
"nativeSrc": "8489:119:1",
"nodeType": "YulIf",
"src": "8489:119:1"
},
{
"nativeSrc": "8618:117:1",
"nodeType": "YulBlock",
"src": "8618:117:1",
"statements": [
{
"nativeSrc": "8633:15:1",
"nodeType": "YulVariableDeclaration",
"src": "8633:15:1",
"value": {
"kind": "number",
"nativeSrc": "8647:1:1",
"nodeType": "YulLiteral",
"src": "8647:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "8637:6:1",
"nodeType": "YulTypedName",
"src": "8637:6:1",
"type": ""
}
]
},
{
"nativeSrc": "8662:63:1",
"nodeType": "YulAssignment",
"src": "8662:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "8697:9:1",
"nodeType": "YulIdentifier",
"src": "8697:9:1"
},
{
"name": "offset",
"nativeSrc": "8708:6:1",
"nodeType": "YulIdentifier",
"src": "8708:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8693:3:1",
"nodeType": "YulIdentifier",
"src": "8693:3:1"
},
"nativeSrc": "8693:22:1",
"nodeType": "YulFunctionCall",
"src": "8693:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "8717:7:1",
"nodeType": "YulIdentifier",
"src": "8717:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "8672:20:1",
"nodeType": "YulIdentifier",
"src": "8672:20:1"
},
"nativeSrc": "8672:53:1",
"nodeType": "YulFunctionCall",
"src": "8672:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "8662:6:1",
"nodeType": "YulIdentifier",
"src": "8662:6:1"
}
]
}
]
},
{
"nativeSrc": "8745:118:1",
"nodeType": "YulBlock",
"src": "8745:118:1",
"statements": [
{
"nativeSrc": "8760:16:1",
"nodeType": "YulVariableDeclaration",
"src": "8760:16:1",
"value": {
"kind": "number",
"nativeSrc": "8774:2:1",
"nodeType": "YulLiteral",
"src": "8774:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nativeSrc": "8764:6:1",
"nodeType": "YulTypedName",
"src": "8764:6:1",
"type": ""
}
]
},
{
"nativeSrc": "8790:63:1",
"nodeType": "YulAssignment",
"src": "8790:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "8825:9:1",
"nodeType": "YulIdentifier",
"src": "8825:9:1"
},
{
"name": "offset",
"nativeSrc": "8836:6:1",
"nodeType": "YulIdentifier",
"src": "8836:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8821:3:1",
"nodeType": "YulIdentifier",
"src": "8821:3:1"
},
"nativeSrc": "8821:22:1",
"nodeType": "YulFunctionCall",
"src": "8821:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "8845:7:1",
"nodeType": "YulIdentifier",
"src": "8845:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "8800:20:1",
"nodeType": "YulIdentifier",
"src": "8800:20:1"
},
"nativeSrc": "8800:53:1",
"nodeType": "YulFunctionCall",
"src": "8800:53:1"
},
"variableNames": [
{
"name": "value1",
"nativeSrc": "8790:6:1",
"nodeType": "YulIdentifier",
"src": "8790:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_address",
"nativeSrc": "8396:474:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "8441:9:1",
"nodeType": "YulTypedName",
"src": "8441:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "8452:7:1",
"nodeType": "YulTypedName",
"src": "8452:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "8464:6:1",
"nodeType": "YulTypedName",
"src": "8464:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "8472:6:1",
"nodeType": "YulTypedName",
"src": "8472:6:1",
"type": ""
}
],
"src": "8396:474:1"
},
{
"body": {
"nativeSrc": "8904:152:1",
"nodeType": "YulBlock",
"src": "8904:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "8921:1:1",
"nodeType": "YulLiteral",
"src": "8921:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "8924:77:1",
"nodeType": "YulLiteral",
"src": "8924:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "8914:6:1",
"nodeType": "YulIdentifier",
"src": "8914:6:1"
},
"nativeSrc": "8914:88:1",
"nodeType": "YulFunctionCall",
"src": "8914:88:1"
},
"nativeSrc": "8914:88:1",
"nodeType": "YulExpressionStatement",
"src": "8914:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "9018:1:1",
"nodeType": "YulLiteral",
"src": "9018:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "9021:4:1",
"nodeType": "YulLiteral",
"src": "9021:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "9011:6:1",
"nodeType": "YulIdentifier",
"src": "9011:6:1"
},
"nativeSrc": "9011:15:1",
"nodeType": "YulFunctionCall",
"src": "9011:15:1"
},
"nativeSrc": "9011:15:1",
"nodeType": "YulExpressionStatement",
"src": "9011:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "9042:1:1",
"nodeType": "YulLiteral",
"src": "9042:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "9045:4:1",
"nodeType": "YulLiteral",
"src": "9045:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "9035:6:1",
"nodeType": "YulIdentifier",
"src": "9035:6:1"
},
"nativeSrc": "9035:15:1",
"nodeType": "YulFunctionCall",
"src": "9035:15:1"
},
"nativeSrc": "9035:15:1",
"nodeType": "YulExpressionStatement",
"src": "9035:15:1"
}
]
},
"name": "panic_error_0x22",
"nativeSrc": "8876:180:1",
"nodeType": "YulFunctionDefinition",
"src": "8876:180:1"
},
{
"body": {
"nativeSrc": "9113:269:1",
"nodeType": "YulBlock",
"src": "9113:269:1",
"statements": [
{
"nativeSrc": "9123:22:1",
"nodeType": "YulAssignment",
"src": "9123:22:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "9137:4:1",
"nodeType": "YulIdentifier",
"src": "9137:4:1"
},
{
"kind": "number",
"nativeSrc": "9143:1:1",
"nodeType": "YulLiteral",
"src": "9143:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nativeSrc": "9133:3:1",
"nodeType": "YulIdentifier",
"src": "9133:3:1"
},
"nativeSrc": "9133:12:1",
"nodeType": "YulFunctionCall",
"src": "9133:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "9123:6:1",
"nodeType": "YulIdentifier",
"src": "9123:6:1"
}
]
},
{
"nativeSrc": "9154:38:1",
"nodeType": "YulVariableDeclaration",
"src": "9154:38:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "9184:4:1",
"nodeType": "YulIdentifier",
"src": "9184:4:1"
},
{
"kind": "number",
"nativeSrc": "9190:1:1",
"nodeType": "YulLiteral",
"src": "9190:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "9180:3:1",
"nodeType": "YulIdentifier",
"src": "9180:3:1"
},
"nativeSrc": "9180:12:1",
"nodeType": "YulFunctionCall",
"src": "9180:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "9158:18:1",
"nodeType": "YulTypedName",
"src": "9158:18:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "9231:51:1",
"nodeType": "YulBlock",
"src": "9231:51:1",
"statements": [
{
"nativeSrc": "9245:27:1",
"nodeType": "YulAssignment",
"src": "9245:27:1",
"value": {
"arguments": [
{
"name": "length",
"nativeSrc": "9259:6:1",
"nodeType": "YulIdentifier",
"src": "9259:6:1"
},
{
"kind": "number",
"nativeSrc": "9267:4:1",
"nodeType": "YulLiteral",
"src": "9267:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nativeSrc": "9255:3:1",
"nodeType": "YulIdentifier",
"src": "9255:3:1"
},
"nativeSrc": "9255:17:1",
"nodeType": "YulFunctionCall",
"src": "9255:17:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "9245:6:1",
"nodeType": "YulIdentifier",
"src": "9245:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "9211:18:1",
"nodeType": "YulIdentifier",
"src": "9211:18:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "9204:6:1",
"nodeType": "YulIdentifier",
"src": "9204:6:1"
},
"nativeSrc": "9204:26:1",
"nodeType": "YulFunctionCall",
"src": "9204:26:1"
},
"nativeSrc": "9201:81:1",
"nodeType": "YulIf",
"src": "9201:81:1"
},
{
"body": {
"nativeSrc": "9334:42:1",
"nodeType": "YulBlock",
"src": "9334:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nativeSrc": "9348:16:1",
"nodeType": "YulIdentifier",
"src": "9348:16:1"
},
"nativeSrc": "9348:18:1",
"nodeType": "YulFunctionCall",
"src": "9348:18:1"
},
"nativeSrc": "9348:18:1",
"nodeType": "YulExpressionStatement",
"src": "9348:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "9298:18:1",
"nodeType": "YulIdentifier",
"src": "9298:18:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "9321:6:1",
"nodeType": "YulIdentifier",
"src": "9321:6:1"
},
{
"kind": "number",
"nativeSrc": "9329:2:1",
"nodeType": "YulLiteral",
"src": "9329:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "9318:2:1",
"nodeType": "YulIdentifier",
"src": "9318:2:1"
},
"nativeSrc": "9318:14:1",
"nodeType": "YulFunctionCall",
"src": "9318:14:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "9295:2:1",
"nodeType": "YulIdentifier",
"src": "9295:2:1"
},
"nativeSrc": "9295:38:1",
"nodeType": "YulFunctionCall",
"src": "9295:38:1"
},
"nativeSrc": "9292:84:1",
"nodeType": "YulIf",
"src": "9292:84:1"
}
]
},
"name": "extract_byte_array_length",
"nativeSrc": "9062:320:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "9097:4:1",
"nodeType": "YulTypedName",
"src": "9097:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "9106:6:1",
"nodeType": "YulTypedName",
"src": "9106:6:1",
"type": ""
}
],
"src": "9062:320:1"
},
{
"body": {
"nativeSrc": "9494:71:1",
"nodeType": "YulBlock",
"src": "9494:71:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "9516:6:1",
"nodeType": "YulIdentifier",
"src": "9516:6:1"
},
{
"kind": "number",
"nativeSrc": "9524:1:1",
"nodeType": "YulLiteral",
"src": "9524:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9512:3:1",
"nodeType": "YulIdentifier",
"src": "9512:3:1"
},
"nativeSrc": "9512:14:1",
"nodeType": "YulFunctionCall",
"src": "9512:14:1"
},
{
"hexValue": "43616e6e6f7420617070726f7665207a65726f2061646472657373",
"kind": "string",
"nativeSrc": "9528:29:1",
"nodeType": "YulLiteral",
"src": "9528:29:1",
"type": "",
"value": "Cannot approve zero address"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "9505:6:1",
"nodeType": "YulIdentifier",
"src": "9505:6:1"
},
"nativeSrc": "9505:53:1",
"nodeType": "YulFunctionCall",
"src": "9505:53:1"
},
"nativeSrc": "9505:53:1",
"nodeType": "YulExpressionStatement",
"src": "9505:53:1"
}
]
},
"name": "store_literal_in_memory_0cbffce02650d1c5ed2b639dc708d6fda7cacbd6b8d41a8f8e678e28ed22a498",
"nativeSrc": "9388:177:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "9486:6:1",
"nodeType": "YulTypedName",
"src": "9486:6:1",
"type": ""
}
],
"src": "9388:177:1"
},
{
"body": {
"nativeSrc": "9717:220:1",
"nodeType": "YulBlock",
"src": "9717:220:1",
"statements": [
{
"nativeSrc": "9727:74:1",
"nodeType": "YulAssignment",
"src": "9727:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "9793:3:1",
"nodeType": "YulIdentifier",
"src": "9793:3:1"
},
{
"kind": "number",
"nativeSrc": "9798:2:1",
"nodeType": "YulLiteral",
"src": "9798:2:1",
"type": "",
"value": "27"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "9734:58:1",
"nodeType": "YulIdentifier",
"src": "9734:58:1"
},
"nativeSrc": "9734:67:1",
"nodeType": "YulFunctionCall",
"src": "9734:67:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "9727:3:1",
"nodeType": "YulIdentifier",
"src": "9727:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "9899:3:1",
"nodeType": "YulIdentifier",
"src": "9899:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_0cbffce02650d1c5ed2b639dc708d6fda7cacbd6b8d41a8f8e678e28ed22a498",
"nativeSrc": "9810:88:1",
"nodeType": "YulIdentifier",
"src": "9810:88:1"
},
"nativeSrc": "9810:93:1",
"nodeType": "YulFunctionCall",
"src": "9810:93:1"
},
"nativeSrc": "9810:93:1",
"nodeType": "YulExpressionStatement",
"src": "9810:93:1"
},
{
"nativeSrc": "9912:19:1",
"nodeType": "YulAssignment",
"src": "9912:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "9923:3:1",
"nodeType": "YulIdentifier",
"src": "9923:3:1"
},
{
"kind": "number",
"nativeSrc": "9928:2:1",
"nodeType": "YulLiteral",
"src": "9928:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9919:3:1",
"nodeType": "YulIdentifier",
"src": "9919:3:1"
},
"nativeSrc": "9919:12:1",
"nodeType": "YulFunctionCall",
"src": "9919:12:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "9912:3:1",
"nodeType": "YulIdentifier",
"src": "9912:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_0cbffce02650d1c5ed2b639dc708d6fda7cacbd6b8d41a8f8e678e28ed22a498_to_t_string_memory_ptr_fromStack",
"nativeSrc": "9571:366:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "9705:3:1",
"nodeType": "YulTypedName",
"src": "9705:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "9713:3:1",
"nodeType": "YulTypedName",
"src": "9713:3:1",
"type": ""
}
],
"src": "9571:366:1"
},
{
"body": {
"nativeSrc": "10114:248:1",
"nodeType": "YulBlock",
"src": "10114:248:1",
"statements": [
{
"nativeSrc": "10124:26:1",
"nodeType": "YulAssignment",
"src": "10124:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "10136:9:1",
"nodeType": "YulIdentifier",
"src": "10136:9:1"
},
{
"kind": "number",
"nativeSrc": "10147:2:1",
"nodeType": "YulLiteral",
"src": "10147:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "10132:3:1",
"nodeType": "YulIdentifier",
"src": "10132:3:1"
},
"nativeSrc": "10132:18:1",
"nodeType": "YulFunctionCall",
"src": "10132:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "10124:4:1",
"nodeType": "YulIdentifier",
"src": "10124:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "10171:9:1",
"nodeType": "YulIdentifier",
"src": "10171:9:1"
},
{
"kind": "number",
"nativeSrc": "10182:1:1",
"nodeType": "YulLiteral",
"src": "10182:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "10167:3:1",
"nodeType": "YulIdentifier",
"src": "10167:3:1"
},
"nativeSrc": "10167:17:1",
"nodeType": "YulFunctionCall",
"src": "10167:17:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "10190:4:1",
"nodeType": "YulIdentifier",
"src": "10190:4:1"
},
{
"name": "headStart",
"nativeSrc": "10196:9:1",
"nodeType": "YulIdentifier",
"src": "10196:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "10186:3:1",
"nodeType": "YulIdentifier",
"src": "10186:3:1"
},
"nativeSrc": "10186:20:1",
"nodeType": "YulFunctionCall",
"src": "10186:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "10160:6:1",
"nodeType": "YulIdentifier",
"src": "10160:6:1"
},
"nativeSrc": "10160:47:1",
"nodeType": "YulFunctionCall",
"src": "10160:47:1"
},
"nativeSrc": "10160:47:1",
"nodeType": "YulExpressionStatement",
"src": "10160:47:1"
},
{
"nativeSrc": "10216:139:1",
"nodeType": "YulAssignment",
"src": "10216:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "10350:4:1",
"nodeType": "YulIdentifier",
"src": "10350:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_0cbffce02650d1c5ed2b639dc708d6fda7cacbd6b8d41a8f8e678e28ed22a498_to_t_string_memory_ptr_fromStack",
"nativeSrc": "10224:124:1",
"nodeType": "YulIdentifier",
"src": "10224:124:1"
},
"nativeSrc": "10224:131:1",
"nodeType": "YulFunctionCall",
"src": "10224:131:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "10216:4:1",
"nodeType": "YulIdentifier",
"src": "10216:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_0cbffce02650d1c5ed2b639dc708d6fda7cacbd6b8d41a8f8e678e28ed22a498__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "9943:419:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "10094:9:1",
"nodeType": "YulTypedName",
"src": "10094:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "10109:4:1",
"nodeType": "YulTypedName",
"src": "10109:4:1",
"type": ""
}
],
"src": "9943:419:1"
},
{
"body": {
"nativeSrc": "10474:75:1",
"nodeType": "YulBlock",
"src": "10474:75:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "10496:6:1",
"nodeType": "YulIdentifier",
"src": "10496:6:1"
},
{
"kind": "number",
"nativeSrc": "10504:1:1",
"nodeType": "YulLiteral",
"src": "10504:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "10492:3:1",
"nodeType": "YulIdentifier",
"src": "10492:3:1"
},
"nativeSrc": "10492:14:1",
"nodeType": "YulFunctionCall",
"src": "10492:14:1"
},
{
"hexValue": "43616e6e6f74207472616e7366657220746f207a65726f2061646472657373",
"kind": "string",
"nativeSrc": "10508:33:1",
"nodeType": "YulLiteral",
"src": "10508:33:1",
"type": "",
"value": "Cannot transfer to zero address"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "10485:6:1",
"nodeType": "YulIdentifier",
"src": "10485:6:1"
},
"nativeSrc": "10485:57:1",
"nodeType": "YulFunctionCall",
"src": "10485:57:1"
},
"nativeSrc": "10485:57:1",
"nodeType": "YulExpressionStatement",
"src": "10485:57:1"
}
]
},
"name": "store_literal_in_memory_bb6ef8259868f621162cf2269ec456fd6e3660c295ef634f53db3982172a569f",
"nativeSrc": "10368:181:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "10466:6:1",
"nodeType": "YulTypedName",
"src": "10466:6:1",
"type": ""
}
],
"src": "10368:181:1"
},
{
"body": {
"nativeSrc": "10701:220:1",
"nodeType": "YulBlock",
"src": "10701:220:1",
"statements": [
{
"nativeSrc": "10711:74:1",
"nodeType": "YulAssignment",
"src": "10711:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "10777:3:1",
"nodeType": "YulIdentifier",
"src": "10777:3:1"
},
{
"kind": "number",
"nativeSrc": "10782:2:1",
"nodeType": "YulLiteral",
"src": "10782:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "10718:58:1",
"nodeType": "YulIdentifier",
"src": "10718:58:1"
},
"nativeSrc": "10718:67:1",
"nodeType": "YulFunctionCall",
"src": "10718:67:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "10711:3:1",
"nodeType": "YulIdentifier",
"src": "10711:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "10883:3:1",
"nodeType": "YulIdentifier",
"src": "10883:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_bb6ef8259868f621162cf2269ec456fd6e3660c295ef634f53db3982172a569f",
"nativeSrc": "10794:88:1",
"nodeType": "YulIdentifier",
"src": "10794:88:1"
},
"nativeSrc": "10794:93:1",
"nodeType": "YulFunctionCall",
"src": "10794:93:1"
},
"nativeSrc": "10794:93:1",
"nodeType": "YulExpressionStatement",
"src": "10794:93:1"
},
{
"nativeSrc": "10896:19:1",
"nodeType": "YulAssignment",
"src": "10896:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "10907:3:1",
"nodeType": "YulIdentifier",
"src": "10907:3:1"
},
{
"kind": "number",
"nativeSrc": "10912:2:1",
"nodeType": "YulLiteral",
"src": "10912:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "10903:3:1",
"nodeType": "YulIdentifier",
"src": "10903:3:1"
},
"nativeSrc": "10903:12:1",
"nodeType": "YulFunctionCall",
"src": "10903:12:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "10896:3:1",
"nodeType": "YulIdentifier",
"src": "10896:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_bb6ef8259868f621162cf2269ec456fd6e3660c295ef634f53db3982172a569f_to_t_string_memory_ptr_fromStack",
"nativeSrc": "10555:366:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "10689:3:1",
"nodeType": "YulTypedName",
"src": "10689:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "10697:3:1",
"nodeType": "YulTypedName",
"src": "10697:3:1",
"type": ""
}
],
"src": "10555:366:1"
},
{
"body": {
"nativeSrc": "11098:248:1",
"nodeType": "YulBlock",
"src": "11098:248:1",
"statements": [
{
"nativeSrc": "11108:26:1",
"nodeType": "YulAssignment",
"src": "11108:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "11120:9:1",
"nodeType": "YulIdentifier",
"src": "11120:9:1"
},
{
"kind": "number",
"nativeSrc": "11131:2:1",
"nodeType": "YulLiteral",
"src": "11131:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "11116:3:1",
"nodeType": "YulIdentifier",
"src": "11116:3:1"
},
"nativeSrc": "11116:18:1",
"nodeType": "YulFunctionCall",
"src": "11116:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "11108:4:1",
"nodeType": "YulIdentifier",
"src": "11108:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "11155:9:1",
"nodeType": "YulIdentifier",
"src": "11155:9:1"
},
{
"kind": "number",
"nativeSrc": "11166:1:1",
"nodeType": "YulLiteral",
"src": "11166:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "11151:3:1",
"nodeType": "YulIdentifier",
"src": "11151:3:1"
},
"nativeSrc": "11151:17:1",
"nodeType": "YulFunctionCall",
"src": "11151:17:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "11174:4:1",
"nodeType": "YulIdentifier",
"src": "11174:4:1"
},
{
"name": "headStart",
"nativeSrc": "11180:9:1",
"nodeType": "YulIdentifier",
"src": "11180:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "11170:3:1",
"nodeType": "YulIdentifier",
"src": "11170:3:1"
},
"nativeSrc": "11170:20:1",
"nodeType": "YulFunctionCall",
"src": "11170:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "11144:6:1",
"nodeType": "YulIdentifier",
"src": "11144:6:1"
},
"nativeSrc": "11144:47:1",
"nodeType": "YulFunctionCall",
"src": "11144:47:1"
},
"nativeSrc": "11144:47:1",
"nodeType": "YulExpressionStatement",
"src": "11144:47:1"
},
{
"nativeSrc": "11200:139:1",
"nodeType": "YulAssignment",
"src": "11200:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "11334:4:1",
"nodeType": "YulIdentifier",
"src": "11334:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_bb6ef8259868f621162cf2269ec456fd6e3660c295ef634f53db3982172a569f_to_t_string_memory_ptr_fromStack",
"nativeSrc": "11208:124:1",
"nodeType": "YulIdentifier",
"src": "11208:124:1"
},
"nativeSrc": "11208:131:1",
"nodeType": "YulFunctionCall",
"src": "11208:131:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "11200:4:1",
"nodeType": "YulIdentifier",
"src": "11200:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_bb6ef8259868f621162cf2269ec456fd6e3660c295ef634f53db3982172a569f__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "10927:419:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "11078:9:1",
"nodeType": "YulTypedName",
"src": "11078:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "11093:4:1",
"nodeType": "YulTypedName",
"src": "11093:4:1",
"type": ""
}
],
"src": "10927:419:1"
},
{
"body": {
"nativeSrc": "11458:64:1",
"nodeType": "YulBlock",
"src": "11458:64:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "11480:6:1",
"nodeType": "YulIdentifier",
"src": "11480:6:1"
},
{
"kind": "number",
"nativeSrc": "11488:1:1",
"nodeType": "YulLiteral",
"src": "11488:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "11476:3:1",
"nodeType": "YulIdentifier",
"src": "11476:3:1"
},
"nativeSrc": "11476:14:1",
"nodeType": "YulFunctionCall",
"src": "11476:14:1"
},
{
"hexValue": "496e73756666696369656e742062616c616e6365",
"kind": "string",
"nativeSrc": "11492:22:1",
"nodeType": "YulLiteral",
"src": "11492:22:1",
"type": "",
"value": "Insufficient balance"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "11469:6:1",
"nodeType": "YulIdentifier",
"src": "11469:6:1"
},
"nativeSrc": "11469:46:1",
"nodeType": "YulFunctionCall",
"src": "11469:46:1"
},
"nativeSrc": "11469:46:1",
"nodeType": "YulExpressionStatement",
"src": "11469:46:1"
}
]
},
"name": "store_literal_in_memory_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5",
"nativeSrc": "11352:170:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "11450:6:1",
"nodeType": "YulTypedName",
"src": "11450:6:1",
"type": ""
}
],
"src": "11352:170:1"
},
{
"body": {
"nativeSrc": "11674:220:1",
"nodeType": "YulBlock",
"src": "11674:220:1",
"statements": [
{
"nativeSrc": "11684:74:1",
"nodeType": "YulAssignment",
"src": "11684:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "11750:3:1",
"nodeType": "YulIdentifier",
"src": "11750:3:1"
},
{
"kind": "number",
"nativeSrc": "11755:2:1",
"nodeType": "YulLiteral",
"src": "11755:2:1",
"type": "",
"value": "20"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "11691:58:1",
"nodeType": "YulIdentifier",
"src": "11691:58:1"
},
"nativeSrc": "11691:67:1",
"nodeType": "YulFunctionCall",
"src": "11691:67:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "11684:3:1",
"nodeType": "YulIdentifier",
"src": "11684:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "11856:3:1",
"nodeType": "YulIdentifier",
"src": "11856:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5",
"nativeSrc": "11767:88:1",
"nodeType": "YulIdentifier",
"src": "11767:88:1"
},
"nativeSrc": "11767:93:1",
"nodeType": "YulFunctionCall",
"src": "11767:93:1"
},
"nativeSrc": "11767:93:1",
"nodeType": "YulExpressionStatement",
"src": "11767:93:1"
},
{
"nativeSrc": "11869:19:1",
"nodeType": "YulAssignment",
"src": "11869:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "11880:3:1",
"nodeType": "YulIdentifier",
"src": "11880:3:1"
},
{
"kind": "number",
"nativeSrc": "11885:2:1",
"nodeType": "YulLiteral",
"src": "11885:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "11876:3:1",
"nodeType": "YulIdentifier",
"src": "11876:3:1"
},
"nativeSrc": "11876:12:1",
"nodeType": "YulFunctionCall",
"src": "11876:12:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "11869:3:1",
"nodeType": "YulIdentifier",
"src": "11869:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5_to_t_string_memory_ptr_fromStack",
"nativeSrc": "11528:366:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "11662:3:1",
"nodeType": "YulTypedName",
"src": "11662:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "11670:3:1",
"nodeType": "YulTypedName",
"src": "11670:3:1",
"type": ""
}
],
"src": "11528:366:1"
},
{
"body": {
"nativeSrc": "12071:248:1",
"nodeType": "YulBlock",
"src": "12071:248:1",
"statements": [
{
"nativeSrc": "12081:26:1",
"nodeType": "YulAssignment",
"src": "12081:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "12093:9:1",
"nodeType": "YulIdentifier",
"src": "12093:9:1"
},
{
"kind": "number",
"nativeSrc": "12104:2:1",
"nodeType": "YulLiteral",
"src": "12104:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "12089:3:1",
"nodeType": "YulIdentifier",
"src": "12089:3:1"
},
"nativeSrc": "12089:18:1",
"nodeType": "YulFunctionCall",
"src": "12089:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "12081:4:1",
"nodeType": "YulIdentifier",
"src": "12081:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "12128:9:1",
"nodeType": "YulIdentifier",
"src": "12128:9:1"
},
{
"kind": "number",
"nativeSrc": "12139:1:1",
"nodeType": "YulLiteral",
"src": "12139:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "12124:3:1",
"nodeType": "YulIdentifier",
"src": "12124:3:1"
},
"nativeSrc": "12124:17:1",
"nodeType": "YulFunctionCall",
"src": "12124:17:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "12147:4:1",
"nodeType": "YulIdentifier",
"src": "12147:4:1"
},
{
"name": "headStart",
"nativeSrc": "12153:9:1",
"nodeType": "YulIdentifier",
"src": "12153:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "12143:3:1",
"nodeType": "YulIdentifier",
"src": "12143:3:1"
},
"nativeSrc": "12143:20:1",
"nodeType": "YulFunctionCall",
"src": "12143:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "12117:6:1",
"nodeType": "YulIdentifier",
"src": "12117:6:1"
},
"nativeSrc": "12117:47:1",
"nodeType": "YulFunctionCall",
"src": "12117:47:1"
},
"nativeSrc": "12117:47:1",
"nodeType": "YulExpressionStatement",
"src": "12117:47:1"
},
{
"nativeSrc": "12173:139:1",
"nodeType": "YulAssignment",
"src": "12173:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "12307:4:1",
"nodeType": "YulIdentifier",
"src": "12307:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5_to_t_string_memory_ptr_fromStack",
"nativeSrc": "12181:124:1",
"nodeType": "YulIdentifier",
"src": "12181:124:1"
},
"nativeSrc": "12181:131:1",
"nodeType": "YulFunctionCall",
"src": "12181:131:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "12173:4:1",
"nodeType": "YulIdentifier",
"src": "12173:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "11900:419:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "12051:9:1",
"nodeType": "YulTypedName",
"src": "12051:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "12066:4:1",
"nodeType": "YulTypedName",
"src": "12066:4:1",
"type": ""
}
],
"src": "11900:419:1"
},
{
"body": {
"nativeSrc": "12431:62:1",
"nodeType": "YulBlock",
"src": "12431:62:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "12453:6:1",
"nodeType": "YulIdentifier",
"src": "12453:6:1"
},
{
"kind": "number",
"nativeSrc": "12461:1:1",
"nodeType": "YulLiteral",
"src": "12461:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "12449:3:1",
"nodeType": "YulIdentifier",
"src": "12449:3:1"
},
"nativeSrc": "12449:14:1",
"nodeType": "YulFunctionCall",
"src": "12449:14:1"
},
{
"hexValue": "416c6c6f77616e6365206578636565646564",
"kind": "string",
"nativeSrc": "12465:20:1",
"nodeType": "YulLiteral",
"src": "12465:20:1",
"type": "",
"value": "Allowance exceeded"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "12442:6:1",
"nodeType": "YulIdentifier",
"src": "12442:6:1"
},
"nativeSrc": "12442:44:1",
"nodeType": "YulFunctionCall",
"src": "12442:44:1"
},
"nativeSrc": "12442:44:1",
"nodeType": "YulExpressionStatement",
"src": "12442:44:1"
}
]
},
"name": "store_literal_in_memory_12965c5a04e4382415d38b7802f2e82c1d2e7cc8b8ef9ef51ff6c86060f08027",
"nativeSrc": "12325:168:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "12423:6:1",
"nodeType": "YulTypedName",
"src": "12423:6:1",
"type": ""
}
],
"src": "12325:168:1"
},
{
"body": {
"nativeSrc": "12645:220:1",
"nodeType": "YulBlock",
"src": "12645:220:1",
"statements": [
{
"nativeSrc": "12655:74:1",
"nodeType": "YulAssignment",
"src": "12655:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "12721:3:1",
"nodeType": "YulIdentifier",
"src": "12721:3:1"
},
{
"kind": "number",
"nativeSrc": "12726:2:1",
"nodeType": "YulLiteral",
"src": "12726:2:1",
"type": "",
"value": "18"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "12662:58:1",
"nodeType": "YulIdentifier",
"src": "12662:58:1"
},
"nativeSrc": "12662:67:1",
"nodeType": "YulFunctionCall",
"src": "12662:67:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "12655:3:1",
"nodeType": "YulIdentifier",
"src": "12655:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "12827:3:1",
"nodeType": "YulIdentifier",
"src": "12827:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_12965c5a04e4382415d38b7802f2e82c1d2e7cc8b8ef9ef51ff6c86060f08027",
"nativeSrc": "12738:88:1",
"nodeType": "YulIdentifier",
"src": "12738:88:1"
},
"nativeSrc": "12738:93:1",
"nodeType": "YulFunctionCall",
"src": "12738:93:1"
},
"nativeSrc": "12738:93:1",
"nodeType": "YulExpressionStatement",
"src": "12738:93:1"
},
{
"nativeSrc": "12840:19:1",
"nodeType": "YulAssignment",
"src": "12840:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "12851:3:1",
"nodeType": "YulIdentifier",
"src": "12851:3:1"
},
{
"kind": "number",
"nativeSrc": "12856:2:1",
"nodeType": "YulLiteral",
"src": "12856:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "12847:3:1",
"nodeType": "YulIdentifier",
"src": "12847:3:1"
},
"nativeSrc": "12847:12:1",
"nodeType": "YulFunctionCall",
"src": "12847:12:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "12840:3:1",
"nodeType": "YulIdentifier",
"src": "12840:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_12965c5a04e4382415d38b7802f2e82c1d2e7cc8b8ef9ef51ff6c86060f08027_to_t_string_memory_ptr_fromStack",
"nativeSrc": "12499:366:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "12633:3:1",
"nodeType": "YulTypedName",
"src": "12633:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "12641:3:1",
"nodeType": "YulTypedName",
"src": "12641:3:1",
"type": ""
}
],
"src": "12499:366:1"
},
{
"body": {
"nativeSrc": "13042:248:1",
"nodeType": "YulBlock",
"src": "13042:248:1",
"statements": [
{
"nativeSrc": "13052:26:1",
"nodeType": "YulAssignment",
"src": "13052:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "13064:9:1",
"nodeType": "YulIdentifier",
"src": "13064:9:1"
},
{
"kind": "number",
"nativeSrc": "13075:2:1",
"nodeType": "YulLiteral",
"src": "13075:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "13060:3:1",
"nodeType": "YulIdentifier",
"src": "13060:3:1"
},
"nativeSrc": "13060:18:1",
"nodeType": "YulFunctionCall",
"src": "13060:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "13052:4:1",
"nodeType": "YulIdentifier",
"src": "13052:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "13099:9:1",
"nodeType": "YulIdentifier",
"src": "13099:9:1"
},
{
"kind": "number",
"nativeSrc": "13110:1:1",
"nodeType": "YulLiteral",
"src": "13110:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "13095:3:1",
"nodeType": "YulIdentifier",
"src": "13095:3:1"
},
"nativeSrc": "13095:17:1",
"nodeType": "YulFunctionCall",
"src": "13095:17:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "13118:4:1",
"nodeType": "YulIdentifier",
"src": "13118:4:1"
},
{
"name": "headStart",
"nativeSrc": "13124:9:1",
"nodeType": "YulIdentifier",
"src": "13124:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "13114:3:1",
"nodeType": "YulIdentifier",
"src": "13114:3:1"
},
"nativeSrc": "13114:20:1",
"nodeType": "YulFunctionCall",
"src": "13114:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "13088:6:1",
"nodeType": "YulIdentifier",
"src": "13088:6:1"
},
"nativeSrc": "13088:47:1",
"nodeType": "YulFunctionCall",
"src": "13088:47:1"
},
"nativeSrc": "13088:47:1",
"nodeType": "YulExpressionStatement",
"src": "13088:47:1"
},
{
"nativeSrc": "13144:139:1",
"nodeType": "YulAssignment",
"src": "13144:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "13278:4:1",
"nodeType": "YulIdentifier",
"src": "13278:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_12965c5a04e4382415d38b7802f2e82c1d2e7cc8b8ef9ef51ff6c86060f08027_to_t_string_memory_ptr_fromStack",
"nativeSrc": "13152:124:1",
"nodeType": "YulIdentifier",
"src": "13152:124:1"
},
"nativeSrc": "13152:131:1",
"nodeType": "YulFunctionCall",
"src": "13152:131:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "13144:4:1",
"nodeType": "YulIdentifier",
"src": "13144:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_12965c5a04e4382415d38b7802f2e82c1d2e7cc8b8ef9ef51ff6c86060f08027__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "12871:419:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "13022:9:1",
"nodeType": "YulTypedName",
"src": "13022:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "13037:4:1",
"nodeType": "YulTypedName",
"src": "13037:4:1",
"type": ""
}
],
"src": "12871:419:1"
},
{
"body": {
"nativeSrc": "13324:152:1",
"nodeType": "YulBlock",
"src": "13324:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "13341:1:1",
"nodeType": "YulLiteral",
"src": "13341:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "13344:77:1",
"nodeType": "YulLiteral",
"src": "13344:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "13334:6:1",
"nodeType": "YulIdentifier",
"src": "13334:6:1"
},
"nativeSrc": "13334:88:1",
"nodeType": "YulFunctionCall",
"src": "13334:88:1"
},
"nativeSrc": "13334:88:1",
"nodeType": "YulExpressionStatement",
"src": "13334:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "13438:1:1",
"nodeType": "YulLiteral",
"src": "13438:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "13441:4:1",
"nodeType": "YulLiteral",
"src": "13441:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "13431:6:1",
"nodeType": "YulIdentifier",
"src": "13431:6:1"
},
"nativeSrc": "13431:15:1",
"nodeType": "YulFunctionCall",
"src": "13431:15:1"
},
"nativeSrc": "13431:15:1",
"nodeType": "YulExpressionStatement",
"src": "13431:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "13462:1:1",
"nodeType": "YulLiteral",
"src": "13462:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "13465:4:1",
"nodeType": "YulLiteral",
"src": "13465:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "13455:6:1",
"nodeType": "YulIdentifier",
"src": "13455:6:1"
},
"nativeSrc": "13455:15:1",
"nodeType": "YulFunctionCall",
"src": "13455:15:1"
},
"nativeSrc": "13455:15:1",
"nodeType": "YulExpressionStatement",
"src": "13455:15:1"
}
]
},
"name": "panic_error_0x11",
"nativeSrc": "13296:180:1",
"nodeType": "YulFunctionDefinition",
"src": "13296:180:1"
},
{
"body": {
"nativeSrc": "13527:149:1",
"nodeType": "YulBlock",
"src": "13527:149:1",
"statements": [
{
"nativeSrc": "13537:25:1",
"nodeType": "YulAssignment",
"src": "13537:25:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "13560:1:1",
"nodeType": "YulIdentifier",
"src": "13560:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "13542:17:1",
"nodeType": "YulIdentifier",
"src": "13542:17:1"
},
"nativeSrc": "13542:20:1",
"nodeType": "YulFunctionCall",
"src": "13542:20:1"
},
"variableNames": [
{
"name": "x",
"nativeSrc": "13537:1:1",
"nodeType": "YulIdentifier",
"src": "13537:1:1"
}
]
},
{
"nativeSrc": "13571:25:1",
"nodeType": "YulAssignment",
"src": "13571:25:1",
"value": {
"arguments": [
{
"name": "y",
"nativeSrc": "13594:1:1",
"nodeType": "YulIdentifier",
"src": "13594:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "13576:17:1",
"nodeType": "YulIdentifier",
"src": "13576:17:1"
},
"nativeSrc": "13576:20:1",
"nodeType": "YulFunctionCall",
"src": "13576:20:1"
},
"variableNames": [
{
"name": "y",
"nativeSrc": "13571:1:1",
"nodeType": "YulIdentifier",
"src": "13571:1:1"
}
]
},
{
"nativeSrc": "13605:17:1",
"nodeType": "YulAssignment",
"src": "13605:17:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "13617:1:1",
"nodeType": "YulIdentifier",
"src": "13617:1:1"
},
{
"name": "y",
"nativeSrc": "13620:1:1",
"nodeType": "YulIdentifier",
"src": "13620:1:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "13613:3:1",
"nodeType": "YulIdentifier",
"src": "13613:3:1"
},
"nativeSrc": "13613:9:1",
"nodeType": "YulFunctionCall",
"src": "13613:9:1"
},
"variableNames": [
{
"name": "diff",
"nativeSrc": "13605:4:1",
"nodeType": "YulIdentifier",
"src": "13605:4:1"
}
]
},
{
"body": {
"nativeSrc": "13647:22:1",
"nodeType": "YulBlock",
"src": "13647:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "13649:16:1",
"nodeType": "YulIdentifier",
"src": "13649:16:1"
},
"nativeSrc": "13649:18:1",
"nodeType": "YulFunctionCall",
"src": "13649:18:1"
},
"nativeSrc": "13649:18:1",
"nodeType": "YulExpressionStatement",
"src": "13649:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "diff",
"nativeSrc": "13638:4:1",
"nodeType": "YulIdentifier",
"src": "13638:4:1"
},
{
"name": "x",
"nativeSrc": "13644:1:1",
"nodeType": "YulIdentifier",
"src": "13644:1:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "13635:2:1",
"nodeType": "YulIdentifier",
"src": "13635:2:1"
},
"nativeSrc": "13635:11:1",
"nodeType": "YulFunctionCall",
"src": "13635:11:1"
},
"nativeSrc": "13632:37:1",
"nodeType": "YulIf",
"src": "13632:37:1"
}
]
},
"name": "checked_sub_t_uint256",
"nativeSrc": "13482:194:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nativeSrc": "13513:1:1",
"nodeType": "YulTypedName",
"src": "13513:1:1",
"type": ""
},
{
"name": "y",
"nativeSrc": "13516:1:1",
"nodeType": "YulTypedName",
"src": "13516:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nativeSrc": "13522:4:1",
"nodeType": "YulTypedName",
"src": "13522:4:1",
"type": ""
}
],
"src": "13482:194:1"
},
{
"body": {
"nativeSrc": "13726:147:1",
"nodeType": "YulBlock",
"src": "13726:147:1",
"statements": [
{
"nativeSrc": "13736:25:1",
"nodeType": "YulAssignment",
"src": "13736:25:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "13759:1:1",
"nodeType": "YulIdentifier",
"src": "13759:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "13741:17:1",
"nodeType": "YulIdentifier",
"src": "13741:17:1"
},
"nativeSrc": "13741:20:1",
"nodeType": "YulFunctionCall",
"src": "13741:20:1"
},
"variableNames": [
{
"name": "x",
"nativeSrc": "13736:1:1",
"nodeType": "YulIdentifier",
"src": "13736:1:1"
}
]
},
{
"nativeSrc": "13770:25:1",
"nodeType": "YulAssignment",
"src": "13770:25:1",
"value": {
"arguments": [
{
"name": "y",
"nativeSrc": "13793:1:1",
"nodeType": "YulIdentifier",
"src": "13793:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "13775:17:1",
"nodeType": "YulIdentifier",
"src": "13775:17:1"
},
"nativeSrc": "13775:20:1",
"nodeType": "YulFunctionCall",
"src": "13775:20:1"
},
"variableNames": [
{
"name": "y",
"nativeSrc": "13770:1:1",
"nodeType": "YulIdentifier",
"src": "13770:1:1"
}
]
},
{
"nativeSrc": "13804:16:1",
"nodeType": "YulAssignment",
"src": "13804:16:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "13815:1:1",
"nodeType": "YulIdentifier",
"src": "13815:1:1"
},
{
"name": "y",
"nativeSrc": "13818:1:1",
"nodeType": "YulIdentifier",
"src": "13818:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "13811:3:1",
"nodeType": "YulIdentifier",
"src": "13811:3:1"
},
"nativeSrc": "13811:9:1",
"nodeType": "YulFunctionCall",
"src": "13811:9:1"
},
"variableNames": [
{
"name": "sum",
"nativeSrc": "13804:3:1",
"nodeType": "YulIdentifier",
"src": "13804:3:1"
}
]
},
{
"body": {
"nativeSrc": "13844:22:1",
"nodeType": "YulBlock",
"src": "13844:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "13846:16:1",
"nodeType": "YulIdentifier",
"src": "13846:16:1"
},
"nativeSrc": "13846:18:1",
"nodeType": "YulFunctionCall",
"src": "13846:18:1"
},
"nativeSrc": "13846:18:1",
"nodeType": "YulExpressionStatement",
"src": "13846:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nativeSrc": "13836:1:1",
"nodeType": "YulIdentifier",
"src": "13836:1:1"
},
{
"name": "sum",
"nativeSrc": "13839:3:1",
"nodeType": "YulIdentifier",
"src": "13839:3:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "13833:2:1",
"nodeType": "YulIdentifier",
"src": "13833:2:1"
},
"nativeSrc": "13833:10:1",
"nodeType": "YulFunctionCall",
"src": "13833:10:1"
},
"nativeSrc": "13830:36:1",
"nodeType": "YulIf",
"src": "13830:36:1"
}
]
},
"name": "checked_add_t_uint256",
"nativeSrc": "13682:191:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nativeSrc": "13713:1:1",
"nodeType": "YulTypedName",
"src": "13713:1:1",
"type": ""
},
{
"name": "y",
"nativeSrc": "13716:1:1",
"nodeType": "YulTypedName",
"src": "13716:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nativeSrc": "13722:3:1",
"nodeType": "YulTypedName",
"src": "13722:3:1",
"type": ""
}
],
"src": "13682:191:1"
},
{
"body": {
"nativeSrc": "13985:114:1",
"nodeType": "YulBlock",
"src": "13985:114:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "14007:6:1",
"nodeType": "YulIdentifier",
"src": "14007:6:1"
},
{
"kind": "number",
"nativeSrc": "14015:1:1",
"nodeType": "YulLiteral",
"src": "14015:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "14003:3:1",
"nodeType": "YulIdentifier",
"src": "14003:3:1"
},
"nativeSrc": "14003:14:1",
"nodeType": "YulFunctionCall",
"src": "14003:14:1"
},
{
"hexValue": "4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f",
"kind": "string",
"nativeSrc": "14019:34:1",
"nodeType": "YulLiteral",
"src": "14019:34:1",
"type": "",
"value": "Only owner can call this functio"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "13996:6:1",
"nodeType": "YulIdentifier",
"src": "13996:6:1"
},
"nativeSrc": "13996:58:1",
"nodeType": "YulFunctionCall",
"src": "13996:58:1"
},
"nativeSrc": "13996:58:1",
"nodeType": "YulExpressionStatement",
"src": "13996:58:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "14075:6:1",
"nodeType": "YulIdentifier",
"src": "14075:6:1"
},
{
"kind": "number",
"nativeSrc": "14083:2:1",
"nodeType": "YulLiteral",
"src": "14083:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "14071:3:1",
"nodeType": "YulIdentifier",
"src": "14071:3:1"
},
"nativeSrc": "14071:15:1",
"nodeType": "YulFunctionCall",
"src": "14071:15:1"
},
{
"hexValue": "6e",
"kind": "string",
"nativeSrc": "14088:3:1",
"nodeType": "YulLiteral",
"src": "14088:3:1",
"type": "",
"value": "n"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "14064:6:1",
"nodeType": "YulIdentifier",
"src": "14064:6:1"
},
"nativeSrc": "14064:28:1",
"nodeType": "YulFunctionCall",
"src": "14064:28:1"
},
"nativeSrc": "14064:28:1",
"nodeType": "YulExpressionStatement",
"src": "14064:28:1"
}
]
},
"name": "store_literal_in_memory_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef",
"nativeSrc": "13879:220:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "13977:6:1",
"nodeType": "YulTypedName",
"src": "13977:6:1",
"type": ""
}
],
"src": "13879:220:1"
},
{
"body": {
"nativeSrc": "14251:220:1",
"nodeType": "YulBlock",
"src": "14251:220:1",
"statements": [
{
"nativeSrc": "14261:74:1",
"nodeType": "YulAssignment",
"src": "14261:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "14327:3:1",
"nodeType": "YulIdentifier",
"src": "14327:3:1"
},
{
"kind": "number",
"nativeSrc": "14332:2:1",
"nodeType": "YulLiteral",
"src": "14332:2:1",
"type": "",
"value": "33"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "14268:58:1",
"nodeType": "YulIdentifier",
"src": "14268:58:1"
},
"nativeSrc": "14268:67:1",
"nodeType": "YulFunctionCall",
"src": "14268:67:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "14261:3:1",
"nodeType": "YulIdentifier",
"src": "14261:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "14433:3:1",
"nodeType": "YulIdentifier",
"src": "14433:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef",
"nativeSrc": "14344:88:1",
"nodeType": "YulIdentifier",
"src": "14344:88:1"
},
"nativeSrc": "14344:93:1",
"nodeType": "YulFunctionCall",
"src": "14344:93:1"
},
"nativeSrc": "14344:93:1",
"nodeType": "YulExpressionStatement",
"src": "14344:93:1"
},
{
"nativeSrc": "14446:19:1",
"nodeType": "YulAssignment",
"src": "14446:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "14457:3:1",
"nodeType": "YulIdentifier",
"src": "14457:3:1"
},
{
"kind": "number",
"nativeSrc": "14462:2:1",
"nodeType": "YulLiteral",
"src": "14462:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "14453:3:1",
"nodeType": "YulIdentifier",
"src": "14453:3:1"
},
"nativeSrc": "14453:12:1",
"nodeType": "YulFunctionCall",
"src": "14453:12:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "14446:3:1",
"nodeType": "YulIdentifier",
"src": "14446:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef_to_t_string_memory_ptr_fromStack",
"nativeSrc": "14105:366:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "14239:3:1",
"nodeType": "YulTypedName",
"src": "14239:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "14247:3:1",
"nodeType": "YulTypedName",
"src": "14247:3:1",
"type": ""
}
],
"src": "14105:366:1"
},
{
"body": {
"nativeSrc": "14648:248:1",
"nodeType": "YulBlock",
"src": "14648:248:1",
"statements": [
{
"nativeSrc": "14658:26:1",
"nodeType": "YulAssignment",
"src": "14658:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "14670:9:1",
"nodeType": "YulIdentifier",
"src": "14670:9:1"
},
{
"kind": "number",
"nativeSrc": "14681:2:1",
"nodeType": "YulLiteral",
"src": "14681:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "14666:3:1",
"nodeType": "YulIdentifier",
"src": "14666:3:1"
},
"nativeSrc": "14666:18:1",
"nodeType": "YulFunctionCall",
"src": "14666:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "14658:4:1",
"nodeType": "YulIdentifier",
"src": "14658:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "14705:9:1",
"nodeType": "YulIdentifier",
"src": "14705:9:1"
},
{
"kind": "number",
"nativeSrc": "14716:1:1",
"nodeType": "YulLiteral",
"src": "14716:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "14701:3:1",
"nodeType": "YulIdentifier",
"src": "14701:3:1"
},
"nativeSrc": "14701:17:1",
"nodeType": "YulFunctionCall",
"src": "14701:17:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "14724:4:1",
"nodeType": "YulIdentifier",
"src": "14724:4:1"
},
{
"name": "headStart",
"nativeSrc": "14730:9:1",
"nodeType": "YulIdentifier",
"src": "14730:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "14720:3:1",
"nodeType": "YulIdentifier",
"src": "14720:3:1"
},
"nativeSrc": "14720:20:1",
"nodeType": "YulFunctionCall",
"src": "14720:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "14694:6:1",
"nodeType": "YulIdentifier",
"src": "14694:6:1"
},
"nativeSrc": "14694:47:1",
"nodeType": "YulFunctionCall",
"src": "14694:47:1"
},
"nativeSrc": "14694:47:1",
"nodeType": "YulExpressionStatement",
"src": "14694:47:1"
},
{
"nativeSrc": "14750:139:1",
"nodeType": "YulAssignment",
"src": "14750:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "14884:4:1",
"nodeType": "YulIdentifier",
"src": "14884:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef_to_t_string_memory_ptr_fromStack",
"nativeSrc": "14758:124:1",
"nodeType": "YulIdentifier",
"src": "14758:124:1"
},
"nativeSrc": "14758:131:1",
"nodeType": "YulFunctionCall",
"src": "14758:131:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "14750:4:1",
"nodeType": "YulIdentifier",
"src": "14750:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "14477:419:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "14628:9:1",
"nodeType": "YulTypedName",
"src": "14628:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "14643:4:1",
"nodeType": "YulTypedName",
"src": "14643:4:1",
"type": ""
}
],
"src": "14477:419:1"
},
{
"body": {
"nativeSrc": "15008:71:1",
"nodeType": "YulBlock",
"src": "15008:71:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "15030:6:1",
"nodeType": "YulIdentifier",
"src": "15030:6:1"
},
{
"kind": "number",
"nativeSrc": "15038:1:1",
"nodeType": "YulLiteral",
"src": "15038:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "15026:3:1",
"nodeType": "YulIdentifier",
"src": "15026:3:1"
},
"nativeSrc": "15026:14:1",
"nodeType": "YulFunctionCall",
"src": "15026:14:1"
},
{
"hexValue": "43616e6e6f74206d696e7420746f207a65726f2061646472657373",
"kind": "string",
"nativeSrc": "15042:29:1",
"nodeType": "YulLiteral",
"src": "15042:29:1",
"type": "",
"value": "Cannot mint to zero address"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "15019:6:1",
"nodeType": "YulIdentifier",
"src": "15019:6:1"
},
"nativeSrc": "15019:53:1",
"nodeType": "YulFunctionCall",
"src": "15019:53:1"
},
"nativeSrc": "15019:53:1",
"nodeType": "YulExpressionStatement",
"src": "15019:53:1"
}
]
},
"name": "store_literal_in_memory_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9",
"nativeSrc": "14902:177:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "15000:6:1",
"nodeType": "YulTypedName",
"src": "15000:6:1",
"type": ""
}
],
"src": "14902:177:1"
},
{
"body": {
"nativeSrc": "15231:220:1",
"nodeType": "YulBlock",
"src": "15231:220:1",
"statements": [
{
"nativeSrc": "15241:74:1",
"nodeType": "YulAssignment",
"src": "15241:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "15307:3:1",
"nodeType": "YulIdentifier",
"src": "15307:3:1"
},
{
"kind": "number",
"nativeSrc": "15312:2:1",
"nodeType": "YulLiteral",
"src": "15312:2:1",
"type": "",
"value": "27"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "15248:58:1",
"nodeType": "YulIdentifier",
"src": "15248:58:1"
},
"nativeSrc": "15248:67:1",
"nodeType": "YulFunctionCall",
"src": "15248:67:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "15241:3:1",
"nodeType": "YulIdentifier",
"src": "15241:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "15413:3:1",
"nodeType": "YulIdentifier",
"src": "15413:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9",
"nativeSrc": "15324:88:1",
"nodeType": "YulIdentifier",
"src": "15324:88:1"
},
"nativeSrc": "15324:93:1",
"nodeType": "YulFunctionCall",
"src": "15324:93:1"
},
"nativeSrc": "15324:93:1",
"nodeType": "YulExpressionStatement",
"src": "15324:93:1"
},
{
"nativeSrc": "15426:19:1",
"nodeType": "YulAssignment",
"src": "15426:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "15437:3:1",
"nodeType": "YulIdentifier",
"src": "15437:3:1"
},
{
"kind": "number",
"nativeSrc": "15442:2:1",
"nodeType": "YulLiteral",
"src": "15442:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "15433:3:1",
"nodeType": "YulIdentifier",
"src": "15433:3:1"
},
"nativeSrc": "15433:12:1",
"nodeType": "YulFunctionCall",
"src": "15433:12:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "15426:3:1",
"nodeType": "YulIdentifier",
"src": "15426:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9_to_t_string_memory_ptr_fromStack",
"nativeSrc": "15085:366:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "15219:3:1",
"nodeType": "YulTypedName",
"src": "15219:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "15227:3:1",
"nodeType": "YulTypedName",
"src": "15227:3:1",
"type": ""
}
],
"src": "15085:366:1"
},
{
"body": {
"nativeSrc": "15628:248:1",
"nodeType": "YulBlock",
"src": "15628:248:1",
"statements": [
{
"nativeSrc": "15638:26:1",
"nodeType": "YulAssignment",
"src": "15638:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "15650:9:1",
"nodeType": "YulIdentifier",
"src": "15650:9:1"
},
{
"kind": "number",
"nativeSrc": "15661:2:1",
"nodeType": "YulLiteral",
"src": "15661:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "15646:3:1",
"nodeType": "YulIdentifier",
"src": "15646:3:1"
},
"nativeSrc": "15646:18:1",
"nodeType": "YulFunctionCall",
"src": "15646:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "15638:4:1",
"nodeType": "YulIdentifier",
"src": "15638:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "15685:9:1",
"nodeType": "YulIdentifier",
"src": "15685:9:1"
},
{
"kind": "number",
"nativeSrc": "15696:1:1",
"nodeType": "YulLiteral",
"src": "15696:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "15681:3:1",
"nodeType": "YulIdentifier",
"src": "15681:3:1"
},
"nativeSrc": "15681:17:1",
"nodeType": "YulFunctionCall",
"src": "15681:17:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "15704:4:1",
"nodeType": "YulIdentifier",
"src": "15704:4:1"
},
{
"name": "headStart",
"nativeSrc": "15710:9:1",
"nodeType": "YulIdentifier",
"src": "15710:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "15700:3:1",
"nodeType": "YulIdentifier",
"src": "15700:3:1"
},
"nativeSrc": "15700:20:1",
"nodeType": "YulFunctionCall",
"src": "15700:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "15674:6:1",
"nodeType": "YulIdentifier",
"src": "15674:6:1"
},
"nativeSrc": "15674:47:1",
"nodeType": "YulFunctionCall",
"src": "15674:47:1"
},
"nativeSrc": "15674:47:1",
"nodeType": "YulExpressionStatement",
"src": "15674:47:1"
},
{
"nativeSrc": "15730:139:1",
"nodeType": "YulAssignment",
"src": "15730:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "15864:4:1",
"nodeType": "YulIdentifier",
"src": "15864:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9_to_t_string_memory_ptr_fromStack",
"nativeSrc": "15738:124:1",
"nodeType": "YulIdentifier",
"src": "15738:124:1"
},
"nativeSrc": "15738:131:1",
"nodeType": "YulFunctionCall",
"src": "15738:131:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "15730:4:1",
"nodeType": "YulIdentifier",
"src": "15730:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "15457:419:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "15608:9:1",
"nodeType": "YulTypedName",
"src": "15608:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "15623:4:1",
"nodeType": "YulTypedName",
"src": "15623:4:1",
"type": ""
}
],
"src": "15457:419:1"
},
{
"body": {
"nativeSrc": "15988:72:1",
"nodeType": "YulBlock",
"src": "15988:72:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "16010:6:1",
"nodeType": "YulIdentifier",
"src": "16010:6:1"
},
{
"kind": "number",
"nativeSrc": "16018:1:1",
"nodeType": "YulLiteral",
"src": "16018:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "16006:3:1",
"nodeType": "YulIdentifier",
"src": "16006:3:1"
},
"nativeSrc": "16006:14:1",
"nodeType": "YulFunctionCall",
"src": "16006:14:1"
},
{
"hexValue": "496e73756666696369656e742062616c616e636520746f206275726e",
"kind": "string",
"nativeSrc": "16022:30:1",
"nodeType": "YulLiteral",
"src": "16022:30:1",
"type": "",
"value": "Insufficient balance to burn"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "15999:6:1",
"nodeType": "YulIdentifier",
"src": "15999:6:1"
},
"nativeSrc": "15999:54:1",
"nodeType": "YulFunctionCall",
"src": "15999:54:1"
},
"nativeSrc": "15999:54:1",
"nodeType": "YulExpressionStatement",
"src": "15999:54:1"
}
]
},
"name": "store_literal_in_memory_eac0e9db12cd14c1c0291906654a3fa6bfacc1c08081fda717334bc66586bac5",
"nativeSrc": "15882:178:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "15980:6:1",
"nodeType": "YulTypedName",
"src": "15980:6:1",
"type": ""
}
],
"src": "15882:178:1"
},
{
"body": {
"nativeSrc": "16212:220:1",
"nodeType": "YulBlock",
"src": "16212:220:1",
"statements": [
{
"nativeSrc": "16222:74:1",
"nodeType": "YulAssignment",
"src": "16222:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "16288:3:1",
"nodeType": "YulIdentifier",
"src": "16288:3:1"
},
{
"kind": "number",
"nativeSrc": "16293:2:1",
"nodeType": "YulLiteral",
"src": "16293:2:1",
"type": "",
"value": "28"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "16229:58:1",
"nodeType": "YulIdentifier",
"src": "16229:58:1"
},
"nativeSrc": "16229:67:1",
"nodeType": "YulFunctionCall",
"src": "16229:67:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "16222:3:1",
"nodeType": "YulIdentifier",
"src": "16222:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "16394:3:1",
"nodeType": "YulIdentifier",
"src": "16394:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_eac0e9db12cd14c1c0291906654a3fa6bfacc1c08081fda717334bc66586bac5",
"nativeSrc": "16305:88:1",
"nodeType": "YulIdentifier",
"src": "16305:88:1"
},
"nativeSrc": "16305:93:1",
"nodeType": "YulFunctionCall",
"src": "16305:93:1"
},
"nativeSrc": "16305:93:1",
"nodeType": "YulExpressionStatement",
"src": "16305:93:1"
},
{
"nativeSrc": "16407:19:1",
"nodeType": "YulAssignment",
"src": "16407:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "16418:3:1",
"nodeType": "YulIdentifier",
"src": "16418:3:1"
},
{
"kind": "number",
"nativeSrc": "16423:2:1",
"nodeType": "YulLiteral",
"src": "16423:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "16414:3:1",
"nodeType": "YulIdentifier",
"src": "16414:3:1"
},
"nativeSrc": "16414:12:1",
"nodeType": "YulFunctionCall",
"src": "16414:12:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "16407:3:1",
"nodeType": "YulIdentifier",
"src": "16407:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_eac0e9db12cd14c1c0291906654a3fa6bfacc1c08081fda717334bc66586bac5_to_t_string_memory_ptr_fromStack",
"nativeSrc": "16066:366:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "16200:3:1",
"nodeType": "YulTypedName",
"src": "16200:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "16208:3:1",
"nodeType": "YulTypedName",
"src": "16208:3:1",
"type": ""
}
],
"src": "16066:366:1"
},
{
"body": {
"nativeSrc": "16609:248:1",
"nodeType": "YulBlock",
"src": "16609:248:1",
"statements": [
{
"nativeSrc": "16619:26:1",
"nodeType": "YulAssignment",
"src": "16619:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "16631:9:1",
"nodeType": "YulIdentifier",
"src": "16631:9:1"
},
{
"kind": "number",
"nativeSrc": "16642:2:1",
"nodeType": "YulLiteral",
"src": "16642:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "16627:3:1",
"nodeType": "YulIdentifier",
"src": "16627:3:1"
},
"nativeSrc": "16627:18:1",
"nodeType": "YulFunctionCall",
"src": "16627:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "16619:4:1",
"nodeType": "YulIdentifier",
"src": "16619:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "16666:9:1",
"nodeType": "YulIdentifier",
"src": "16666:9:1"
},
{
"kind": "number",
"nativeSrc": "16677:1:1",
"nodeType": "YulLiteral",
"src": "16677:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "16662:3:1",
"nodeType": "YulIdentifier",
"src": "16662:3:1"
},
"nativeSrc": "16662:17:1",
"nodeType": "YulFunctionCall",
"src": "16662:17:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "16685:4:1",
"nodeType": "YulIdentifier",
"src": "16685:4:1"
},
{
"name": "headStart",
"nativeSrc": "16691:9:1",
"nodeType": "YulIdentifier",
"src": "16691:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "16681:3:1",
"nodeType": "YulIdentifier",
"src": "16681:3:1"
},
"nativeSrc": "16681:20:1",
"nodeType": "YulFunctionCall",
"src": "16681:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "16655:6:1",
"nodeType": "YulIdentifier",
"src": "16655:6:1"
},
"nativeSrc": "16655:47:1",
"nodeType": "YulFunctionCall",
"src": "16655:47:1"
},
"nativeSrc": "16655:47:1",
"nodeType": "YulExpressionStatement",
"src": "16655:47:1"
},
{
"nativeSrc": "16711:139:1",
"nodeType": "YulAssignment",
"src": "16711:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "16845:4:1",
"nodeType": "YulIdentifier",
"src": "16845:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_eac0e9db12cd14c1c0291906654a3fa6bfacc1c08081fda717334bc66586bac5_to_t_string_memory_ptr_fromStack",
"nativeSrc": "16719:124:1",
"nodeType": "YulIdentifier",
"src": "16719:124:1"
},
"nativeSrc": "16719:131:1",
"nodeType": "YulFunctionCall",
"src": "16719:131:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "16711:4:1",
"nodeType": "YulIdentifier",
"src": "16711:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_eac0e9db12cd14c1c0291906654a3fa6bfacc1c08081fda717334bc66586bac5__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "16438:419:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "16589:9:1",
"nodeType": "YulTypedName",
"src": "16589:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "16604:4:1",
"nodeType": "YulTypedName",
"src": "16604:4:1",
"type": ""
}
],
"src": "16438:419:1"
},
{
"body": {
"nativeSrc": "16917:87:1",
"nodeType": "YulBlock",
"src": "16917:87:1",
"statements": [
{
"nativeSrc": "16927:11:1",
"nodeType": "YulAssignment",
"src": "16927:11:1",
"value": {
"name": "ptr",
"nativeSrc": "16935:3:1",
"nodeType": "YulIdentifier",
"src": "16935:3:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "16927:4:1",
"nodeType": "YulIdentifier",
"src": "16927:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "16955:1:1",
"nodeType": "YulLiteral",
"src": "16955:1:1",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nativeSrc": "16958:3:1",
"nodeType": "YulIdentifier",
"src": "16958:3:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "16948:6:1",
"nodeType": "YulIdentifier",
"src": "16948:6:1"
},
"nativeSrc": "16948:14:1",
"nodeType": "YulFunctionCall",
"src": "16948:14:1"
},
"nativeSrc": "16948:14:1",
"nodeType": "YulExpressionStatement",
"src": "16948:14:1"
},
{
"nativeSrc": "16971:26:1",
"nodeType": "YulAssignment",
"src": "16971:26:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "16989:1:1",
"nodeType": "YulLiteral",
"src": "16989:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "16992:4:1",
"nodeType": "YulLiteral",
"src": "16992:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nativeSrc": "16979:9:1",
"nodeType": "YulIdentifier",
"src": "16979:9:1"
},
"nativeSrc": "16979:18:1",
"nodeType": "YulFunctionCall",
"src": "16979:18:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "16971:4:1",
"nodeType": "YulIdentifier",
"src": "16971:4:1"
}
]
}
]
},
"name": "array_dataslot_t_string_storage",
"nativeSrc": "16863:141:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nativeSrc": "16904:3:1",
"nodeType": "YulTypedName",
"src": "16904:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nativeSrc": "16912:4:1",
"nodeType": "YulTypedName",
"src": "16912:4:1",
"type": ""
}
],
"src": "16863:141:1"
},
{
"body": {
"nativeSrc": "17054:49:1",
"nodeType": "YulBlock",
"src": "17054:49:1",
"statements": [
{
"nativeSrc": "17064:33:1",
"nodeType": "YulAssignment",
"src": "17064:33:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "17082:5:1",
"nodeType": "YulIdentifier",
"src": "17082:5:1"
},
{
"kind": "number",
"nativeSrc": "17089:2:1",
"nodeType": "YulLiteral",
"src": "17089:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "17078:3:1",
"nodeType": "YulIdentifier",
"src": "17078:3:1"
},
"nativeSrc": "17078:14:1",
"nodeType": "YulFunctionCall",
"src": "17078:14:1"
},
{
"kind": "number",
"nativeSrc": "17094:2:1",
"nodeType": "YulLiteral",
"src": "17094:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "div",
"nativeSrc": "17074:3:1",
"nodeType": "YulIdentifier",
"src": "17074:3:1"
},
"nativeSrc": "17074:23:1",
"nodeType": "YulFunctionCall",
"src": "17074:23:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "17064:6:1",
"nodeType": "YulIdentifier",
"src": "17064:6:1"
}
]
}
]
},
"name": "divide_by_32_ceil",
"nativeSrc": "17010:93:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "17037:5:1",
"nodeType": "YulTypedName",
"src": "17037:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "17047:6:1",
"nodeType": "YulTypedName",
"src": "17047:6:1",
"type": ""
}
],
"src": "17010:93:1"
},
{
"body": {
"nativeSrc": "17162:54:1",
"nodeType": "YulBlock",
"src": "17162:54:1",
"statements": [
{
"nativeSrc": "17172:37:1",
"nodeType": "YulAssignment",
"src": "17172:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nativeSrc": "17197:4:1",
"nodeType": "YulIdentifier",
"src": "17197:4:1"
},
{
"name": "value",
"nativeSrc": "17203:5:1",
"nodeType": "YulIdentifier",
"src": "17203:5:1"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "17193:3:1",
"nodeType": "YulIdentifier",
"src": "17193:3:1"
},
"nativeSrc": "17193:16:1",
"nodeType": "YulFunctionCall",
"src": "17193:16:1"
},
"variableNames": [
{
"name": "newValue",
"nativeSrc": "17172:8:1",
"nodeType": "YulIdentifier",
"src": "17172:8:1"
}
]
}
]
},
"name": "shift_left_dynamic",
"nativeSrc": "17109:107:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nativeSrc": "17137:4:1",
"nodeType": "YulTypedName",
"src": "17137:4:1",
"type": ""
},
{
"name": "value",
"nativeSrc": "17143:5:1",
"nodeType": "YulTypedName",
"src": "17143:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nativeSrc": "17153:8:1",
"nodeType": "YulTypedName",
"src": "17153:8:1",
"type": ""
}
],
"src": "17109:107:1"
},
{
"body": {
"nativeSrc": "17298:317:1",
"nodeType": "YulBlock",
"src": "17298:317:1",
"statements": [
{
"nativeSrc": "17308:35:1",
"nodeType": "YulVariableDeclaration",
"src": "17308:35:1",
"value": {
"arguments": [
{
"name": "shiftBytes",
"nativeSrc": "17329:10:1",
"nodeType": "YulIdentifier",
"src": "17329:10:1"
},
{
"kind": "number",
"nativeSrc": "17341:1:1",
"nodeType": "YulLiteral",
"src": "17341:1:1",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "17325:3:1",
"nodeType": "YulIdentifier",
"src": "17325:3:1"
},
"nativeSrc": "17325:18:1",
"nodeType": "YulFunctionCall",
"src": "17325:18:1"
},
"variables": [
{
"name": "shiftBits",
"nativeSrc": "17312:9:1",
"nodeType": "YulTypedName",
"src": "17312:9:1",
"type": ""
}
]
},
{
"nativeSrc": "17352:109:1",
"nodeType": "YulVariableDeclaration",
"src": "17352:109:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nativeSrc": "17383:9:1",
"nodeType": "YulIdentifier",
"src": "17383:9:1"
},
{
"kind": "number",
"nativeSrc": "17394:66:1",
"nodeType": "YulLiteral",
"src": "17394:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nativeSrc": "17364:18:1",
"nodeType": "YulIdentifier",
"src": "17364:18:1"
},
"nativeSrc": "17364:97:1",
"nodeType": "YulFunctionCall",
"src": "17364:97:1"
},
"variables": [
{
"name": "mask",
"nativeSrc": "17356:4:1",
"nodeType": "YulTypedName",
"src": "17356:4:1",
"type": ""
}
]
},
{
"nativeSrc": "17470:51:1",
"nodeType": "YulAssignment",
"src": "17470:51:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nativeSrc": "17501:9:1",
"nodeType": "YulIdentifier",
"src": "17501:9:1"
},
{
"name": "toInsert",
"nativeSrc": "17512:8:1",
"nodeType": "YulIdentifier",
"src": "17512:8:1"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nativeSrc": "17482:18:1",
"nodeType": "YulIdentifier",
"src": "17482:18:1"
},
"nativeSrc": "17482:39:1",
"nodeType": "YulFunctionCall",
"src": "17482:39:1"
},
"variableNames": [
{
"name": "toInsert",
"nativeSrc": "17470:8:1",
"nodeType": "YulIdentifier",
"src": "17470:8:1"
}
]
},
{
"nativeSrc": "17530:30:1",
"nodeType": "YulAssignment",
"src": "17530:30:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "17543:5:1",
"nodeType": "YulIdentifier",
"src": "17543:5:1"
},
{
"arguments": [
{
"name": "mask",
"nativeSrc": "17554:4:1",
"nodeType": "YulIdentifier",
"src": "17554:4:1"
}
],
"functionName": {
"name": "not",
"nativeSrc": "17550:3:1",
"nodeType": "YulIdentifier",
"src": "17550:3:1"
},
"nativeSrc": "17550:9:1",
"nodeType": "YulFunctionCall",
"src": "17550:9:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "17539:3:1",
"nodeType": "YulIdentifier",
"src": "17539:3:1"
},
"nativeSrc": "17539:21:1",
"nodeType": "YulFunctionCall",
"src": "17539:21:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "17530:5:1",
"nodeType": "YulIdentifier",
"src": "17530:5:1"
}
]
},
{
"nativeSrc": "17569:40:1",
"nodeType": "YulAssignment",
"src": "17569:40:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "17582:5:1",
"nodeType": "YulIdentifier",
"src": "17582:5:1"
},
{
"arguments": [
{
"name": "toInsert",
"nativeSrc": "17593:8:1",
"nodeType": "YulIdentifier",
"src": "17593:8:1"
},
{
"name": "mask",
"nativeSrc": "17603:4:1",
"nodeType": "YulIdentifier",
"src": "17603:4:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "17589:3:1",
"nodeType": "YulIdentifier",
"src": "17589:3:1"
},
"nativeSrc": "17589:19:1",
"nodeType": "YulFunctionCall",
"src": "17589:19:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "17579:2:1",
"nodeType": "YulIdentifier",
"src": "17579:2:1"
},
"nativeSrc": "17579:30:1",
"nodeType": "YulFunctionCall",
"src": "17579:30:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "17569:6:1",
"nodeType": "YulIdentifier",
"src": "17569:6:1"
}
]
}
]
},
"name": "update_byte_slice_dynamic32",
"nativeSrc": "17222:393:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "17259:5:1",
"nodeType": "YulTypedName",
"src": "17259:5:1",
"type": ""
},
{
"name": "shiftBytes",
"nativeSrc": "17266:10:1",
"nodeType": "YulTypedName",
"src": "17266:10:1",
"type": ""
},
{
"name": "toInsert",
"nativeSrc": "17278:8:1",
"nodeType": "YulTypedName",
"src": "17278:8:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "17291:6:1",
"nodeType": "YulTypedName",
"src": "17291:6:1",
"type": ""
}
],
"src": "17222:393:1"
},
{
"body": {
"nativeSrc": "17653:28:1",
"nodeType": "YulBlock",
"src": "17653:28:1",
"statements": [
{
"nativeSrc": "17663:12:1",
"nodeType": "YulAssignment",
"src": "17663:12:1",
"value": {
"name": "value",
"nativeSrc": "17670:5:1",
"nodeType": "YulIdentifier",
"src": "17670:5:1"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "17663:3:1",
"nodeType": "YulIdentifier",
"src": "17663:3:1"
}
]
}
]
},
"name": "identity",
"nativeSrc": "17621:60:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "17639:5:1",
"nodeType": "YulTypedName",
"src": "17639:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nativeSrc": "17649:3:1",
"nodeType": "YulTypedName",
"src": "17649:3:1",
"type": ""
}
],
"src": "17621:60:1"
},
{
"body": {
"nativeSrc": "17747:82:1",
"nodeType": "YulBlock",
"src": "17747:82:1",
"statements": [
{
"nativeSrc": "17757:66:1",
"nodeType": "YulAssignment",
"src": "17757:66:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "17815:5:1",
"nodeType": "YulIdentifier",
"src": "17815:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "17797:17:1",
"nodeType": "YulIdentifier",
"src": "17797:17:1"
},
"nativeSrc": "17797:24:1",
"nodeType": "YulFunctionCall",
"src": "17797:24:1"
}
],
"functionName": {
"name": "identity",
"nativeSrc": "17788:8:1",
"nodeType": "YulIdentifier",
"src": "17788:8:1"
},
"nativeSrc": "17788:34:1",
"nodeType": "YulFunctionCall",
"src": "17788:34:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "17770:17:1",
"nodeType": "YulIdentifier",
"src": "17770:17:1"
},
"nativeSrc": "17770:53:1",
"nodeType": "YulFunctionCall",
"src": "17770:53:1"
},
"variableNames": [
{
"name": "converted",
"nativeSrc": "17757:9:1",
"nodeType": "YulIdentifier",
"src": "17757:9:1"
}
]
}
]
},
"name": "convert_t_uint256_to_t_uint256",
"nativeSrc": "17687:142:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "17727:5:1",
"nodeType": "YulTypedName",
"src": "17727:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nativeSrc": "17737:9:1",
"nodeType": "YulTypedName",
"src": "17737:9:1",
"type": ""
}
],
"src": "17687:142:1"
},
{
"body": {
"nativeSrc": "17882:28:1",
"nodeType": "YulBlock",
"src": "17882:28:1",
"statements": [
{
"nativeSrc": "17892:12:1",
"nodeType": "YulAssignment",
"src": "17892:12:1",
"value": {
"name": "value",
"nativeSrc": "17899:5:1",
"nodeType": "YulIdentifier",
"src": "17899:5:1"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "17892:3:1",
"nodeType": "YulIdentifier",
"src": "17892:3:1"
}
]
}
]
},
"name": "prepare_store_t_uint256",
"nativeSrc": "17835:75:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "17868:5:1",
"nodeType": "YulTypedName",
"src": "17868:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nativeSrc": "17878:3:1",
"nodeType": "YulTypedName",
"src": "17878:3:1",
"type": ""
}
],
"src": "17835:75:1"
},
{
"body": {
"nativeSrc": "17992:193:1",
"nodeType": "YulBlock",
"src": "17992:193:1",
"statements": [
{
"nativeSrc": "18002:63:1",
"nodeType": "YulVariableDeclaration",
"src": "18002:63:1",
"value": {
"arguments": [
{
"name": "value_0",
"nativeSrc": "18057:7:1",
"nodeType": "YulIdentifier",
"src": "18057:7:1"
}
],
"functionName": {
"name": "convert_t_uint256_to_t_uint256",
"nativeSrc": "18026:30:1",
"nodeType": "YulIdentifier",
"src": "18026:30:1"
},
"nativeSrc": "18026:39:1",
"nodeType": "YulFunctionCall",
"src": "18026:39:1"
},
"variables": [
{
"name": "convertedValue_0",
"nativeSrc": "18006:16:1",
"nodeType": "YulTypedName",
"src": "18006:16:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "18081:4:1",
"nodeType": "YulIdentifier",
"src": "18081:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "slot",
"nativeSrc": "18121:4:1",
"nodeType": "YulIdentifier",
"src": "18121:4:1"
}
],
"functionName": {
"name": "sload",
"nativeSrc": "18115:5:1",
"nodeType": "YulIdentifier",
"src": "18115:5:1"
},
"nativeSrc": "18115:11:1",
"nodeType": "YulFunctionCall",
"src": "18115:11:1"
},
{
"name": "offset",
"nativeSrc": "18128:6:1",
"nodeType": "YulIdentifier",
"src": "18128:6:1"
},
{
"arguments": [
{
"name": "convertedValue_0",
"nativeSrc": "18160:16:1",
"nodeType": "YulIdentifier",
"src": "18160:16:1"
}
],
"functionName": {
"name": "prepare_store_t_uint256",
"nativeSrc": "18136:23:1",
"nodeType": "YulIdentifier",
"src": "18136:23:1"
},
"nativeSrc": "18136:41:1",
"nodeType": "YulFunctionCall",
"src": "18136:41:1"
}
],
"functionName": {
"name": "update_byte_slice_dynamic32",
"nativeSrc": "18087:27:1",
"nodeType": "YulIdentifier",
"src": "18087:27:1"
},
"nativeSrc": "18087:91:1",
"nodeType": "YulFunctionCall",
"src": "18087:91:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "18074:6:1",
"nodeType": "YulIdentifier",
"src": "18074:6:1"
},
"nativeSrc": "18074:105:1",
"nodeType": "YulFunctionCall",
"src": "18074:105:1"
},
"nativeSrc": "18074:105:1",
"nodeType": "YulExpressionStatement",
"src": "18074:105:1"
}
]
},
"name": "update_storage_value_t_uint256_to_t_uint256",
"nativeSrc": "17916:269:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "17969:4:1",
"nodeType": "YulTypedName",
"src": "17969:4:1",
"type": ""
},
{
"name": "offset",
"nativeSrc": "17975:6:1",
"nodeType": "YulTypedName",
"src": "17975:6:1",
"type": ""
},
{
"name": "value_0",
"nativeSrc": "17983:7:1",
"nodeType": "YulTypedName",
"src": "17983:7:1",
"type": ""
}
],
"src": "17916:269:1"
},
{
"body": {
"nativeSrc": "18240:24:1",
"nodeType": "YulBlock",
"src": "18240:24:1",
"statements": [
{
"nativeSrc": "18250:8:1",
"nodeType": "YulAssignment",
"src": "18250:8:1",
"value": {
"kind": "number",
"nativeSrc": "18257:1:1",
"nodeType": "YulLiteral",
"src": "18257:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "18250:3:1",
"nodeType": "YulIdentifier",
"src": "18250:3:1"
}
]
}
]
},
"name": "zero_value_for_split_t_uint256",
"nativeSrc": "18191:73:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "ret",
"nativeSrc": "18236:3:1",
"nodeType": "YulTypedName",
"src": "18236:3:1",
"type": ""
}
],
"src": "18191:73:1"
},
{
"body": {
"nativeSrc": "18323:136:1",
"nodeType": "YulBlock",
"src": "18323:136:1",
"statements": [
{
"nativeSrc": "18333:46:1",
"nodeType": "YulVariableDeclaration",
"src": "18333:46:1",
"value": {
"arguments": [],
"functionName": {
"name": "zero_value_for_split_t_uint256",
"nativeSrc": "18347:30:1",
"nodeType": "YulIdentifier",
"src": "18347:30:1"
},
"nativeSrc": "18347:32:1",
"nodeType": "YulFunctionCall",
"src": "18347:32:1"
},
"variables": [
{
"name": "zero_0",
"nativeSrc": "18337:6:1",
"nodeType": "YulTypedName",
"src": "18337:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "18432:4:1",
"nodeType": "YulIdentifier",
"src": "18432:4:1"
},
{
"name": "offset",
"nativeSrc": "18438:6:1",
"nodeType": "YulIdentifier",
"src": "18438:6:1"
},
{
"name": "zero_0",
"nativeSrc": "18446:6:1",
"nodeType": "YulIdentifier",
"src": "18446:6:1"
}
],
"functionName": {
"name": "update_storage_value_t_uint256_to_t_uint256",
"nativeSrc": "18388:43:1",
"nodeType": "YulIdentifier",
"src": "18388:43:1"
},
"nativeSrc": "18388:65:1",
"nodeType": "YulFunctionCall",
"src": "18388:65:1"
},
"nativeSrc": "18388:65:1",
"nodeType": "YulExpressionStatement",
"src": "18388:65:1"
}
]
},
"name": "storage_set_to_zero_t_uint256",
"nativeSrc": "18270:189:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "18309:4:1",
"nodeType": "YulTypedName",
"src": "18309:4:1",
"type": ""
},
{
"name": "offset",
"nativeSrc": "18315:6:1",
"nodeType": "YulTypedName",
"src": "18315:6:1",
"type": ""
}
],
"src": "18270:189:1"
},
{
"body": {
"nativeSrc": "18525:154:1",
"nodeType": "YulBlock",
"src": "18525:154:1",
"statements": [
{
"body": {
"nativeSrc": "18598:75:1",
"nodeType": "YulBlock",
"src": "18598:75:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "startSlot",
"nativeSrc": "18646:9:1",
"nodeType": "YulIdentifier",
"src": "18646:9:1"
},
{
"name": "i",
"nativeSrc": "18657:1:1",
"nodeType": "YulIdentifier",
"src": "18657:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "18642:3:1",
"nodeType": "YulIdentifier",
"src": "18642:3:1"
},
"nativeSrc": "18642:17:1",
"nodeType": "YulFunctionCall",
"src": "18642:17:1"
},
{
"kind": "number",
"nativeSrc": "18661:1:1",
"nodeType": "YulLiteral",
"src": "18661:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "storage_set_to_zero_t_uint256",
"nativeSrc": "18612:29:1",
"nodeType": "YulIdentifier",
"src": "18612:29:1"
},
"nativeSrc": "18612:51:1",
"nodeType": "YulFunctionCall",
"src": "18612:51:1"
},
"nativeSrc": "18612:51:1",
"nodeType": "YulExpressionStatement",
"src": "18612:51:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nativeSrc": "18557:1:1",
"nodeType": "YulIdentifier",
"src": "18557:1:1"
},
{
"name": "slotCount",
"nativeSrc": "18560:9:1",
"nodeType": "YulIdentifier",
"src": "18560:9:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "18554:2:1",
"nodeType": "YulIdentifier",
"src": "18554:2:1"
},
"nativeSrc": "18554:16:1",
"nodeType": "YulFunctionCall",
"src": "18554:16:1"
},
"nativeSrc": "18535:138:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "18571:18:1",
"nodeType": "YulBlock",
"src": "18571:18:1",
"statements": [
{
"nativeSrc": "18573:14:1",
"nodeType": "YulAssignment",
"src": "18573:14:1",
"value": {
"arguments": [
{
"name": "i",
"nativeSrc": "18582:1:1",
"nodeType": "YulIdentifier",
"src": "18582:1:1"
},
{
"kind": "number",
"nativeSrc": "18585:1:1",
"nodeType": "YulLiteral",
"src": "18585:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "18578:3:1",
"nodeType": "YulIdentifier",
"src": "18578:3:1"
},
"nativeSrc": "18578:9:1",
"nodeType": "YulFunctionCall",
"src": "18578:9:1"
},
"variableNames": [
{
"name": "i",
"nativeSrc": "18573:1:1",
"nodeType": "YulIdentifier",
"src": "18573:1:1"
}
]
}
]
},
"pre": {
"nativeSrc": "18539:14:1",
"nodeType": "YulBlock",
"src": "18539:14:1",
"statements": [
{
"nativeSrc": "18541:10:1",
"nodeType": "YulVariableDeclaration",
"src": "18541:10:1",
"value": {
"kind": "number",
"nativeSrc": "18550:1:1",
"nodeType": "YulLiteral",
"src": "18550:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nativeSrc": "18545:1:1",
"nodeType": "YulTypedName",
"src": "18545:1:1",
"type": ""
}
]
}
]
},
"src": "18535:138:1"
}
]
},
"name": "clear_storage_range_t_bytes1",
"nativeSrc": "18465:214:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "startSlot",
"nativeSrc": "18503:9:1",
"nodeType": "YulTypedName",
"src": "18503:9:1",
"type": ""
},
{
"name": "slotCount",
"nativeSrc": "18514:9:1",
"nodeType": "YulTypedName",
"src": "18514:9:1",
"type": ""
}
],
"src": "18465:214:1"
},
{
"body": {
"nativeSrc": "18764:667:1",
"nodeType": "YulBlock",
"src": "18764:667:1",
"statements": [
{
"body": {
"nativeSrc": "18790:634:1",
"nodeType": "YulBlock",
"src": "18790:634:1",
"statements": [
{
"body": {
"nativeSrc": "18827:587:1",
"nodeType": "YulBlock",
"src": "18827:587:1",
"statements": [
{
"nativeSrc": "18845:54:1",
"nodeType": "YulVariableDeclaration",
"src": "18845:54:1",
"value": {
"arguments": [
{
"name": "array",
"nativeSrc": "18893:5:1",
"nodeType": "YulIdentifier",
"src": "18893:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nativeSrc": "18861:31:1",
"nodeType": "YulIdentifier",
"src": "18861:31:1"
},
"nativeSrc": "18861:38:1",
"nodeType": "YulFunctionCall",
"src": "18861:38:1"
},
"variables": [
{
"name": "dataArea",
"nativeSrc": "18849:8:1",
"nodeType": "YulTypedName",
"src": "18849:8:1",
"type": ""
}
]
},
{
"nativeSrc": "18916:42:1",
"nodeType": "YulVariableDeclaration",
"src": "18916:42:1",
"value": {
"arguments": [
{
"name": "len",
"nativeSrc": "18954:3:1",
"nodeType": "YulIdentifier",
"src": "18954:3:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nativeSrc": "18936:17:1",
"nodeType": "YulIdentifier",
"src": "18936:17:1"
},
"nativeSrc": "18936:22:1",
"nodeType": "YulFunctionCall",
"src": "18936:22:1"
},
"variables": [
{
"name": "oldSlotCount",
"nativeSrc": "18920:12:1",
"nodeType": "YulTypedName",
"src": "18920:12:1",
"type": ""
}
]
},
{
"nativeSrc": "18975:49:1",
"nodeType": "YulVariableDeclaration",
"src": "18975:49:1",
"value": {
"arguments": [
{
"name": "startIndex",
"nativeSrc": "19013:10:1",
"nodeType": "YulIdentifier",
"src": "19013:10:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nativeSrc": "18995:17:1",
"nodeType": "YulIdentifier",
"src": "18995:17:1"
},
"nativeSrc": "18995:29:1",
"nodeType": "YulFunctionCall",
"src": "18995:29:1"
},
"variables": [
{
"name": "newSlotCount",
"nativeSrc": "18979:12:1",
"nodeType": "YulTypedName",
"src": "18979:12:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "19189:57:1",
"nodeType": "YulBlock",
"src": "19189:57:1",
"statements": [
{
"nativeSrc": "19211:17:1",
"nodeType": "YulAssignment",
"src": "19211:17:1",
"value": {
"kind": "number",
"nativeSrc": "19227:1:1",
"nodeType": "YulLiteral",
"src": "19227:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "newSlotCount",
"nativeSrc": "19211:12:1",
"nodeType": "YulIdentifier",
"src": "19211:12:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nativeSrc": "19173:10:1",
"nodeType": "YulIdentifier",
"src": "19173:10:1"
},
{
"kind": "number",
"nativeSrc": "19185:2:1",
"nodeType": "YulLiteral",
"src": "19185:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "19170:2:1",
"nodeType": "YulIdentifier",
"src": "19170:2:1"
},
"nativeSrc": "19170:18:1",
"nodeType": "YulFunctionCall",
"src": "19170:18:1"
},
"nativeSrc": "19167:79:1",
"nodeType": "YulIf",
"src": "19167:79:1"
},
{
"nativeSrc": "19263:46:1",
"nodeType": "YulVariableDeclaration",
"src": "19263:46:1",
"value": {
"arguments": [
{
"name": "dataArea",
"nativeSrc": "19286:8:1",
"nodeType": "YulIdentifier",
"src": "19286:8:1"
},
{
"name": "newSlotCount",
"nativeSrc": "19296:12:1",
"nodeType": "YulIdentifier",
"src": "19296:12:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "19282:3:1",
"nodeType": "YulIdentifier",
"src": "19282:3:1"
},
"nativeSrc": "19282:27:1",
"nodeType": "YulFunctionCall",
"src": "19282:27:1"
},
"variables": [
{
"name": "deleteStart",
"nativeSrc": "19267:11:1",
"nodeType": "YulTypedName",
"src": "19267:11:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "deleteStart",
"nativeSrc": "19355:11:1",
"nodeType": "YulIdentifier",
"src": "19355:11:1"
},
{
"arguments": [
{
"name": "oldSlotCount",
"nativeSrc": "19372:12:1",
"nodeType": "YulIdentifier",
"src": "19372:12:1"
},
{
"name": "newSlotCount",
"nativeSrc": "19386:12:1",
"nodeType": "YulIdentifier",
"src": "19386:12:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "19368:3:1",
"nodeType": "YulIdentifier",
"src": "19368:3:1"
},
"nativeSrc": "19368:31:1",
"nodeType": "YulFunctionCall",
"src": "19368:31:1"
}
],
"functionName": {
"name": "clear_storage_range_t_bytes1",
"nativeSrc": "19326:28:1",
"nodeType": "YulIdentifier",
"src": "19326:28:1"
},
"nativeSrc": "19326:74:1",
"nodeType": "YulFunctionCall",
"src": "19326:74:1"
},
"nativeSrc": "19326:74:1",
"nodeType": "YulExpressionStatement",
"src": "19326:74:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nativeSrc": "18810:3:1",
"nodeType": "YulIdentifier",
"src": "18810:3:1"
},
{
"name": "startIndex",
"nativeSrc": "18815:10:1",
"nodeType": "YulIdentifier",
"src": "18815:10:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "18807:2:1",
"nodeType": "YulIdentifier",
"src": "18807:2:1"
},
"nativeSrc": "18807:19:1",
"nodeType": "YulFunctionCall",
"src": "18807:19:1"
},
"nativeSrc": "18804:610:1",
"nodeType": "YulIf",
"src": "18804:610:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nativeSrc": "18781:3:1",
"nodeType": "YulIdentifier",
"src": "18781:3:1"
},
{
"kind": "number",
"nativeSrc": "18786:2:1",
"nodeType": "YulLiteral",
"src": "18786:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "18778:2:1",
"nodeType": "YulIdentifier",
"src": "18778:2:1"
},
"nativeSrc": "18778:11:1",
"nodeType": "YulFunctionCall",
"src": "18778:11:1"
},
"nativeSrc": "18775:649:1",
"nodeType": "YulIf",
"src": "18775:649:1"
}
]
},
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nativeSrc": "18685:746:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nativeSrc": "18740:5:1",
"nodeType": "YulTypedName",
"src": "18740:5:1",
"type": ""
},
{
"name": "len",
"nativeSrc": "18747:3:1",
"nodeType": "YulTypedName",
"src": "18747:3:1",
"type": ""
},
{
"name": "startIndex",
"nativeSrc": "18752:10:1",
"nodeType": "YulTypedName",
"src": "18752:10:1",
"type": ""
}
],
"src": "18685:746:1"
},
{
"body": {
"nativeSrc": "19500:54:1",
"nodeType": "YulBlock",
"src": "19500:54:1",
"statements": [
{
"nativeSrc": "19510:37:1",
"nodeType": "YulAssignment",
"src": "19510:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nativeSrc": "19535:4:1",
"nodeType": "YulIdentifier",
"src": "19535:4:1"
},
{
"name": "value",
"nativeSrc": "19541:5:1",
"nodeType": "YulIdentifier",
"src": "19541:5:1"
}
],
"functionName": {
"name": "shr",
"nativeSrc": "19531:3:1",
"nodeType": "YulIdentifier",
"src": "19531:3:1"
},
"nativeSrc": "19531:16:1",
"nodeType": "YulFunctionCall",
"src": "19531:16:1"
},
"variableNames": [
{
"name": "newValue",
"nativeSrc": "19510:8:1",
"nodeType": "YulIdentifier",
"src": "19510:8:1"
}
]
}
]
},
"name": "shift_right_unsigned_dynamic",
"nativeSrc": "19437:117:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nativeSrc": "19475:4:1",
"nodeType": "YulTypedName",
"src": "19475:4:1",
"type": ""
},
{
"name": "value",
"nativeSrc": "19481:5:1",
"nodeType": "YulTypedName",
"src": "19481:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nativeSrc": "19491:8:1",
"nodeType": "YulTypedName",
"src": "19491:8:1",
"type": ""
}
],
"src": "19437:117:1"
},
{
"body": {
"nativeSrc": "19611:118:1",
"nodeType": "YulBlock",
"src": "19611:118:1",
"statements": [
{
"nativeSrc": "19621:68:1",
"nodeType": "YulVariableDeclaration",
"src": "19621:68:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nativeSrc": "19670:1:1",
"nodeType": "YulLiteral",
"src": "19670:1:1",
"type": "",
"value": "8"
},
{
"name": "bytes",
"nativeSrc": "19673:5:1",
"nodeType": "YulIdentifier",
"src": "19673:5:1"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "19666:3:1",
"nodeType": "YulIdentifier",
"src": "19666:3:1"
},
"nativeSrc": "19666:13:1",
"nodeType": "YulFunctionCall",
"src": "19666:13:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "19685:1:1",
"nodeType": "YulLiteral",
"src": "19685:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nativeSrc": "19681:3:1",
"nodeType": "YulIdentifier",
"src": "19681:3:1"
},
"nativeSrc": "19681:6:1",
"nodeType": "YulFunctionCall",
"src": "19681:6:1"
}
],
"functionName": {
"name": "shift_right_unsigned_dynamic",
"nativeSrc": "19637:28:1",
"nodeType": "YulIdentifier",
"src": "19637:28:1"
},
"nativeSrc": "19637:51:1",
"nodeType": "YulFunctionCall",
"src": "19637:51:1"
}
],
"functionName": {
"name": "not",
"nativeSrc": "19633:3:1",
"nodeType": "YulIdentifier",
"src": "19633:3:1"
},
"nativeSrc": "19633:56:1",
"nodeType": "YulFunctionCall",
"src": "19633:56:1"
},
"variables": [
{
"name": "mask",
"nativeSrc": "19625:4:1",
"nodeType": "YulTypedName",
"src": "19625:4:1",
"type": ""
}
]
},
{
"nativeSrc": "19698:25:1",
"nodeType": "YulAssignment",
"src": "19698:25:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "19712:4:1",
"nodeType": "YulIdentifier",
"src": "19712:4:1"
},
{
"name": "mask",
"nativeSrc": "19718:4:1",
"nodeType": "YulIdentifier",
"src": "19718:4:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "19708:3:1",
"nodeType": "YulIdentifier",
"src": "19708:3:1"
},
"nativeSrc": "19708:15:1",
"nodeType": "YulFunctionCall",
"src": "19708:15:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "19698:6:1",
"nodeType": "YulIdentifier",
"src": "19698:6:1"
}
]
}
]
},
"name": "mask_bytes_dynamic",
"nativeSrc": "19560:169:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "19588:4:1",
"nodeType": "YulTypedName",
"src": "19588:4:1",
"type": ""
},
{
"name": "bytes",
"nativeSrc": "19594:5:1",
"nodeType": "YulTypedName",
"src": "19594:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "19604:6:1",
"nodeType": "YulTypedName",
"src": "19604:6:1",
"type": ""
}
],
"src": "19560:169:1"
},
{
"body": {
"nativeSrc": "19815:214:1",
"nodeType": "YulBlock",
"src": "19815:214:1",
"statements": [
{
"nativeSrc": "19948:37:1",
"nodeType": "YulAssignment",
"src": "19948:37:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "19975:4:1",
"nodeType": "YulIdentifier",
"src": "19975:4:1"
},
{
"name": "len",
"nativeSrc": "19981:3:1",
"nodeType": "YulIdentifier",
"src": "19981:3:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nativeSrc": "19956:18:1",
"nodeType": "YulIdentifier",
"src": "19956:18:1"
},
"nativeSrc": "19956:29:1",
"nodeType": "YulFunctionCall",
"src": "19956:29:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "19948:4:1",
"nodeType": "YulIdentifier",
"src": "19948:4:1"
}
]
},
{
"nativeSrc": "19994:29:1",
"nodeType": "YulAssignment",
"src": "19994:29:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "20005:4:1",
"nodeType": "YulIdentifier",
"src": "20005:4:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "20015:1:1",
"nodeType": "YulLiteral",
"src": "20015:1:1",
"type": "",
"value": "2"
},
{
"name": "len",
"nativeSrc": "20018:3:1",
"nodeType": "YulIdentifier",
"src": "20018:3:1"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "20011:3:1",
"nodeType": "YulIdentifier",
"src": "20011:3:1"
},
"nativeSrc": "20011:11:1",
"nodeType": "YulFunctionCall",
"src": "20011:11:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "20002:2:1",
"nodeType": "YulIdentifier",
"src": "20002:2:1"
},
"nativeSrc": "20002:21:1",
"nodeType": "YulFunctionCall",
"src": "20002:21:1"
},
"variableNames": [
{
"name": "used",
"nativeSrc": "19994:4:1",
"nodeType": "YulIdentifier",
"src": "19994:4:1"
}
]
}
]
},
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nativeSrc": "19734:295:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "19796:4:1",
"nodeType": "YulTypedName",
"src": "19796:4:1",
"type": ""
},
{
"name": "len",
"nativeSrc": "19802:3:1",
"nodeType": "YulTypedName",
"src": "19802:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "used",
"nativeSrc": "19810:4:1",
"nodeType": "YulTypedName",
"src": "19810:4:1",
"type": ""
}
],
"src": "19734:295:1"
},
{
"body": {
"nativeSrc": "20126:1303:1",
"nodeType": "YulBlock",
"src": "20126:1303:1",
"statements": [
{
"nativeSrc": "20137:51:1",
"nodeType": "YulVariableDeclaration",
"src": "20137:51:1",
"value": {
"arguments": [
{
"name": "src",
"nativeSrc": "20184:3:1",
"nodeType": "YulIdentifier",
"src": "20184:3:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "20151:32:1",
"nodeType": "YulIdentifier",
"src": "20151:32:1"
},
"nativeSrc": "20151:37:1",
"nodeType": "YulFunctionCall",
"src": "20151:37:1"
},
"variables": [
{
"name": "newLen",
"nativeSrc": "20141:6:1",
"nodeType": "YulTypedName",
"src": "20141:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "20273:22:1",
"nodeType": "YulBlock",
"src": "20273:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "20275:16:1",
"nodeType": "YulIdentifier",
"src": "20275:16:1"
},
"nativeSrc": "20275:18:1",
"nodeType": "YulFunctionCall",
"src": "20275:18:1"
},
"nativeSrc": "20275:18:1",
"nodeType": "YulExpressionStatement",
"src": "20275:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "20245:6:1",
"nodeType": "YulIdentifier",
"src": "20245:6:1"
},
{
"kind": "number",
"nativeSrc": "20253:18:1",
"nodeType": "YulLiteral",
"src": "20253:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "20242:2:1",
"nodeType": "YulIdentifier",
"src": "20242:2:1"
},
"nativeSrc": "20242:30:1",
"nodeType": "YulFunctionCall",
"src": "20242:30:1"
},
"nativeSrc": "20239:56:1",
"nodeType": "YulIf",
"src": "20239:56:1"
},
{
"nativeSrc": "20305:52:1",
"nodeType": "YulVariableDeclaration",
"src": "20305:52:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nativeSrc": "20351:4:1",
"nodeType": "YulIdentifier",
"src": "20351:4:1"
}
],
"functionName": {
"name": "sload",
"nativeSrc": "20345:5:1",
"nodeType": "YulIdentifier",
"src": "20345:5:1"
},
"nativeSrc": "20345:11:1",
"nodeType": "YulFunctionCall",
"src": "20345:11:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nativeSrc": "20319:25:1",
"nodeType": "YulIdentifier",
"src": "20319:25:1"
},
"nativeSrc": "20319:38:1",
"nodeType": "YulFunctionCall",
"src": "20319:38:1"
},
"variables": [
{
"name": "oldLen",
"nativeSrc": "20309:6:1",
"nodeType": "YulTypedName",
"src": "20309:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "20450:4:1",
"nodeType": "YulIdentifier",
"src": "20450:4:1"
},
{
"name": "oldLen",
"nativeSrc": "20456:6:1",
"nodeType": "YulIdentifier",
"src": "20456:6:1"
},
{
"name": "newLen",
"nativeSrc": "20464:6:1",
"nodeType": "YulIdentifier",
"src": "20464:6:1"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nativeSrc": "20404:45:1",
"nodeType": "YulIdentifier",
"src": "20404:45:1"
},
"nativeSrc": "20404:67:1",
"nodeType": "YulFunctionCall",
"src": "20404:67:1"
},
"nativeSrc": "20404:67:1",
"nodeType": "YulExpressionStatement",
"src": "20404:67:1"
},
{
"nativeSrc": "20481:18:1",
"nodeType": "YulVariableDeclaration",
"src": "20481:18:1",
"value": {
"kind": "number",
"nativeSrc": "20498:1:1",
"nodeType": "YulLiteral",
"src": "20498:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nativeSrc": "20485:9:1",
"nodeType": "YulTypedName",
"src": "20485:9:1",
"type": ""
}
]
},
{
"nativeSrc": "20509:17:1",
"nodeType": "YulAssignment",
"src": "20509:17:1",
"value": {
"kind": "number",
"nativeSrc": "20522:4:1",
"nodeType": "YulLiteral",
"src": "20522:4:1",
"type": "",
"value": "0x20"
},
"variableNames": [
{
"name": "srcOffset",
"nativeSrc": "20509:9:1",
"nodeType": "YulIdentifier",
"src": "20509:9:1"
}
]
},
{
"cases": [
{
"body": {
"nativeSrc": "20573:611:1",
"nodeType": "YulBlock",
"src": "20573:611:1",
"statements": [
{
"nativeSrc": "20587:37:1",
"nodeType": "YulVariableDeclaration",
"src": "20587:37:1",
"value": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "20606:6:1",
"nodeType": "YulIdentifier",
"src": "20606:6:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "20618:4:1",
"nodeType": "YulLiteral",
"src": "20618:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nativeSrc": "20614:3:1",
"nodeType": "YulIdentifier",
"src": "20614:3:1"
},
"nativeSrc": "20614:9:1",
"nodeType": "YulFunctionCall",
"src": "20614:9:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "20602:3:1",
"nodeType": "YulIdentifier",
"src": "20602:3:1"
},
"nativeSrc": "20602:22:1",
"nodeType": "YulFunctionCall",
"src": "20602:22:1"
},
"variables": [
{
"name": "loopEnd",
"nativeSrc": "20591:7:1",
"nodeType": "YulTypedName",
"src": "20591:7:1",
"type": ""
}
]
},
{
"nativeSrc": "20638:51:1",
"nodeType": "YulVariableDeclaration",
"src": "20638:51:1",
"value": {
"arguments": [
{
"name": "slot",
"nativeSrc": "20684:4:1",
"nodeType": "YulIdentifier",
"src": "20684:4:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nativeSrc": "20652:31:1",
"nodeType": "YulIdentifier",
"src": "20652:31:1"
},
"nativeSrc": "20652:37:1",
"nodeType": "YulFunctionCall",
"src": "20652:37:1"
},
"variables": [
{
"name": "dstPtr",
"nativeSrc": "20642:6:1",
"nodeType": "YulTypedName",
"src": "20642:6:1",
"type": ""
}
]
},
{
"nativeSrc": "20702:10:1",
"nodeType": "YulVariableDeclaration",
"src": "20702:10:1",
"value": {
"kind": "number",
"nativeSrc": "20711:1:1",
"nodeType": "YulLiteral",
"src": "20711:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nativeSrc": "20706:1:1",
"nodeType": "YulTypedName",
"src": "20706:1:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "20770:163:1",
"nodeType": "YulBlock",
"src": "20770:163:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "20795:6:1",
"nodeType": "YulIdentifier",
"src": "20795:6:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "20813:3:1",
"nodeType": "YulIdentifier",
"src": "20813:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "20818:9:1",
"nodeType": "YulIdentifier",
"src": "20818:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "20809:3:1",
"nodeType": "YulIdentifier",
"src": "20809:3:1"
},
"nativeSrc": "20809:19:1",
"nodeType": "YulFunctionCall",
"src": "20809:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "20803:5:1",
"nodeType": "YulIdentifier",
"src": "20803:5:1"
},
"nativeSrc": "20803:26:1",
"nodeType": "YulFunctionCall",
"src": "20803:26:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "20788:6:1",
"nodeType": "YulIdentifier",
"src": "20788:6:1"
},
"nativeSrc": "20788:42:1",
"nodeType": "YulFunctionCall",
"src": "20788:42:1"
},
"nativeSrc": "20788:42:1",
"nodeType": "YulExpressionStatement",
"src": "20788:42:1"
},
{
"nativeSrc": "20847:24:1",
"nodeType": "YulAssignment",
"src": "20847:24:1",
"value": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "20861:6:1",
"nodeType": "YulIdentifier",
"src": "20861:6:1"
},
{
"kind": "number",
"nativeSrc": "20869:1:1",
"nodeType": "YulLiteral",
"src": "20869:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "20857:3:1",
"nodeType": "YulIdentifier",
"src": "20857:3:1"
},
"nativeSrc": "20857:14:1",
"nodeType": "YulFunctionCall",
"src": "20857:14:1"
},
"variableNames": [
{
"name": "dstPtr",
"nativeSrc": "20847:6:1",
"nodeType": "YulIdentifier",
"src": "20847:6:1"
}
]
},
{
"nativeSrc": "20888:31:1",
"nodeType": "YulAssignment",
"src": "20888:31:1",
"value": {
"arguments": [
{
"name": "srcOffset",
"nativeSrc": "20905:9:1",
"nodeType": "YulIdentifier",
"src": "20905:9:1"
},
{
"kind": "number",
"nativeSrc": "20916:2:1",
"nodeType": "YulLiteral",
"src": "20916:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "20901:3:1",
"nodeType": "YulIdentifier",
"src": "20901:3:1"
},
"nativeSrc": "20901:18:1",
"nodeType": "YulFunctionCall",
"src": "20901:18:1"
},
"variableNames": [
{
"name": "srcOffset",
"nativeSrc": "20888:9:1",
"nodeType": "YulIdentifier",
"src": "20888:9:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nativeSrc": "20736:1:1",
"nodeType": "YulIdentifier",
"src": "20736:1:1"
},
{
"name": "loopEnd",
"nativeSrc": "20739:7:1",
"nodeType": "YulIdentifier",
"src": "20739:7:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "20733:2:1",
"nodeType": "YulIdentifier",
"src": "20733:2:1"
},
"nativeSrc": "20733:14:1",
"nodeType": "YulFunctionCall",
"src": "20733:14:1"
},
"nativeSrc": "20725:208:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "20748:21:1",
"nodeType": "YulBlock",
"src": "20748:21:1",
"statements": [
{
"nativeSrc": "20750:17:1",
"nodeType": "YulAssignment",
"src": "20750:17:1",
"value": {
"arguments": [
{
"name": "i",
"nativeSrc": "20759:1:1",
"nodeType": "YulIdentifier",
"src": "20759:1:1"
},
{
"kind": "number",
"nativeSrc": "20762:4:1",
"nodeType": "YulLiteral",
"src": "20762:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "20755:3:1",
"nodeType": "YulIdentifier",
"src": "20755:3:1"
},
"nativeSrc": "20755:12:1",
"nodeType": "YulFunctionCall",
"src": "20755:12:1"
},
"variableNames": [
{
"name": "i",
"nativeSrc": "20750:1:1",
"nodeType": "YulIdentifier",
"src": "20750:1:1"
}
]
}
]
},
"pre": {
"nativeSrc": "20729:3:1",
"nodeType": "YulBlock",
"src": "20729:3:1",
"statements": []
},
"src": "20725:208:1"
},
{
"body": {
"nativeSrc": "20969:156:1",
"nodeType": "YulBlock",
"src": "20969:156:1",
"statements": [
{
"nativeSrc": "20987:43:1",
"nodeType": "YulVariableDeclaration",
"src": "20987:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "21014:3:1",
"nodeType": "YulIdentifier",
"src": "21014:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "21019:9:1",
"nodeType": "YulIdentifier",
"src": "21019:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "21010:3:1",
"nodeType": "YulIdentifier",
"src": "21010:3:1"
},
"nativeSrc": "21010:19:1",
"nodeType": "YulFunctionCall",
"src": "21010:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "21004:5:1",
"nodeType": "YulIdentifier",
"src": "21004:5:1"
},
"nativeSrc": "21004:26:1",
"nodeType": "YulFunctionCall",
"src": "21004:26:1"
},
"variables": [
{
"name": "lastValue",
"nativeSrc": "20991:9:1",
"nodeType": "YulTypedName",
"src": "20991:9:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "21054:6:1",
"nodeType": "YulIdentifier",
"src": "21054:6:1"
},
{
"arguments": [
{
"name": "lastValue",
"nativeSrc": "21081:9:1",
"nodeType": "YulIdentifier",
"src": "21081:9:1"
},
{
"arguments": [
{
"name": "newLen",
"nativeSrc": "21096:6:1",
"nodeType": "YulIdentifier",
"src": "21096:6:1"
},
{
"kind": "number",
"nativeSrc": "21104:4:1",
"nodeType": "YulLiteral",
"src": "21104:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "and",
"nativeSrc": "21092:3:1",
"nodeType": "YulIdentifier",
"src": "21092:3:1"
},
"nativeSrc": "21092:17:1",
"nodeType": "YulFunctionCall",
"src": "21092:17:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nativeSrc": "21062:18:1",
"nodeType": "YulIdentifier",
"src": "21062:18:1"
},
"nativeSrc": "21062:48:1",
"nodeType": "YulFunctionCall",
"src": "21062:48:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "21047:6:1",
"nodeType": "YulIdentifier",
"src": "21047:6:1"
},
"nativeSrc": "21047:64:1",
"nodeType": "YulFunctionCall",
"src": "21047:64:1"
},
"nativeSrc": "21047:64:1",
"nodeType": "YulExpressionStatement",
"src": "21047:64:1"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nativeSrc": "20952:7:1",
"nodeType": "YulIdentifier",
"src": "20952:7:1"
},
{
"name": "newLen",
"nativeSrc": "20961:6:1",
"nodeType": "YulIdentifier",
"src": "20961:6:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "20949:2:1",
"nodeType": "YulIdentifier",
"src": "20949:2:1"
},
"nativeSrc": "20949:19:1",
"nodeType": "YulFunctionCall",
"src": "20949:19:1"
},
"nativeSrc": "20946:179:1",
"nodeType": "YulIf",
"src": "20946:179:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "21145:4:1",
"nodeType": "YulIdentifier",
"src": "21145:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "newLen",
"nativeSrc": "21159:6:1",
"nodeType": "YulIdentifier",
"src": "21159:6:1"
},
{
"kind": "number",
"nativeSrc": "21167:1:1",
"nodeType": "YulLiteral",
"src": "21167:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "21155:3:1",
"nodeType": "YulIdentifier",
"src": "21155:3:1"
},
"nativeSrc": "21155:14:1",
"nodeType": "YulFunctionCall",
"src": "21155:14:1"
},
{
"kind": "number",
"nativeSrc": "21171:1:1",
"nodeType": "YulLiteral",
"src": "21171:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "21151:3:1",
"nodeType": "YulIdentifier",
"src": "21151:3:1"
},
"nativeSrc": "21151:22:1",
"nodeType": "YulFunctionCall",
"src": "21151:22:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "21138:6:1",
"nodeType": "YulIdentifier",
"src": "21138:6:1"
},
"nativeSrc": "21138:36:1",
"nodeType": "YulFunctionCall",
"src": "21138:36:1"
},
"nativeSrc": "21138:36:1",
"nodeType": "YulExpressionStatement",
"src": "21138:36:1"
}
]
},
"nativeSrc": "20566:618:1",
"nodeType": "YulCase",
"src": "20566:618:1",
"value": {
"kind": "number",
"nativeSrc": "20571:1:1",
"nodeType": "YulLiteral",
"src": "20571:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nativeSrc": "21201:222:1",
"nodeType": "YulBlock",
"src": "21201:222:1",
"statements": [
{
"nativeSrc": "21215:14:1",
"nodeType": "YulVariableDeclaration",
"src": "21215:14:1",
"value": {
"kind": "number",
"nativeSrc": "21228:1:1",
"nodeType": "YulLiteral",
"src": "21228:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nativeSrc": "21219:5:1",
"nodeType": "YulTypedName",
"src": "21219:5:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "21252:67:1",
"nodeType": "YulBlock",
"src": "21252:67:1",
"statements": [
{
"nativeSrc": "21270:35:1",
"nodeType": "YulAssignment",
"src": "21270:35:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "21289:3:1",
"nodeType": "YulIdentifier",
"src": "21289:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "21294:9:1",
"nodeType": "YulIdentifier",
"src": "21294:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "21285:3:1",
"nodeType": "YulIdentifier",
"src": "21285:3:1"
},
"nativeSrc": "21285:19:1",
"nodeType": "YulFunctionCall",
"src": "21285:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "21279:5:1",
"nodeType": "YulIdentifier",
"src": "21279:5:1"
},
"nativeSrc": "21279:26:1",
"nodeType": "YulFunctionCall",
"src": "21279:26:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "21270:5:1",
"nodeType": "YulIdentifier",
"src": "21270:5:1"
}
]
}
]
},
"condition": {
"name": "newLen",
"nativeSrc": "21245:6:1",
"nodeType": "YulIdentifier",
"src": "21245:6:1"
},
"nativeSrc": "21242:77:1",
"nodeType": "YulIf",
"src": "21242:77:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "21339:4:1",
"nodeType": "YulIdentifier",
"src": "21339:4:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "21398:5:1",
"nodeType": "YulIdentifier",
"src": "21398:5:1"
},
{
"name": "newLen",
"nativeSrc": "21405:6:1",
"nodeType": "YulIdentifier",
"src": "21405:6:1"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nativeSrc": "21345:52:1",
"nodeType": "YulIdentifier",
"src": "21345:52:1"
},
"nativeSrc": "21345:67:1",
"nodeType": "YulFunctionCall",
"src": "21345:67:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "21332:6:1",
"nodeType": "YulIdentifier",
"src": "21332:6:1"
},
"nativeSrc": "21332:81:1",
"nodeType": "YulFunctionCall",
"src": "21332:81:1"
},
"nativeSrc": "21332:81:1",
"nodeType": "YulExpressionStatement",
"src": "21332:81:1"
}
]
},
"nativeSrc": "21193:230:1",
"nodeType": "YulCase",
"src": "21193:230:1",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "20546:6:1",
"nodeType": "YulIdentifier",
"src": "20546:6:1"
},
{
"kind": "number",
"nativeSrc": "20554:2:1",
"nodeType": "YulLiteral",
"src": "20554:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "20543:2:1",
"nodeType": "YulIdentifier",
"src": "20543:2:1"
},
"nativeSrc": "20543:14:1",
"nodeType": "YulFunctionCall",
"src": "20543:14:1"
},
"nativeSrc": "20536:887:1",
"nodeType": "YulSwitch",
"src": "20536:887:1"
}
]
},
"name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage",
"nativeSrc": "20034:1395:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "20115:4:1",
"nodeType": "YulTypedName",
"src": "20115:4:1",
"type": ""
},
{
"name": "src",
"nativeSrc": "20121:3:1",
"nodeType": "YulTypedName",
"src": "20121:3:1",
"type": ""
}
],
"src": "20034:1395:1"
},
{
"body": {
"nativeSrc": "21541:76:1",
"nodeType": "YulBlock",
"src": "21541:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "21563:6:1",
"nodeType": "YulIdentifier",
"src": "21563:6:1"
},
{
"kind": "number",
"nativeSrc": "21571:1:1",
"nodeType": "YulLiteral",
"src": "21571:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "21559:3:1",
"nodeType": "YulIdentifier",
"src": "21559:3:1"
},
"nativeSrc": "21559:14:1",
"nodeType": "YulFunctionCall",
"src": "21559:14:1"
},
{
"hexValue": "4e6577206f776e65722063616e6e6f74206265207a65726f2061646472657373",
"kind": "string",
"nativeSrc": "21575:34:1",
"nodeType": "YulLiteral",
"src": "21575:34:1",
"type": "",
"value": "New owner cannot be zero address"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "21552:6:1",
"nodeType": "YulIdentifier",
"src": "21552:6:1"
},
"nativeSrc": "21552:58:1",
"nodeType": "YulFunctionCall",
"src": "21552:58:1"
},
"nativeSrc": "21552:58:1",
"nodeType": "YulExpressionStatement",
"src": "21552:58:1"
}
]
},
"name": "store_literal_in_memory_f16f43cb73d56e0745728a6b55de7a4e958d36df2c8d7b1ccb6242c8ad2ba8d2",
"nativeSrc": "21435:182:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "21533:6:1",
"nodeType": "YulTypedName",
"src": "21533:6:1",
"type": ""
}
],
"src": "21435:182:1"
},
{
"body": {
"nativeSrc": "21769:220:1",
"nodeType": "YulBlock",
"src": "21769:220:1",
"statements": [
{
"nativeSrc": "21779:74:1",
"nodeType": "YulAssignment",
"src": "21779:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "21845:3:1",
"nodeType": "YulIdentifier",
"src": "21845:3:1"
},
{
"kind": "number",
"nativeSrc": "21850:2:1",
"nodeType": "YulLiteral",
"src": "21850:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "21786:58:1",
"nodeType": "YulIdentifier",
"src": "21786:58:1"
},
"nativeSrc": "21786:67:1",
"nodeType": "YulFunctionCall",
"src": "21786:67:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "21779:3:1",
"nodeType": "YulIdentifier",
"src": "21779:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "21951:3:1",
"nodeType": "YulIdentifier",
"src": "21951:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_f16f43cb73d56e0745728a6b55de7a4e958d36df2c8d7b1ccb6242c8ad2ba8d2",
"nativeSrc": "21862:88:1",
"nodeType": "YulIdentifier",
"src": "21862:88:1"
},
"nativeSrc": "21862:93:1",
"nodeType": "YulFunctionCall",
"src": "21862:93:1"
},
"nativeSrc": "21862:93:1",
"nodeType": "YulExpressionStatement",
"src": "21862:93:1"
},
{
"nativeSrc": "21964:19:1",
"nodeType": "YulAssignment",
"src": "21964:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "21975:3:1",
"nodeType": "YulIdentifier",
"src": "21975:3:1"
},
{
"kind": "number",
"nativeSrc": "21980:2:1",
"nodeType": "YulLiteral",
"src": "21980:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "21971:3:1",
"nodeType": "YulIdentifier",
"src": "21971:3:1"
},
"nativeSrc": "21971:12:1",
"nodeType": "YulFunctionCall",
"src": "21971:12:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "21964:3:1",
"nodeType": "YulIdentifier",
"src": "21964:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_f16f43cb73d56e0745728a6b55de7a4e958d36df2c8d7b1ccb6242c8ad2ba8d2_to_t_string_memory_ptr_fromStack",
"nativeSrc": "21623:366:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "21757:3:1",
"nodeType": "YulTypedName",
"src": "21757:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "21765:3:1",
"nodeType": "YulTypedName",
"src": "21765:3:1",
"type": ""
}
],
"src": "21623:366:1"
},
{
"body": {
"nativeSrc": "22166:248:1",
"nodeType": "YulBlock",
"src": "22166:248:1",
"statements": [
{
"nativeSrc": "22176:26:1",
"nodeType": "YulAssignment",
"src": "22176:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "22188:9:1",
"nodeType": "YulIdentifier",
"src": "22188:9:1"
},
{
"kind": "number",
"nativeSrc": "22199:2:1",
"nodeType": "YulLiteral",
"src": "22199:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "22184:3:1",
"nodeType": "YulIdentifier",
"src": "22184:3:1"
},
"nativeSrc": "22184:18:1",
"nodeType": "YulFunctionCall",
"src": "22184:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "22176:4:1",
"nodeType": "YulIdentifier",
"src": "22176:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "22223:9:1",
"nodeType": "YulIdentifier",
"src": "22223:9:1"
},
{
"kind": "number",
"nativeSrc": "22234:1:1",
"nodeType": "YulLiteral",
"src": "22234:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "22219:3:1",
"nodeType": "YulIdentifier",
"src": "22219:3:1"
},
"nativeSrc": "22219:17:1",
"nodeType": "YulFunctionCall",
"src": "22219:17:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "22242:4:1",
"nodeType": "YulIdentifier",
"src": "22242:4:1"
},
{
"name": "headStart",
"nativeSrc": "22248:9:1",
"nodeType": "YulIdentifier",
"src": "22248:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "22238:3:1",
"nodeType": "YulIdentifier",
"src": "22238:3:1"
},
"nativeSrc": "22238:20:1",
"nodeType": "YulFunctionCall",
"src": "22238:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "22212:6:1",
"nodeType": "YulIdentifier",
"src": "22212:6:1"
},
"nativeSrc": "22212:47:1",
"nodeType": "YulFunctionCall",
"src": "22212:47:1"
},
"nativeSrc": "22212:47:1",
"nodeType": "YulExpressionStatement",
"src": "22212:47:1"
},
{
"nativeSrc": "22268:139:1",
"nodeType": "YulAssignment",
"src": "22268:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "22402:4:1",
"nodeType": "YulIdentifier",
"src": "22402:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_f16f43cb73d56e0745728a6b55de7a4e958d36df2c8d7b1ccb6242c8ad2ba8d2_to_t_string_memory_ptr_fromStack",
"nativeSrc": "22276:124:1",
"nodeType": "YulIdentifier",
"src": "22276:124:1"
},
"nativeSrc": "22276:131:1",
"nodeType": "YulFunctionCall",
"src": "22276:131:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "22268:4:1",
"nodeType": "YulIdentifier",
"src": "22268:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_f16f43cb73d56e0745728a6b55de7a4e958d36df2c8d7b1ccb6242c8ad2ba8d2__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "21995:419:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "22146:9:1",
"nodeType": "YulTypedName",
"src": "22146:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "22161:4:1",
"nodeType": "YulTypedName",
"src": "22161:4:1",
"type": ""
}
],
"src": "21995:419:1"
}
]
},
"contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n\n mcopy(dst, src, length)\n mstore(add(dst, length), 0)\n\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_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 allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n\n }\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_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 abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function store_literal_in_memory_0cbffce02650d1c5ed2b639dc708d6fda7cacbd6b8d41a8f8e678e28ed22a498(memPtr) {\n\n mstore(add(memPtr, 0), \"Cannot approve zero address\")\n\n }\n\n function abi_encode_t_stringliteral_0cbffce02650d1c5ed2b639dc708d6fda7cacbd6b8d41a8f8e678e28ed22a498_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 27)\n store_literal_in_memory_0cbffce02650d1c5ed2b639dc708d6fda7cacbd6b8d41a8f8e678e28ed22a498(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_0cbffce02650d1c5ed2b639dc708d6fda7cacbd6b8d41a8f8e678e28ed22a498__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_0cbffce02650d1c5ed2b639dc708d6fda7cacbd6b8d41a8f8e678e28ed22a498_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_bb6ef8259868f621162cf2269ec456fd6e3660c295ef634f53db3982172a569f(memPtr) {\n\n mstore(add(memPtr, 0), \"Cannot transfer to zero address\")\n\n }\n\n function abi_encode_t_stringliteral_bb6ef8259868f621162cf2269ec456fd6e3660c295ef634f53db3982172a569f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n store_literal_in_memory_bb6ef8259868f621162cf2269ec456fd6e3660c295ef634f53db3982172a569f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_bb6ef8259868f621162cf2269ec456fd6e3660c295ef634f53db3982172a569f__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_bb6ef8259868f621162cf2269ec456fd6e3660c295ef634f53db3982172a569f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5(memPtr) {\n\n mstore(add(memPtr, 0), \"Insufficient balance\")\n\n }\n\n function abi_encode_t_stringliteral_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 20)\n store_literal_in_memory_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5__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_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_12965c5a04e4382415d38b7802f2e82c1d2e7cc8b8ef9ef51ff6c86060f08027(memPtr) {\n\n mstore(add(memPtr, 0), \"Allowance exceeded\")\n\n }\n\n function abi_encode_t_stringliteral_12965c5a04e4382415d38b7802f2e82c1d2e7cc8b8ef9ef51ff6c86060f08027_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 18)\n store_literal_in_memory_12965c5a04e4382415d38b7802f2e82c1d2e7cc8b8ef9ef51ff6c86060f08027(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_12965c5a04e4382415d38b7802f2e82c1d2e7cc8b8ef9ef51ff6c86060f08027__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_12965c5a04e4382415d38b7802f2e82c1d2e7cc8b8ef9ef51ff6c86060f08027_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n function store_literal_in_memory_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef(memPtr) {\n\n mstore(add(memPtr, 0), \"Only owner can call this functio\")\n\n mstore(add(memPtr, 32), \"n\")\n\n }\n\n function abi_encode_t_stringliteral_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n store_literal_in_memory_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef__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_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9(memPtr) {\n\n mstore(add(memPtr, 0), \"Cannot mint to zero address\")\n\n }\n\n function abi_encode_t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 27)\n store_literal_in_memory_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9__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_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_eac0e9db12cd14c1c0291906654a3fa6bfacc1c08081fda717334bc66586bac5(memPtr) {\n\n mstore(add(memPtr, 0), \"Insufficient balance to burn\")\n\n }\n\n function abi_encode_t_stringliteral_eac0e9db12cd14c1c0291906654a3fa6bfacc1c08081fda717334bc66586bac5_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\n store_literal_in_memory_eac0e9db12cd14c1c0291906654a3fa6bfacc1c08081fda717334bc66586bac5(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_eac0e9db12cd14c1c0291906654a3fa6bfacc1c08081fda717334bc66586bac5__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_eac0e9db12cd14c1c0291906654a3fa6bfacc1c08081fda717334bc66586bac5_to_t_string_memory_ptr_fromStack( tail)\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 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(startSlot, slotCount) {\n for { let i := 0 } lt(i, slotCount) { i := add(i, 1) }\n {\n storage_set_to_zero_t_uint256(add(startSlot, i), 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n if gt(len, startIndex) {\n let dataArea := array_dataslot_t_string_storage(array)\n let oldSlotCount := divide_by_32_ceil(len)\n let newSlotCount := 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) {\n newSlotCount := 0\n }\n let deleteStart := add(dataArea, newSlotCount)\n clear_storage_range_t_bytes1(deleteStart, sub(oldSlotCount, newSlotCount))\n }\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 function store_literal_in_memory_f16f43cb73d56e0745728a6b55de7a4e958d36df2c8d7b1ccb6242c8ad2ba8d2(memPtr) {\n\n mstore(add(memPtr, 0), \"New owner cannot be zero address\")\n\n }\n\n function abi_encode_t_stringliteral_f16f43cb73d56e0745728a6b55de7a4e958d36df2c8d7b1ccb6242c8ad2ba8d2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_f16f43cb73d56e0745728a6b55de7a4e958d36df2c8d7b1ccb6242c8ad2ba8d2(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_f16f43cb73d56e0745728a6b55de7a4e958d36df2c8d7b1ccb6242c8ad2ba8d2__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_f16f43cb73d56e0745728a6b55de7a4e958d36df2c8d7b1ccb6242c8ad2ba8d2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561000f575f5ffd5b50600436106100f3575f3560e01c806363879c091161009557806395d89b411161006457806395d89b4114610299578063a9059cbb146102b7578063dd62ed3e146102e7578063f2fde38b14610317576100f3565b806363879c09146102115780636bb38b281461022d57806370a082311461024b5780638da5cb5b1461027b576100f3565b806323b872dd116100d157806323b872dd14610163578063313ce5671461019357806340c10f19146101b157806342966c68146101e1576100f3565b806306fdde03146100f7578063095ea7b31461011557806318160ddd14610145575b5f5ffd5b6100ff610333565b60405161010c9190611215565b60405180910390f35b61012f600480360381019061012a91906112d3565b6103be565b60405161013c919061132b565b60405180910390f35b61014d610519565b60405161015a9190611353565b60405180910390f35b61017d6004803603810190610178919061136c565b61051f565b60405161018a919061132b565b60405180910390f35b61019b61086d565b6040516101a891906113d7565b60405180910390f35b6101cb60048036038101906101c691906112d3565b61087f565b6040516101d8919061132b565b60405180910390f35b6101fb60048036038101906101f691906113f0565b610aa5565b604051610208919061132b565b60405180910390f35b61022b60048036038101906102269190611547565b610c4d565b005b610235610cef565b6040516102429190611215565b60405180910390f35b6102656004803603810190610260919061158e565b610d7b565b6040516102729190611353565b60405180910390f35b610283610d90565b60405161029091906115c8565b60405180910390f35b6102a1610db5565b6040516102ae9190611215565b60405180910390f35b6102d160048036038101906102cc91906112d3565b610e41565b6040516102de919061132b565b60405180910390f35b61030160048036038101906102fc91906115e1565b611045565b60405161030e9190611353565b60405180910390f35b610331600480360381019061032c919061158e565b611065565b005b5f805461033f9061164c565b80601f016020809104026020016040519081016040528092919081815260200182805461036b9061164c565b80156103b65780601f1061038d576101008083540402835291602001916103b6565b820191905f5260205f20905b81548152906001019060200180831161039957829003601f168201915b505050505081565b5f5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361042d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610424906116c6565b60405180910390fd5b8160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516105079190611353565b60405180910390a36001905092915050565b60035481565b5f5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361058e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105859061172e565b60405180910390fd5b8160055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054101561060e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060590611796565b60405180910390fd5b8160065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156106c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c0906117fe565b60405180910390fd5b8160055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546107159190611849565b925050819055508160055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610768919061187c565b925050819055508160065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546107f69190611849565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161085a9190611353565b60405180910390a3600190509392505050565b60025f9054906101000a900460ff1681565b5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461090f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109069061191f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361097d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097490611987565b60405180910390fd5b8160035f82825461098e919061187c565b925050819055508160055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546109e1919061187c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688583604051610a2e9190611353565b60405180910390a28273ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a939190611353565b60405180910390a36001905092915050565b5f8160055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610b26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1d906119ef565b60405180910390fd5b8160055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610b729190611849565b925050819055508160035f828254610b8a9190611849565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca583604051610bd79190611353565b60405180910390a25f73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c3c9190611353565b60405180910390a360019050919050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cdc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd39061191f565b60405180910390fd5b8060049081610ceb9190611bbe565b5050565b60048054610cfc9061164c565b80601f0160208091040260200160405190810160405280929190818152602001828054610d289061164c565b8015610d735780601f10610d4a57610100808354040283529160200191610d73565b820191905f5260205f20905b815481529060010190602001808311610d5657829003601f168201915b505050505081565b6005602052805f5260405f205f915090505481565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054610dc29061164c565b80601f0160208091040260200160405190810160405280929190818152602001828054610dee9061164c565b8015610e395780601f10610e1057610100808354040283529160200191610e39565b820191905f5260205f20905b815481529060010190602001808311610e1c57829003601f168201915b505050505081565b5f5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea79061172e565b60405180910390fd5b8160055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610f30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2790611796565b60405180910390fd5b8160055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610f7c9190611849565b925050819055508160055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610fcf919061187c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110339190611353565b60405180910390a36001905092915050565b6006602052815f5260405f20602052805f5260405f205f91509150505481565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110eb9061191f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611162576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115990611cd7565b60405180910390fd5b8060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6111e7826111a5565b6111f181856111af565b93506112018185602086016111bf565b61120a816111cd565b840191505092915050565b5f6020820190508181035f83015261122d81846111dd565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61126f82611246565b9050919050565b61127f81611265565b8114611289575f5ffd5b50565b5f8135905061129a81611276565b92915050565b5f819050919050565b6112b2816112a0565b81146112bc575f5ffd5b50565b5f813590506112cd816112a9565b92915050565b5f5f604083850312156112e9576112e861123e565b5b5f6112f68582860161128c565b9250506020611307858286016112bf565b9150509250929050565b5f8115159050919050565b61132581611311565b82525050565b5f60208201905061133e5f83018461131c565b92915050565b61134d816112a0565b82525050565b5f6020820190506113665f830184611344565b92915050565b5f5f5f606084860312156113835761138261123e565b5b5f6113908682870161128c565b93505060206113a18682870161128c565b92505060406113b2868287016112bf565b9150509250925092565b5f60ff82169050919050565b6113d1816113bc565b82525050565b5f6020820190506113ea5f8301846113c8565b92915050565b5f602082840312156114055761140461123e565b5b5f611412848285016112bf565b91505092915050565b5f5ffd5b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611459826111cd565b810181811067ffffffffffffffff8211171561147857611477611423565b5b80604052505050565b5f61148a611235565b90506114968282611450565b919050565b5f67ffffffffffffffff8211156114b5576114b4611423565b5b6114be826111cd565b9050602081019050919050565b828183375f83830152505050565b5f6114eb6114e68461149b565b611481565b9050828152602081018484840111156115075761150661141f565b5b6115128482856114cb565b509392505050565b5f82601f83011261152e5761152d61141b565b5b813561153e8482602086016114d9565b91505092915050565b5f6020828403121561155c5761155b61123e565b5b5f82013567ffffffffffffffff81111561157957611578611242565b5b6115858482850161151a565b91505092915050565b5f602082840312156115a3576115a261123e565b5b5f6115b08482850161128c565b91505092915050565b6115c281611265565b82525050565b5f6020820190506115db5f8301846115b9565b92915050565b5f5f604083850312156115f7576115f661123e565b5b5f6116048582860161128c565b92505060206116158582860161128c565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061166357607f821691505b6020821081036116765761167561161f565b5b50919050565b7f43616e6e6f7420617070726f7665207a65726f206164647265737300000000005f82015250565b5f6116b0601b836111af565b91506116bb8261167c565b602082019050919050565b5f6020820190508181035f8301526116dd816116a4565b9050919050565b7f43616e6e6f74207472616e7366657220746f207a65726f2061646472657373005f82015250565b5f611718601f836111af565b9150611723826116e4565b602082019050919050565b5f6020820190508181035f8301526117458161170c565b9050919050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f6117806014836111af565b915061178b8261174c565b602082019050919050565b5f6020820190508181035f8301526117ad81611774565b9050919050565b7f416c6c6f77616e636520657863656564656400000000000000000000000000005f82015250565b5f6117e86012836111af565b91506117f3826117b4565b602082019050919050565b5f6020820190508181035f830152611815816117dc565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611853826112a0565b915061185e836112a0565b92508282039050818111156118765761187561181c565b5b92915050565b5f611886826112a0565b9150611891836112a0565b92508282019050808211156118a9576118a861181c565b5b92915050565b7f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f5f8201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b5f6119096021836111af565b9150611914826118af565b604082019050919050565b5f6020820190508181035f830152611936816118fd565b9050919050565b7f43616e6e6f74206d696e7420746f207a65726f206164647265737300000000005f82015250565b5f611971601b836111af565b915061197c8261193d565b602082019050919050565b5f6020820190508181035f83015261199e81611965565b9050919050565b7f496e73756666696369656e742062616c616e636520746f206275726e000000005f82015250565b5f6119d9601c836111af565b91506119e4826119a5565b602082019050919050565b5f6020820190508181035f830152611a06816119cd565b9050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302611a697fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611a2e565b611a738683611a2e565b95508019841693508086168417925050509392505050565b5f819050919050565b5f611aae611aa9611aa4846112a0565b611a8b565b6112a0565b9050919050565b5f819050919050565b611ac783611a94565b611adb611ad382611ab5565b848454611a3a565b825550505050565b5f5f905090565b611af2611ae3565b611afd818484611abe565b505050565b5f5b82811015611b2357611b185f828401611aea565b600181019050611b04565b505050565b601f821115611b765782821115611b7557611b4281611a0d565b611b4b83611a1f565b611b5485611a1f565b6020861015611b61575f90505b808301611b7082840382611b02565b505050505b5b505050565b5f82821c905092915050565b5f611b965f1984600802611b7b565b1980831691505092915050565b5f611bae8383611b87565b9150826002028217905092915050565b611bc7826111a5565b67ffffffffffffffff811115611be057611bdf611423565b5b611bea825461164c565b611bf5828285611b28565b5f60209050601f831160018114611c26575f8415611c14578287015190505b611c1e8582611ba3565b865550611c85565b601f198416611c3486611a0d565b5f5b82811015611c5b57848901518255600182019150602085019450602081019050611c36565b86831015611c785784890151611c74601f891682611b87565b8355505b6001600288020188555050505b505050505050565b7f4e6577206f776e65722063616e6e6f74206265207a65726f20616464726573735f82015250565b5f611cc16020836111af565b9150611ccc82611c8d565b602082019050919050565b5f6020820190508181035f830152611cee81611cb5565b905091905056fea26469706673582212200a6ca861033ddd18646857eea2ac134986eed8c60b54f4e5698b1a3cad3b5eef64736f6c63430008220033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xF3 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x63879C09 GT PUSH2 0x95 JUMPI DUP1 PUSH4 0x95D89B41 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x299 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x2B7 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x2E7 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x317 JUMPI PUSH2 0xF3 JUMP JUMPDEST DUP1 PUSH4 0x63879C09 EQ PUSH2 0x211 JUMPI DUP1 PUSH4 0x6BB38B28 EQ PUSH2 0x22D JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x24B JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x27B JUMPI PUSH2 0xF3 JUMP JUMPDEST DUP1 PUSH4 0x23B872DD GT PUSH2 0xD1 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x163 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x193 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x1B1 JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x1E1 JUMPI PUSH2 0xF3 JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xF7 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x115 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x145 JUMPI JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH2 0xFF PUSH2 0x333 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10C SWAP2 SWAP1 PUSH2 0x1215 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x12F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x12A SWAP2 SWAP1 PUSH2 0x12D3 JUMP JUMPDEST PUSH2 0x3BE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13C SWAP2 SWAP1 PUSH2 0x132B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x14D PUSH2 0x519 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15A SWAP2 SWAP1 PUSH2 0x1353 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x17D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x178 SWAP2 SWAP1 PUSH2 0x136C JUMP JUMPDEST PUSH2 0x51F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18A SWAP2 SWAP1 PUSH2 0x132B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x19B PUSH2 0x86D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A8 SWAP2 SWAP1 PUSH2 0x13D7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1C6 SWAP2 SWAP1 PUSH2 0x12D3 JUMP JUMPDEST PUSH2 0x87F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D8 SWAP2 SWAP1 PUSH2 0x132B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1FB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1F6 SWAP2 SWAP1 PUSH2 0x13F0 JUMP JUMPDEST PUSH2 0xAA5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x208 SWAP2 SWAP1 PUSH2 0x132B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x22B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x226 SWAP2 SWAP1 PUSH2 0x1547 JUMP JUMPDEST PUSH2 0xC4D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x235 PUSH2 0xCEF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x242 SWAP2 SWAP1 PUSH2 0x1215 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x265 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x260 SWAP2 SWAP1 PUSH2 0x158E JUMP JUMPDEST PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x272 SWAP2 SWAP1 PUSH2 0x1353 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x283 PUSH2 0xD90 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x290 SWAP2 SWAP1 PUSH2 0x15C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2A1 PUSH2 0xDB5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2AE SWAP2 SWAP1 PUSH2 0x1215 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2D1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2CC SWAP2 SWAP1 PUSH2 0x12D3 JUMP JUMPDEST PUSH2 0xE41 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2DE SWAP2 SWAP1 PUSH2 0x132B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x301 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2FC SWAP2 SWAP1 PUSH2 0x15E1 JUMP JUMPDEST PUSH2 0x1045 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x30E SWAP2 SWAP1 PUSH2 0x1353 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x331 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x32C SWAP2 SWAP1 PUSH2 0x158E JUMP JUMPDEST PUSH2 0x1065 JUMP JUMPDEST STOP JUMPDEST PUSH0 DUP1 SLOAD PUSH2 0x33F SWAP1 PUSH2 0x164C 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 0x36B SWAP1 PUSH2 0x164C JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3B6 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x38D JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3B6 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x399 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH0 PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x42D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x424 SWAP1 PUSH2 0x16C6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x6 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 PUSH1 0x40 MLOAD PUSH2 0x507 SWAP2 SWAP1 PUSH2 0x1353 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH0 PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x58E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x585 SWAP1 PUSH2 0x172E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x5 PUSH0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD LT ISZERO PUSH2 0x60E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x605 SWAP1 PUSH2 0x1796 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x6 PUSH0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD LT ISZERO PUSH2 0x6C9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6C0 SWAP1 PUSH2 0x17FE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x5 PUSH0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x715 SWAP2 SWAP1 PUSH2 0x1849 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x5 PUSH0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x768 SWAP2 SWAP1 PUSH2 0x187C JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x6 PUSH0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x7F6 SWAP2 SWAP1 PUSH2 0x1849 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0x85A SWAP2 SWAP1 PUSH2 0x1353 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x2 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH0 PUSH1 0x7 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x90F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x906 SWAP1 PUSH2 0x191F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x97D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x974 SWAP1 PUSH2 0x1987 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x3 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x98E SWAP2 SWAP1 PUSH2 0x187C JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x5 PUSH0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x9E1 SWAP2 SWAP1 PUSH2 0x187C JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xF6798A560793A54C3BCFE86A93CDE1E73087D944C0EA20544137D4121396885 DUP4 PUSH1 0x40 MLOAD PUSH2 0xA2E SWAP2 SWAP1 PUSH2 0x1353 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0xA93 SWAP2 SWAP1 PUSH2 0x1353 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 PUSH1 0x5 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD LT ISZERO PUSH2 0xB26 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xB1D SWAP1 PUSH2 0x19EF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x5 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP3 DUP3 SLOAD PUSH2 0xB72 SWAP2 SWAP1 PUSH2 0x1849 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x3 PUSH0 DUP3 DUP3 SLOAD PUSH2 0xB8A SWAP2 SWAP1 PUSH2 0x1849 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xCC16F5DBB4873280815C1EE09DBD06736CFFCC184412CF7A71A0FDB75D397CA5 DUP4 PUSH1 0x40 MLOAD PUSH2 0xBD7 SWAP2 SWAP1 PUSH2 0x1353 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0xC3C SWAP2 SWAP1 PUSH2 0x1353 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x7 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xCDC JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCD3 SWAP1 PUSH2 0x191F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x4 SWAP1 DUP2 PUSH2 0xCEB SWAP2 SWAP1 PUSH2 0x1BBE JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH2 0xCFC SWAP1 PUSH2 0x164C 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 0xD28 SWAP1 PUSH2 0x164C JUMP JUMPDEST DUP1 ISZERO PUSH2 0xD73 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xD4A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xD73 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xD56 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 MSTORE DUP1 PUSH0 MSTORE PUSH1 0x40 PUSH0 KECCAK256 PUSH0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x7 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0xDC2 SWAP1 PUSH2 0x164C 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 0xDEE SWAP1 PUSH2 0x164C JUMP JUMPDEST DUP1 ISZERO PUSH2 0xE39 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xE10 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xE39 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xE1C JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH0 PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xEB0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xEA7 SWAP1 PUSH2 0x172E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x5 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD LT ISZERO PUSH2 0xF30 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF27 SWAP1 PUSH2 0x1796 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x5 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP3 DUP3 SLOAD PUSH2 0xF7C SWAP2 SWAP1 PUSH2 0x1849 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x5 PUSH0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP3 DUP3 SLOAD PUSH2 0xFCF SWAP2 SWAP1 PUSH2 0x187C JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0x1033 SWAP2 SWAP1 PUSH2 0x1353 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x6 PUSH1 0x20 MSTORE DUP2 PUSH0 MSTORE PUSH1 0x40 PUSH0 KECCAK256 PUSH1 0x20 MSTORE DUP1 PUSH0 MSTORE PUSH1 0x40 PUSH0 KECCAK256 PUSH0 SWAP2 POP SWAP2 POP POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x7 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x10F4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x10EB SWAP1 PUSH2 0x191F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x1162 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1159 SWAP1 PUSH2 0x1CD7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x7 PUSH0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 MCOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x11E7 DUP3 PUSH2 0x11A5 JUMP JUMPDEST PUSH2 0x11F1 DUP2 DUP6 PUSH2 0x11AF JUMP JUMPDEST SWAP4 POP PUSH2 0x1201 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x11BF JUMP JUMPDEST PUSH2 0x120A DUP2 PUSH2 0x11CD JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x122D DUP2 DUP5 PUSH2 0x11DD JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x126F DUP3 PUSH2 0x1246 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x127F DUP2 PUSH2 0x1265 JUMP JUMPDEST DUP2 EQ PUSH2 0x1289 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x129A DUP2 PUSH2 0x1276 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x12B2 DUP2 PUSH2 0x12A0 JUMP JUMPDEST DUP2 EQ PUSH2 0x12BC JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x12CD DUP2 PUSH2 0x12A9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH0 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x12E9 JUMPI PUSH2 0x12E8 PUSH2 0x123E JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x12F6 DUP6 DUP3 DUP7 ADD PUSH2 0x128C JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1307 DUP6 DUP3 DUP7 ADD PUSH2 0x12BF JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1325 DUP2 PUSH2 0x1311 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x133E PUSH0 DUP4 ADD DUP5 PUSH2 0x131C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x134D DUP2 PUSH2 0x12A0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1366 PUSH0 DUP4 ADD DUP5 PUSH2 0x1344 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH0 PUSH0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1383 JUMPI PUSH2 0x1382 PUSH2 0x123E JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x1390 DUP7 DUP3 DUP8 ADD PUSH2 0x128C JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x13A1 DUP7 DUP3 DUP8 ADD PUSH2 0x128C JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x13B2 DUP7 DUP3 DUP8 ADD PUSH2 0x12BF JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x13D1 DUP2 PUSH2 0x13BC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x13EA PUSH0 DUP4 ADD DUP5 PUSH2 0x13C8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1405 JUMPI PUSH2 0x1404 PUSH2 0x123E JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x1412 DUP5 DUP3 DUP6 ADD PUSH2 0x12BF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH2 0x1459 DUP3 PUSH2 0x11CD JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1478 JUMPI PUSH2 0x1477 PUSH2 0x1423 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x148A PUSH2 0x1235 JUMP JUMPDEST SWAP1 POP PUSH2 0x1496 DUP3 DUP3 PUSH2 0x1450 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x14B5 JUMPI PUSH2 0x14B4 PUSH2 0x1423 JUMP JUMPDEST JUMPDEST PUSH2 0x14BE DUP3 PUSH2 0x11CD JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x14EB PUSH2 0x14E6 DUP5 PUSH2 0x149B JUMP JUMPDEST PUSH2 0x1481 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1507 JUMPI PUSH2 0x1506 PUSH2 0x141F JUMP JUMPDEST JUMPDEST PUSH2 0x1512 DUP5 DUP3 DUP6 PUSH2 0x14CB JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x152E JUMPI PUSH2 0x152D PUSH2 0x141B JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x153E DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x14D9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x155C JUMPI PUSH2 0x155B PUSH2 0x123E JUMP JUMPDEST JUMPDEST PUSH0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1579 JUMPI PUSH2 0x1578 PUSH2 0x1242 JUMP JUMPDEST JUMPDEST PUSH2 0x1585 DUP5 DUP3 DUP6 ADD PUSH2 0x151A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x15A3 JUMPI PUSH2 0x15A2 PUSH2 0x123E JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x15B0 DUP5 DUP3 DUP6 ADD PUSH2 0x128C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x15C2 DUP2 PUSH2 0x1265 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x15DB PUSH0 DUP4 ADD DUP5 PUSH2 0x15B9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH0 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x15F7 JUMPI PUSH2 0x15F6 PUSH2 0x123E JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x1604 DUP6 DUP3 DUP7 ADD PUSH2 0x128C JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1615 DUP6 DUP3 DUP7 ADD PUSH2 0x128C JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1663 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1676 JUMPI PUSH2 0x1675 PUSH2 0x161F JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x43616E6E6F7420617070726F7665207A65726F20616464726573730000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x16B0 PUSH1 0x1B DUP4 PUSH2 0x11AF JUMP JUMPDEST SWAP2 POP PUSH2 0x16BB DUP3 PUSH2 0x167C JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x16DD DUP2 PUSH2 0x16A4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x43616E6E6F74207472616E7366657220746F207A65726F206164647265737300 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x1718 PUSH1 0x1F DUP4 PUSH2 0x11AF JUMP JUMPDEST SWAP2 POP PUSH2 0x1723 DUP3 PUSH2 0x16E4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x1745 DUP2 PUSH2 0x170C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x496E73756666696369656E742062616C616E6365000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x1780 PUSH1 0x14 DUP4 PUSH2 0x11AF JUMP JUMPDEST SWAP2 POP PUSH2 0x178B DUP3 PUSH2 0x174C JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x17AD DUP2 PUSH2 0x1774 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x416C6C6F77616E63652065786365656465640000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x17E8 PUSH1 0x12 DUP4 PUSH2 0x11AF JUMP JUMPDEST SWAP2 POP PUSH2 0x17F3 DUP3 PUSH2 0x17B4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x1815 DUP2 PUSH2 0x17DC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0x1853 DUP3 PUSH2 0x12A0 JUMP JUMPDEST SWAP2 POP PUSH2 0x185E DUP4 PUSH2 0x12A0 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x1876 JUMPI PUSH2 0x1875 PUSH2 0x181C JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x1886 DUP3 PUSH2 0x12A0 JUMP JUMPDEST SWAP2 POP PUSH2 0x1891 DUP4 PUSH2 0x12A0 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x18A9 JUMPI PUSH2 0x18A8 PUSH2 0x181C JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4F6E6C79206F776E65722063616E2063616C6C20746869732066756E6374696F PUSH0 DUP3 ADD MSTORE PUSH32 0x6E00000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x1909 PUSH1 0x21 DUP4 PUSH2 0x11AF JUMP JUMPDEST SWAP2 POP PUSH2 0x1914 DUP3 PUSH2 0x18AF JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x1936 DUP2 PUSH2 0x18FD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x43616E6E6F74206D696E7420746F207A65726F20616464726573730000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x1971 PUSH1 0x1B DUP4 PUSH2 0x11AF JUMP JUMPDEST SWAP2 POP PUSH2 0x197C DUP3 PUSH2 0x193D JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x199E DUP2 PUSH2 0x1965 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x496E73756666696369656E742062616C616E636520746F206275726E00000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x19D9 PUSH1 0x1C DUP4 PUSH2 0x11AF JUMP JUMPDEST SWAP2 POP PUSH2 0x19E4 DUP3 PUSH2 0x19A5 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x1A06 DUP2 PUSH2 0x19CD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP DUP2 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x8 DUP4 MUL PUSH2 0x1A69 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x1A2E JUMP JUMPDEST PUSH2 0x1A73 DUP7 DUP4 PUSH2 0x1A2E 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 PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x1AAE PUSH2 0x1AA9 PUSH2 0x1AA4 DUP5 PUSH2 0x12A0 JUMP JUMPDEST PUSH2 0x1A8B JUMP JUMPDEST PUSH2 0x12A0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1AC7 DUP4 PUSH2 0x1A94 JUMP JUMPDEST PUSH2 0x1ADB PUSH2 0x1AD3 DUP3 PUSH2 0x1AB5 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x1A3A JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH0 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x1AF2 PUSH2 0x1AE3 JUMP JUMPDEST PUSH2 0x1AFD DUP2 DUP5 DUP5 PUSH2 0x1ABE JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x1B23 JUMPI PUSH2 0x1B18 PUSH0 DUP3 DUP5 ADD PUSH2 0x1AEA JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1B04 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x1B76 JUMPI DUP3 DUP3 GT ISZERO PUSH2 0x1B75 JUMPI PUSH2 0x1B42 DUP2 PUSH2 0x1A0D JUMP JUMPDEST PUSH2 0x1B4B DUP4 PUSH2 0x1A1F JUMP JUMPDEST PUSH2 0x1B54 DUP6 PUSH2 0x1A1F JUMP JUMPDEST PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x1B61 JUMPI PUSH0 SWAP1 POP JUMPDEST DUP1 DUP4 ADD PUSH2 0x1B70 DUP3 DUP5 SUB DUP3 PUSH2 0x1B02 JUMP JUMPDEST POP POP POP POP JUMPDEST JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x1B96 PUSH0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x1B7B JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x1BAE DUP4 DUP4 PUSH2 0x1B87 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1BC7 DUP3 PUSH2 0x11A5 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1BE0 JUMPI PUSH2 0x1BDF PUSH2 0x1423 JUMP JUMPDEST JUMPDEST PUSH2 0x1BEA DUP3 SLOAD PUSH2 0x164C JUMP JUMPDEST PUSH2 0x1BF5 DUP3 DUP3 DUP6 PUSH2 0x1B28 JUMP JUMPDEST PUSH0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x1C26 JUMPI PUSH0 DUP5 ISZERO PUSH2 0x1C14 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x1C1E DUP6 DUP3 PUSH2 0x1BA3 JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x1C85 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x1C34 DUP7 PUSH2 0x1A0D JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x1C5B 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 PUSH2 0x1C36 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x1C78 JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x1C74 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x1B87 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 PUSH32 0x4E6577206F776E65722063616E6E6F74206265207A65726F2061646472657373 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x1CC1 PUSH1 0x20 DUP4 PUSH2 0x11AF JUMP JUMPDEST SWAP2 POP PUSH2 0x1CCC DUP3 PUSH2 0x1C8D JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x1CEE DUP2 PUSH2 0x1CB5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXP PUSH13 0xA861033DDD18646857EEA2AC13 BLOBHASH DUP7 RETURNCONTRACT 0xD8 0xC6 SIGNEXTEND SLOAD DELEGATECALL JUMPF 0x698B BYTE EXTCODECOPY 0xAD EXTCODESIZE MCOPY 0xEF PUSH5 0x736F6C6343 STOP ADDMOD 0x22 STOP CALLER ",
"sourceMap": "285:4988:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;333:45;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2581:302;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;451:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3143:522;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;419:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3910:333;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4402:354;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4869:105;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;555:66;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;655:44;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;854:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;384:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1947:391;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;757:64;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5096:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;333:45;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2581:302::-;2648:12;2700:1;2680:22;;:8;:22;;;2672:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;2787:6;2753:9;:21;2763:10;2753:21;;;;;;;;;;;;;;;:31;2775:8;2753:31;;;;;;;;;;;;;;;:40;;;;2838:8;2817:38;;2826:10;2817:38;;;2848:6;2817:38;;;;;;:::i;:::-;;;;;;;;2872:4;2865:11;;2581:302;;;;:::o;451:26::-;;;;:::o;3143:522::-;3225:12;3272:1;3257:17;;:3;:17;;;3249:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;3348:6;3328:9;:16;3338:5;3328:16;;;;;;;;;;;;;;;;:26;;3320:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;3429:6;3397:9;:16;3407:5;3397:16;;;;;;;;;;;;;;;:28;3414:10;3397:28;;;;;;;;;;;;;;;;:38;;3389:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;3497:6;3477:9;:16;3487:5;3477:16;;;;;;;;;;;;;;;;:26;;;;;;;:::i;:::-;;;;;;;;3531:6;3513:9;:14;3523:3;3513:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;3579:6;3547:9;:16;3557:5;3547:16;;;;;;;;;;;;;;;:28;3564:10;3547:28;;;;;;;;;;;;;;;;:38;;;;;;;:::i;:::-;;;;;;;;3625:3;3609:28;;3618:5;3609:28;;;3630:6;3609:28;;;;;;:::i;:::-;;;;;;;;3654:4;3647:11;;3143:522;;;;;:::o;419:26::-;;;;;;;;;;;;;:::o;3910:333::-;3979:12;1238:5;;;;;;;;;;;1224:19;;:10;:19;;;1216:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;4026:1:::1;4011:17;;:3;:17;;::::0;4003:57:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;4094:6;4079:11;;:21;;;;;;;:::i;:::-;;;;;;;;4128:6;4110:9;:14;4120:3;4110:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;4155:3;4150:17;;;4160:6;4150:17;;;;;;:::i;:::-;;;;;;;;4203:3;4182:33;;4199:1;4182:33;;;4208:6;4182:33;;;;;;:::i;:::-;;;;;;;;4232:4;4225:11;;3910:333:::0;;;;:::o;4402:354::-;4448:12;4505:6;4480:9;:21;4490:10;4480:21;;;;;;;;;;;;;;;;:31;;4472:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;4588:6;4563:9;:21;4573:10;4563:21;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;4619:6;4604:11;;:21;;;;;;;:::i;:::-;;;;;;;;4654:10;4649:24;;;4666:6;4649:24;;;;;;:::i;:::-;;;;;;;;4717:1;4688:40;;4697:10;4688:40;;;4721:6;4688:40;;;;;;:::i;:::-;;;;;;;;4745:4;4738:11;;4402:354;;;:::o;4869:105::-;1238:5;;;;;;;;;;;1224:19;;:10;:19;;;1216:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;4956:11:::1;4946:7;:21;;;;;;:::i;:::-;;4869:105:::0;:::o;555:66::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;655:44::-;;;;;;;;;;;;;;;;;:::o;854:20::-;;;;;;;;;;;;;:::o;384:29::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1947:391::-;2010:12;2057:1;2042:17;;:3;:17;;;2034:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;2138:6;2113:9;:21;2123:10;2113:21;;;;;;;;;;;;;;;;:31;;2105:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;2213:6;2188:9;:21;2198:10;2188:21;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;2247:6;2229:9;:14;2239:3;2229:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;2298:3;2277:33;;2286:10;2277:33;;;2303:6;2277:33;;;;;;:::i;:::-;;;;;;;;2327:4;2320:11;;1947:391;;;;:::o;757:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5096:175::-;1238:5;;;;;;;;;;;1224:19;;:10;:19;;;1216:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;5198:1:::1;5177:23;;:9;:23;;::::0;5169:68:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;5255:9;5247:5;;:17;;;;;;;;;;;;;;;;;;5096:175:::0;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1242:75::-;1275:6;1308:2;1302:9;1292:19;;1242:75;:::o;1323:117::-;1432:1;1429;1422:12;1446:117;1555:1;1552;1545:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:86::-;4351:7;4391:4;4384:5;4380:16;4369:27;;4316:86;;;:::o;4408:112::-;4491:22;4507:5;4491:22;:::i;:::-;4486:3;4479:35;4408:112;;:::o;4526:214::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4666:67;4730:1;4719:9;4715:17;4706:6;4666:67;:::i;:::-;4526:214;;;;:::o;4746:329::-;4805:6;4854:2;4842:9;4833:7;4829:23;4825:32;4822:119;;;4860:79;;:::i;:::-;4822:119;4980:1;5005:53;5050:7;5041:6;5030:9;5026:22;5005:53;:::i;:::-;4995:63;;4951:117;4746:329;;;;:::o;5081:117::-;5190:1;5187;5180:12;5204:117;5313:1;5310;5303:12;5327:180;5375:77;5372:1;5365:88;5472:4;5469:1;5462:15;5496:4;5493:1;5486:15;5513:281;5596:27;5618:4;5596:27;:::i;:::-;5588:6;5584:40;5726:6;5714:10;5711:22;5690:18;5678:10;5675:34;5672:62;5669:88;;;5737:18;;:::i;:::-;5669:88;5777:10;5773:2;5766:22;5556:238;5513:281;;:::o;5800:129::-;5834:6;5861:20;;:::i;:::-;5851:30;;5890:33;5918:4;5910:6;5890:33;:::i;:::-;5800:129;;;:::o;5935:308::-;5997:4;6087:18;6079:6;6076:30;6073:56;;;6109:18;;:::i;:::-;6073:56;6147:29;6169:6;6147:29;:::i;:::-;6139:37;;6231:4;6225;6221:15;6213:23;;5935:308;;;:::o;6249:148::-;6347:6;6342:3;6337;6324:30;6388:1;6379:6;6374:3;6370:16;6363:27;6249:148;;;:::o;6403:425::-;6481:5;6506:66;6522:49;6564:6;6522:49;:::i;:::-;6506:66;:::i;:::-;6497:75;;6595:6;6588:5;6581:21;6633:4;6626:5;6622:16;6671:3;6662:6;6657:3;6653:16;6650:25;6647:112;;;6678:79;;:::i;:::-;6647:112;6768:54;6815:6;6810:3;6805;6768:54;:::i;:::-;6487:341;6403:425;;;;;:::o;6848:340::-;6904:5;6953:3;6946:4;6938:6;6934:17;6930:27;6920:122;;6961:79;;:::i;:::-;6920:122;7078:6;7065:20;7103:79;7178:3;7170:6;7163:4;7155:6;7151:17;7103:79;:::i;:::-;7094:88;;6910:278;6848:340;;;;:::o;7194:509::-;7263:6;7312:2;7300:9;7291:7;7287:23;7283:32;7280:119;;;7318:79;;:::i;:::-;7280:119;7466:1;7455:9;7451:17;7438:31;7496:18;7488:6;7485:30;7482:117;;;7518:79;;:::i;:::-;7482:117;7623:63;7678:7;7669:6;7658:9;7654:22;7623:63;:::i;:::-;7613:73;;7409:287;7194:509;;;;:::o;7709:329::-;7768:6;7817:2;7805:9;7796:7;7792:23;7788:32;7785:119;;;7823:79;;:::i;:::-;7785:119;7943:1;7968:53;8013:7;8004:6;7993:9;7989:22;7968:53;:::i;:::-;7958:63;;7914:117;7709:329;;;;:::o;8044:118::-;8131:24;8149:5;8131:24;:::i;:::-;8126:3;8119:37;8044:118;;:::o;8168:222::-;8261:4;8299:2;8288:9;8284:18;8276:26;;8312:71;8380:1;8369:9;8365:17;8356:6;8312:71;:::i;:::-;8168:222;;;;:::o;8396:474::-;8464:6;8472;8521:2;8509:9;8500:7;8496:23;8492:32;8489:119;;;8527:79;;:::i;:::-;8489:119;8647:1;8672:53;8717:7;8708:6;8697:9;8693:22;8672:53;:::i;:::-;8662:63;;8618:117;8774:2;8800:53;8845:7;8836:6;8825:9;8821:22;8800:53;:::i;:::-;8790:63;;8745:118;8396:474;;;;;:::o;8876:180::-;8924:77;8921:1;8914:88;9021:4;9018:1;9011:15;9045:4;9042:1;9035:15;9062:320;9106:6;9143:1;9137:4;9133:12;9123:22;;9190:1;9184:4;9180:12;9211:18;9201:81;;9267:4;9259:6;9255:17;9245:27;;9201:81;9329:2;9321:6;9318:14;9298:18;9295:38;9292:84;;9348:18;;:::i;:::-;9292:84;9113:269;9062:320;;;:::o;9388:177::-;9528:29;9524:1;9516:6;9512:14;9505:53;9388:177;:::o;9571:366::-;9713:3;9734:67;9798:2;9793:3;9734:67;:::i;:::-;9727:74;;9810:93;9899:3;9810:93;:::i;:::-;9928:2;9923:3;9919:12;9912:19;;9571:366;;;:::o;9943:419::-;10109:4;10147:2;10136:9;10132:18;10124:26;;10196:9;10190:4;10186:20;10182:1;10171:9;10167:17;10160:47;10224:131;10350:4;10224:131;:::i;:::-;10216:139;;9943:419;;;:::o;10368:181::-;10508:33;10504:1;10496:6;10492:14;10485:57;10368:181;:::o;10555:366::-;10697:3;10718:67;10782:2;10777:3;10718:67;:::i;:::-;10711:74;;10794:93;10883:3;10794:93;:::i;:::-;10912:2;10907:3;10903:12;10896:19;;10555:366;;;:::o;10927:419::-;11093:4;11131:2;11120:9;11116:18;11108:26;;11180:9;11174:4;11170:20;11166:1;11155:9;11151:17;11144:47;11208:131;11334:4;11208:131;:::i;:::-;11200:139;;10927:419;;;:::o;11352:170::-;11492:22;11488:1;11480:6;11476:14;11469:46;11352:170;:::o;11528:366::-;11670:3;11691:67;11755:2;11750:3;11691:67;:::i;:::-;11684:74;;11767:93;11856:3;11767:93;:::i;:::-;11885:2;11880:3;11876:12;11869:19;;11528:366;;;:::o;11900:419::-;12066:4;12104:2;12093:9;12089:18;12081:26;;12153:9;12147:4;12143:20;12139:1;12128:9;12124:17;12117:47;12181:131;12307:4;12181:131;:::i;:::-;12173:139;;11900:419;;;:::o;12325:168::-;12465:20;12461:1;12453:6;12449:14;12442:44;12325:168;:::o;12499:366::-;12641:3;12662:67;12726:2;12721:3;12662:67;:::i;:::-;12655:74;;12738:93;12827:3;12738:93;:::i;:::-;12856:2;12851:3;12847:12;12840:19;;12499:366;;;:::o;12871:419::-;13037:4;13075:2;13064:9;13060:18;13052:26;;13124:9;13118:4;13114:20;13110:1;13099:9;13095:17;13088:47;13152:131;13278:4;13152:131;:::i;:::-;13144:139;;12871:419;;;:::o;13296:180::-;13344:77;13341:1;13334:88;13441:4;13438:1;13431:15;13465:4;13462:1;13455:15;13482:194;13522:4;13542:20;13560:1;13542:20;:::i;:::-;13537:25;;13576:20;13594:1;13576:20;:::i;:::-;13571:25;;13620:1;13617;13613:9;13605:17;;13644:1;13638:4;13635:11;13632:37;;;13649:18;;:::i;:::-;13632:37;13482:194;;;;:::o;13682:191::-;13722:3;13741:20;13759:1;13741:20;:::i;:::-;13736:25;;13775:20;13793:1;13775:20;:::i;:::-;13770:25;;13818:1;13815;13811:9;13804:16;;13839:3;13836:1;13833:10;13830:36;;;13846:18;;:::i;:::-;13830:36;13682:191;;;;:::o;13879:220::-;14019:34;14015:1;14007:6;14003:14;13996:58;14088:3;14083:2;14075:6;14071:15;14064:28;13879:220;:::o;14105:366::-;14247:3;14268:67;14332:2;14327:3;14268:67;:::i;:::-;14261:74;;14344:93;14433:3;14344:93;:::i;:::-;14462:2;14457:3;14453:12;14446:19;;14105:366;;;:::o;14477:419::-;14643:4;14681:2;14670:9;14666:18;14658:26;;14730:9;14724:4;14720:20;14716:1;14705:9;14701:17;14694:47;14758:131;14884:4;14758:131;:::i;:::-;14750:139;;14477:419;;;:::o;14902:177::-;15042:29;15038:1;15030:6;15026:14;15019:53;14902:177;:::o;15085:366::-;15227:3;15248:67;15312:2;15307:3;15248:67;:::i;:::-;15241:74;;15324:93;15413:3;15324:93;:::i;:::-;15442:2;15437:3;15433:12;15426:19;;15085:366;;;:::o;15457:419::-;15623:4;15661:2;15650:9;15646:18;15638:26;;15710:9;15704:4;15700:20;15696:1;15685:9;15681:17;15674:47;15738:131;15864:4;15738:131;:::i;:::-;15730:139;;15457:419;;;:::o;15882:178::-;16022:30;16018:1;16010:6;16006:14;15999:54;15882:178;:::o;16066:366::-;16208:3;16229:67;16293:2;16288:3;16229:67;:::i;:::-;16222:74;;16305:93;16394:3;16305:93;:::i;:::-;16423:2;16418:3;16414:12;16407:19;;16066:366;;;:::o;16438:419::-;16604:4;16642:2;16631:9;16627:18;16619:26;;16691:9;16685:4;16681:20;16677:1;16666:9;16662:17;16655:47;16719:131;16845:4;16719:131;:::i;:::-;16711:139;;16438:419;;;:::o;16863:141::-;16912:4;16935:3;16927:11;;16958:3;16955:1;16948:14;16992:4;16989:1;16979:18;16971:26;;16863:141;;;:::o;17010:93::-;17047:6;17094:2;17089;17082:5;17078:14;17074:23;17064:33;;17010:93;;;:::o;17109:107::-;17153:8;17203:5;17197:4;17193:16;17172:37;;17109:107;;;;:::o;17222:393::-;17291:6;17341:1;17329:10;17325:18;17364:97;17394:66;17383:9;17364:97;:::i;:::-;17482:39;17512:8;17501:9;17482:39;:::i;:::-;17470:51;;17554:4;17550:9;17543:5;17539:21;17530:30;;17603:4;17593:8;17589:19;17582:5;17579:30;17569:40;;17298:317;;17222:393;;;;;:::o;17621:60::-;17649:3;17670:5;17663:12;;17621:60;;;:::o;17687:142::-;17737:9;17770:53;17788:34;17797:24;17815:5;17797:24;:::i;:::-;17788:34;:::i;:::-;17770:53;:::i;:::-;17757:66;;17687:142;;;:::o;17835:75::-;17878:3;17899:5;17892:12;;17835:75;;;:::o;17916:269::-;18026:39;18057:7;18026:39;:::i;:::-;18087:91;18136:41;18160:16;18136:41;:::i;:::-;18128:6;18121:4;18115:11;18087:91;:::i;:::-;18081:4;18074:105;17992:193;17916:269;;;:::o;18191:73::-;18236:3;18257:1;18250:8;;18191:73;:::o;18270:189::-;18347:32;;:::i;:::-;18388:65;18446:6;18438;18432:4;18388:65;:::i;:::-;18323:136;18270:189;;:::o;18465:214::-;18550:1;18535:138;18560:9;18557:1;18554:16;18535:138;;;18612:51;18661:1;18657;18646:9;18642:17;18612:51;:::i;:::-;18585:1;18582;18578:9;18573:14;;18535:138;;;18539:14;18465:214;;:::o;18685:746::-;18786:2;18781:3;18778:11;18775:649;;;18815:10;18810:3;18807:19;18804:610;;;18861:38;18893:5;18861:38;:::i;:::-;18936:22;18954:3;18936:22;:::i;:::-;18995:29;19013:10;18995:29;:::i;:::-;19185:2;19173:10;19170:18;19167:79;;;19227:1;19211:17;;19167:79;19296:12;19286:8;19282:27;19326:74;19386:12;19372;19368:31;19355:11;19326:74;:::i;:::-;18827:587;;;;18804:610;18775:649;18685:746;;;:::o;19437:117::-;19491:8;19541:5;19535:4;19531:16;19510:37;;19437:117;;;;:::o;19560:169::-;19604:6;19637:51;19685:1;19681:6;19673:5;19670:1;19666:13;19637:51;:::i;:::-;19633:56;19718:4;19712;19708:15;19698:25;;19611:118;19560:169;;;;:::o;19734:295::-;19810:4;19956:29;19981:3;19975:4;19956:29;:::i;:::-;19948:37;;20018:3;20015:1;20011:11;20005:4;20002:21;19994:29;;19734:295;;;;:::o;20034:1395::-;20151:37;20184:3;20151:37;:::i;:::-;20253:18;20245:6;20242:30;20239:56;;;20275:18;;:::i;:::-;20239:56;20319:38;20351:4;20345:11;20319:38;:::i;:::-;20404:67;20464:6;20456;20450:4;20404:67;:::i;:::-;20498:1;20522:4;20509:17;;20554:2;20546:6;20543:14;20571:1;20566:618;;;;21228:1;21245:6;21242:77;;;21294:9;21289:3;21285:19;21279:26;21270:35;;21242:77;21345:67;21405:6;21398:5;21345:67;:::i;:::-;21339:4;21332:81;21201:222;20536:887;;20566:618;20618:4;20614:9;20606:6;20602:22;20652:37;20684:4;20652:37;:::i;:::-;20711:1;20725:208;20739:7;20736:1;20733:14;20725:208;;;20818:9;20813:3;20809:19;20803:26;20795:6;20788:42;20869:1;20861:6;20857:14;20847:24;;20916:2;20905:9;20901:18;20888:31;;20762:4;20759:1;20755:12;20750:17;;20725:208;;;20961:6;20952:7;20949:19;20946:179;;;21019:9;21014:3;21010:19;21004:26;21062:48;21104:4;21096:6;21092:17;21081:9;21062:48;:::i;:::-;21054:6;21047:64;20969:156;20946:179;21171:1;21167;21159:6;21155:14;21151:22;21145:4;21138:36;20573:611;;;20536:887;;20126:1303;;;20034:1395;;:::o;21435:182::-;21575:34;21571:1;21563:6;21559:14;21552:58;21435:182;:::o;21623:366::-;21765:3;21786:67;21850:2;21845:3;21786:67;:::i;:::-;21779:74;;21862:93;21951:3;21862:93;:::i;:::-;21980:2;21975:3;21971:12;21964:19;;21623:366;;;:::o;21995:419::-;22161:4;22199:2;22188:9;22184:18;22176:26;;22248:9;22242:4;22238:20;22234:1;22223:9;22219:17;22212:47;22276:131;22402:4;22276:131;:::i;:::-;22268:139;;21995:419;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "1493400",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"allowance(address,address)": "infinite",
"approve(address,uint256)": "infinite",
"balanceOf(address)": "2869",
"burn(uint256)": "infinite",
"decimals()": "2511",
"logoURI()": "infinite",
"mint(address,uint256)": "infinite",
"name()": "infinite",
"owner()": "2597",
"symbol()": "infinite",
"totalSupply()": "2493",
"transfer(address,uint256)": "infinite",
"transferFrom(address,address,uint256)": "infinite",
"transferOwnership(address)": "27006",
"updateLogoURI(string)": "infinite"
}
},
"methodIdentifiers": {
"allowance(address,address)": "dd62ed3e",
"approve(address,uint256)": "095ea7b3",
"balanceOf(address)": "70a08231",
"burn(uint256)": "42966c68",
"decimals()": "313ce567",
"logoURI()": "6bb38b28",
"mint(address,uint256)": "40c10f19",
"name()": "06fdde03",
"owner()": "8da5cb5b",
"symbol()": "95d89b41",
"totalSupply()": "18160ddd",
"transfer(address,uint256)": "a9059cbb",
"transferFrom(address,address,uint256)": "23b872dd",
"transferOwnership(address)": "f2fde38b",
"updateLogoURI(string)": "63879c09"
}
},
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_initialSupply",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Burn",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Mint",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "burn",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "logoURI",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "mint",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "_newLogoURI",
"type": "string"
}
],
"name": "updateLogoURI",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.34+commit.80d5c536"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_initialSupply",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Burn",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Mint",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "burn",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "logoURI",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "mint",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "_newLogoURI",
"type": "string"
}
],
"name": "updateLogoURI",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"author": "[Imo Digital City Limited]",
"details": "ERC-20 compliant token for the Imo Digital City ecosystem",
"kind": "dev",
"methods": {
"approve(address,uint256)": {
"details": "Approves an address to spend tokens on behalf of the owner",
"params": {
"_spender": "Address being approved",
"_value": "Amount approved for spending"
},
"returns": {
"success": "Boolean indicating success"
}
},
"burn(uint256)": {
"details": "Burns tokens from sender's balance",
"params": {
"_value": "Amount to burn"
},
"returns": {
"success": "Boolean indicating success"
}
},
"constructor": {
"details": "Constructor - Initializes token with name, symbol, decimals and initial supply",
"params": {
"_initialSupply": "Initial token supply (will be multiplied by 10^decimals)"
}
},
"mint(address,uint256)": {
"details": "Mints new tokens (owner only)Only callable by contract owner",
"params": {
"_to": "Address receiving new tokens",
"_value": "Amount to mint"
},
"returns": {
"success": "Boolean indicating success"
}
},
"transfer(address,uint256)": {
"details": "Transfers tokens to a specified address",
"params": {
"_to": "Recipient address",
"_value": "Amount to transfer"
},
"returns": {
"success": "Boolean indicating success"
}
},
"transferFrom(address,address,uint256)": {
"details": "Transfers tokens from one address to another (with approval)",
"params": {
"_from": "Sender address",
"_to": "Recipient address",
"_value": "Amount to transfer"
},
"returns": {
"success": "Boolean indicating success"
}
},
"transferOwnership(address)": {
"details": "Transfers contract ownership (owner only)",
"params": {
"_newOwner": "New owner address"
}
},
"updateLogoURI(string)": {
"details": "Updates token logo URI (owner only)",
"params": {
"_newLogoURI": "New logo URI"
}
}
},
"title": "Imo Digital City Token (IDCT)",
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"notice": "This token represents digital assets in the Imo Digital City project",
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/idcl_token.sol": "BasicToken"
},
"evmVersion": "osaka",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/idcl_token.sol": {
"keccak256": "0x22478d7a9a81cefbd0fd8ace74ce725edb63ae67aa2e6538caa5c550c3d85dca",
"license": "MIT",
"urls": [
"bzz-raw://a664f670e20cec8e7d7cf681fa7ae014878632c6d6a495929f33796842f8f738",
"dweb:/ipfs/QmfCMeqXUvQPraXAoAWwFwWx4bSNWJx4ALhnCarfmGHLyN"
]
}
},
"version": 1
}
View raw

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

This file has been truncated, but you can view the full file.
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"sepolia:11155111": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_32": {
"entryPoint": null,
"id": 32,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_uint256_fromMemory": {
"entryPoint": 1153,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256_fromMemory": {
"entryPoint": 1173,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_dataslot_t_string_storage": {
"entryPoint": 478,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 330,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 770,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_uint256": {
"entryPoint": 604,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 732,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 622,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": {
"entryPoint": 920,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 496,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 430,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 893,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"identity": {
"entryPoint": 613,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 865,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 385,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 340,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 655,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 1127,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"shift_left_dynamic": {
"entryPoint": 511,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 853,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 708,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 523,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 664,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 1131,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 701,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:6423:1",
"nodeType": "YulBlock",
"src": "0:6423:1",
"statements": [
{
"body": {
"nativeSrc": "66:40:1",
"nodeType": "YulBlock",
"src": "66:40:1",
"statements": [
{
"nativeSrc": "77:22:1",
"nodeType": "YulAssignment",
"src": "77:22:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "93:5:1",
"nodeType": "YulIdentifier",
"src": "93:5:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "87:5:1",
"nodeType": "YulIdentifier",
"src": "87:5:1"
},
"nativeSrc": "87:12:1",
"nodeType": "YulFunctionCall",
"src": "87:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "77:6:1",
"nodeType": "YulIdentifier",
"src": "77:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "7:99:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "49:5:1",
"nodeType": "YulTypedName",
"src": "49:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "59:6:1",
"nodeType": "YulTypedName",
"src": "59:6:1",
"type": ""
}
],
"src": "7:99:1"
},
{
"body": {
"nativeSrc": "140:152:1",
"nodeType": "YulBlock",
"src": "140:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "157:1:1",
"nodeType": "YulLiteral",
"src": "157:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "160:77:1",
"nodeType": "YulLiteral",
"src": "160:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "150:6:1",
"nodeType": "YulIdentifier",
"src": "150:6:1"
},
"nativeSrc": "150:88:1",
"nodeType": "YulFunctionCall",
"src": "150:88:1"
},
"nativeSrc": "150:88:1",
"nodeType": "YulExpressionStatement",
"src": "150:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "254:1:1",
"nodeType": "YulLiteral",
"src": "254:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "257:4:1",
"nodeType": "YulLiteral",
"src": "257:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "247:6:1",
"nodeType": "YulIdentifier",
"src": "247:6:1"
},
"nativeSrc": "247:15:1",
"nodeType": "YulFunctionCall",
"src": "247:15:1"
},
"nativeSrc": "247:15:1",
"nodeType": "YulExpressionStatement",
"src": "247:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "278:1:1",
"nodeType": "YulLiteral",
"src": "278:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "281:4:1",
"nodeType": "YulLiteral",
"src": "281:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "271:6:1",
"nodeType": "YulIdentifier",
"src": "271:6:1"
},
"nativeSrc": "271:15:1",
"nodeType": "YulFunctionCall",
"src": "271:15:1"
},
"nativeSrc": "271:15:1",
"nodeType": "YulExpressionStatement",
"src": "271:15:1"
}
]
},
"name": "panic_error_0x41",
"nativeSrc": "112:180:1",
"nodeType": "YulFunctionDefinition",
"src": "112:180:1"
},
{
"body": {
"nativeSrc": "326:152:1",
"nodeType": "YulBlock",
"src": "326:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "343:1:1",
"nodeType": "YulLiteral",
"src": "343:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "346:77:1",
"nodeType": "YulLiteral",
"src": "346:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "336:6:1",
"nodeType": "YulIdentifier",
"src": "336:6:1"
},
"nativeSrc": "336:88:1",
"nodeType": "YulFunctionCall",
"src": "336:88:1"
},
"nativeSrc": "336:88:1",
"nodeType": "YulExpressionStatement",
"src": "336:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "440:1:1",
"nodeType": "YulLiteral",
"src": "440:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "443:4:1",
"nodeType": "YulLiteral",
"src": "443:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "433:6:1",
"nodeType": "YulIdentifier",
"src": "433:6:1"
},
"nativeSrc": "433:15:1",
"nodeType": "YulFunctionCall",
"src": "433:15:1"
},
"nativeSrc": "433:15:1",
"nodeType": "YulExpressionStatement",
"src": "433:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "464:1:1",
"nodeType": "YulLiteral",
"src": "464:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "467:4:1",
"nodeType": "YulLiteral",
"src": "467:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "457:6:1",
"nodeType": "YulIdentifier",
"src": "457:6:1"
},
"nativeSrc": "457:15:1",
"nodeType": "YulFunctionCall",
"src": "457:15:1"
},
"nativeSrc": "457:15:1",
"nodeType": "YulExpressionStatement",
"src": "457:15:1"
}
]
},
"name": "panic_error_0x22",
"nativeSrc": "298:180:1",
"nodeType": "YulFunctionDefinition",
"src": "298:180:1"
},
{
"body": {
"nativeSrc": "535:269:1",
"nodeType": "YulBlock",
"src": "535:269:1",
"statements": [
{
"nativeSrc": "545:22:1",
"nodeType": "YulAssignment",
"src": "545:22:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "559:4:1",
"nodeType": "YulIdentifier",
"src": "559:4:1"
},
{
"kind": "number",
"nativeSrc": "565:1:1",
"nodeType": "YulLiteral",
"src": "565:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nativeSrc": "555:3:1",
"nodeType": "YulIdentifier",
"src": "555:3:1"
},
"nativeSrc": "555:12:1",
"nodeType": "YulFunctionCall",
"src": "555:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "545:6:1",
"nodeType": "YulIdentifier",
"src": "545:6:1"
}
]
},
{
"nativeSrc": "576:38:1",
"nodeType": "YulVariableDeclaration",
"src": "576:38:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "606:4:1",
"nodeType": "YulIdentifier",
"src": "606:4:1"
},
{
"kind": "number",
"nativeSrc": "612:1:1",
"nodeType": "YulLiteral",
"src": "612:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "602:3:1",
"nodeType": "YulIdentifier",
"src": "602:3:1"
},
"nativeSrc": "602:12:1",
"nodeType": "YulFunctionCall",
"src": "602:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "580:18:1",
"nodeType": "YulTypedName",
"src": "580:18:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "653:51:1",
"nodeType": "YulBlock",
"src": "653:51:1",
"statements": [
{
"nativeSrc": "667:27:1",
"nodeType": "YulAssignment",
"src": "667:27:1",
"value": {
"arguments": [
{
"name": "length",
"nativeSrc": "681:6:1",
"nodeType": "YulIdentifier",
"src": "681:6:1"
},
{
"kind": "number",
"nativeSrc": "689:4:1",
"nodeType": "YulLiteral",
"src": "689:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nativeSrc": "677:3:1",
"nodeType": "YulIdentifier",
"src": "677:3:1"
},
"nativeSrc": "677:17:1",
"nodeType": "YulFunctionCall",
"src": "677:17:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "667:6:1",
"nodeType": "YulIdentifier",
"src": "667:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "633:18:1",
"nodeType": "YulIdentifier",
"src": "633:18:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "626:6:1",
"nodeType": "YulIdentifier",
"src": "626:6:1"
},
"nativeSrc": "626:26:1",
"nodeType": "YulFunctionCall",
"src": "626:26:1"
},
"nativeSrc": "623:81:1",
"nodeType": "YulIf",
"src": "623:81:1"
},
{
"body": {
"nativeSrc": "756:42:1",
"nodeType": "YulBlock",
"src": "756:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nativeSrc": "770:16:1",
"nodeType": "YulIdentifier",
"src": "770:16:1"
},
"nativeSrc": "770:18:1",
"nodeType": "YulFunctionCall",
"src": "770:18:1"
},
"nativeSrc": "770:18:1",
"nodeType": "YulExpressionStatement",
"src": "770:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "720:18:1",
"nodeType": "YulIdentifier",
"src": "720:18:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "743:6:1",
"nodeType": "YulIdentifier",
"src": "743:6:1"
},
{
"kind": "number",
"nativeSrc": "751:2:1",
"nodeType": "YulLiteral",
"src": "751:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "740:2:1",
"nodeType": "YulIdentifier",
"src": "740:2:1"
},
"nativeSrc": "740:14:1",
"nodeType": "YulFunctionCall",
"src": "740:14:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "717:2:1",
"nodeType": "YulIdentifier",
"src": "717:2:1"
},
"nativeSrc": "717:38:1",
"nodeType": "YulFunctionCall",
"src": "717:38:1"
},
"nativeSrc": "714:84:1",
"nodeType": "YulIf",
"src": "714:84:1"
}
]
},
"name": "extract_byte_array_length",
"nativeSrc": "484:320:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "519:4:1",
"nodeType": "YulTypedName",
"src": "519:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "528:6:1",
"nodeType": "YulTypedName",
"src": "528:6:1",
"type": ""
}
],
"src": "484:320:1"
},
{
"body": {
"nativeSrc": "864:87:1",
"nodeType": "YulBlock",
"src": "864:87:1",
"statements": [
{
"nativeSrc": "874:11:1",
"nodeType": "YulAssignment",
"src": "874:11:1",
"value": {
"name": "ptr",
"nativeSrc": "882:3:1",
"nodeType": "YulIdentifier",
"src": "882:3:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "874:4:1",
"nodeType": "YulIdentifier",
"src": "874:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "902:1:1",
"nodeType": "YulLiteral",
"src": "902:1:1",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nativeSrc": "905:3:1",
"nodeType": "YulIdentifier",
"src": "905:3:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "895:6:1",
"nodeType": "YulIdentifier",
"src": "895:6:1"
},
"nativeSrc": "895:14:1",
"nodeType": "YulFunctionCall",
"src": "895:14:1"
},
"nativeSrc": "895:14:1",
"nodeType": "YulExpressionStatement",
"src": "895:14:1"
},
{
"nativeSrc": "918:26:1",
"nodeType": "YulAssignment",
"src": "918:26:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "936:1:1",
"nodeType": "YulLiteral",
"src": "936:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "939:4:1",
"nodeType": "YulLiteral",
"src": "939:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nativeSrc": "926:9:1",
"nodeType": "YulIdentifier",
"src": "926:9:1"
},
"nativeSrc": "926:18:1",
"nodeType": "YulFunctionCall",
"src": "926:18:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "918:4:1",
"nodeType": "YulIdentifier",
"src": "918:4:1"
}
]
}
]
},
"name": "array_dataslot_t_string_storage",
"nativeSrc": "810:141:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nativeSrc": "851:3:1",
"nodeType": "YulTypedName",
"src": "851:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nativeSrc": "859:4:1",
"nodeType": "YulTypedName",
"src": "859:4:1",
"type": ""
}
],
"src": "810:141:1"
},
{
"body": {
"nativeSrc": "1001:49:1",
"nodeType": "YulBlock",
"src": "1001:49:1",
"statements": [
{
"nativeSrc": "1011:33:1",
"nodeType": "YulAssignment",
"src": "1011:33:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "1029:5:1",
"nodeType": "YulIdentifier",
"src": "1029:5:1"
},
{
"kind": "number",
"nativeSrc": "1036:2:1",
"nodeType": "YulLiteral",
"src": "1036:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1025:3:1",
"nodeType": "YulIdentifier",
"src": "1025:3:1"
},
"nativeSrc": "1025:14:1",
"nodeType": "YulFunctionCall",
"src": "1025:14:1"
},
{
"kind": "number",
"nativeSrc": "1041:2:1",
"nodeType": "YulLiteral",
"src": "1041:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "div",
"nativeSrc": "1021:3:1",
"nodeType": "YulIdentifier",
"src": "1021:3:1"
},
"nativeSrc": "1021:23:1",
"nodeType": "YulFunctionCall",
"src": "1021:23:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "1011:6:1",
"nodeType": "YulIdentifier",
"src": "1011:6:1"
}
]
}
]
},
"name": "divide_by_32_ceil",
"nativeSrc": "957:93:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "984:5:1",
"nodeType": "YulTypedName",
"src": "984:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "994:6:1",
"nodeType": "YulTypedName",
"src": "994:6:1",
"type": ""
}
],
"src": "957:93:1"
},
{
"body": {
"nativeSrc": "1109:54:1",
"nodeType": "YulBlock",
"src": "1109:54:1",
"statements": [
{
"nativeSrc": "1119:37:1",
"nodeType": "YulAssignment",
"src": "1119:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nativeSrc": "1144:4:1",
"nodeType": "YulIdentifier",
"src": "1144:4:1"
},
{
"name": "value",
"nativeSrc": "1150:5:1",
"nodeType": "YulIdentifier",
"src": "1150:5:1"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "1140:3:1",
"nodeType": "YulIdentifier",
"src": "1140:3:1"
},
"nativeSrc": "1140:16:1",
"nodeType": "YulFunctionCall",
"src": "1140:16:1"
},
"variableNames": [
{
"name": "newValue",
"nativeSrc": "1119:8:1",
"nodeType": "YulIdentifier",
"src": "1119:8:1"
}
]
}
]
},
"name": "shift_left_dynamic",
"nativeSrc": "1056:107:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nativeSrc": "1084:4:1",
"nodeType": "YulTypedName",
"src": "1084:4:1",
"type": ""
},
{
"name": "value",
"nativeSrc": "1090:5:1",
"nodeType": "YulTypedName",
"src": "1090:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nativeSrc": "1100:8:1",
"nodeType": "YulTypedName",
"src": "1100:8:1",
"type": ""
}
],
"src": "1056:107:1"
},
{
"body": {
"nativeSrc": "1245:317:1",
"nodeType": "YulBlock",
"src": "1245:317:1",
"statements": [
{
"nativeSrc": "1255:35:1",
"nodeType": "YulVariableDeclaration",
"src": "1255:35:1",
"value": {
"arguments": [
{
"name": "shiftBytes",
"nativeSrc": "1276:10:1",
"nodeType": "YulIdentifier",
"src": "1276:10:1"
},
{
"kind": "number",
"nativeSrc": "1288:1:1",
"nodeType": "YulLiteral",
"src": "1288:1:1",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "1272:3:1",
"nodeType": "YulIdentifier",
"src": "1272:3:1"
},
"nativeSrc": "1272:18:1",
"nodeType": "YulFunctionCall",
"src": "1272:18:1"
},
"variables": [
{
"name": "shiftBits",
"nativeSrc": "1259:9:1",
"nodeType": "YulTypedName",
"src": "1259:9:1",
"type": ""
}
]
},
{
"nativeSrc": "1299:109:1",
"nodeType": "YulVariableDeclaration",
"src": "1299:109:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nativeSrc": "1330:9:1",
"nodeType": "YulIdentifier",
"src": "1330:9:1"
},
{
"kind": "number",
"nativeSrc": "1341:66:1",
"nodeType": "YulLiteral",
"src": "1341:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nativeSrc": "1311:18:1",
"nodeType": "YulIdentifier",
"src": "1311:18:1"
},
"nativeSrc": "1311:97:1",
"nodeType": "YulFunctionCall",
"src": "1311:97:1"
},
"variables": [
{
"name": "mask",
"nativeSrc": "1303:4:1",
"nodeType": "YulTypedName",
"src": "1303:4:1",
"type": ""
}
]
},
{
"nativeSrc": "1417:51:1",
"nodeType": "YulAssignment",
"src": "1417:51:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nativeSrc": "1448:9:1",
"nodeType": "YulIdentifier",
"src": "1448:9:1"
},
{
"name": "toInsert",
"nativeSrc": "1459:8:1",
"nodeType": "YulIdentifier",
"src": "1459:8:1"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nativeSrc": "1429:18:1",
"nodeType": "YulIdentifier",
"src": "1429:18:1"
},
"nativeSrc": "1429:39:1",
"nodeType": "YulFunctionCall",
"src": "1429:39:1"
},
"variableNames": [
{
"name": "toInsert",
"nativeSrc": "1417:8:1",
"nodeType": "YulIdentifier",
"src": "1417:8:1"
}
]
},
{
"nativeSrc": "1477:30:1",
"nodeType": "YulAssignment",
"src": "1477:30:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "1490:5:1",
"nodeType": "YulIdentifier",
"src": "1490:5:1"
},
{
"arguments": [
{
"name": "mask",
"nativeSrc": "1501:4:1",
"nodeType": "YulIdentifier",
"src": "1501:4:1"
}
],
"functionName": {
"name": "not",
"nativeSrc": "1497:3:1",
"nodeType": "YulIdentifier",
"src": "1497:3:1"
},
"nativeSrc": "1497:9:1",
"nodeType": "YulFunctionCall",
"src": "1497:9:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1486:3:1",
"nodeType": "YulIdentifier",
"src": "1486:3:1"
},
"nativeSrc": "1486:21:1",
"nodeType": "YulFunctionCall",
"src": "1486:21:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "1477:5:1",
"nodeType": "YulIdentifier",
"src": "1477:5:1"
}
]
},
{
"nativeSrc": "1516:40:1",
"nodeType": "YulAssignment",
"src": "1516:40:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "1529:5:1",
"nodeType": "YulIdentifier",
"src": "1529:5:1"
},
{
"arguments": [
{
"name": "toInsert",
"nativeSrc": "1540:8:1",
"nodeType": "YulIdentifier",
"src": "1540:8:1"
},
{
"name": "mask",
"nativeSrc": "1550:4:1",
"nodeType": "YulIdentifier",
"src": "1550:4:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1536:3:1",
"nodeType": "YulIdentifier",
"src": "1536:3:1"
},
"nativeSrc": "1536:19:1",
"nodeType": "YulFunctionCall",
"src": "1536:19:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "1526:2:1",
"nodeType": "YulIdentifier",
"src": "1526:2:1"
},
"nativeSrc": "1526:30:1",
"nodeType": "YulFunctionCall",
"src": "1526:30:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "1516:6:1",
"nodeType": "YulIdentifier",
"src": "1516:6:1"
}
]
}
]
},
"name": "update_byte_slice_dynamic32",
"nativeSrc": "1169:393:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1206:5:1",
"nodeType": "YulTypedName",
"src": "1206:5:1",
"type": ""
},
{
"name": "shiftBytes",
"nativeSrc": "1213:10:1",
"nodeType": "YulTypedName",
"src": "1213:10:1",
"type": ""
},
{
"name": "toInsert",
"nativeSrc": "1225:8:1",
"nodeType": "YulTypedName",
"src": "1225:8:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "1238:6:1",
"nodeType": "YulTypedName",
"src": "1238:6:1",
"type": ""
}
],
"src": "1169:393:1"
},
{
"body": {
"nativeSrc": "1613:32:1",
"nodeType": "YulBlock",
"src": "1613:32:1",
"statements": [
{
"nativeSrc": "1623:16:1",
"nodeType": "YulAssignment",
"src": "1623:16:1",
"value": {
"name": "value",
"nativeSrc": "1634:5:1",
"nodeType": "YulIdentifier",
"src": "1634:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "1623:7:1",
"nodeType": "YulIdentifier",
"src": "1623:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nativeSrc": "1568:77:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1595:5:1",
"nodeType": "YulTypedName",
"src": "1595:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "1605:7:1",
"nodeType": "YulTypedName",
"src": "1605:7:1",
"type": ""
}
],
"src": "1568:77:1"
},
{
"body": {
"nativeSrc": "1683:28:1",
"nodeType": "YulBlock",
"src": "1683:28:1",
"statements": [
{
"nativeSrc": "1693:12:1",
"nodeType": "YulAssignment",
"src": "1693:12:1",
"value": {
"name": "value",
"nativeSrc": "1700:5:1",
"nodeType": "YulIdentifier",
"src": "1700:5:1"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "1693:3:1",
"nodeType": "YulIdentifier",
"src": "1693:3:1"
}
]
}
]
},
"name": "identity",
"nativeSrc": "1651:60:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1669:5:1",
"nodeType": "YulTypedName",
"src": "1669:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nativeSrc": "1679:3:1",
"nodeType": "YulTypedName",
"src": "1679:3:1",
"type": ""
}
],
"src": "1651:60:1"
},
{
"body": {
"nativeSrc": "1777:82:1",
"nodeType": "YulBlock",
"src": "1777:82:1",
"statements": [
{
"nativeSrc": "1787:66:1",
"nodeType": "YulAssignment",
"src": "1787:66:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "1845:5:1",
"nodeType": "YulIdentifier",
"src": "1845:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1827:17:1",
"nodeType": "YulIdentifier",
"src": "1827:17:1"
},
"nativeSrc": "1827:24:1",
"nodeType": "YulFunctionCall",
"src": "1827:24:1"
}
],
"functionName": {
"name": "identity",
"nativeSrc": "1818:8:1",
"nodeType": "YulIdentifier",
"src": "1818:8:1"
},
"nativeSrc": "1818:34:1",
"nodeType": "YulFunctionCall",
"src": "1818:34:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1800:17:1",
"nodeType": "YulIdentifier",
"src": "1800:17:1"
},
"nativeSrc": "1800:53:1",
"nodeType": "YulFunctionCall",
"src": "1800:53:1"
},
"variableNames": [
{
"name": "converted",
"nativeSrc": "1787:9:1",
"nodeType": "YulIdentifier",
"src": "1787:9:1"
}
]
}
]
},
"name": "convert_t_uint256_to_t_uint256",
"nativeSrc": "1717:142:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1757:5:1",
"nodeType": "YulTypedName",
"src": "1757:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nativeSrc": "1767:9:1",
"nodeType": "YulTypedName",
"src": "1767:9:1",
"type": ""
}
],
"src": "1717:142:1"
},
{
"body": {
"nativeSrc": "1912:28:1",
"nodeType": "YulBlock",
"src": "1912:28:1",
"statements": [
{
"nativeSrc": "1922:12:1",
"nodeType": "YulAssignment",
"src": "1922:12:1",
"value": {
"name": "value",
"nativeSrc": "1929:5:1",
"nodeType": "YulIdentifier",
"src": "1929:5:1"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "1922:3:1",
"nodeType": "YulIdentifier",
"src": "1922:3:1"
}
]
}
]
},
"name": "prepare_store_t_uint256",
"nativeSrc": "1865:75:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1898:5:1",
"nodeType": "YulTypedName",
"src": "1898:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nativeSrc": "1908:3:1",
"nodeType": "YulTypedName",
"src": "1908:3:1",
"type": ""
}
],
"src": "1865:75:1"
},
{
"body": {
"nativeSrc": "2022:193:1",
"nodeType": "YulBlock",
"src": "2022:193:1",
"statements": [
{
"nativeSrc": "2032:63:1",
"nodeType": "YulVariableDeclaration",
"src": "2032:63:1",
"value": {
"arguments": [
{
"name": "value_0",
"nativeSrc": "2087:7:1",
"nodeType": "YulIdentifier",
"src": "2087:7:1"
}
],
"functionName": {
"name": "convert_t_uint256_to_t_uint256",
"nativeSrc": "2056:30:1",
"nodeType": "YulIdentifier",
"src": "2056:30:1"
},
"nativeSrc": "2056:39:1",
"nodeType": "YulFunctionCall",
"src": "2056:39:1"
},
"variables": [
{
"name": "convertedValue_0",
"nativeSrc": "2036:16:1",
"nodeType": "YulTypedName",
"src": "2036:16:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "2111:4:1",
"nodeType": "YulIdentifier",
"src": "2111:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "slot",
"nativeSrc": "2151:4:1",
"nodeType": "YulIdentifier",
"src": "2151:4:1"
}
],
"functionName": {
"name": "sload",
"nativeSrc": "2145:5:1",
"nodeType": "YulIdentifier",
"src": "2145:5:1"
},
"nativeSrc": "2145:11:1",
"nodeType": "YulFunctionCall",
"src": "2145:11:1"
},
{
"name": "offset",
"nativeSrc": "2158:6:1",
"nodeType": "YulIdentifier",
"src": "2158:6:1"
},
{
"arguments": [
{
"name": "convertedValue_0",
"nativeSrc": "2190:16:1",
"nodeType": "YulIdentifier",
"src": "2190:16:1"
}
],
"functionName": {
"name": "prepare_store_t_uint256",
"nativeSrc": "2166:23:1",
"nodeType": "YulIdentifier",
"src": "2166:23:1"
},
"nativeSrc": "2166:41:1",
"nodeType": "YulFunctionCall",
"src": "2166:41:1"
}
],
"functionName": {
"name": "update_byte_slice_dynamic32",
"nativeSrc": "2117:27:1",
"nodeType": "YulIdentifier",
"src": "2117:27:1"
},
"nativeSrc": "2117:91:1",
"nodeType": "YulFunctionCall",
"src": "2117:91:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "2104:6:1",
"nodeType": "YulIdentifier",
"src": "2104:6:1"
},
"nativeSrc": "2104:105:1",
"nodeType": "YulFunctionCall",
"src": "2104:105:1"
},
"nativeSrc": "2104:105:1",
"nodeType": "YulExpressionStatement",
"src": "2104:105:1"
}
]
},
"name": "update_storage_value_t_uint256_to_t_uint256",
"nativeSrc": "1946:269:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "1999:4:1",
"nodeType": "YulTypedName",
"src": "1999:4:1",
"type": ""
},
{
"name": "offset",
"nativeSrc": "2005:6:1",
"nodeType": "YulTypedName",
"src": "2005:6:1",
"type": ""
},
{
"name": "value_0",
"nativeSrc": "2013:7:1",
"nodeType": "YulTypedName",
"src": "2013:7:1",
"type": ""
}
],
"src": "1946:269:1"
},
{
"body": {
"nativeSrc": "2270:24:1",
"nodeType": "YulBlock",
"src": "2270:24:1",
"statements": [
{
"nativeSrc": "2280:8:1",
"nodeType": "YulAssignment",
"src": "2280:8:1",
"value": {
"kind": "number",
"nativeSrc": "2287:1:1",
"nodeType": "YulLiteral",
"src": "2287:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "2280:3:1",
"nodeType": "YulIdentifier",
"src": "2280:3:1"
}
]
}
]
},
"name": "zero_value_for_split_t_uint256",
"nativeSrc": "2221:73:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "ret",
"nativeSrc": "2266:3:1",
"nodeType": "YulTypedName",
"src": "2266:3:1",
"type": ""
}
],
"src": "2221:73:1"
},
{
"body": {
"nativeSrc": "2353:136:1",
"nodeType": "YulBlock",
"src": "2353:136:1",
"statements": [
{
"nativeSrc": "2363:46:1",
"nodeType": "YulVariableDeclaration",
"src": "2363:46:1",
"value": {
"arguments": [],
"functionName": {
"name": "zero_value_for_split_t_uint256",
"nativeSrc": "2377:30:1",
"nodeType": "YulIdentifier",
"src": "2377:30:1"
},
"nativeSrc": "2377:32:1",
"nodeType": "YulFunctionCall",
"src": "2377:32:1"
},
"variables": [
{
"name": "zero_0",
"nativeSrc": "2367:6:1",
"nodeType": "YulTypedName",
"src": "2367:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "2462:4:1",
"nodeType": "YulIdentifier",
"src": "2462:4:1"
},
{
"name": "offset",
"nativeSrc": "2468:6:1",
"nodeType": "YulIdentifier",
"src": "2468:6:1"
},
{
"name": "zero_0",
"nativeSrc": "2476:6:1",
"nodeType": "YulIdentifier",
"src": "2476:6:1"
}
],
"functionName": {
"name": "update_storage_value_t_uint256_to_t_uint256",
"nativeSrc": "2418:43:1",
"nodeType": "YulIdentifier",
"src": "2418:43:1"
},
"nativeSrc": "2418:65:1",
"nodeType": "YulFunctionCall",
"src": "2418:65:1"
},
"nativeSrc": "2418:65:1",
"nodeType": "YulExpressionStatement",
"src": "2418:65:1"
}
]
},
"name": "storage_set_to_zero_t_uint256",
"nativeSrc": "2300:189:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "2339:4:1",
"nodeType": "YulTypedName",
"src": "2339:4:1",
"type": ""
},
{
"name": "offset",
"nativeSrc": "2345:6:1",
"nodeType": "YulTypedName",
"src": "2345:6:1",
"type": ""
}
],
"src": "2300:189:1"
},
{
"body": {
"nativeSrc": "2555:154:1",
"nodeType": "YulBlock",
"src": "2555:154:1",
"statements": [
{
"body": {
"nativeSrc": "2628:75:1",
"nodeType": "YulBlock",
"src": "2628:75:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "startSlot",
"nativeSrc": "2676:9:1",
"nodeType": "YulIdentifier",
"src": "2676:9:1"
},
{
"name": "i",
"nativeSrc": "2687:1:1",
"nodeType": "YulIdentifier",
"src": "2687:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2672:3:1",
"nodeType": "YulIdentifier",
"src": "2672:3:1"
},
"nativeSrc": "2672:17:1",
"nodeType": "YulFunctionCall",
"src": "2672:17:1"
},
{
"kind": "number",
"nativeSrc": "2691:1:1",
"nodeType": "YulLiteral",
"src": "2691:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "storage_set_to_zero_t_uint256",
"nativeSrc": "2642:29:1",
"nodeType": "YulIdentifier",
"src": "2642:29:1"
},
"nativeSrc": "2642:51:1",
"nodeType": "YulFunctionCall",
"src": "2642:51:1"
},
"nativeSrc": "2642:51:1",
"nodeType": "YulExpressionStatement",
"src": "2642:51:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nativeSrc": "2587:1:1",
"nodeType": "YulIdentifier",
"src": "2587:1:1"
},
{
"name": "slotCount",
"nativeSrc": "2590:9:1",
"nodeType": "YulIdentifier",
"src": "2590:9:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "2584:2:1",
"nodeType": "YulIdentifier",
"src": "2584:2:1"
},
"nativeSrc": "2584:16:1",
"nodeType": "YulFunctionCall",
"src": "2584:16:1"
},
"nativeSrc": "2565:138:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "2601:18:1",
"nodeType": "YulBlock",
"src": "2601:18:1",
"statements": [
{
"nativeSrc": "2603:14:1",
"nodeType": "YulAssignment",
"src": "2603:14:1",
"value": {
"arguments": [
{
"name": "i",
"nativeSrc": "2612:1:1",
"nodeType": "YulIdentifier",
"src": "2612:1:1"
},
{
"kind": "number",
"nativeSrc": "2615:1:1",
"nodeType": "YulLiteral",
"src": "2615:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2608:3:1",
"nodeType": "YulIdentifier",
"src": "2608:3:1"
},
"nativeSrc": "2608:9:1",
"nodeType": "YulFunctionCall",
"src": "2608:9:1"
},
"variableNames": [
{
"name": "i",
"nativeSrc": "2603:1:1",
"nodeType": "YulIdentifier",
"src": "2603:1:1"
}
]
}
]
},
"pre": {
"nativeSrc": "2569:14:1",
"nodeType": "YulBlock",
"src": "2569:14:1",
"statements": [
{
"nativeSrc": "2571:10:1",
"nodeType": "YulVariableDeclaration",
"src": "2571:10:1",
"value": {
"kind": "number",
"nativeSrc": "2580:1:1",
"nodeType": "YulLiteral",
"src": "2580:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nativeSrc": "2575:1:1",
"nodeType": "YulTypedName",
"src": "2575:1:1",
"type": ""
}
]
}
]
},
"src": "2565:138:1"
}
]
},
"name": "clear_storage_range_t_bytes1",
"nativeSrc": "2495:214:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "startSlot",
"nativeSrc": "2533:9:1",
"nodeType": "YulTypedName",
"src": "2533:9:1",
"type": ""
},
{
"name": "slotCount",
"nativeSrc": "2544:9:1",
"nodeType": "YulTypedName",
"src": "2544:9:1",
"type": ""
}
],
"src": "2495:214:1"
},
{
"body": {
"nativeSrc": "2794:667:1",
"nodeType": "YulBlock",
"src": "2794:667:1",
"statements": [
{
"body": {
"nativeSrc": "2820:634:1",
"nodeType": "YulBlock",
"src": "2820:634:1",
"statements": [
{
"body": {
"nativeSrc": "2857:587:1",
"nodeType": "YulBlock",
"src": "2857:587:1",
"statements": [
{
"nativeSrc": "2875:54:1",
"nodeType": "YulVariableDeclaration",
"src": "2875:54:1",
"value": {
"arguments": [
{
"name": "array",
"nativeSrc": "2923:5:1",
"nodeType": "YulIdentifier",
"src": "2923:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nativeSrc": "2891:31:1",
"nodeType": "YulIdentifier",
"src": "2891:31:1"
},
"nativeSrc": "2891:38:1",
"nodeType": "YulFunctionCall",
"src": "2891:38:1"
},
"variables": [
{
"name": "dataArea",
"nativeSrc": "2879:8:1",
"nodeType": "YulTypedName",
"src": "2879:8:1",
"type": ""
}
]
},
{
"nativeSrc": "2946:42:1",
"nodeType": "YulVariableDeclaration",
"src": "2946:42:1",
"value": {
"arguments": [
{
"name": "len",
"nativeSrc": "2984:3:1",
"nodeType": "YulIdentifier",
"src": "2984:3:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nativeSrc": "2966:17:1",
"nodeType": "YulIdentifier",
"src": "2966:17:1"
},
"nativeSrc": "2966:22:1",
"nodeType": "YulFunctionCall",
"src": "2966:22:1"
},
"variables": [
{
"name": "oldSlotCount",
"nativeSrc": "2950:12:1",
"nodeType": "YulTypedName",
"src": "2950:12:1",
"type": ""
}
]
},
{
"nativeSrc": "3005:49:1",
"nodeType": "YulVariableDeclaration",
"src": "3005:49:1",
"value": {
"arguments": [
{
"name": "startIndex",
"nativeSrc": "3043:10:1",
"nodeType": "YulIdentifier",
"src": "3043:10:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nativeSrc": "3025:17:1",
"nodeType": "YulIdentifier",
"src": "3025:17:1"
},
"nativeSrc": "3025:29:1",
"nodeType": "YulFunctionCall",
"src": "3025:29:1"
},
"variables": [
{
"name": "newSlotCount",
"nativeSrc": "3009:12:1",
"nodeType": "YulTypedName",
"src": "3009:12:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "3219:57:1",
"nodeType": "YulBlock",
"src": "3219:57:1",
"statements": [
{
"nativeSrc": "3241:17:1",
"nodeType": "YulAssignment",
"src": "3241:17:1",
"value": {
"kind": "number",
"nativeSrc": "3257:1:1",
"nodeType": "YulLiteral",
"src": "3257:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "newSlotCount",
"nativeSrc": "3241:12:1",
"nodeType": "YulIdentifier",
"src": "3241:12:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nativeSrc": "3203:10:1",
"nodeType": "YulIdentifier",
"src": "3203:10:1"
},
{
"kind": "number",
"nativeSrc": "3215:2:1",
"nodeType": "YulLiteral",
"src": "3215:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "3200:2:1",
"nodeType": "YulIdentifier",
"src": "3200:2:1"
},
"nativeSrc": "3200:18:1",
"nodeType": "YulFunctionCall",
"src": "3200:18:1"
},
"nativeSrc": "3197:79:1",
"nodeType": "YulIf",
"src": "3197:79:1"
},
{
"nativeSrc": "3293:46:1",
"nodeType": "YulVariableDeclaration",
"src": "3293:46:1",
"value": {
"arguments": [
{
"name": "dataArea",
"nativeSrc": "3316:8:1",
"nodeType": "YulIdentifier",
"src": "3316:8:1"
},
{
"name": "newSlotCount",
"nativeSrc": "3326:12:1",
"nodeType": "YulIdentifier",
"src": "3326:12:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3312:3:1",
"nodeType": "YulIdentifier",
"src": "3312:3:1"
},
"nativeSrc": "3312:27:1",
"nodeType": "YulFunctionCall",
"src": "3312:27:1"
},
"variables": [
{
"name": "deleteStart",
"nativeSrc": "3297:11:1",
"nodeType": "YulTypedName",
"src": "3297:11:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "deleteStart",
"nativeSrc": "3385:11:1",
"nodeType": "YulIdentifier",
"src": "3385:11:1"
},
{
"arguments": [
{
"name": "oldSlotCount",
"nativeSrc": "3402:12:1",
"nodeType": "YulIdentifier",
"src": "3402:12:1"
},
{
"name": "newSlotCount",
"nativeSrc": "3416:12:1",
"nodeType": "YulIdentifier",
"src": "3416:12:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "3398:3:1",
"nodeType": "YulIdentifier",
"src": "3398:3:1"
},
"nativeSrc": "3398:31:1",
"nodeType": "YulFunctionCall",
"src": "3398:31:1"
}
],
"functionName": {
"name": "clear_storage_range_t_bytes1",
"nativeSrc": "3356:28:1",
"nodeType": "YulIdentifier",
"src": "3356:28:1"
},
"nativeSrc": "3356:74:1",
"nodeType": "YulFunctionCall",
"src": "3356:74:1"
},
"nativeSrc": "3356:74:1",
"nodeType": "YulExpressionStatement",
"src": "3356:74:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nativeSrc": "2840:3:1",
"nodeType": "YulIdentifier",
"src": "2840:3:1"
},
{
"name": "startIndex",
"nativeSrc": "2845:10:1",
"nodeType": "YulIdentifier",
"src": "2845:10:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "2837:2:1",
"nodeType": "YulIdentifier",
"src": "2837:2:1"
},
"nativeSrc": "2837:19:1",
"nodeType": "YulFunctionCall",
"src": "2837:19:1"
},
"nativeSrc": "2834:610:1",
"nodeType": "YulIf",
"src": "2834:610:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nativeSrc": "2811:3:1",
"nodeType": "YulIdentifier",
"src": "2811:3:1"
},
{
"kind": "number",
"nativeSrc": "2816:2:1",
"nodeType": "YulLiteral",
"src": "2816:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "2808:2:1",
"nodeType": "YulIdentifier",
"src": "2808:2:1"
},
"nativeSrc": "2808:11:1",
"nodeType": "YulFunctionCall",
"src": "2808:11:1"
},
"nativeSrc": "2805:649:1",
"nodeType": "YulIf",
"src": "2805:649:1"
}
]
},
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nativeSrc": "2715:746:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nativeSrc": "2770:5:1",
"nodeType": "YulTypedName",
"src": "2770:5:1",
"type": ""
},
{
"name": "len",
"nativeSrc": "2777:3:1",
"nodeType": "YulTypedName",
"src": "2777:3:1",
"type": ""
},
{
"name": "startIndex",
"nativeSrc": "2782:10:1",
"nodeType": "YulTypedName",
"src": "2782:10:1",
"type": ""
}
],
"src": "2715:746:1"
},
{
"body": {
"nativeSrc": "3530:54:1",
"nodeType": "YulBlock",
"src": "3530:54:1",
"statements": [
{
"nativeSrc": "3540:37:1",
"nodeType": "YulAssignment",
"src": "3540:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nativeSrc": "3565:4:1",
"nodeType": "YulIdentifier",
"src": "3565:4:1"
},
{
"name": "value",
"nativeSrc": "3571:5:1",
"nodeType": "YulIdentifier",
"src": "3571:5:1"
}
],
"functionName": {
"name": "shr",
"nativeSrc": "3561:3:1",
"nodeType": "YulIdentifier",
"src": "3561:3:1"
},
"nativeSrc": "3561:16:1",
"nodeType": "YulFunctionCall",
"src": "3561:16:1"
},
"variableNames": [
{
"name": "newValue",
"nativeSrc": "3540:8:1",
"nodeType": "YulIdentifier",
"src": "3540:8:1"
}
]
}
]
},
"name": "shift_right_unsigned_dynamic",
"nativeSrc": "3467:117:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nativeSrc": "3505:4:1",
"nodeType": "YulTypedName",
"src": "3505:4:1",
"type": ""
},
{
"name": "value",
"nativeSrc": "3511:5:1",
"nodeType": "YulTypedName",
"src": "3511:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nativeSrc": "3521:8:1",
"nodeType": "YulTypedName",
"src": "3521:8:1",
"type": ""
}
],
"src": "3467:117:1"
},
{
"body": {
"nativeSrc": "3641:118:1",
"nodeType": "YulBlock",
"src": "3641:118:1",
"statements": [
{
"nativeSrc": "3651:68:1",
"nodeType": "YulVariableDeclaration",
"src": "3651:68:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nativeSrc": "3700:1:1",
"nodeType": "YulLiteral",
"src": "3700:1:1",
"type": "",
"value": "8"
},
{
"name": "bytes",
"nativeSrc": "3703:5:1",
"nodeType": "YulIdentifier",
"src": "3703:5:1"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "3696:3:1",
"nodeType": "YulIdentifier",
"src": "3696:3:1"
},
"nativeSrc": "3696:13:1",
"nodeType": "YulFunctionCall",
"src": "3696:13:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "3715:1:1",
"nodeType": "YulLiteral",
"src": "3715:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nativeSrc": "3711:3:1",
"nodeType": "YulIdentifier",
"src": "3711:3:1"
},
"nativeSrc": "3711:6:1",
"nodeType": "YulFunctionCall",
"src": "3711:6:1"
}
],
"functionName": {
"name": "shift_right_unsigned_dynamic",
"nativeSrc": "3667:28:1",
"nodeType": "YulIdentifier",
"src": "3667:28:1"
},
"nativeSrc": "3667:51:1",
"nodeType": "YulFunctionCall",
"src": "3667:51:1"
}
],
"functionName": {
"name": "not",
"nativeSrc": "3663:3:1",
"nodeType": "YulIdentifier",
"src": "3663:3:1"
},
"nativeSrc": "3663:56:1",
"nodeType": "YulFunctionCall",
"src": "3663:56:1"
},
"variables": [
{
"name": "mask",
"nativeSrc": "3655:4:1",
"nodeType": "YulTypedName",
"src": "3655:4:1",
"type": ""
}
]
},
{
"nativeSrc": "3728:25:1",
"nodeType": "YulAssignment",
"src": "3728:25:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "3742:4:1",
"nodeType": "YulIdentifier",
"src": "3742:4:1"
},
{
"name": "mask",
"nativeSrc": "3748:4:1",
"nodeType": "YulIdentifier",
"src": "3748:4:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "3738:3:1",
"nodeType": "YulIdentifier",
"src": "3738:3:1"
},
"nativeSrc": "3738:15:1",
"nodeType": "YulFunctionCall",
"src": "3738:15:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "3728:6:1",
"nodeType": "YulIdentifier",
"src": "3728:6:1"
}
]
}
]
},
"name": "mask_bytes_dynamic",
"nativeSrc": "3590:169:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "3618:4:1",
"nodeType": "YulTypedName",
"src": "3618:4:1",
"type": ""
},
{
"name": "bytes",
"nativeSrc": "3624:5:1",
"nodeType": "YulTypedName",
"src": "3624:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "3634:6:1",
"nodeType": "YulTypedName",
"src": "3634:6:1",
"type": ""
}
],
"src": "3590:169:1"
},
{
"body": {
"nativeSrc": "3845:214:1",
"nodeType": "YulBlock",
"src": "3845:214:1",
"statements": [
{
"nativeSrc": "3978:37:1",
"nodeType": "YulAssignment",
"src": "3978:37:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "4005:4:1",
"nodeType": "YulIdentifier",
"src": "4005:4:1"
},
{
"name": "len",
"nativeSrc": "4011:3:1",
"nodeType": "YulIdentifier",
"src": "4011:3:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nativeSrc": "3986:18:1",
"nodeType": "YulIdentifier",
"src": "3986:18:1"
},
"nativeSrc": "3986:29:1",
"nodeType": "YulFunctionCall",
"src": "3986:29:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "3978:4:1",
"nodeType": "YulIdentifier",
"src": "3978:4:1"
}
]
},
{
"nativeSrc": "4024:29:1",
"nodeType": "YulAssignment",
"src": "4024:29:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "4035:4:1",
"nodeType": "YulIdentifier",
"src": "4035:4:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "4045:1:1",
"nodeType": "YulLiteral",
"src": "4045:1:1",
"type": "",
"value": "2"
},
{
"name": "len",
"nativeSrc": "4048:3:1",
"nodeType": "YulIdentifier",
"src": "4048:3:1"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "4041:3:1",
"nodeType": "YulIdentifier",
"src": "4041:3:1"
},
"nativeSrc": "4041:11:1",
"nodeType": "YulFunctionCall",
"src": "4041:11:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "4032:2:1",
"nodeType": "YulIdentifier",
"src": "4032:2:1"
},
"nativeSrc": "4032:21:1",
"nodeType": "YulFunctionCall",
"src": "4032:21:1"
},
"variableNames": [
{
"name": "used",
"nativeSrc": "4024:4:1",
"nodeType": "YulIdentifier",
"src": "4024:4:1"
}
]
}
]
},
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nativeSrc": "3764:295:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "3826:4:1",
"nodeType": "YulTypedName",
"src": "3826:4:1",
"type": ""
},
{
"name": "len",
"nativeSrc": "3832:3:1",
"nodeType": "YulTypedName",
"src": "3832:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "used",
"nativeSrc": "3840:4:1",
"nodeType": "YulTypedName",
"src": "3840:4:1",
"type": ""
}
],
"src": "3764:295:1"
},
{
"body": {
"nativeSrc": "4156:1303:1",
"nodeType": "YulBlock",
"src": "4156:1303:1",
"statements": [
{
"nativeSrc": "4167:51:1",
"nodeType": "YulVariableDeclaration",
"src": "4167:51:1",
"value": {
"arguments": [
{
"name": "src",
"nativeSrc": "4214:3:1",
"nodeType": "YulIdentifier",
"src": "4214:3:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "4181:32:1",
"nodeType": "YulIdentifier",
"src": "4181:32:1"
},
"nativeSrc": "4181:37:1",
"nodeType": "YulFunctionCall",
"src": "4181:37:1"
},
"variables": [
{
"name": "newLen",
"nativeSrc": "4171:6:1",
"nodeType": "YulTypedName",
"src": "4171:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "4303:22:1",
"nodeType": "YulBlock",
"src": "4303:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "4305:16:1",
"nodeType": "YulIdentifier",
"src": "4305:16:1"
},
"nativeSrc": "4305:18:1",
"nodeType": "YulFunctionCall",
"src": "4305:18:1"
},
"nativeSrc": "4305:18:1",
"nodeType": "YulExpressionStatement",
"src": "4305:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "4275:6:1",
"nodeType": "YulIdentifier",
"src": "4275:6:1"
},
{
"kind": "number",
"nativeSrc": "4283:18:1",
"nodeType": "YulLiteral",
"src": "4283:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "4272:2:1",
"nodeType": "YulIdentifier",
"src": "4272:2:1"
},
"nativeSrc": "4272:30:1",
"nodeType": "YulFunctionCall",
"src": "4272:30:1"
},
"nativeSrc": "4269:56:1",
"nodeType": "YulIf",
"src": "4269:56:1"
},
{
"nativeSrc": "4335:52:1",
"nodeType": "YulVariableDeclaration",
"src": "4335:52:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nativeSrc": "4381:4:1",
"nodeType": "YulIdentifier",
"src": "4381:4:1"
}
],
"functionName": {
"name": "sload",
"nativeSrc": "4375:5:1",
"nodeType": "YulIdentifier",
"src": "4375:5:1"
},
"nativeSrc": "4375:11:1",
"nodeType": "YulFunctionCall",
"src": "4375:11:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nativeSrc": "4349:25:1",
"nodeType": "YulIdentifier",
"src": "4349:25:1"
},
"nativeSrc": "4349:38:1",
"nodeType": "YulFunctionCall",
"src": "4349:38:1"
},
"variables": [
{
"name": "oldLen",
"nativeSrc": "4339:6:1",
"nodeType": "YulTypedName",
"src": "4339:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "4480:4:1",
"nodeType": "YulIdentifier",
"src": "4480:4:1"
},
{
"name": "oldLen",
"nativeSrc": "4486:6:1",
"nodeType": "YulIdentifier",
"src": "4486:6:1"
},
{
"name": "newLen",
"nativeSrc": "4494:6:1",
"nodeType": "YulIdentifier",
"src": "4494:6:1"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nativeSrc": "4434:45:1",
"nodeType": "YulIdentifier",
"src": "4434:45:1"
},
"nativeSrc": "4434:67:1",
"nodeType": "YulFunctionCall",
"src": "4434:67:1"
},
"nativeSrc": "4434:67:1",
"nodeType": "YulExpressionStatement",
"src": "4434:67:1"
},
{
"nativeSrc": "4511:18:1",
"nodeType": "YulVariableDeclaration",
"src": "4511:18:1",
"value": {
"kind": "number",
"nativeSrc": "4528:1:1",
"nodeType": "YulLiteral",
"src": "4528:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nativeSrc": "4515:9:1",
"nodeType": "YulTypedName",
"src": "4515:9:1",
"type": ""
}
]
},
{
"nativeSrc": "4539:17:1",
"nodeType": "YulAssignment",
"src": "4539:17:1",
"value": {
"kind": "number",
"nativeSrc": "4552:4:1",
"nodeType": "YulLiteral",
"src": "4552:4:1",
"type": "",
"value": "0x20"
},
"variableNames": [
{
"name": "srcOffset",
"nativeSrc": "4539:9:1",
"nodeType": "YulIdentifier",
"src": "4539:9:1"
}
]
},
{
"cases": [
{
"body": {
"nativeSrc": "4603:611:1",
"nodeType": "YulBlock",
"src": "4603:611:1",
"statements": [
{
"nativeSrc": "4617:37:1",
"nodeType": "YulVariableDeclaration",
"src": "4617:37:1",
"value": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "4636:6:1",
"nodeType": "YulIdentifier",
"src": "4636:6:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "4648:4:1",
"nodeType": "YulLiteral",
"src": "4648:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nativeSrc": "4644:3:1",
"nodeType": "YulIdentifier",
"src": "4644:3:1"
},
"nativeSrc": "4644:9:1",
"nodeType": "YulFunctionCall",
"src": "4644:9:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "4632:3:1",
"nodeType": "YulIdentifier",
"src": "4632:3:1"
},
"nativeSrc": "4632:22:1",
"nodeType": "YulFunctionCall",
"src": "4632:22:1"
},
"variables": [
{
"name": "loopEnd",
"nativeSrc": "4621:7:1",
"nodeType": "YulTypedName",
"src": "4621:7:1",
"type": ""
}
]
},
{
"nativeSrc": "4668:51:1",
"nodeType": "YulVariableDeclaration",
"src": "4668:51:1",
"value": {
"arguments": [
{
"name": "slot",
"nativeSrc": "4714:4:1",
"nodeType": "YulIdentifier",
"src": "4714:4:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nativeSrc": "4682:31:1",
"nodeType": "YulIdentifier",
"src": "4682:31:1"
},
"nativeSrc": "4682:37:1",
"nodeType": "YulFunctionCall",
"src": "4682:37:1"
},
"variables": [
{
"name": "dstPtr",
"nativeSrc": "4672:6:1",
"nodeType": "YulTypedName",
"src": "4672:6:1",
"type": ""
}
]
},
{
"nativeSrc": "4732:10:1",
"nodeType": "YulVariableDeclaration",
"src": "4732:10:1",
"value": {
"kind": "number",
"nativeSrc": "4741:1:1",
"nodeType": "YulLiteral",
"src": "4741:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nativeSrc": "4736:1:1",
"nodeType": "YulTypedName",
"src": "4736:1:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "4800:163:1",
"nodeType": "YulBlock",
"src": "4800:163:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "4825:6:1",
"nodeType": "YulIdentifier",
"src": "4825:6:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "4843:3:1",
"nodeType": "YulIdentifier",
"src": "4843:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "4848:9:1",
"nodeType": "YulIdentifier",
"src": "4848:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4839:3:1",
"nodeType": "YulIdentifier",
"src": "4839:3:1"
},
"nativeSrc": "4839:19:1",
"nodeType": "YulFunctionCall",
"src": "4839:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "4833:5:1",
"nodeType": "YulIdentifier",
"src": "4833:5:1"
},
"nativeSrc": "4833:26:1",
"nodeType": "YulFunctionCall",
"src": "4833:26:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "4818:6:1",
"nodeType": "YulIdentifier",
"src": "4818:6:1"
},
"nativeSrc": "4818:42:1",
"nodeType": "YulFunctionCall",
"src": "4818:42:1"
},
"nativeSrc": "4818:42:1",
"nodeType": "YulExpressionStatement",
"src": "4818:42:1"
},
{
"nativeSrc": "4877:24:1",
"nodeType": "YulAssignment",
"src": "4877:24:1",
"value": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "4891:6:1",
"nodeType": "YulIdentifier",
"src": "4891:6:1"
},
{
"kind": "number",
"nativeSrc": "4899:1:1",
"nodeType": "YulLiteral",
"src": "4899:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4887:3:1",
"nodeType": "YulIdentifier",
"src": "4887:3:1"
},
"nativeSrc": "4887:14:1",
"nodeType": "YulFunctionCall",
"src": "4887:14:1"
},
"variableNames": [
{
"name": "dstPtr",
"nativeSrc": "4877:6:1",
"nodeType": "YulIdentifier",
"src": "4877:6:1"
}
]
},
{
"nativeSrc": "4918:31:1",
"nodeType": "YulAssignment",
"src": "4918:31:1",
"value": {
"arguments": [
{
"name": "srcOffset",
"nativeSrc": "4935:9:1",
"nodeType": "YulIdentifier",
"src": "4935:9:1"
},
{
"kind": "number",
"nativeSrc": "4946:2:1",
"nodeType": "YulLiteral",
"src": "4946:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4931:3:1",
"nodeType": "YulIdentifier",
"src": "4931:3:1"
},
"nativeSrc": "4931:18:1",
"nodeType": "YulFunctionCall",
"src": "4931:18:1"
},
"variableNames": [
{
"name": "srcOffset",
"nativeSrc": "4918:9:1",
"nodeType": "YulIdentifier",
"src": "4918:9:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nativeSrc": "4766:1:1",
"nodeType": "YulIdentifier",
"src": "4766:1:1"
},
{
"name": "loopEnd",
"nativeSrc": "4769:7:1",
"nodeType": "YulIdentifier",
"src": "4769:7:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "4763:2:1",
"nodeType": "YulIdentifier",
"src": "4763:2:1"
},
"nativeSrc": "4763:14:1",
"nodeType": "YulFunctionCall",
"src": "4763:14:1"
},
"nativeSrc": "4755:208:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "4778:21:1",
"nodeType": "YulBlock",
"src": "4778:21:1",
"statements": [
{
"nativeSrc": "4780:17:1",
"nodeType": "YulAssignment",
"src": "4780:17:1",
"value": {
"arguments": [
{
"name": "i",
"nativeSrc": "4789:1:1",
"nodeType": "YulIdentifier",
"src": "4789:1:1"
},
{
"kind": "number",
"nativeSrc": "4792:4:1",
"nodeType": "YulLiteral",
"src": "4792:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4785:3:1",
"nodeType": "YulIdentifier",
"src": "4785:3:1"
},
"nativeSrc": "4785:12:1",
"nodeType": "YulFunctionCall",
"src": "4785:12:1"
},
"variableNames": [
{
"name": "i",
"nativeSrc": "4780:1:1",
"nodeType": "YulIdentifier",
"src": "4780:1:1"
}
]
}
]
},
"pre": {
"nativeSrc": "4759:3:1",
"nodeType": "YulBlock",
"src": "4759:3:1",
"statements": []
},
"src": "4755:208:1"
},
{
"body": {
"nativeSrc": "4999:156:1",
"nodeType": "YulBlock",
"src": "4999:156:1",
"statements": [
{
"nativeSrc": "5017:43:1",
"nodeType": "YulVariableDeclaration",
"src": "5017:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "5044:3:1",
"nodeType": "YulIdentifier",
"src": "5044:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "5049:9:1",
"nodeType": "YulIdentifier",
"src": "5049:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5040:3:1",
"nodeType": "YulIdentifier",
"src": "5040:3:1"
},
"nativeSrc": "5040:19:1",
"nodeType": "YulFunctionCall",
"src": "5040:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "5034:5:1",
"nodeType": "YulIdentifier",
"src": "5034:5:1"
},
"nativeSrc": "5034:26:1",
"nodeType": "YulFunctionCall",
"src": "5034:26:1"
},
"variables": [
{
"name": "lastValue",
"nativeSrc": "5021:9:1",
"nodeType": "YulTypedName",
"src": "5021:9:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "5084:6:1",
"nodeType": "YulIdentifier",
"src": "5084:6:1"
},
{
"arguments": [
{
"name": "lastValue",
"nativeSrc": "5111:9:1",
"nodeType": "YulIdentifier",
"src": "5111:9:1"
},
{
"arguments": [
{
"name": "newLen",
"nativeSrc": "5126:6:1",
"nodeType": "YulIdentifier",
"src": "5126:6:1"
},
{
"kind": "number",
"nativeSrc": "5134:4:1",
"nodeType": "YulLiteral",
"src": "5134:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "and",
"nativeSrc": "5122:3:1",
"nodeType": "YulIdentifier",
"src": "5122:3:1"
},
"nativeSrc": "5122:17:1",
"nodeType": "YulFunctionCall",
"src": "5122:17:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nativeSrc": "5092:18:1",
"nodeType": "YulIdentifier",
"src": "5092:18:1"
},
"nativeSrc": "5092:48:1",
"nodeType": "YulFunctionCall",
"src": "5092:48:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "5077:6:1",
"nodeType": "YulIdentifier",
"src": "5077:6:1"
},
"nativeSrc": "5077:64:1",
"nodeType": "YulFunctionCall",
"src": "5077:64:1"
},
"nativeSrc": "5077:64:1",
"nodeType": "YulExpressionStatement",
"src": "5077:64:1"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nativeSrc": "4982:7:1",
"nodeType": "YulIdentifier",
"src": "4982:7:1"
},
{
"name": "newLen",
"nativeSrc": "4991:6:1",
"nodeType": "YulIdentifier",
"src": "4991:6:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "4979:2:1",
"nodeType": "YulIdentifier",
"src": "4979:2:1"
},
"nativeSrc": "4979:19:1",
"nodeType": "YulFunctionCall",
"src": "4979:19:1"
},
"nativeSrc": "4976:179:1",
"nodeType": "YulIf",
"src": "4976:179:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "5175:4:1",
"nodeType": "YulIdentifier",
"src": "5175:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "newLen",
"nativeSrc": "5189:6:1",
"nodeType": "YulIdentifier",
"src": "5189:6:1"
},
{
"kind": "number",
"nativeSrc": "5197:1:1",
"nodeType": "YulLiteral",
"src": "5197:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "5185:3:1",
"nodeType": "YulIdentifier",
"src": "5185:3:1"
},
"nativeSrc": "5185:14:1",
"nodeType": "YulFunctionCall",
"src": "5185:14:1"
},
{
"kind": "number",
"nativeSrc": "5201:1:1",
"nodeType": "YulLiteral",
"src": "5201:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5181:3:1",
"nodeType": "YulIdentifier",
"src": "5181:3:1"
},
"nativeSrc": "5181:22:1",
"nodeType": "YulFunctionCall",
"src": "5181:22:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "5168:6:1",
"nodeType": "YulIdentifier",
"src": "5168:6:1"
},
"nativeSrc": "5168:36:1",
"nodeType": "YulFunctionCall",
"src": "5168:36:1"
},
"nativeSrc": "5168:36:1",
"nodeType": "YulExpressionStatement",
"src": "5168:36:1"
}
]
},
"nativeSrc": "4596:618:1",
"nodeType": "YulCase",
"src": "4596:618:1",
"value": {
"kind": "number",
"nativeSrc": "4601:1:1",
"nodeType": "YulLiteral",
"src": "4601:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nativeSrc": "5231:222:1",
"nodeType": "YulBlock",
"src": "5231:222:1",
"statements": [
{
"nativeSrc": "5245:14:1",
"nodeType": "YulVariableDeclaration",
"src": "5245:14:1",
"value": {
"kind": "number",
"nativeSrc": "5258:1:1",
"nodeType": "YulLiteral",
"src": "5258:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nativeSrc": "5249:5:1",
"nodeType": "YulTypedName",
"src": "5249:5:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "5282:67:1",
"nodeType": "YulBlock",
"src": "5282:67:1",
"statements": [
{
"nativeSrc": "5300:35:1",
"nodeType": "YulAssignment",
"src": "5300:35:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "5319:3:1",
"nodeType": "YulIdentifier",
"src": "5319:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "5324:9:1",
"nodeType": "YulIdentifier",
"src": "5324:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5315:3:1",
"nodeType": "YulIdentifier",
"src": "5315:3:1"
},
"nativeSrc": "5315:19:1",
"nodeType": "YulFunctionCall",
"src": "5315:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "5309:5:1",
"nodeType": "YulIdentifier",
"src": "5309:5:1"
},
"nativeSrc": "5309:26:1",
"nodeType": "YulFunctionCall",
"src": "5309:26:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "5300:5:1",
"nodeType": "YulIdentifier",
"src": "5300:5:1"
}
]
}
]
},
"condition": {
"name": "newLen",
"nativeSrc": "5275:6:1",
"nodeType": "YulIdentifier",
"src": "5275:6:1"
},
"nativeSrc": "5272:77:1",
"nodeType": "YulIf",
"src": "5272:77:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "5369:4:1",
"nodeType": "YulIdentifier",
"src": "5369:4:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "5428:5:1",
"nodeType": "YulIdentifier",
"src": "5428:5:1"
},
{
"name": "newLen",
"nativeSrc": "5435:6:1",
"nodeType": "YulIdentifier",
"src": "5435:6:1"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nativeSrc": "5375:52:1",
"nodeType": "YulIdentifier",
"src": "5375:52:1"
},
"nativeSrc": "5375:67:1",
"nodeType": "YulFunctionCall",
"src": "5375:67:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "5362:6:1",
"nodeType": "YulIdentifier",
"src": "5362:6:1"
},
"nativeSrc": "5362:81:1",
"nodeType": "YulFunctionCall",
"src": "5362:81:1"
},
"nativeSrc": "5362:81:1",
"nodeType": "YulExpressionStatement",
"src": "5362:81:1"
}
]
},
"nativeSrc": "5223:230:1",
"nodeType": "YulCase",
"src": "5223:230:1",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "4576:6:1",
"nodeType": "YulIdentifier",
"src": "4576:6:1"
},
{
"kind": "number",
"nativeSrc": "4584:2:1",
"nodeType": "YulLiteral",
"src": "4584:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "4573:2:1",
"nodeType": "YulIdentifier",
"src": "4573:2:1"
},
"nativeSrc": "4573:14:1",
"nodeType": "YulFunctionCall",
"src": "4573:14:1"
},
"nativeSrc": "4566:887:1",
"nodeType": "YulSwitch",
"src": "4566:887:1"
}
]
},
"name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage",
"nativeSrc": "4064:1395:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "4145:4:1",
"nodeType": "YulTypedName",
"src": "4145:4:1",
"type": ""
},
{
"name": "src",
"nativeSrc": "4151:3:1",
"nodeType": "YulTypedName",
"src": "4151:3:1",
"type": ""
}
],
"src": "4064:1395:1"
},
{
"body": {
"nativeSrc": "5505:35:1",
"nodeType": "YulBlock",
"src": "5505:35:1",
"statements": [
{
"nativeSrc": "5515:19:1",
"nodeType": "YulAssignment",
"src": "5515:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "5531:2:1",
"nodeType": "YulLiteral",
"src": "5531:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "5525:5:1",
"nodeType": "YulIdentifier",
"src": "5525:5:1"
},
"nativeSrc": "5525:9:1",
"nodeType": "YulFunctionCall",
"src": "5525:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "5515:6:1",
"nodeType": "YulIdentifier",
"src": "5515:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nativeSrc": "5465:75:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "5498:6:1",
"nodeType": "YulTypedName",
"src": "5498:6:1",
"type": ""
}
],
"src": "5465:75:1"
},
{
"body": {
"nativeSrc": "5635:28:1",
"nodeType": "YulBlock",
"src": "5635:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "5652:1:1",
"nodeType": "YulLiteral",
"src": "5652:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "5655:1:1",
"nodeType": "YulLiteral",
"src": "5655:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "5645:6:1",
"nodeType": "YulIdentifier",
"src": "5645:6:1"
},
"nativeSrc": "5645:12:1",
"nodeType": "YulFunctionCall",
"src": "5645:12:1"
},
"nativeSrc": "5645:12:1",
"nodeType": "YulExpressionStatement",
"src": "5645:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "5546:117:1",
"nodeType": "YulFunctionDefinition",
"src": "5546:117:1"
},
{
"body": {
"nativeSrc": "5758:28:1",
"nodeType": "YulBlock",
"src": "5758:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "5775:1:1",
"nodeType": "YulLiteral",
"src": "5775:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "5778:1:1",
"nodeType": "YulLiteral",
"src": "5778:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "5768:6:1",
"nodeType": "YulIdentifier",
"src": "5768:6:1"
},
"nativeSrc": "5768:12:1",
"nodeType": "YulFunctionCall",
"src": "5768:12:1"
},
"nativeSrc": "5768:12:1",
"nodeType": "YulExpressionStatement",
"src": "5768:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "5669:117:1",
"nodeType": "YulFunctionDefinition",
"src": "5669:117:1"
},
{
"body": {
"nativeSrc": "5835:79:1",
"nodeType": "YulBlock",
"src": "5835:79:1",
"statements": [
{
"body": {
"nativeSrc": "5892:16:1",
"nodeType": "YulBlock",
"src": "5892:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "5901:1:1",
"nodeType": "YulLiteral",
"src": "5901:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "5904:1:1",
"nodeType": "YulLiteral",
"src": "5904:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "5894:6:1",
"nodeType": "YulIdentifier",
"src": "5894:6:1"
},
"nativeSrc": "5894:12:1",
"nodeType": "YulFunctionCall",
"src": "5894:12:1"
},
"nativeSrc": "5894:12:1",
"nodeType": "YulExpressionStatement",
"src": "5894:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "5858:5:1",
"nodeType": "YulIdentifier",
"src": "5858:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "5883:5:1",
"nodeType": "YulIdentifier",
"src": "5883:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "5865:17:1",
"nodeType": "YulIdentifier",
"src": "5865:17:1"
},
"nativeSrc": "5865:24:1",
"nodeType": "YulFunctionCall",
"src": "5865:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "5855:2:1",
"nodeType": "YulIdentifier",
"src": "5855:2:1"
},
"nativeSrc": "5855:35:1",
"nodeType": "YulFunctionCall",
"src": "5855:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "5848:6:1",
"nodeType": "YulIdentifier",
"src": "5848:6:1"
},
"nativeSrc": "5848:43:1",
"nodeType": "YulFunctionCall",
"src": "5848:43:1"
},
"nativeSrc": "5845:63:1",
"nodeType": "YulIf",
"src": "5845:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nativeSrc": "5792:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "5828:5:1",
"nodeType": "YulTypedName",
"src": "5828:5:1",
"type": ""
}
],
"src": "5792:122:1"
},
{
"body": {
"nativeSrc": "5983:80:1",
"nodeType": "YulBlock",
"src": "5983:80:1",
"statements": [
{
"nativeSrc": "5993:22:1",
"nodeType": "YulAssignment",
"src": "5993:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "6008:6:1",
"nodeType": "YulIdentifier",
"src": "6008:6:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "6002:5:1",
"nodeType": "YulIdentifier",
"src": "6002:5:1"
},
"nativeSrc": "6002:13:1",
"nodeType": "YulFunctionCall",
"src": "6002:13:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "5993:5:1",
"nodeType": "YulIdentifier",
"src": "5993:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "6051:5:1",
"nodeType": "YulIdentifier",
"src": "6051:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nativeSrc": "6024:26:1",
"nodeType": "YulIdentifier",
"src": "6024:26:1"
},
"nativeSrc": "6024:33:1",
"nodeType": "YulFunctionCall",
"src": "6024:33:1"
},
"nativeSrc": "6024:33:1",
"nodeType": "YulExpressionStatement",
"src": "6024:33:1"
}
]
},
"name": "abi_decode_t_uint256_fromMemory",
"nativeSrc": "5920:143:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "5961:6:1",
"nodeType": "YulTypedName",
"src": "5961:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "5969:3:1",
"nodeType": "YulTypedName",
"src": "5969:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "5977:5:1",
"nodeType": "YulTypedName",
"src": "5977:5:1",
"type": ""
}
],
"src": "5920:143:1"
},
{
"body": {
"nativeSrc": "6146:274:1",
"nodeType": "YulBlock",
"src": "6146:274:1",
"statements": [
{
"body": {
"nativeSrc": "6192:83:1",
"nodeType": "YulBlock",
"src": "6192:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "6194:77:1",
"nodeType": "YulIdentifier",
"src": "6194:77:1"
},
"nativeSrc": "6194:79:1",
"nodeType": "YulFunctionCall",
"src": "6194:79:1"
},
"nativeSrc": "6194:79:1",
"nodeType": "YulExpressionStatement",
"src": "6194:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "6167:7:1",
"nodeType": "YulIdentifier",
"src": "6167:7:1"
},
{
"name": "headStart",
"nativeSrc": "6176:9:1",
"nodeType": "YulIdentifier",
"src": "6176:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "6163:3:1",
"nodeType": "YulIdentifier",
"src": "6163:3:1"
},
"nativeSrc": "6163:23:1",
"nodeType": "YulFunctionCall",
"src": "6163:23:1"
},
{
"kind": "number",
"nativeSrc": "6188:2:1",
"nodeType": "YulLiteral",
"src": "6188:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "6159:3:1",
"nodeType": "YulIdentifier",
"src": "6159:3:1"
},
"nativeSrc": "6159:32:1",
"nodeType": "YulFunctionCall",
"src": "6159:32:1"
},
"nativeSrc": "6156:119:1",
"nodeType": "YulIf",
"src": "6156:119:1"
},
{
"nativeSrc": "6285:128:1",
"nodeType": "YulBlock",
"src": "6285:128:1",
"statements": [
{
"nativeSrc": "6300:15:1",
"nodeType": "YulVariableDeclaration",
"src": "6300:15:1",
"value": {
"kind": "number",
"nativeSrc": "6314:1:1",
"nodeType": "YulLiteral",
"src": "6314:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "6304:6:1",
"nodeType": "YulTypedName",
"src": "6304:6:1",
"type": ""
}
]
},
{
"nativeSrc": "6329:74:1",
"nodeType": "YulAssignment",
"src": "6329:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "6375:9:1",
"nodeType": "YulIdentifier",
"src": "6375:9:1"
},
{
"name": "offset",
"nativeSrc": "6386:6:1",
"nodeType": "YulIdentifier",
"src": "6386:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6371:3:1",
"nodeType": "YulIdentifier",
"src": "6371:3:1"
},
"nativeSrc": "6371:22:1",
"nodeType": "YulFunctionCall",
"src": "6371:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "6395:7:1",
"nodeType": "YulIdentifier",
"src": "6395:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256_fromMemory",
"nativeSrc": "6339:31:1",
"nodeType": "YulIdentifier",
"src": "6339:31:1"
},
"nativeSrc": "6339:64:1",
"nodeType": "YulFunctionCall",
"src": "6339:64:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "6329:6:1",
"nodeType": "YulIdentifier",
"src": "6329:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256_fromMemory",
"nativeSrc": "6069:351:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "6116:9:1",
"nodeType": "YulTypedName",
"src": "6116:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "6127:7:1",
"nodeType": "YulTypedName",
"src": "6127:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "6139:6:1",
"nodeType": "YulTypedName",
"src": "6139:6:1",
"type": ""
}
],
"src": "6069:351: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(startSlot, slotCount) {\n for { let i := 0 } lt(i, slotCount) { i := add(i, 1) }\n {\n storage_set_to_zero_t_uint256(add(startSlot, i), 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n if gt(len, startIndex) {\n let dataArea := array_dataslot_t_string_storage(array)\n let oldSlotCount := divide_by_32_ceil(len)\n let newSlotCount := 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) {\n newSlotCount := 0\n }\n let deleteStart := add(dataArea, newSlotCount)\n clear_storage_range_t_bytes1(deleteStart, sub(oldSlotCount, newSlotCount))\n }\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 function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "60806040526040518060400160405280600e81526020017f43686968756168756120436f696e0000000000000000000000000000000000008152505f90816100479190610398565b506040518060400160405280600381526020017f43484300000000000000000000000000000000000000000000000000000000008152506001908161008c9190610398565b50601260025f6101000a81548160ff021916908360ff1602179055506040518060e0016040528060a781526020016109a560a79139600590816100cf9190610398565b503480156100db575f5ffd5b50604051610a4c380380610a4c83398181016040528101906100fd9190610495565b3360045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600381905550506104c0565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806101c557607f821691505b6020821081036101d8576101d7610181565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261023a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826101ff565b61024486836101ff565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61028861028361027e8461025c565b610265565b61025c565b9050919050565b5f819050919050565b6102a18361026e565b6102b56102ad8261028f565b84845461020b565b825550505050565b5f5f905090565b6102cc6102bd565b6102d7818484610298565b505050565b5f5b828110156102fd576102f25f8284016102c4565b6001810190506102de565b505050565b601f821115610350578282111561034f5761031c816101de565b610325836101f0565b61032e856101f0565b602086101561033b575f90505b80830161034a828403826102dc565b505050505b5b505050565b5f82821c905092915050565b5f6103705f1984600802610355565b1980831691505092915050565b5f6103888383610361565b9150826002028217905092915050565b6103a18261014a565b67ffffffffffffffff8111156103ba576103b9610154565b5b6103c482546101ae565b6103cf828285610302565b5f60209050601f831160018114610400575f84156103ee578287015190505b6103f8858261037d565b86555061045f565b601f19841661040e866101de565b5f5b8281101561043557848901518255600182019150602085019450602081019050610410565b86831015610452578489015161044e601f891682610361565b8355505b6001600288020188555050505b505050505050565b5f5ffd5b6104748161025c565b811461047e575f5ffd5b50565b5f8151905061048f8161046b565b92915050565b5f602082840312156104aa576104a9610467565b5b5f6104b784828501610481565b91505092915050565b6104d8806104cd5f395ff3fe608060405234801561000f575f5ffd5b5060043610610060575f3560e01c806306fdde031461006457806318160ddd14610082578063313ce567146100a05780636bb38b28146100be5780638da5cb5b146100dc57806395d89b41146100fa575b5f5ffd5b61006c610118565b6040516100799190610368565b60405180910390f35b61008a6101a3565b60405161009791906103a0565b60405180910390f35b6100a86101a9565b6040516100b591906103d4565b60405180910390f35b6100c66101bb565b6040516100d39190610368565b60405180910390f35b6100e4610247565b6040516100f1919061042c565b60405180910390f35b61010261026c565b60405161010f9190610368565b60405180910390f35b5f805461012490610472565b80601f016020809104026020016040519081016040528092919081815260200182805461015090610472565b801561019b5780601f106101725761010080835404028352916020019161019b565b820191905f5260205f20905b81548152906001019060200180831161017e57829003601f168201915b505050505081565b60035481565b60025f9054906101000a900460ff1681565b600580546101c890610472565b80601f01602080910402602001604051908101604052809291908181526020018280546101f490610472565b801561023f5780601f106102165761010080835404028352916020019161023f565b820191905f5260205f20905b81548152906001019060200180831161022257829003601f168201915b505050505081565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6001805461027990610472565b80601f01602080910402602001604051908101604052809291908181526020018280546102a590610472565b80156102f05780601f106102c7576101008083540402835291602001916102f0565b820191905f5260205f20905b8154815290600101906020018083116102d357829003601f168201915b505050505081565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61033a826102f8565b6103448185610302565b9350610354818560208601610312565b61035d81610320565b840191505092915050565b5f6020820190508181035f8301526103808184610330565b905092915050565b5f819050919050565b61039a81610388565b82525050565b5f6020820190506103b35f830184610391565b92915050565b5f60ff82169050919050565b6103ce816103b9565b82525050565b5f6020820190506103e75f8301846103c5565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610416826103ed565b9050919050565b6104268161040c565b82525050565b5f60208201905061043f5f83018461041d565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061048957607f821691505b60208210810361049c5761049b610445565b5b5091905056fea26469706673582212207c98a5875cffe421a31ebe956af86fbcc19c75af7488d677da575e455e3aafcf64736f6c6343000822003368747470733a2f2f656e637279707465642d74626e302e677374617469632e636f6d2f696d616765733f713d74626e3a414e64394763534e6355344c3877784854646878594e6f717a654356344266724a7442696b6f465332556d6a58506e3557366832636731464d3879535375543249583673567541554933446e4f70484d4b3349634a5349415a4b715f346141616e45714655443772736d5f2d3542327a6e6726733d3130",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xE DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x43686968756168756120436F696E000000000000000000000000000000000000 DUP2 MSTORE POP PUSH0 SWAP1 DUP2 PUSH2 0x47 SWAP2 SWAP1 PUSH2 0x398 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4348430000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x1 SWAP1 DUP2 PUSH2 0x8C SWAP2 SWAP1 PUSH2 0x398 JUMP JUMPDEST POP PUSH1 0x12 PUSH1 0x2 PUSH0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0xE0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xA7 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x9A5 PUSH1 0xA7 SWAP2 CODECOPY PUSH1 0x5 SWAP1 DUP2 PUSH2 0xCF SWAP2 SWAP1 PUSH2 0x398 JUMP JUMPDEST POP CALLVALUE DUP1 ISZERO PUSH2 0xDB JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0xA4C CODESIZE SUB DUP1 PUSH2 0xA4C DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0xFD SWAP2 SWAP1 PUSH2 0x495 JUMP JUMPDEST CALLER PUSH1 0x4 PUSH0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x3 DUP2 SWAP1 SSTORE POP POP PUSH2 0x4C0 JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1C5 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1D8 JUMPI PUSH2 0x1D7 PUSH2 0x181 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP DUP2 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x8 DUP4 MUL PUSH2 0x23A PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x1FF JUMP JUMPDEST PUSH2 0x244 DUP7 DUP4 PUSH2 0x1FF 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 PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x288 PUSH2 0x283 PUSH2 0x27E DUP5 PUSH2 0x25C JUMP JUMPDEST PUSH2 0x265 JUMP JUMPDEST PUSH2 0x25C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2A1 DUP4 PUSH2 0x26E JUMP JUMPDEST PUSH2 0x2B5 PUSH2 0x2AD DUP3 PUSH2 0x28F JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x20B JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH0 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x2CC PUSH2 0x2BD JUMP JUMPDEST PUSH2 0x2D7 DUP2 DUP5 DUP5 PUSH2 0x298 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2FD JUMPI PUSH2 0x2F2 PUSH0 DUP3 DUP5 ADD PUSH2 0x2C4 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x2DE JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x350 JUMPI DUP3 DUP3 GT ISZERO PUSH2 0x34F JUMPI PUSH2 0x31C DUP2 PUSH2 0x1DE JUMP JUMPDEST PUSH2 0x325 DUP4 PUSH2 0x1F0 JUMP JUMPDEST PUSH2 0x32E DUP6 PUSH2 0x1F0 JUMP JUMPDEST PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x33B JUMPI PUSH0 SWAP1 POP JUMPDEST DUP1 DUP4 ADD PUSH2 0x34A DUP3 DUP5 SUB DUP3 PUSH2 0x2DC JUMP JUMPDEST POP POP POP POP JUMPDEST JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x370 PUSH0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x355 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x388 DUP4 DUP4 PUSH2 0x361 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3A1 DUP3 PUSH2 0x14A JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3BA JUMPI PUSH2 0x3B9 PUSH2 0x154 JUMP JUMPDEST JUMPDEST PUSH2 0x3C4 DUP3 SLOAD PUSH2 0x1AE JUMP JUMPDEST PUSH2 0x3CF DUP3 DUP3 DUP6 PUSH2 0x302 JUMP JUMPDEST PUSH0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x400 JUMPI PUSH0 DUP5 ISZERO PUSH2 0x3EE JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x3F8 DUP6 DUP3 PUSH2 0x37D JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x45F JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x40E DUP7 PUSH2 0x1DE JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x435 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 PUSH2 0x410 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x452 JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x44E PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x361 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 PUSH0 PUSH0 REVERT JUMPDEST PUSH2 0x474 DUP2 PUSH2 0x25C JUMP JUMPDEST DUP2 EQ PUSH2 0x47E JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH2 0x48F DUP2 PUSH2 0x46B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4AA JUMPI PUSH2 0x4A9 PUSH2 0x467 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x4B7 DUP5 DUP3 DUP6 ADD PUSH2 0x481 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x4D8 DUP1 PUSH2 0x4CD PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x60 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x82 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0xA0 JUMPI DUP1 PUSH4 0x6BB38B28 EQ PUSH2 0xBE JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xDC JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0xFA JUMPI JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH2 0x6C PUSH2 0x118 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x79 SWAP2 SWAP1 PUSH2 0x368 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8A PUSH2 0x1A3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x97 SWAP2 SWAP1 PUSH2 0x3A0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xA8 PUSH2 0x1A9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB5 SWAP2 SWAP1 PUSH2 0x3D4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC6 PUSH2 0x1BB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD3 SWAP2 SWAP1 PUSH2 0x368 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE4 PUSH2 0x247 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF1 SWAP2 SWAP1 PUSH2 0x42C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x102 PUSH2 0x26C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10F SWAP2 SWAP1 PUSH2 0x368 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 DUP1 SLOAD PUSH2 0x124 SWAP1 PUSH2 0x472 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 0x150 SWAP1 PUSH2 0x472 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x19B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x172 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x19B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x17E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH2 0x1C8 SWAP1 PUSH2 0x472 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 0x1F4 SWAP1 PUSH2 0x472 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x23F JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x216 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x23F JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x222 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x4 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0x279 SWAP1 PUSH2 0x472 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 0x2A5 SWAP1 PUSH2 0x472 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2F0 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2C7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2F0 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2D3 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 MCOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x33A DUP3 PUSH2 0x2F8 JUMP JUMPDEST PUSH2 0x344 DUP2 DUP6 PUSH2 0x302 JUMP JUMPDEST SWAP4 POP PUSH2 0x354 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x312 JUMP JUMPDEST PUSH2 0x35D DUP2 PUSH2 0x320 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x380 DUP2 DUP5 PUSH2 0x330 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x39A DUP2 PUSH2 0x388 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3B3 PUSH0 DUP4 ADD DUP5 PUSH2 0x391 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3CE DUP2 PUSH2 0x3B9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3E7 PUSH0 DUP4 ADD DUP5 PUSH2 0x3C5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x416 DUP3 PUSH2 0x3ED JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x426 DUP2 PUSH2 0x40C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x43F PUSH0 DUP4 ADD DUP5 PUSH2 0x41D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x489 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x49C JUMPI PUSH2 0x49B PUSH2 0x445 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH29 0x98A5875CFFE421A31EBE956AF86FBCC19C75AF7488D677DA575E455E3A 0xAF 0xCF PUSH5 0x736F6C6343 STOP ADDMOD 0x22 STOP CALLER PUSH9 0x747470733A2F2F656E PUSH4 0x72797074 PUSH6 0x642D74626E30 0x2E PUSH8 0x7374617469632E63 PUSH16 0x6D2F696D616765733F713D74626E3A41 0x4E PUSH5 0x394763534E PUSH4 0x55344C38 PUSH24 0x784854646878594E6F717A654356344266724A7442696B6F CHAINID MSTORE8 ORIGIN SSTORE PUSH14 0x6A58506E3557366832636731464D CODESIZE PUSH26 0x535375543249583673567541554933446E4F70484D4B3349634A MSTORE8 BLOBHASH COINBASE GAS 0x4B PUSH18 0x5F346141616E45714655443772736D5F2D35 TIMESTAMP ORIGIN PUSH27 0x6E6726733D31300000000000000000000000000000000000000000 ",
"sourceMap": "58:503:0:-:0;;;82:37;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;125:28;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;183:2;159:26;;;;;;;;;;;;;;;;;;;;249:193;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;449:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;504:10;496:5;;:18;;;;;;;;;;;;;;;;;;538:14;524:11;:28;;;;449:110;58:503;;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;2287:1;2280:8;;2221:73;:::o;2300:189::-;2377:32;;:::i;:::-;2418:65;2476:6;2468;2462:4;2418:65;:::i;:::-;2353:136;2300:189;;:::o;2495:214::-;2580:1;2565:138;2590:9;2587:1;2584:16;2565:138;;;2642:51;2691:1;2687;2676:9;2672:17;2642:51;:::i;:::-;2615:1;2612;2608:9;2603:14;;2565:138;;;2569:14;2495:214;;:::o;2715:746::-;2816:2;2811:3;2808:11;2805:649;;;2845:10;2840:3;2837:19;2834:610;;;2891:38;2923:5;2891:38;:::i;:::-;2966:22;2984:3;2966:22;:::i;:::-;3025:29;3043:10;3025:29;:::i;:::-;3215:2;3203:10;3200:18;3197:79;;;3257:1;3241:17;;3197:79;3326:12;3316:8;3312:27;3356:74;3416:12;3402;3398:31;3385:11;3356:74;:::i;:::-;2857:587;;;;2834:610;2805:649;2715:746;;;:::o;3467:117::-;3521:8;3571:5;3565:4;3561:16;3540:37;;3467:117;;;;:
View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

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