Skip to content

Instantly share code, notes, and snippets.

@Julian-dev28
Created April 21, 2023 00:28
Show Gist options
  • Save Julian-dev28/efc6d6792f15f09ecc8e078a5e272fe5 to your computer and use it in GitHub Desktop.
Save Julian-dev28/efc6d6792f15f09ecc8e078a5e272fe5 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.18+commit.87f61d96.js&optimize=false&runs=200&gist=
// SPDX-License-Identifier: MIT
pragma solidity >= 0.4.22 <0.9.0;
library console {
address constant CONSOLE_ADDRESS = address(0x000000000000000000636F6e736F6c652e6c6f67);
function _sendLogPayload(bytes memory payload) private view {
uint256 payloadLength = payload.length;
address consoleAddress = CONSOLE_ADDRESS;
assembly {
let payloadStart := add(payload, 32)
let r := staticcall(gas(), consoleAddress, payloadStart, payloadLength, 0, 0)
}
}
function log() internal view {
_sendLogPayload(abi.encodeWithSignature("log()"));
}
function logInt(int256 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(int256)", p0));
}
function logUint(uint256 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256)", p0));
}
function logString(string memory p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string)", p0));
}
function logBool(bool p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool)", p0));
}
function logAddress(address p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address)", p0));
}
function logBytes(bytes memory p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes)", p0));
}
function logBytes1(bytes1 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes1)", p0));
}
function logBytes2(bytes2 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes2)", p0));
}
function logBytes3(bytes3 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes3)", p0));
}
function logBytes4(bytes4 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes4)", p0));
}
function logBytes5(bytes5 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes5)", p0));
}
function logBytes6(bytes6 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes6)", p0));
}
function logBytes7(bytes7 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes7)", p0));
}
function logBytes8(bytes8 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes8)", p0));
}
function logBytes9(bytes9 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes9)", p0));
}
function logBytes10(bytes10 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes10)", p0));
}
function logBytes11(bytes11 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes11)", p0));
}
function logBytes12(bytes12 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes12)", p0));
}
function logBytes13(bytes13 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes13)", p0));
}
function logBytes14(bytes14 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes14)", p0));
}
function logBytes15(bytes15 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes15)", p0));
}
function logBytes16(bytes16 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes16)", p0));
}
function logBytes17(bytes17 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes17)", p0));
}
function logBytes18(bytes18 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes18)", p0));
}
function logBytes19(bytes19 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes19)", p0));
}
function logBytes20(bytes20 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes20)", p0));
}
function logBytes21(bytes21 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes21)", p0));
}
function logBytes22(bytes22 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes22)", p0));
}
function logBytes23(bytes23 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes23)", p0));
}
function logBytes24(bytes24 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes24)", p0));
}
function logBytes25(bytes25 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes25)", p0));
}
function logBytes26(bytes26 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes26)", p0));
}
function logBytes27(bytes27 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes27)", p0));
}
function logBytes28(bytes28 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes28)", p0));
}
function logBytes29(bytes29 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes29)", p0));
}
function logBytes30(bytes30 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes30)", p0));
}
function logBytes31(bytes31 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes31)", p0));
}
function logBytes32(bytes32 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes32)", p0));
}
function log(uint256 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256)", p0));
}
function log(string memory p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string)", p0));
}
function log(bool p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool)", p0));
}
function log(address p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address)", p0));
}
function log(uint256 p0, uint256 p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256)", p0, p1));
}
function log(uint256 p0, string memory p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string)", p0, p1));
}
function log(uint256 p0, bool p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool)", p0, p1));
}
function log(uint256 p0, address p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address)", p0, p1));
}
function log(string memory p0, uint256 p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256)", p0, p1));
}
function log(string memory p0, string memory p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,string)", p0, p1));
}
function log(string memory p0, bool p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool)", p0, p1));
}
function log(string memory p0, address p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address)", p0, p1));
}
function log(bool p0, uint256 p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256)", p0, p1));
}
function log(bool p0, string memory p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string)", p0, p1));
}
function log(bool p0, bool p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool)", p0, p1));
}
function log(bool p0, address p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address)", p0, p1));
}
function log(address p0, uint256 p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256)", p0, p1));
}
function log(address p0, string memory p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string)", p0, p1));
}
function log(address p0, bool p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool)", p0, p1));
}
function log(address p0, address p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address)", p0, p1));
}
function log(uint256 p0, uint256 p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256)", p0, p1, p2));
}
function log(uint256 p0, uint256 p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string)", p0, p1, p2));
}
function log(uint256 p0, uint256 p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool)", p0, p1, p2));
}
function log(uint256 p0, uint256 p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address)", p0, p1, p2));
}
function log(uint256 p0, string memory p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256)", p0, p1, p2));
}
function log(uint256 p0, string memory p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,string)", p0, p1, p2));
}
function log(uint256 p0, string memory p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool)", p0, p1, p2));
}
function log(uint256 p0, string memory p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address)", p0, p1, p2));
}
function log(uint256 p0, bool p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256)", p0, p1, p2));
}
function log(uint256 p0, bool p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string)", p0, p1, p2));
}
function log(uint256 p0, bool p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool)", p0, p1, p2));
}
function log(uint256 p0, bool p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address)", p0, p1, p2));
}
function log(uint256 p0, address p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256)", p0, p1, p2));
}
function log(uint256 p0, address p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string)", p0, p1, p2));
}
function log(uint256 p0, address p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool)", p0, p1, p2));
}
function log(uint256 p0, address p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address)", p0, p1, p2));
}
function log(string memory p0, uint256 p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256)", p0, p1, p2));
}
function log(string memory p0, uint256 p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,string)", p0, p1, p2));
}
function log(string memory p0, uint256 p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool)", p0, p1, p2));
}
function log(string memory p0, uint256 p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,address)", p0, p1, p2));
}
function log(string memory p0, string memory p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,string,uint256)", p0, p1, p2));
}
function log(string memory p0, string memory p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,string,string)", p0, p1, p2));
}
function log(string memory p0, string memory p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,string,bool)", p0, p1, p2));
}
function log(string memory p0, string memory p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,string,address)", p0, p1, p2));
}
function log(string memory p0, bool p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256)", p0, p1, p2));
}
function log(string memory p0, bool p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,string)", p0, p1, p2));
}
function log(string memory p0, bool p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool)", p0, p1, p2));
}
function log(string memory p0, bool p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,address)", p0, p1, p2));
}
function log(string memory p0, address p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,uint256)", p0, p1, p2));
}
function log(string memory p0, address p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,string)", p0, p1, p2));
}
function log(string memory p0, address p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,bool)", p0, p1, p2));
}
function log(string memory p0, address p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,address)", p0, p1, p2));
}
function log(bool p0, uint256 p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256)", p0, p1, p2));
}
function log(bool p0, uint256 p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string)", p0, p1, p2));
}
function log(bool p0, uint256 p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool)", p0, p1, p2));
}
function log(bool p0, uint256 p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address)", p0, p1, p2));
}
function log(bool p0, string memory p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256)", p0, p1, p2));
}
function log(bool p0, string memory p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,string)", p0, p1, p2));
}
function log(bool p0, string memory p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool)", p0, p1, p2));
}
function log(bool p0, string memory p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,address)", p0, p1, p2));
}
function log(bool p0, bool p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256)", p0, p1, p2));
}
function log(bool p0, bool p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string)", p0, p1, p2));
}
function log(bool p0, bool p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool)", p0, p1, p2));
}
function log(bool p0, bool p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address)", p0, p1, p2));
}
function log(bool p0, address p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256)", p0, p1, p2));
}
function log(bool p0, address p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,string)", p0, p1, p2));
}
function log(bool p0, address p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool)", p0, p1, p2));
}
function log(bool p0, address p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,address)", p0, p1, p2));
}
function log(address p0, uint256 p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256)", p0, p1, p2));
}
function log(address p0, uint256 p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string)", p0, p1, p2));
}
function log(address p0, uint256 p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool)", p0, p1, p2));
}
function log(address p0, uint256 p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address)", p0, p1, p2));
}
function log(address p0, string memory p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,uint256)", p0, p1, p2));
}
function log(address p0, string memory p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,string)", p0, p1, p2));
}
function log(address p0, string memory p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,bool)", p0, p1, p2));
}
function log(address p0, string memory p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,address)", p0, p1, p2));
}
function log(address p0, bool p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256)", p0, p1, p2));
}
function log(address p0, bool p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,string)", p0, p1, p2));
}
function log(address p0, bool p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool)", p0, p1, p2));
}
function log(address p0, bool p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,address)", p0, p1, p2));
}
function log(address p0, address p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256)", p0, p1, p2));
}
function log(address p0, address p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,string)", p0, p1, p2));
}
function log(address p0, address p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,bool)", p0, p1, p2));
}
function log(address p0, address p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,address)", p0, p1, p2));
}
function log(uint256 p0, uint256 p1, uint256 p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, uint256 p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,string)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, uint256 p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,address)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, string memory p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, string memory p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,string)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, string memory p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, string memory p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,address)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, bool p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, bool p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,string)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,address)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, address p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, address p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,string)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,address)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, uint256 p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, uint256 p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,string)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, uint256 p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,address)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, string memory p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,string,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, string memory p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,string,string)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, string memory p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,string,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, string memory p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,string,address)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, bool p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, bool p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,string)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,address)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, address p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, address p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,string)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,address)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, uint256 p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, uint256 p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,string)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, uint256 p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,address)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, string memory p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, string memory p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,string)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, string memory p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, string memory p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,address)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, bool p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, bool p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,string)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,address)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, address p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, address p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,string)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,address)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, uint256 p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, uint256 p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,string)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, uint256 p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,address)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, string memory p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, string memory p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,string)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, string memory p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, string memory p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,address)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, bool p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, bool p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,string)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,address)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, address p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, address p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,string)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,address)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, uint256 p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, uint256 p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,string)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,bool)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, uint256 p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,address)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, string memory p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,string,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, string memory p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,string,string)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, string memory p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,string,bool)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, string memory p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,string,address)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, bool p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, bool p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,string)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,bool)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,address)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, address p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, address p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,string)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,bool)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,address)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, uint256 p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,string,uint256,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, uint256 p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,string,uint256,string)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,string,uint256,bool)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, uint256 p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,string,uint256,address)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, string memory p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,string,string,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, string memory p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,string,string,string)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, string memory p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,string,string,bool)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, string memory p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,string,string,address)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, bool p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,string,bool,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, bool p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,string,bool,string)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,string,bool,bool)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,string,bool,address)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, address p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,string,address,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, address p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,string,address,string)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,string,address,bool)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,string,address,address)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, uint256 p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, uint256 p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,string)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,bool)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, uint256 p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,address)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, string memory p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,string,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, string memory p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,string,string)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, string memory p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,string,bool)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, string memory p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,string,address)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, bool p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, bool p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,string)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,bool)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,address)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, address p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,address,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, address p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,address,string)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,address,bool)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,address,address)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, uint256 p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, uint256 p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,string)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,bool)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, uint256 p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,address)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, string memory p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,string,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, string memory p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,string,string)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, string memory p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,string,bool)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, string memory p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,string,address)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, bool p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,bool,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, bool p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,bool,string)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,bool,bool)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,bool,address)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, address p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,address,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, address p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,address,string)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,address,bool)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,address,address)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, uint256 p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,uint256)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, uint256 p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,string)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,bool)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, uint256 p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,address)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, string memory p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,uint256)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, string memory p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,string)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, string memory p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,bool)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, string memory p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,address)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, bool p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,uint256)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, bool p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,string)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,bool)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,address)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, address p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,uint256)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, address p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,string)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,bool)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,address)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, uint256 p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,uint256)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, uint256 p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,string)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,bool)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, uint256 p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,address)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, string memory p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,string,uint256)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, string memory p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,string,string)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, string memory p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,string,bool)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, string memory p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,string,address)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, bool p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,uint256)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, bool p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,string)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,bool)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,address)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, address p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,address,uint256)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, address p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,address,string)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,address,bool)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,address,address)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, uint256 p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,uint256)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, uint256 p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,string)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,bool)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, uint256 p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,address)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, string memory p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,uint256)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, string memory p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,string)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, string memory p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,bool)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, string memory p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,address)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, bool p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,uint256)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, bool p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,string)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,bool)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,address)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, address p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,uint256)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, address p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,string)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,bool)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,address)", p0, p1, p2, p3));
}
function log(bool p0, address p1, uint256 p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,uint256)", p0, p1, p2, p3));
}
function log(bool p0, address p1, uint256 p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,string)", p0, p1, p2, p3));
}
function log(bool p0, address p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,bool)", p0, p1, p2, p3));
}
function log(bool p0, address p1, uint256 p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,address)", p0, p1, p2, p3));
}
function log(bool p0, address p1, string memory p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,string,uint256)", p0, p1, p2, p3));
}
function log(bool p0, address p1, string memory p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,string,string)", p0, p1, p2, p3));
}
function log(bool p0, address p1, string memory p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,string,bool)", p0, p1, p2, p3));
}
function log(bool p0, address p1, string memory p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,string,address)", p0, p1, p2, p3));
}
function log(bool p0, address p1, bool p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,uint256)", p0, p1, p2, p3));
}
function log(bool p0, address p1, bool p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,string)", p0, p1, p2, p3));
}
function log(bool p0, address p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,bool)", p0, p1, p2, p3));
}
function log(bool p0, address p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,address)", p0, p1, p2, p3));
}
function log(bool p0, address p1, address p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,uint256)", p0, p1, p2, p3));
}
function log(bool p0, address p1, address p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,string)", p0, p1, p2, p3));
}
function log(bool p0, address p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,bool)", p0, p1, p2, p3));
}
function log(bool p0, address p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,address)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, uint256 p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,uint256)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, uint256 p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,string)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,bool)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, uint256 p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,address)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, string memory p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,uint256)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, string memory p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,string)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, string memory p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,bool)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, string memory p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,address)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, bool p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,uint256)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, bool p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,string)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,bool)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,address)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, address p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,uint256)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, address p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,string)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,bool)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,address)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, uint256 p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,uint256)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, uint256 p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,string)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,bool)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, uint256 p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,address)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, string memory p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,string,uint256)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, string memory p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,string,string)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, string memory p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,string,bool)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, string memory p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,string,address)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, bool p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,bool,uint256)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, bool p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,bool,string)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,bool,bool)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,bool,address)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, address p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,address,uint256)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, address p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,address,string)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,address,bool)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,address,address)", p0, p1, p2, p3));
}
function log(address p0, bool p1, uint256 p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,uint256)", p0, p1, p2, p3));
}
function log(address p0, bool p1, uint256 p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,string)", p0, p1, p2, p3));
}
function log(address p0, bool p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,bool)", p0, p1, p2, p3));
}
function log(address p0, bool p1, uint256 p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,address)", p0, p1, p2, p3));
}
function log(address p0, bool p1, string memory p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,string,uint256)", p0, p1, p2, p3));
}
function log(address p0, bool p1, string memory p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,string,string)", p0, p1, p2, p3));
}
function log(address p0, bool p1, string memory p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,string,bool)", p0, p1, p2, p3));
}
function log(address p0, bool p1, string memory p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,string,address)", p0, p1, p2, p3));
}
function log(address p0, bool p1, bool p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,uint256)", p0, p1, p2, p3));
}
function log(address p0, bool p1, bool p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,string)", p0, p1, p2, p3));
}
function log(address p0, bool p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,bool)", p0, p1, p2, p3));
}
function log(address p0, bool p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,address)", p0, p1, p2, p3));
}
function log(address p0, bool p1, address p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,uint256)", p0, p1, p2, p3));
}
function log(address p0, bool p1, address p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,string)", p0, p1, p2, p3));
}
function log(address p0, bool p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,bool)", p0, p1, p2, p3));
}
function log(address p0, bool p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,address)", p0, p1, p2, p3));
}
function log(address p0, address p1, uint256 p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,uint256)", p0, p1, p2, p3));
}
function log(address p0, address p1, uint256 p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,string)", p0, p1, p2, p3));
}
function log(address p0, address p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,bool)", p0, p1, p2, p3));
}
function log(address p0, address p1, uint256 p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,address)", p0, p1, p2, p3));
}
function log(address p0, address p1, string memory p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,string,uint256)", p0, p1, p2, p3));
}
function log(address p0, address p1, string memory p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,string,string)", p0, p1, p2, p3));
}
function log(address p0, address p1, string memory p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,string,bool)", p0, p1, p2, p3));
}
function log(address p0, address p1, string memory p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,string,address)", p0, p1, p2, p3));
}
function log(address p0, address p1, bool p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,uint256)", p0, p1, p2, p3));
}
function log(address p0, address p1, bool p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,string)", p0, p1, p2, p3));
}
function log(address p0, address p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,bool)", p0, p1, p2, p3));
}
function log(address p0, address p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,address)", p0, p1, p2, p3));
}
function log(address p0, address p1, address p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,address,uint256)", p0, p1, p2, p3));
}
function log(address p0, address p1, address p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,address,string)", p0, p1, p2, p3));
}
function log(address p0, address p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,address,bool)", p0, p1, p2, p3));
}
function log(address p0, address p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,address,address)", p0, p1, p2, p3));
}
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.4.22 <0.9.0;
library TestsAccounts {
function getAccount(uint index) pure public returns (address) {
address[15] memory accounts;
accounts[0] = 0x5B38Da6a701c568545dCfcB03FcB875f56beddC4;
accounts[1] = 0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2;
accounts[2] = 0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db;
accounts[3] = 0x78731D3Ca6b7E34aC0F824c42a7cC18A495cabaB;
accounts[4] = 0x617F2E2fD72FD9D5503197092aC168c91465E7f2;
accounts[5] = 0x17F6AD8Ef982297579C203069C1DbfFE4348c372;
accounts[6] = 0x5c6B0f7Bf3E7ce046039Bd8FABdfD3f9F5021678;
accounts[7] = 0x03C6FcED478cBbC9a4FAB34eF9f40767739D1Ff7;
accounts[8] = 0x1aE0EA34a72D944a8C7603FfB3eC30a6669E454C;
accounts[9] = 0x0A098Eda01Ce92ff4A4CCb7A4fFFb5A43EBC70DC;
accounts[10] = 0xCA35b7d915458EF540aDe6068dFe2F44E8fa733c;
accounts[11] = 0x14723A09ACff6D2A60DcdF7aA4AFf308FDDC160C;
accounts[12] = 0x4B0897b0513fdC7C541B6d9D7E929C4e5364D2dB;
accounts[13] = 0x583031D1113aD414F02576BD6afaBfb302140225;
accounts[14] = 0xdD870fA1b7C4700F2BD7f44238821C26f7392148;
return accounts[index];
}
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.4.22 <0.9.0;
library Assert {
event AssertionEvent(
bool passed,
string message,
string methodName
);
event AssertionEventUint(
bool passed,
string message,
string methodName,
uint256 returned,
uint256 expected
);
event AssertionEventInt(
bool passed,
string message,
string methodName,
int256 returned,
int256 expected
);
event AssertionEventBool(
bool passed,
string message,
string methodName,
bool returned,
bool expected
);
event AssertionEventAddress(
bool passed,
string message,
string methodName,
address returned,
address expected
);
event AssertionEventBytes32(
bool passed,
string message,
string methodName,
bytes32 returned,
bytes32 expected
);
event AssertionEventString(
bool passed,
string message,
string methodName,
string returned,
string expected
);
event AssertionEventUintInt(
bool passed,
string message,
string methodName,
uint256 returned,
int256 expected
);
event AssertionEventIntUint(
bool passed,
string message,
string methodName,
int256 returned,
uint256 expected
);
function ok(bool a, string memory message) public returns (bool result) {
result = a;
emit AssertionEvent(result, message, "ok");
}
function equal(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventUint(result, message, "equal", a, b);
}
function equal(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventInt(result, message, "equal", a, b);
}
function equal(bool a, bool b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventBool(result, message, "equal", a, b);
}
// TODO: only for certain versions of solc
//function equal(fixed a, fixed b, string message) public returns (bool result) {
// result = (a == b);
// emit AssertionEvent(result, message);
//}
// TODO: only for certain versions of solc
//function equal(ufixed a, ufixed b, string message) public returns (bool result) {
// result = (a == b);
// emit AssertionEvent(result, message);
//}
function equal(address a, address b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventAddress(result, message, "equal", a, b);
}
function equal(bytes32 a, bytes32 b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventBytes32(result, message, "equal", a, b);
}
function equal(string memory a, string memory b, string memory message) public returns (bool result) {
result = (keccak256(abi.encodePacked(a)) == keccak256(abi.encodePacked(b)));
emit AssertionEventString(result, message, "equal", a, b);
}
function notEqual(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventUint(result, message, "notEqual", a, b);
}
function notEqual(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventInt(result, message, "notEqual", a, b);
}
function notEqual(bool a, bool b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventBool(result, message, "notEqual", a, b);
}
// TODO: only for certain versions of solc
//function notEqual(fixed a, fixed b, string message) public returns (bool result) {
// result = (a != b);
// emit AssertionEvent(result, message);
//}
// TODO: only for certain versions of solc
//function notEqual(ufixed a, ufixed b, string message) public returns (bool result) {
// result = (a != b);
// emit AssertionEvent(result, message);
//}
function notEqual(address a, address b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventAddress(result, message, "notEqual", a, b);
}
function notEqual(bytes32 a, bytes32 b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventBytes32(result, message, "notEqual", a, b);
}
function notEqual(string memory a, string memory b, string memory message) public returns (bool result) {
result = (keccak256(abi.encodePacked(a)) != keccak256(abi.encodePacked(b)));
emit AssertionEventString(result, message, "notEqual", a, b);
}
/*----------------- Greater than --------------------*/
function greaterThan(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a > b);
emit AssertionEventUint(result, message, "greaterThan", a, b);
}
function greaterThan(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a > b);
emit AssertionEventInt(result, message, "greaterThan", a, b);
}
// TODO: safely compare between uint and int
function greaterThan(uint256 a, int256 b, string memory message) public returns (bool result) {
if(b < int(0)) {
// int is negative uint "a" always greater
result = true;
} else {
result = (a > uint(b));
}
emit AssertionEventUintInt(result, message, "greaterThan", a, b);
}
function greaterThan(int256 a, uint256 b, string memory message) public returns (bool result) {
if(a < int(0)) {
// int is negative uint "b" always greater
result = false;
} else {
result = (uint(a) > b);
}
emit AssertionEventIntUint(result, message, "greaterThan", a, b);
}
/*----------------- Lesser than --------------------*/
function lesserThan(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a < b);
emit AssertionEventUint(result, message, "lesserThan", a, b);
}
function lesserThan(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a < b);
emit AssertionEventInt(result, message, "lesserThan", a, b);
}
// TODO: safely compare between uint and int
function lesserThan(uint256 a, int256 b, string memory message) public returns (bool result) {
if(b < int(0)) {
// int is negative int "b" always lesser
result = false;
} else {
result = (a < uint(b));
}
emit AssertionEventUintInt(result, message, "lesserThan", a, b);
}
function lesserThan(int256 a, uint256 b, string memory message) public returns (bool result) {
if(a < int(0)) {
// int is negative int "a" always lesser
result = true;
} else {
result = (uint(a) < b);
}
emit AssertionEventIntUint(result, message, "lesserThan", a, b);
}
}
{
"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 four typescript files which help to deploy the 'Storage' contract using 'web3.js' and 'ethers.js' libraries.
For the deployment of any other contract, just update the contract's name from 'Storage' to the desired contract and provide constructor arguments accordingly
in the file `deploy_with_ethers.ts` or `deploy_with_web3.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, web3, 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.
{
"id": "282a33353fd18e46f9cf4961a01b286a",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.18",
"solcLongVersion": "0.8.18+commit.87f61d96",
"input": {
"language": "Solidity",
"sources": {
"contracts/Counter.sol": {
"content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\n contract Counter {\n uint256 private _count;\n\n function getCount() public view returns (uint256) {\n return _count;\n }\n\n function increment() public {\n _count += 1;\n }\n}"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"contracts/Counter.sol": {
"Counter": {
"abi": [
{
"inputs": [],
"name": "getCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "increment",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/Counter.sol\":68:264 contract Counter {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/Counter.sol\":68:264 contract Counter {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0xa87d942c\n eq\n tag_3\n jumpi\n dup1\n 0xd09de08a\n eq\n tag_4\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/Counter.sol\":120:200 function getCount() public view returns (uint256) {... */\n tag_3:\n tag_5\n tag_6\n jump\t// in\n tag_5:\n mload(0x40)\n tag_7\n swap2\n swap1\n tag_8\n jump\t// in\n tag_7:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/Counter.sol\":206:262 function increment() public {... */\n tag_4:\n tag_9\n tag_10\n jump\t// in\n tag_9:\n stop\n /* \"contracts/Counter.sol\":120:200 function getCount() public view returns (uint256) {... */\n tag_6:\n /* \"contracts/Counter.sol\":161:168 uint256 */\n 0x00\n /* \"contracts/Counter.sol\":187:193 _count */\n dup1\n sload\n /* \"contracts/Counter.sol\":180:193 return _count */\n swap1\n pop\n /* \"contracts/Counter.sol\":120:200 function getCount() public view returns (uint256) {... */\n swap1\n jump\t// out\n /* \"contracts/Counter.sol\":206:262 function increment() public {... */\n tag_10:\n /* \"contracts/Counter.sol\":254:255 1 */\n 0x01\n /* \"contracts/Counter.sol\":244:250 _count */\n 0x00\n dup1\n /* \"contracts/Counter.sol\":244:255 _count += 1 */\n dup3\n dup3\n sload\n tag_13\n swap2\n swap1\n tag_14\n jump\t// in\n tag_13:\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n pop\n /* \"contracts/Counter.sol\":206:262 function increment() public {... */\n jump\t// out\n /* \"#utility.yul\":7:84 */\n tag_15:\n /* \"#utility.yul\":44:51 */\n 0x00\n /* \"#utility.yul\":73:78 */\n dup2\n /* \"#utility.yul\":62:78 */\n swap1\n pop\n /* \"#utility.yul\":7:84 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":90:208 */\n tag_16:\n /* \"#utility.yul\":177:201 */\n tag_21\n /* \"#utility.yul\":195:200 */\n dup2\n /* \"#utility.yul\":177:201 */\n tag_15\n jump\t// in\n tag_21:\n /* \"#utility.yul\":172:175 */\n dup3\n /* \"#utility.yul\":165:202 */\n mstore\n /* \"#utility.yul\":90:208 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":214:436 */\n tag_8:\n /* \"#utility.yul\":307:311 */\n 0x00\n /* \"#utility.yul\":345:347 */\n 0x20\n /* \"#utility.yul\":334:343 */\n dup3\n /* \"#utility.yul\":330:348 */\n add\n /* \"#utility.yul\":322:348 */\n swap1\n pop\n /* \"#utility.yul\":358:429 */\n tag_23\n /* \"#utility.yul\":426:427 */\n 0x00\n /* \"#utility.yul\":415:424 */\n dup4\n /* \"#utility.yul\":411:428 */\n add\n /* \"#utility.yul\":402:408 */\n dup5\n /* \"#utility.yul\":358:429 */\n tag_16\n jump\t// in\n tag_23:\n /* \"#utility.yul\":214:436 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":442:622 */\n tag_17:\n /* \"#utility.yul\":490:567 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":487:488 */\n 0x00\n /* \"#utility.yul\":480:568 */\n mstore\n /* \"#utility.yul\":587:591 */\n 0x11\n /* \"#utility.yul\":584:585 */\n 0x04\n /* \"#utility.yul\":577:592 */\n mstore\n /* \"#utility.yul\":611:615 */\n 0x24\n /* \"#utility.yul\":608:609 */\n 0x00\n /* \"#utility.yul\":601:616 */\n revert\n /* \"#utility.yul\":628:819 */\n tag_14:\n /* \"#utility.yul\":668:671 */\n 0x00\n /* \"#utility.yul\":687:707 */\n tag_26\n /* \"#utility.yul\":705:706 */\n dup3\n /* \"#utility.yul\":687:707 */\n tag_15\n jump\t// in\n tag_26:\n /* \"#utility.yul\":682:707 */\n swap2\n pop\n /* \"#utility.yul\":721:741 */\n tag_27\n /* \"#utility.yul\":739:740 */\n dup4\n /* \"#utility.yul\":721:741 */\n tag_15\n jump\t// in\n tag_27:\n /* \"#utility.yul\":716:741 */\n swap3\n pop\n /* \"#utility.yul\":764:765 */\n dup3\n /* \"#utility.yul\":761:762 */\n dup3\n /* \"#utility.yul\":757:766 */\n add\n /* \"#utility.yul\":750:766 */\n swap1\n pop\n /* \"#utility.yul\":785:788 */\n dup1\n /* \"#utility.yul\":782:783 */\n dup3\n /* \"#utility.yul\":779:789 */\n gt\n /* \"#utility.yul\":776:812 */\n iszero\n tag_28\n jumpi\n /* \"#utility.yul\":792:810 */\n tag_29\n tag_17\n jump\t// in\n tag_29:\n /* \"#utility.yul\":776:812 */\n tag_28:\n /* \"#utility.yul\":628:819 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220667501faada174fbd136dd37d76b5e33e71f4592d612699ffce129ddd217c81a64736f6c63430008120033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50610154806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a87d942c1461003b578063d09de08a14610059575b600080fd5b610043610063565b60405161005091906100a0565b60405180910390f35b61006161006c565b005b60008054905090565b600160008082825461007e91906100ea565b92505081905550565b6000819050919050565b61009a81610087565b82525050565b60006020820190506100b56000830184610091565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006100f582610087565b915061010083610087565b9250828201905080821115610118576101176100bb565b5b9291505056fea2646970667358221220667501faada174fbd136dd37d76b5e33e71f4592d612699ffce129ddd217c81a64736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x154 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA87D942C EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xD09DE08A EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x61 PUSH2 0x6C JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x7E SWAP2 SWAP1 PUSH2 0xEA JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9A DUP2 PUSH2 0x87 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x91 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xF5 DUP3 PUSH2 0x87 JUMP JUMPDEST SWAP2 POP PUSH2 0x100 DUP4 PUSH2 0x87 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x118 JUMPI PUSH2 0x117 PUSH2 0xBB JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH7 0x7501FAADA174FB 0xD1 CALLDATASIZE 0xDD CALLDATACOPY 0xD7 PUSH12 0x5E33E71F4592D612699FFCE1 0x29 0xDD 0xD2 OR 0xC8 BYTE PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ",
"sourceMap": "68:196:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@getCount_11": {
"entryPoint": 99,
"id": 11,
"parameterSlots": 0,
"returnSlots": 1
},
"@increment_19": {
"entryPoint": 108,
"id": 19,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 145,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 160,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 234,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 135,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 187,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:822:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "52:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "62:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "73:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "155:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "172:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "195:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "177:17:1"
},
"nodeType": "YulFunctionCall",
"src": "177:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "165:6:1"
},
"nodeType": "YulFunctionCall",
"src": "165:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "165:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "143:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "150:3:1",
"type": ""
}
],
"src": "90:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "312:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "322:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "334:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "345:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "330:3:1"
},
"nodeType": "YulFunctionCall",
"src": "330:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "322:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "402:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "415:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "426:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "411:3:1"
},
"nodeType": "YulFunctionCall",
"src": "411:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "358:43:1"
},
"nodeType": "YulFunctionCall",
"src": "358:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "358:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "284:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "296:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "307:4:1",
"type": ""
}
],
"src": "214:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "470:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "487:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "490:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "480:6:1"
},
"nodeType": "YulFunctionCall",
"src": "480:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "480:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "584:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "587:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "577:6:1"
},
"nodeType": "YulFunctionCall",
"src": "577:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "577:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "608:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "611:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "601:6:1"
},
"nodeType": "YulFunctionCall",
"src": "601:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "601:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "442:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "672:147:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "682:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "705:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "687:17:1"
},
"nodeType": "YulFunctionCall",
"src": "687:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "682:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "716:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "739:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "721:17:1"
},
"nodeType": "YulFunctionCall",
"src": "721:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "716:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "750:16:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "761:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "764:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "757:3:1"
},
"nodeType": "YulFunctionCall",
"src": "757:9:1"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "750:3:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "790:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "792:16:1"
},
"nodeType": "YulFunctionCall",
"src": "792:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "792:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "782:1:1"
},
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "785:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "779:2:1"
},
"nodeType": "YulFunctionCall",
"src": "779:10:1"
},
"nodeType": "YulIf",
"src": "776:36:1"
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "659:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "662:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "668:3:1",
"type": ""
}
],
"src": "628:191:1"
}
]
},
"contents": "{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100365760003560e01c8063a87d942c1461003b578063d09de08a14610059575b600080fd5b610043610063565b60405161005091906100a0565b60405180910390f35b61006161006c565b005b60008054905090565b600160008082825461007e91906100ea565b92505081905550565b6000819050919050565b61009a81610087565b82525050565b60006020820190506100b56000830184610091565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006100f582610087565b915061010083610087565b9250828201905080821115610118576101176100bb565b5b9291505056fea2646970667358221220667501faada174fbd136dd37d76b5e33e71f4592d612699ffce129ddd217c81a64736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA87D942C EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xD09DE08A EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x61 PUSH2 0x6C JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x7E SWAP2 SWAP1 PUSH2 0xEA JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9A DUP2 PUSH2 0x87 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x91 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xF5 DUP3 PUSH2 0x87 JUMP JUMPDEST SWAP2 POP PUSH2 0x100 DUP4 PUSH2 0x87 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x118 JUMPI PUSH2 0x117 PUSH2 0xBB JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH7 0x7501FAADA174FB 0xD1 CALLDATASIZE 0xDD CALLDATACOPY 0xD7 PUSH12 0x5E33E71F4592D612699FFCE1 0x29 0xDD 0xD2 OR 0xC8 BYTE PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ",
"sourceMap": "68:196:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;120:80;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;206:56;;;:::i;:::-;;120:80;161:7;187:6;;180:13;;120:80;:::o;206:56::-;254:1;244:6;;:11;;;;;;;:::i;:::-;;;;;;;;206:56::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:180::-;490:77;487:1;480:88;587:4;584:1;577:15;611:4;608:1;601:15;628:191;668:3;687:20;705:1;687:20;:::i;:::-;682:25;;721:20;739:1;721:20;:::i;:::-;716:25;;764:1;761;757:9;750:16;;785:3;782:1;779:10;776:36;;;792:18;;:::i;:::-;776:36;628:191;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "68000",
"executionCost": "117",
"totalCost": "68117"
},
"external": {
"getCount()": "2415",
"increment()": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 68,
"end": 264,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 68,
"end": 264,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 68,
"end": 264,
"name": "MSTORE",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "DUP1",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "ISZERO",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 68,
"end": 264,
"name": "JUMPI",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 68,
"end": 264,
"name": "DUP1",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "REVERT",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 68,
"end": 264,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "POP",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 68,
"end": 264,
"name": "DUP1",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 68,
"end": 264,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 68,
"end": 264,
"name": "CODECOPY",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 68,
"end": 264,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a2646970667358221220667501faada174fbd136dd37d76b5e33e71f4592d612699ffce129ddd217c81a64736f6c63430008120033",
".code": [
{
"begin": 68,
"end": 264,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 68,
"end": 264,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 68,
"end": 264,
"name": "MSTORE",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "DUP1",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "ISZERO",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 68,
"end": 264,
"name": "JUMPI",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 68,
"end": 264,
"name": "DUP1",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "REVERT",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 68,
"end": 264,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "POP",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 68,
"end": 264,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "LT",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 68,
"end": 264,
"name": "JUMPI",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 68,
"end": 264,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 68,
"end": 264,
"name": "SHR",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "DUP1",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "PUSH",
"source": 0,
"value": "A87D942C"
},
{
"begin": 68,
"end": 264,
"name": "EQ",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 68,
"end": 264,
"name": "JUMPI",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "DUP1",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "PUSH",
"source": 0,
"value": "D09DE08A"
},
{
"begin": 68,
"end": 264,
"name": "EQ",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 68,
"end": 264,
"name": "JUMPI",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 68,
"end": 264,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 68,
"end": 264,
"name": "DUP1",
"source": 0
},
{
"begin": 68,
"end": 264,
"name": "REVERT",
"source": 0
},
{
"begin": 120,
"end": 200,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 120,
"end": 200,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 120,
"end": 200,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 120,
"end": 200,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 120,
"end": 200,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 120,
"end": 200,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 120,
"end": 200,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 120,
"end": 200,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 120,
"end": 200,
"name": "MLOAD",
"source": 0
},
{
"begin": 120,
"end": 200,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 120,
"end": 200,
"name": "SWAP2",
"source": 0
},
{
"begin": 120,
"end": 200,
"name": "SWAP1",
"source": 0
},
{
"begin": 120,
"end": 200,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 120,
"end": 200,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 120,
"end": 200,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 120,
"end": 200,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 120,
"end": 200,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 120,
"end": 200,
"name": "MLOAD",
"source": 0
},
{
"begin": 120,
"end": 200,
"name": "DUP1",
"source": 0
},
{
"begin": 120,
"end": 200,
"name": "SWAP2",
"source": 0
},
{
"begin": 120,
"end": 200,
"name": "SUB",
"source": 0
},
{
"begin": 120,
"end": 200,
"name": "SWAP1",
"source": 0
},
{
"begin": 120,
"end": 200,
"name": "RETURN",
"source": 0
},
{
"begin": 206,
"end": 262,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 206,
"end": 262,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 206,
"end": 262,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 206,
"end": 262,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 206,
"end": 262,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 206,
"end": 262,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 206,
"end": 262,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 206,
"end": 262,
"name": "STOP",
"source": 0
},
{
"begin": 120,
"end": 200,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 120,
"end": 200,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 161,
"end": 168,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 187,
"end": 193,
"name": "DUP1",
"source": 0
},
{
"begin": 187,
"end": 193,
"name": "SLOAD",
"source": 0
},
{
"begin": 180,
"end": 193,
"name": "SWAP1",
"source": 0
},
{
"begin": 180,
"end": 193,
"name": "POP",
"source": 0
},
{
"begin": 120,
"end": 200,
"name": "SWAP1",
"source": 0
},
{
"begin": 120,
"end": 200,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 206,
"end": 262,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 206,
"end": 262,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 254,
"end": 255,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 244,
"end": 250,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 244,
"end": 250,
"name": "DUP1",
"source": 0
},
{
"begin": 244,
"end": 255,
"name": "DUP3",
"source": 0
},
{
"begin": 244,
"end": 255,
"name": "DUP3",
"source": 0
},
{
"begin": 244,
"end": 255,
"name": "SLOAD",
"source": 0
},
{
"begin": 244,
"end": 255,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 244,
"end": 255,
"name": "SWAP2",
"source": 0
},
{
"begin": 244,
"end": 255,
"name": "SWAP1",
"source": 0
},
{
"begin": 244,
"end": 255,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 244,
"end": 255,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 244,
"end": 255,
"name": "tag",
"source": 0,
"value": "13"
},
{
"begin": 244,
"end": 255,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 244,
"end": 255,
"name": "SWAP3",
"source": 0
},
{
"begin": 244,
"end": 255,
"name": "POP",
"source": 0
},
{
"begin": 244,
"end": 255,
"name": "POP",
"source": 0
},
{
"begin": 244,
"end": 255,
"name": "DUP2",
"source": 0
},
{
"begin": 244,
"end": 255,
"name": "SWAP1",
"source": 0
},
{
"begin": 244,
"end": 255,
"name": "SSTORE",
"source": 0
},
{
"begin": 244,
"end": 255,
"name": "POP",
"source": 0
},
{
"begin": 206,
"end": 262,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 7,
"end": 84,
"name": "tag",
"source": 1,
"value": "15"
},
{
"begin": 7,
"end": 84,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 44,
"end": 51,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 73,
"end": 78,
"name": "DUP2",
"source": 1
},
{
"begin": 62,
"end": 78,
"name": "SWAP1",
"source": 1
},
{
"begin": 62,
"end": 78,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 84,
"name": "SWAP2",
"source": 1
},
{
"begin": 7,
"end": 84,
"name": "SWAP1",
"source": 1
},
{
"begin": 7,
"end": 84,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 84,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 90,
"end": 208,
"name": "tag",
"source": 1,
"value": "16"
},
{
"begin": 90,
"end": 208,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 177,
"end": 201,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 195,
"end": 200,
"name": "DUP2",
"source": 1
},
{
"begin": 177,
"end": 201,
"name": "PUSH [tag]",
"source": 1,
"value": "15"
},
{
"begin": 177,
"end": 201,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 177,
"end": 201,
"name": "tag",
"source": 1,
"value": "21"
},
{
"begin": 177,
"end": 201,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 172,
"end": 175,
"name": "DUP3",
"source": 1
},
{
"begin": 165,
"end": 202,
"name": "MSTORE",
"source": 1
},
{
"begin": 90,
"end": 208,
"name": "POP",
"source": 1
},
{
"begin": 90,
"end": 208,
"name": "POP",
"source": 1
},
{
"begin": 90,
"end": 208,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "tag",
"source": 1,
"value": "8"
},
{
"begin": 214,
"end": 436,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 307,
"end": 311,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 345,
"end": 347,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 334,
"end": 343,
"name": "DUP3",
"source": 1
},
{
"begin": 330,
"end": 348,
"name": "ADD",
"source": 1
},
{
"begin": 322,
"end": 348,
"name": "SWAP1",
"source": 1
},
{
"begin": 322,
"end": 348,
"name": "POP",
"source": 1
},
{
"begin": 358,
"end": 429,
"name": "PUSH [tag]",
"source": 1,
"value": "23"
},
{
"begin": 426,
"end": 427,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 415,
"end": 424,
"name": "DUP4",
"source": 1
},
{
"begin": 411,
"end": 428,
"name": "ADD",
"source": 1
},
{
"begin": 402,
"end": 408,
"name": "DUP5",
"source": 1
},
{
"begin": 358,
"end": 429,
"name": "PUSH [tag]",
"source": 1,
"value": "16"
},
{
"begin": 358,
"end": 429,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 358,
"end": 429,
"name": "tag",
"source": 1,
"value": "23"
},
{
"begin": 358,
"end": 429,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "SWAP3",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "SWAP2",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "POP",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "POP",
"source": 1
},
{
"begin": 214,
"end": 436,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 442,
"end": 622,
"name": "tag",
"source": 1,
"value": "17"
},
{
"begin": 442,
"end": 622,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 490,
"end": 567,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 487,
"end": 488,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 480,
"end": 568,
"name": "MSTORE",
"source": 1
},
{
"begin": 587,
"end": 591,
"name": "PUSH",
"source": 1,
"value": "11"
},
{
"begin": 584,
"end": 585,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 577,
"end": 592,
"name": "MSTORE",
"source": 1
},
{
"begin": 611,
"end": 615,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 608,
"end": 609,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 601,
"end": 616,
"name": "REVERT",
"source": 1
},
{
"begin": 628,
"end": 819,
"name": "tag",
"source": 1,
"value": "14"
},
{
"begin": 628,
"end": 819,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 668,
"end": 671,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 687,
"end": 707,
"name": "PUSH [tag]",
"source": 1,
"value": "26"
},
{
"begin": 705,
"end": 706,
"name": "DUP3",
"source": 1
},
{
"begin": 687,
"end": 707,
"name": "PUSH [tag]",
"source": 1,
"value": "15"
},
{
"begin": 687,
"end": 707,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 687,
"end": 707,
"name": "tag",
"source": 1,
"value": "26"
},
{
"begin": 687,
"end": 707,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 682,
"end": 707,
"name": "SWAP2",
"source": 1
},
{
"begin": 682,
"end": 707,
"name": "POP",
"source": 1
},
{
"begin": 721,
"end": 741,
"name": "PUSH [tag]",
"source": 1,
"value": "27"
},
{
"begin": 739,
"end": 740,
"name": "DUP4",
"source": 1
},
{
"begin": 721,
"end": 741,
"name": "PUSH [tag]",
"source": 1,
"value": "15"
},
{
"begin": 721,
"end": 741,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 721,
"end": 741,
"name": "tag",
"source": 1,
"value": "27"
},
{
"begin": 721,
"end": 741,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 716,
"end": 741,
"name": "SWAP3",
"source": 1
},
{
"begin": 716,
"end": 741,
"name": "POP",
"source": 1
},
{
"begin": 764,
"end": 765,
"name": "DUP3",
"source": 1
},
{
"begin": 761,
"end": 762,
"name": "DUP3",
"source": 1
},
{
"begin": 757,
"end": 766,
"name": "ADD",
"source": 1
},
{
"begin": 750,
"end": 766,
"name": "SWAP1",
"source": 1
},
{
"begin": 750,
"end": 766,
"name": "POP",
"source": 1
},
{
"begin": 785,
"end": 788,
"name": "DUP1",
"source": 1
},
{
"begin": 782,
"end": 783,
"name": "DUP3",
"source": 1
},
{
"begin": 779,
"end": 789,
"name": "GT",
"source": 1
},
{
"begin": 776,
"end": 812,
"name": "ISZERO",
"source": 1
},
{
"begin": 776,
"end": 812,
"name": "PUSH [tag]",
"source": 1,
"value": "28"
},
{
"begin": 776,
"end": 812,
"name": "JUMPI",
"source": 1
},
{
"begin": 792,
"end": 810,
"name": "PUSH [tag]",
"source": 1,
"value": "29"
},
{
"begin": 792,
"end": 810,
"name": "PUSH [tag]",
"source": 1,
"value": "17"
},
{
"begin": 792,
"end": 810,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 792,
"end": 810,
"name": "tag",
"source": 1,
"value": "29"
},
{
"begin": 792,
"end": 810,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 776,
"end": 812,
"name": "tag",
"source": 1,
"value": "28"
},
{
"begin": 776,
"end": 812,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 628,
"end": 819,
"name": "SWAP3",
"source": 1
},
{
"begin": 628,
"end": 819,
"name": "SWAP2",
"source": 1
},
{
"begin": 628,
"end": 819,
"name": "POP",
"source": 1
},
{
"begin": 628,
"end": 819,
"name": "POP",
"source": 1
},
{
"begin": 628,
"end": 819,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
}
]
}
},
"sourceList": [
"contracts/Counter.sol",
"#utility.yul"
]
},
"methodIdentifiers": {
"getCount()": "a87d942c",
"increment()": "d09de08a"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"increment\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Counter.sol\":\"Counter\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Counter.sol\":{\"keccak256\":\"0x3fa78a9cdf0966785ff82daf84387f09bb87ccf49fffde228a30b97a2471fcd0\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b58b2e9cedce75bac0d07b22df6646f98ce2cf67d91b859104c96186efa34830\",\"dweb:/ipfs/Qma9Znrys8Wf3RWd42si6FuZWEsyx6H4R1tnTTn7zs2Lo5\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 3,
"contract": "contracts/Counter.sol:Counter",
"label": "_count",
"offset": 0,
"slot": "0",
"type": "t_uint256"
}
],
"types": {
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"sources": {
"contracts/Counter.sol": {
"ast": {
"absolutePath": "contracts/Counter.sol",
"exportedSymbols": {
"Counter": [
20
]
},
"id": 21,
"license": "UNLICENSED",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.8",
".0"
],
"nodeType": "PragmaDirective",
"src": "39:23:0"
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "Counter",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 20,
"linearizedBaseContracts": [
20
],
"name": "Counter",
"nameLocation": "77:7:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 3,
"mutability": "mutable",
"name": "_count",
"nameLocation": "107:6:0",
"nodeType": "VariableDeclaration",
"scope": 20,
"src": "91:22:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "91:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "private"
},
{
"body": {
"id": 10,
"nodeType": "Block",
"src": "170:30:0",
"statements": [
{
"expression": {
"id": 8,
"name": "_count",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "187:6:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 7,
"id": 9,
"nodeType": "Return",
"src": "180:13:0"
}
]
},
"functionSelector": "a87d942c",
"id": 11,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getCount",
"nameLocation": "129:8:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 4,
"nodeType": "ParameterList",
"parameters": [],
"src": "137:2:0"
},
"returnParameters": {
"id": 7,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 11,
"src": "161:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 5,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "161:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "160:9:0"
},
"scope": 20,
"src": "120:80:0",
"stateMutability": "view",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 18,
"nodeType": "Block",
"src": "234:28:0",
"statements": [
{
"expression": {
"id": 16,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 14,
"name": "_count",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "244:6:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "+=",
"rightHandSide": {
"hexValue": "31",
"id": 15,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "254:1:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "1"
},
"src": "244:11:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 17,
"nodeType": "ExpressionStatement",
"src": "244:11:0"
}
]
},
"functionSelector": "d09de08a",
"id": 19,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "increment",
"nameLocation": "215:9:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 12,
"nodeType": "ParameterList",
"parameters": [],
"src": "224:2:0"
},
"returnParameters": {
"id": 13,
"nodeType": "ParameterList",
"parameters": [],
"src": "234:0:0"
},
"scope": 20,
"src": "206:56:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
}
],
"scope": 21,
"src": "68:196:0",
"usedErrors": []
}
],
"src": "39:225:0"
},
"id": 0
}
}
}
}
{
"id": "598054b199045186e01d898791de4d75",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.18",
"solcLongVersion": "0.8.18+commit.87f61d96",
"input": {
"language": "Solidity",
"sources": {
"contracts/counter.sol": {
"content": "pragma solidity ^0.8.0;\n\n contract Counter {\n uint256 private _count;\n\n function getCount() public view returns (uint256) {\n return _count;\n }\n\n function increment() public {\n _count += 1;\n }\n}"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"contracts/counter.sol": {
"Counter": {
"abi": [
{
"inputs": [],
"name": "getCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "increment",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/counter.sol\":29:225 contract Counter {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/counter.sol\":29:225 contract Counter {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0xa87d942c\n eq\n tag_3\n jumpi\n dup1\n 0xd09de08a\n eq\n tag_4\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/counter.sol\":81:161 function getCount() public view returns (uint256) {... */\n tag_3:\n tag_5\n tag_6\n jump\t// in\n tag_5:\n mload(0x40)\n tag_7\n swap2\n swap1\n tag_8\n jump\t// in\n tag_7:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/counter.sol\":167:223 function increment() public {... */\n tag_4:\n tag_9\n tag_10\n jump\t// in\n tag_9:\n stop\n /* \"contracts/counter.sol\":81:161 function getCount() public view returns (uint256) {... */\n tag_6:\n /* \"contracts/counter.sol\":122:129 uint256 */\n 0x00\n /* \"contracts/counter.sol\":148:154 _count */\n dup1\n sload\n /* \"contracts/counter.sol\":141:154 return _count */\n swap1\n pop\n /* \"contracts/counter.sol\":81:161 function getCount() public view returns (uint256) {... */\n swap1\n jump\t// out\n /* \"contracts/counter.sol\":167:223 function increment() public {... */\n tag_10:\n /* \"contracts/counter.sol\":215:216 1 */\n 0x01\n /* \"contracts/counter.sol\":205:211 _count */\n 0x00\n dup1\n /* \"contracts/counter.sol\":205:216 _count += 1 */\n dup3\n dup3\n sload\n tag_13\n swap2\n swap1\n tag_14\n jump\t// in\n tag_13:\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n pop\n /* \"contracts/counter.sol\":167:223 function increment() public {... */\n jump\t// out\n /* \"#utility.yul\":7:84 */\n tag_15:\n /* \"#utility.yul\":44:51 */\n 0x00\n /* \"#utility.yul\":73:78 */\n dup2\n /* \"#utility.yul\":62:78 */\n swap1\n pop\n /* \"#utility.yul\":7:84 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":90:208 */\n tag_16:\n /* \"#utility.yul\":177:201 */\n tag_21\n /* \"#utility.yul\":195:200 */\n dup2\n /* \"#utility.yul\":177:201 */\n tag_15\n jump\t// in\n tag_21:\n /* \"#utility.yul\":172:175 */\n dup3\n /* \"#utility.yul\":165:202 */\n mstore\n /* \"#utility.yul\":90:208 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":214:436 */\n tag_8:\n /* \"#utility.yul\":307:311 */\n 0x00\n /* \"#utility.yul\":345:347 */\n 0x20\n /* \"#utility.yul\":334:343 */\n dup3\n /* \"#utility.yul\":330:348 */\n add\n /* \"#utility.yul\":322:348 */\n swap1\n pop\n /* \"#utility.yul\":358:429 */\n tag_23\n /* \"#utility.yul\":426:427 */\n 0x00\n /* \"#utility.yul\":415:424 */\n dup4\n /* \"#utility.yul\":411:428 */\n add\n /* \"#utility.yul\":402:408 */\n dup5\n /* \"#utility.yul\":358:429 */\n tag_16\n jump\t// in\n tag_23:\n /* \"#utility.yul\":214:436 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":442:622 */\n tag_17:\n /* \"#utility.yul\":490:567 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":487:488 */\n 0x00\n /* \"#utility.yul\":480:568 */\n mstore\n /* \"#utility.yul\":587:591 */\n 0x11\n /* \"#utility.yul\":584:585 */\n 0x04\n /* \"#utility.yul\":577:592 */\n mstore\n /* \"#utility.yul\":611:615 */\n 0x24\n /* \"#utility.yul\":608:609 */\n 0x00\n /* \"#utility.yul\":601:616 */\n revert\n /* \"#utility.yul\":628:819 */\n tag_14:\n /* \"#utility.yul\":668:671 */\n 0x00\n /* \"#utility.yul\":687:707 */\n tag_26\n /* \"#utility.yul\":705:706 */\n dup3\n /* \"#utility.yul\":687:707 */\n tag_15\n jump\t// in\n tag_26:\n /* \"#utility.yul\":682:707 */\n swap2\n pop\n /* \"#utility.yul\":721:741 */\n tag_27\n /* \"#utility.yul\":739:740 */\n dup4\n /* \"#utility.yul\":721:741 */\n tag_15\n jump\t// in\n tag_27:\n /* \"#utility.yul\":716:741 */\n swap3\n pop\n /* \"#utility.yul\":764:765 */\n dup3\n /* \"#utility.yul\":761:762 */\n dup3\n /* \"#utility.yul\":757:766 */\n add\n /* \"#utility.yul\":750:766 */\n swap1\n pop\n /* \"#utility.yul\":785:788 */\n dup1\n /* \"#utility.yul\":782:783 */\n dup3\n /* \"#utility.yul\":779:789 */\n gt\n /* \"#utility.yul\":776:812 */\n iszero\n tag_28\n jumpi\n /* \"#utility.yul\":792:810 */\n tag_29\n tag_17\n jump\t// in\n tag_29:\n /* \"#utility.yul\":776:812 */\n tag_28:\n /* \"#utility.yul\":628:819 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220ee62ef461a188c165faa3ac205d331a8182eae34f53c596aa56c66a9bdae76e664736f6c63430008120033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50610154806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a87d942c1461003b578063d09de08a14610059575b600080fd5b610043610063565b60405161005091906100a0565b60405180910390f35b61006161006c565b005b60008054905090565b600160008082825461007e91906100ea565b92505081905550565b6000819050919050565b61009a81610087565b82525050565b60006020820190506100b56000830184610091565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006100f582610087565b915061010083610087565b9250828201905080821115610118576101176100bb565b5b9291505056fea2646970667358221220ee62ef461a188c165faa3ac205d331a8182eae34f53c596aa56c66a9bdae76e664736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x154 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA87D942C EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xD09DE08A EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x61 PUSH2 0x6C JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x7E SWAP2 SWAP1 PUSH2 0xEA JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9A DUP2 PUSH2 0x87 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x91 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xF5 DUP3 PUSH2 0x87 JUMP JUMPDEST SWAP2 POP PUSH2 0x100 DUP4 PUSH2 0x87 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x118 JUMPI PUSH2 0x117 PUSH2 0xBB JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEE PUSH3 0xEF461A XOR DUP13 AND 0x5F 0xAA GASPRICE 0xC2 SDIV 0xD3 BALANCE 0xA8 XOR 0x2E 0xAE CALLVALUE CREATE2 EXTCODECOPY MSIZE PUSH11 0xA56C66A9BDAE76E664736F PUSH13 0x63430008120033000000000000 ",
"sourceMap": "29:196:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@getCount_11": {
"entryPoint": 99,
"id": 11,
"parameterSlots": 0,
"returnSlots": 1
},
"@increment_19": {
"entryPoint": 108,
"id": 19,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 145,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 160,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 234,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 135,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 187,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:822:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "52:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "62:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "73:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "155:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "172:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "195:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "177:17:1"
},
"nodeType": "YulFunctionCall",
"src": "177:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "165:6:1"
},
"nodeType": "YulFunctionCall",
"src": "165:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "165:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "143:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "150:3:1",
"type": ""
}
],
"src": "90:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "312:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "322:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "334:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "345:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "330:3:1"
},
"nodeType": "YulFunctionCall",
"src": "330:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "322:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "402:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "415:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "426:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "411:3:1"
},
"nodeType": "YulFunctionCall",
"src": "411:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "358:43:1"
},
"nodeType": "YulFunctionCall",
"src": "358:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "358:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "284:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "296:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "307:4:1",
"type": ""
}
],
"src": "214:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "470:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "487:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "490:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "480:6:1"
},
"nodeType": "YulFunctionCall",
"src": "480:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "480:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "584:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "587:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "577:6:1"
},
"nodeType": "YulFunctionCall",
"src": "577:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "577:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "608:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "611:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "601:6:1"
},
"nodeType": "YulFunctionCall",
"src": "601:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "601:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "442:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "672:147:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "682:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "705:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "687:17:1"
},
"nodeType": "YulFunctionCall",
"src": "687:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "682:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "716:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "739:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "721:17:1"
},
"nodeType": "YulFunctionCall",
"src": "721:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "716:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "750:16:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "761:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "764:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "757:3:1"
},
"nodeType": "YulFunctionCall",
"src": "757:9:1"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "750:3:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "790:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "792:16:1"
},
"nodeType": "YulFunctionCall",
"src": "792:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "792:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "782:1:1"
},
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "785:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "779:2:1"
},
"nodeType": "YulFunctionCall",
"src": "779:10:1"
},
"nodeType": "YulIf",
"src": "776:36:1"
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "659:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "662:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "668:3:1",
"type": ""
}
],
"src": "628:191:1"
}
]
},
"contents": "{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100365760003560e01c8063a87d942c1461003b578063d09de08a14610059575b600080fd5b610043610063565b60405161005091906100a0565b60405180910390f35b61006161006c565b005b60008054905090565b600160008082825461007e91906100ea565b92505081905550565b6000819050919050565b61009a81610087565b82525050565b60006020820190506100b56000830184610091565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006100f582610087565b915061010083610087565b9250828201905080821115610118576101176100bb565b5b9291505056fea2646970667358221220ee62ef461a188c165faa3ac205d331a8182eae34f53c596aa56c66a9bdae76e664736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA87D942C EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xD09DE08A EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x61 PUSH2 0x6C JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x7E SWAP2 SWAP1 PUSH2 0xEA JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9A DUP2 PUSH2 0x87 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x91 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xF5 DUP3 PUSH2 0x87 JUMP JUMPDEST SWAP2 POP PUSH2 0x100 DUP4 PUSH2 0x87 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x118 JUMPI PUSH2 0x117 PUSH2 0xBB JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEE PUSH3 0xEF461A XOR DUP13 AND 0x5F 0xAA GASPRICE 0xC2 SDIV 0xD3 BALANCE 0xA8 XOR 0x2E 0xAE CALLVALUE CREATE2 EXTCODECOPY MSIZE PUSH11 0xA56C66A9BDAE76E664736F PUSH13 0x63430008120033000000000000 ",
"sourceMap": "29:196:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;81:80;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;167:56;;;:::i;:::-;;81:80;122:7;148:6;;141:13;;81:80;:::o;167:56::-;215:1;205:6;;:11;;;;;;;:::i;:::-;;;;;;;;167:56::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:180::-;490:77;487:1;480:88;587:4;584:1;577:15;611:4;608:1;601:15;628:191;668:3;687:20;705:1;687:20;:::i;:::-;682:25;;721:20;739:1;721:20;:::i;:::-;716:25;;764:1;761;757:9;750:16;;785:3;782:1;779:10;776:36;;;792:18;;:::i;:::-;776:36;628:191;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "68000",
"executionCost": "117",
"totalCost": "68117"
},
"external": {
"getCount()": "2415",
"increment()": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 29,
"end": 225,
"name": "MSTORE",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "DUP1",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "ISZERO",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 29,
"end": 225,
"name": "JUMPI",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 29,
"end": 225,
"name": "DUP1",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "REVERT",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 29,
"end": 225,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "POP",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 29,
"end": 225,
"name": "DUP1",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 29,
"end": 225,
"name": "CODECOPY",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 29,
"end": 225,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a2646970667358221220ee62ef461a188c165faa3ac205d331a8182eae34f53c596aa56c66a9bdae76e664736f6c63430008120033",
".code": [
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 29,
"end": 225,
"name": "MSTORE",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "DUP1",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "ISZERO",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 29,
"end": 225,
"name": "JUMPI",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 29,
"end": 225,
"name": "DUP1",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "REVERT",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 29,
"end": 225,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "POP",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 29,
"end": 225,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "LT",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 29,
"end": 225,
"name": "JUMPI",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 29,
"end": 225,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 29,
"end": 225,
"name": "SHR",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "DUP1",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "A87D942C"
},
{
"begin": 29,
"end": 225,
"name": "EQ",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 29,
"end": 225,
"name": "JUMPI",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "DUP1",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "D09DE08A"
},
{
"begin": 29,
"end": 225,
"name": "EQ",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 29,
"end": 225,
"name": "JUMPI",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 29,
"end": 225,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 29,
"end": 225,
"name": "DUP1",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "REVERT",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 81,
"end": 161,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 81,
"end": 161,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 81,
"end": 161,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 81,
"end": 161,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 81,
"end": 161,
"name": "MLOAD",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 81,
"end": 161,
"name": "SWAP2",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "SWAP1",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 81,
"end": 161,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 81,
"end": 161,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 81,
"end": 161,
"name": "MLOAD",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "DUP1",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "SWAP2",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "SUB",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "SWAP1",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "RETURN",
"source": 0
},
{
"begin": 167,
"end": 223,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 167,
"end": 223,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 167,
"end": 223,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 167,
"end": 223,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 167,
"end": 223,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 167,
"end": 223,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 167,
"end": 223,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 167,
"end": 223,
"name": "STOP",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 81,
"end": 161,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 122,
"end": 129,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 148,
"end": 154,
"name": "DUP1",
"source": 0
},
{
"begin": 148,
"end": 154,
"name": "SLOAD",
"source": 0
},
{
"begin": 141,
"end": 154,
"name": "SWAP1",
"source": 0
},
{
"begin": 141,
"end": 154,
"name": "POP",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "SWAP1",
"source": 0
},
{
"begin": 81,
"end": 161,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 167,
"end": 223,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 167,
"end": 223,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 215,
"end": 216,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 205,
"end": 211,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 205,
"end": 211,
"name": "DUP1",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "DUP3",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "DUP3",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "SLOAD",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 205,
"end": 216,
"name": "SWAP2",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "SWAP1",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 205,
"end": 216,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "tag",
"source": 0,
"value": "13"
},
{
"begin": 205,
"end": 216,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "SWAP3",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "POP",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "POP",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "DUP2",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "SWAP1",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "SSTORE",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "POP",
"source": 0
},
{
"begin": 167,
"end": 223,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 7,
"end": 84,
"name": "tag",
"source": 1,
"value": "15"
},
{
"begin": 7,
"end": 84,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 44,
"end": 51,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 73,
"end": 78,
"name": "DUP2",
"source": 1
},
{
"begin": 62,
"end": 78,
"name": "SWAP1",
"source": 1
},
{
"begin": 62,
"end": 78,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 84,
"name": "SWAP2",
"source": 1
},
{
"begin": 7,
"end": 84,
"name": "SWAP1",
"source": 1
},
{
"begin": 7,
"end": 84,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 84,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 90,
"end": 208,
"name": "tag",
"source": 1,
"value": "16"
},
{
"begin": 90,
"end": 208,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 177,
"end": 201,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 195,
"end": 200,
"name": "DUP2",
"source": 1
},
{
"begin": 177,
"end": 201,
"name": "PUSH [tag]",
"source": 1,
"value": "15"
},
{
"begin": 177,
"end": 201,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 177,
"end": 201,
"name": "tag",
"source": 1,
"value": "21"
},
{
"begin": 177,
"end": 201,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 172,
"end": 175,
"name": "DUP3",
"source": 1
},
{
"begin": 165,
"end": 202,
"name": "MSTORE",
"source": 1
},
{
"begin": 90,
"end": 208,
"name": "POP",
"source": 1
},
{
"begin": 90,
"end": 208,
"name": "POP",
"source": 1
},
{
"begin": 90,
"end": 208,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "tag",
"source": 1,
"value": "8"
},
{
"begin": 214,
"end": 436,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 307,
"end": 311,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 345,
"end": 347,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 334,
"end": 343,
"name": "DUP3",
"source": 1
},
{
"begin": 330,
"end": 348,
"name": "ADD",
"source": 1
},
{
"begin": 322,
"end": 348,
"name": "SWAP1",
"source": 1
},
{
"begin": 322,
"end": 348,
"name": "POP",
"source": 1
},
{
"begin": 358,
"end": 429,
"name": "PUSH [tag]",
"source": 1,
"value": "23"
},
{
"begin": 426,
"end": 427,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 415,
"end": 424,
"name": "DUP4",
"source": 1
},
{
"begin": 411,
"end": 428,
"name": "ADD",
"source": 1
},
{
"begin": 402,
"end": 408,
"name": "DUP5",
"source": 1
},
{
"begin": 358,
"end": 429,
"name": "PUSH [tag]",
"source": 1,
"value": "16"
},
{
"begin": 358,
"end": 429,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 358,
"end": 429,
"name": "tag",
"source": 1,
"value": "23"
},
{
"begin": 358,
"end": 429,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "SWAP3",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "SWAP2",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "POP",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "POP",
"source": 1
},
{
"begin": 214,
"end": 436,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 442,
"end": 622,
"name": "tag",
"source": 1,
"value": "17"
},
{
"begin": 442,
"end": 622,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 490,
"end": 567,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 487,
"end": 488,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 480,
"end": 568,
"name": "MSTORE",
"source": 1
},
{
"begin": 587,
"end": 591,
"name": "PUSH",
"source": 1,
"value": "11"
},
{
"begin": 584,
"end": 585,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 577,
"end": 592,
"name": "MSTORE",
"source": 1
},
{
"begin": 611,
"end": 615,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 608,
"end": 609,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 601,
"end": 616,
"name": "REVERT",
"source": 1
},
{
"begin": 628,
"end": 819,
"name": "tag",
"source": 1,
"value": "14"
},
{
"begin": 628,
"end": 819,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 668,
"end": 671,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 687,
"end": 707,
"name": "PUSH [tag]",
"source": 1,
"value": "26"
},
{
"begin": 705,
"end": 706,
"name": "DUP3",
"source": 1
},
{
"begin": 687,
"end": 707,
"name": "PUSH [tag]",
"source": 1,
"value": "15"
},
{
"begin": 687,
"end": 707,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 687,
"end": 707,
"name": "tag",
"source": 1,
"value": "26"
},
{
"begin": 687,
"end": 707,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 682,
"end": 707,
"name": "SWAP2",
"source": 1
},
{
"begin": 682,
"end": 707,
"name": "POP",
"source": 1
},
{
"begin": 721,
"end": 741,
"name": "PUSH [tag]",
"source": 1,
"value": "27"
},
{
"begin": 739,
"end": 740,
"name": "DUP4",
"source": 1
},
{
"begin": 721,
"end": 741,
"name": "PUSH [tag]",
"source": 1,
"value": "15"
},
{
"begin": 721,
"end": 741,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 721,
"end": 741,
"name": "tag",
"source": 1,
"value": "27"
},
{
"begin": 721,
"end": 741,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 716,
"end": 741,
"name": "SWAP3",
"source": 1
},
{
"begin": 716,
"end": 741,
"name": "POP",
"source": 1
},
{
"begin": 764,
"end": 765,
"name": "DUP3",
"source": 1
},
{
"begin": 761,
"end": 762,
"name": "DUP3",
"source": 1
},
{
"begin": 757,
"end": 766,
"name": "ADD",
"source": 1
},
{
"begin": 750,
"end": 766,
"name": "SWAP1",
"source": 1
},
{
"begin": 750,
"end": 766,
"name": "POP",
"source": 1
},
{
"begin": 785,
"end": 788,
"name": "DUP1",
"source": 1
},
{
"begin": 782,
"end": 783,
"name": "DUP3",
"source": 1
},
{
"begin": 779,
"end": 789,
"name": "GT",
"source": 1
},
{
"begin": 776,
"end": 812,
"name": "ISZERO",
"source": 1
},
{
"begin": 776,
"end": 812,
"name": "PUSH [tag]",
"source": 1,
"value": "28"
},
{
"begin": 776,
"end": 812,
"name": "JUMPI",
"source": 1
},
{
"begin": 792,
"end": 810,
"name": "PUSH [tag]",
"source": 1,
"value": "29"
},
{
"begin": 792,
"end": 810,
"name": "PUSH [tag]",
"source": 1,
"value": "17"
},
{
"begin": 792,
"end": 810,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 792,
"end": 810,
"name": "tag",
"source": 1,
"value": "29"
},
{
"begin": 792,
"end": 810,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 776,
"end": 812,
"name": "tag",
"source": 1,
"value": "28"
},
{
"begin": 776,
"end": 812,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 628,
"end": 819,
"name": "SWAP3",
"source": 1
},
{
"begin": 628,
"end": 819,
"name": "SWAP2",
"source": 1
},
{
"begin": 628,
"end": 819,
"name": "POP",
"source": 1
},
{
"begin": 628,
"end": 819,
"name": "POP",
"source": 1
},
{
"begin": 628,
"end": 819,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
}
]
}
},
"sourceList": [
"contracts/counter.sol",
"#utility.yul"
]
},
"methodIdentifiers": {
"getCount()": "a87d942c",
"increment()": "d09de08a"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"increment\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/counter.sol\":\"Counter\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/counter.sol\":{\"keccak256\":\"0x4237be10eeb584adb7ccbd149757b9575297f238ff41300fda8ca1eaffa6bf63\",\"urls\":[\"bzz-raw://8879dca252589f86cc4a24d8b983239e7791066ed5d8e261953a11cfeb41682a\",\"dweb:/ipfs/QmPb7iibToxzmX2UKK3C4NUncagZ7SGNSh9KBQ2haxKBXW\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 3,
"contract": "contracts/counter.sol:Counter",
"label": "_count",
"offset": 0,
"slot": "0",
"type": "t_uint256"
}
],
"types": {
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"errors": [
{
"component": "general",
"errorCode": "1878",
"formattedMessage": "Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.\n--> contracts/counter.sol\n\n",
"message": "SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.",
"severity": "warning",
"sourceLocation": {
"end": -1,
"file": "contracts/counter.sol",
"start": -1
},
"type": "Warning"
}
],
"sources": {
"contracts/counter.sol": {
"ast": {
"absolutePath": "contracts/counter.sol",
"exportedSymbols": {
"Counter": [
20
]
},
"id": 21,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.8",
".0"
],
"nodeType": "PragmaDirective",
"src": "0:23:0"
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "Counter",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 20,
"linearizedBaseContracts": [
20
],
"name": "Counter",
"nameLocation": "38:7:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 3,
"mutability": "mutable",
"name": "_count",
"nameLocation": "68:6:0",
"nodeType": "VariableDeclaration",
"scope": 20,
"src": "52:22:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "52:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "private"
},
{
"body": {
"id": 10,
"nodeType": "Block",
"src": "131:30:0",
"statements": [
{
"expression": {
"id": 8,
"name": "_count",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "148:6:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 7,
"id": 9,
"nodeType": "Return",
"src": "141:13:0"
}
]
},
"functionSelector": "a87d942c",
"id": 11,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getCount",
"nameLocation": "90:8:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 4,
"nodeType": "ParameterList",
"parameters": [],
"src": "98:2:0"
},
"returnParameters": {
"id": 7,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 11,
"src": "122:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 5,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "122:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "121:9:0"
},
"scope": 20,
"src": "81:80:0",
"stateMutability": "view",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 18,
"nodeType": "Block",
"src": "195:28:0",
"statements": [
{
"expression": {
"id": 16,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 14,
"name": "_count",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "205:6:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "+=",
"rightHandSide": {
"hexValue": "31",
"id": 15,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "215:1:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "1"
},
"src": "205:11:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 17,
"nodeType": "ExpressionStatement",
"src": "205:11:0"
}
]
},
"functionSelector": "d09de08a",
"id": 19,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "increment",
"nameLocation": "176:9:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 12,
"nodeType": "ParameterList",
"parameters": [],
"src": "185:2:0"
},
"returnParameters": {
"id": 13,
"nodeType": "ParameterList",
"parameters": [],
"src": "195:0:0"
},
"scope": 20,
"src": "167:56:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
}
],
"scope": 21,
"src": "29:196:0",
"usedErrors": []
}
],
"src": "0:225:0"
},
"id": 0
}
}
}
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50610154806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a87d942c1461003b578063d09de08a14610059575b600080fd5b610043610063565b60405161005091906100a0565b60405180910390f35b61006161006c565b005b60008054905090565b600160008082825461007e91906100ea565b92505081905550565b6000819050919050565b61009a81610087565b82525050565b60006020820190506100b56000830184610091565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006100f582610087565b915061010083610087565b9250828201905080821115610118576101176100bb565b5b9291505056fea2646970667358221220667501faada174fbd136dd37d76b5e33e71f4592d612699ffce129ddd217c81a64736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x154 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA87D942C EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xD09DE08A EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x61 PUSH2 0x6C JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x7E SWAP2 SWAP1 PUSH2 0xEA JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9A DUP2 PUSH2 0x87 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x91 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xF5 DUP3 PUSH2 0x87 JUMP JUMPDEST SWAP2 POP PUSH2 0x100 DUP4 PUSH2 0x87 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x118 JUMPI PUSH2 0x117 PUSH2 0xBB JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH7 0x7501FAADA174FB 0xD1 CALLDATASIZE 0xDD CALLDATACOPY 0xD7 PUSH12 0x5E33E71F4592D612699FFCE1 0x29 0xDD 0xD2 OR 0xC8 BYTE PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ",
"sourceMap": "68:196:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@getCount_11": {
"entryPoint": 99,
"id": 11,
"parameterSlots": 0,
"returnSlots": 1
},
"@increment_19": {
"entryPoint": 108,
"id": 19,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 145,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 160,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 234,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 135,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 187,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:822:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "52:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "62:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "73:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "155:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "172:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "195:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "177:17:1"
},
"nodeType": "YulFunctionCall",
"src": "177:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "165:6:1"
},
"nodeType": "YulFunctionCall",
"src": "165:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "165:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "143:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "150:3:1",
"type": ""
}
],
"src": "90:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "312:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "322:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "334:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "345:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "330:3:1"
},
"nodeType": "YulFunctionCall",
"src": "330:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "322:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "402:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "415:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "426:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "411:3:1"
},
"nodeType": "YulFunctionCall",
"src": "411:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "358:43:1"
},
"nodeType": "YulFunctionCall",
"src": "358:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "358:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "284:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "296:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "307:4:1",
"type": ""
}
],
"src": "214:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "470:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "487:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "490:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "480:6:1"
},
"nodeType": "YulFunctionCall",
"src": "480:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "480:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "584:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "587:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "577:6:1"
},
"nodeType": "YulFunctionCall",
"src": "577:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "577:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "608:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "611:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "601:6:1"
},
"nodeType": "YulFunctionCall",
"src": "601:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "601:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "442:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "672:147:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "682:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "705:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "687:17:1"
},
"nodeType": "YulFunctionCall",
"src": "687:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "682:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "716:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "739:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "721:17:1"
},
"nodeType": "YulFunctionCall",
"src": "721:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "716:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "750:16:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "761:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "764:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "757:3:1"
},
"nodeType": "YulFunctionCall",
"src": "757:9:1"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "750:3:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "790:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "792:16:1"
},
"nodeType": "YulFunctionCall",
"src": "792:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "792:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "782:1:1"
},
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "785:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "779:2:1"
},
"nodeType": "YulFunctionCall",
"src": "779:10:1"
},
"nodeType": "YulIf",
"src": "776:36:1"
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "659:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "662:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "668:3:1",
"type": ""
}
],
"src": "628:191:1"
}
]
},
"contents": "{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100365760003560e01c8063a87d942c1461003b578063d09de08a14610059575b600080fd5b610043610063565b60405161005091906100a0565b60405180910390f35b61006161006c565b005b60008054905090565b600160008082825461007e91906100ea565b92505081905550565b6000819050919050565b61009a81610087565b82525050565b60006020820190506100b56000830184610091565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006100f582610087565b915061010083610087565b9250828201905080821115610118576101176100bb565b5b9291505056fea2646970667358221220667501faada174fbd136dd37d76b5e33e71f4592d612699ffce129ddd217c81a64736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA87D942C EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xD09DE08A EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x61 PUSH2 0x6C JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x7E SWAP2 SWAP1 PUSH2 0xEA JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9A DUP2 PUSH2 0x87 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x91 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xF5 DUP3 PUSH2 0x87 JUMP JUMPDEST SWAP2 POP PUSH2 0x100 DUP4 PUSH2 0x87 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x118 JUMPI PUSH2 0x117 PUSH2 0xBB JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH7 0x7501FAADA174FB 0xD1 CALLDATASIZE 0xDD CALLDATACOPY 0xD7 PUSH12 0x5E33E71F4592D612699FFCE1 0x29 0xDD 0xD2 OR 0xC8 BYTE PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ",
"sourceMap": "68:196:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;120:80;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;206:56;;;:::i;:::-;;120:80;161:7;187:6;;180:13;;120:80;:::o;206:56::-;254:1;244:6;;:11;;;;;;;:::i;:::-;;;;;;;;206:56::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:180::-;490:77;487:1;480:88;587:4;584:1;577:15;611:4;608:1;601:15;628:191;668:3;687:20;705:1;687:20;:::i;:::-;682:25;;721:20;739:1;721:20;:::i;:::-;716:25;;764:1;761;757:9;750:16;;785:3;782:1;779:10;776:36;;;792:18;;:::i;:::-;776:36;628:191;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "68000",
"executionCost": "117",
"totalCost": "68117"
},
"external": {
"getCount()": "2415",
"increment()": "infinite"
}
},
"methodIdentifiers": {
"getCount()": "a87d942c",
"increment()": "d09de08a"
}
},
"abi": [
{
"inputs": [],
"name": "getCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "increment",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.18+commit.87f61d96"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "getCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "increment",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/Counter.sol": "Counter"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/Counter.sol": {
"keccak256": "0x3fa78a9cdf0966785ff82daf84387f09bb87ccf49fffde228a30b97a2471fcd0",
"license": "UNLICENSED",
"urls": [
"bzz-raw://b58b2e9cedce75bac0d07b22df6646f98ce2cf67d91b859104c96186efa34830",
"dweb:/ipfs/Qma9Znrys8Wf3RWd42si6FuZWEsyx6H4R1tnTTn7zs2Lo5"
]
}
},
"version": 1
}
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.0;
contract Counter {
uint256 private _count;
function getCount() public view returns (uint256) {
return _count;
}
function increment() public {
_count += 1;
}
}
{
"deploy": {
"VM:-": {
"linkReferences": {
"remix_tests.sol": {
"Assert": "<address>"
}
},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {
"remix_tests.sol": {
"Assert": "<address>"
}
},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {
"remix_tests.sol": {
"Assert": "<address>"
}
},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {
"remix_tests.sol": {
"Assert": "<address>"
}
},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {
"remix_tests.sol": {
"Assert": "<address>"
}
},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {
"remix_tests.sol": {
"Assert": "<address>"
}
},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {
"remix_tests.sol": {
"Assert": "<address>"
}
},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {
"remix_tests.sol": {
"Assert": [
{
"length": 20,
"start": 395
},
{
"length": 20,
"start": 828
},
{
"length": 20,
"start": 1098
}
]
}
},
"object": "608060405234801561001057600080fd5b50610a0d806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80636331e7d414610051578063b913a5ca1461005b578063bbc78bff14610065578063c9d3e76c1461006f575b600080fd5b610059610079565b005b6100636100e3565b005b61006d610275565b005b610077610426565b005b60405161008590610534565b604051809103906000f0801580156100a1573d6000803e3d6000fd5b506000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d09de08a6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561014b57600080fd5b505af115801561015f573d6000803e3d6000fd5b5050505060006001905073__$acbfb1c35000d78352310b16a054a6b106$__63abcd796060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a87d942c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610212919061057c565b836040518363ffffffff1660e01b8152600401610230929190610615565b602060405180830381865af415801561024d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102719190610689565b5050565b60006005905060005b818110156103195760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d09de08a6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156102ee57600080fd5b505af1158015610302573d6000803e3d6000fd5b505050508080610311906106e5565b91505061027e565b5073__$acbfb1c35000d78352310b16a054a6b106$__63abcd796060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a87d942c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561039f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c3919061057c565b836040518363ffffffff1660e01b81526004016103e192919061079f565b602060405180830381865af41580156103fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104229190610689565b5050565b600073__$acbfb1c35000d78352310b16a054a6b106$__63abcd796060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a87d942c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d1919061057c565b836040518363ffffffff1660e01b81526004016104ef929190610827565b602060405180830381865af415801561050c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105309190610689565b5050565b6101748061086483390190565b600080fd5b6000819050919050565b61055981610546565b811461056457600080fd5b50565b60008151905061057681610550565b92915050565b60006020828403121561059257610591610541565b5b60006105a084828501610567565b91505092915050565b6105b281610546565b82525050565b600082825260208201905092915050565b7f436f756e742073686f756c6420626520696e6372656d656e7465642062792031600082015250565b60006105ff6020836105b8565b915061060a826105c9565b602082019050919050565b600060608201905061062a60008301856105a9565b61063760208301846105a9565b8181036040830152610648816105f2565b90509392505050565b60008115159050919050565b61066681610651565b811461067157600080fd5b50565b6000815190506106838161065d565b92915050565b60006020828403121561069f5761069e610541565b5b60006106ad84828501610674565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006106f082610546565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610722576107216106b6565b5b600182019050919050565b7f436f756e742073686f756c6420626520696e6372656d656e746564203520746960008201527f6d65730000000000000000000000000000000000000000000000000000000000602082015250565b60006107896023836105b8565b91506107948261072d565b604082019050919050565b60006060820190506107b460008301856105a9565b6107c160208301846105a9565b81810360408301526107d28161077c565b90509392505050565b7f496e697469616c20636f756e742073686f756c64206265203000000000000000600082015250565b60006108116019836105b8565b915061081c826107db565b602082019050919050565b600060608201905061083c60008301856105a9565b61084960208301846105a9565b818103604083015261085a81610804565b9050939250505056fe608060405234801561001057600080fd5b50610154806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a87d942c1461003b578063d09de08a14610059575b600080fd5b610043610063565b60405161005091906100a0565b60405180910390f35b61006161006c565b005b60008054905090565b600160008082825461007e91906100ea565b92505081905550565b6000819050919050565b61009a81610087565b82525050565b60006020820190506100b56000830184610091565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006100f582610087565b915061010083610087565b9250828201905080821115610118576101176100bb565b5b9291505056fea2646970667358221220667501faada174fbd136dd37d76b5e33e71f4592d612699ffce129ddd217c81a64736f6c63430008120033a2646970667358221220e9b3e196c15a424ed4ce9e31c40592adf052b54f5d70c01eec24f037ee13425564736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA0D DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6331E7D4 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0xB913A5CA EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0xBBC78BFF EQ PUSH2 0x65 JUMPI DUP1 PUSH4 0xC9D3E76C EQ PUSH2 0x6F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x59 PUSH2 0x79 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x63 PUSH2 0xE3 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6D PUSH2 0x275 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x77 PUSH2 0x426 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x85 SWAP1 PUSH2 0x534 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH2 0xA1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xD09DE08A PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x14B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x15F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x0 PUSH1 0x1 SWAP1 POP PUSH20 0x0 PUSH4 0xABCD7960 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA87D942C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1EE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x212 SWAP2 SWAP1 PUSH2 0x57C JUMP JUMPDEST DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x230 SWAP3 SWAP2 SWAP1 PUSH2 0x615 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x24D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x271 SWAP2 SWAP1 PUSH2 0x689 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x319 JUMPI PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xD09DE08A PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x302 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP1 DUP1 PUSH2 0x311 SWAP1 PUSH2 0x6E5 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x27E JUMP JUMPDEST POP PUSH20 0x0 PUSH4 0xABCD7960 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA87D942C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x39F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3C3 SWAP2 SWAP1 PUSH2 0x57C JUMP JUMPDEST DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3E1 SWAP3 SWAP2 SWAP1 PUSH2 0x79F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3FE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x422 SWAP2 SWAP1 PUSH2 0x689 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xABCD7960 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA87D942C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x4AD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x4D1 SWAP2 SWAP1 PUSH2 0x57C JUMP JUMPDEST DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4EF SWAP3 SWAP2 SWAP1 PUSH2 0x827 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x50C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x530 SWAP2 SWAP1 PUSH2 0x689 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x174 DUP1 PUSH2 0x864 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x559 DUP2 PUSH2 0x546 JUMP JUMPDEST DUP2 EQ PUSH2 0x564 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x576 DUP2 PUSH2 0x550 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x592 JUMPI PUSH2 0x591 PUSH2 0x541 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5A0 DUP5 DUP3 DUP6 ADD PUSH2 0x567 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x5B2 DUP2 PUSH2 0x546 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x436F756E742073686F756C6420626520696E6372656D656E7465642062792031 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5FF PUSH1 0x20 DUP4 PUSH2 0x5B8 JUMP JUMPDEST SWAP2 POP PUSH2 0x60A DUP3 PUSH2 0x5C9 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x62A PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x5A9 JUMP JUMPDEST PUSH2 0x637 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x5A9 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x648 DUP2 PUSH2 0x5F2 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x666 DUP2 PUSH2 0x651 JUMP JUMPDEST DUP2 EQ PUSH2 0x671 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x683 DUP2 PUSH2 0x65D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x69F JUMPI PUSH2 0x69E PUSH2 0x541 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x6AD DUP5 DUP3 DUP6 ADD PUSH2 0x674 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x6F0 DUP3 PUSH2 0x546 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x722 JUMPI PUSH2 0x721 PUSH2 0x6B6 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x436F756E742073686F756C6420626520696E6372656D656E7465642035207469 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6D65730000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x789 PUSH1 0x23 DUP4 PUSH2 0x5B8 JUMP JUMPDEST SWAP2 POP PUSH2 0x794 DUP3 PUSH2 0x72D JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x7B4 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x5A9 JUMP JUMPDEST PUSH2 0x7C1 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x5A9 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x7D2 DUP2 PUSH2 0x77C JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x496E697469616C20636F756E742073686F756C64206265203000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x811 PUSH1 0x19 DUP4 PUSH2 0x5B8 JUMP JUMPDEST SWAP2 POP PUSH2 0x81C DUP3 PUSH2 0x7DB JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x83C PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x5A9 JUMP JUMPDEST PUSH2 0x849 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x5A9 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x85A DUP2 PUSH2 0x804 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x154 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA87D942C EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xD09DE08A EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x61 PUSH2 0x6C JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x7E SWAP2 SWAP1 PUSH2 0xEA JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9A DUP2 PUSH2 0x87 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x91 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xF5 DUP3 PUSH2 0x87 JUMP JUMPDEST SWAP2 POP PUSH2 0x100 DUP4 PUSH2 0x87 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x118 JUMPI PUSH2 0x117 PUSH2 0xBB JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH7 0x7501FAADA174FB 0xD1 CALLDATASIZE 0xDD CALLDATACOPY 0xD7 PUSH12 0x5E33E71F4592D612699FFCE1 0x29 0xDD 0xD2 OR 0xC8 BYTE PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE9 0xB3 0xE1 SWAP7 0xC1 GAS TIMESTAMP 0x4E 0xD4 0xCE SWAP15 BALANCE 0xC4 SDIV SWAP3 0xAD CREATE MSTORE 0xB5 0x4F 0x5D PUSH17 0xC01EEC24F037EE13425564736F6C634300 ADDMOD SLT STOP CALLER ",
"sourceMap": "126:835:2:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@beforeEach_789": {
"entryPoint": 121,
"id": 789,
"parameterSlots": 0,
"returnSlots": 0
},
"@testIncrement_832": {
"entryPoint": 227,
"id": 832,
"parameterSlots": 0,
"returnSlots": 0
},
"@testInitialCount_808": {
"entryPoint": 1062,
"id": 808,
"parameterSlots": 0,
"returnSlots": 0
},
"@testMultipleIncrements_868": {
"entryPoint": 629,
"id": 868,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_t_bool_fromMemory": {
"entryPoint": 1652,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256_fromMemory": {
"entryPoint": 1383,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_bool_fromMemory": {
"entryPoint": 1673,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256_fromMemory": {
"entryPoint": 1404,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_stringliteral_d8542e33cd06e0e1a22a10cd33475af8c9ac5e07361fe750130df8945a9d4d89_to_t_string_memory_ptr_fromStack_library": {
"entryPoint": 1916,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_fc17ca59bb4d926fcc879e4b0ff6d907cdba695636525575b2b41e7bbcab725f_to_t_string_memory_ptr_fromStack_library": {
"entryPoint": 1522,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_ff1d24fbe9cdf1d70fdd19a6a0b6793d4df5efc4ca5739da42c5d2418d34baf2_to_t_string_memory_ptr_fromStack_library": {
"entryPoint": 2052,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack_library": {
"entryPoint": 1449,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256_t_uint256_t_stringliteral_d8542e33cd06e0e1a22a10cd33475af8c9ac5e07361fe750130df8945a9d4d89__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_library_reversed": {
"entryPoint": 1951,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256_t_uint256_t_stringliteral_fc17ca59bb4d926fcc879e4b0ff6d907cdba695636525575b2b41e7bbcab725f__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_library_reversed": {
"entryPoint": 1557,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256_t_uint256_t_stringliteral_ff1d24fbe9cdf1d70fdd19a6a0b6793d4df5efc4ca5739da42c5d2418d34baf2__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_library_reversed": {
"entryPoint": 2087,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library": {
"entryPoint": 1464,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 1617,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 1350,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"increment_t_uint256": {
"entryPoint": 1765,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 1718,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 1345,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"store_literal_in_memory_d8542e33cd06e0e1a22a10cd33475af8c9ac5e07361fe750130df8945a9d4d89": {
"entryPoint": 1837,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_fc17ca59bb4d926fcc879e4b0ff6d907cdba695636525575b2b41e7bbcab725f": {
"entryPoint": 1481,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_ff1d24fbe9cdf1d70fdd19a6a0b6793d4df5efc4ca5739da42c5d2418d34baf2": {
"entryPoint": 2011,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_bool": {
"entryPoint": 1629,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 1360,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:6292:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:3",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:3"
},
"nodeType": "YulFunctionCall",
"src": "67:9:3"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:3"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:3",
"type": ""
}
],
"src": "7:75:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:3"
},
"nodeType": "YulFunctionCall",
"src": "187:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:3"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:3"
},
"nodeType": "YulFunctionCall",
"src": "310:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:3"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:32:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:16:3",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "400:5:3"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:3"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:3",
"type": ""
}
],
"src": "334:77:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "460:79:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "517:16:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "526:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "529:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "519:6:3"
},
"nodeType": "YulFunctionCall",
"src": "519:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "519:12:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "483:5:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "508:5:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "490:17:3"
},
"nodeType": "YulFunctionCall",
"src": "490:24:3"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "480:2:3"
},
"nodeType": "YulFunctionCall",
"src": "480:35:3"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "473:6:3"
},
"nodeType": "YulFunctionCall",
"src": "473:43:3"
},
"nodeType": "YulIf",
"src": "470:63:3"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "453:5:3",
"type": ""
}
],
"src": "417:122:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "608:80:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "618:22:3",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "633:6:3"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "627:5:3"
},
"nodeType": "YulFunctionCall",
"src": "627:13:3"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "618:5:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "676:5:3"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "649:26:3"
},
"nodeType": "YulFunctionCall",
"src": "649:33:3"
},
"nodeType": "YulExpressionStatement",
"src": "649:33:3"
}
]
},
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "586:6:3",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "594:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "602:5:3",
"type": ""
}
],
"src": "545:143:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "771:274:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "817:83:3",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "819:77:3"
},
"nodeType": "YulFunctionCall",
"src": "819:79:3"
},
"nodeType": "YulExpressionStatement",
"src": "819:79:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "792:7:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "801:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "788:3:3"
},
"nodeType": "YulFunctionCall",
"src": "788:23:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "813:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "784:3:3"
},
"nodeType": "YulFunctionCall",
"src": "784:32:3"
},
"nodeType": "YulIf",
"src": "781:119:3"
},
{
"nodeType": "YulBlock",
"src": "910:128:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "925:15:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "939:1:3",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "929:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "954:74:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1000:9:3"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1011:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "996:3:3"
},
"nodeType": "YulFunctionCall",
"src": "996:22:3"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1020:7:3"
}
],
"functionName": {
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulIdentifier",
"src": "964:31:3"
},
"nodeType": "YulFunctionCall",
"src": "964:64:3"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "954:6:3"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "741:9:3",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "752:7:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "764:6:3",
"type": ""
}
],
"src": "694:351:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1124:53:3",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1141:3:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1164:5:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1146:17:3"
},
"nodeType": "YulFunctionCall",
"src": "1146:24:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1134:6:3"
},
"nodeType": "YulFunctionCall",
"src": "1134:37:3"
},
"nodeType": "YulExpressionStatement",
"src": "1134:37:3"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack_library",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1112:5:3",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1119:3:3",
"type": ""
}
],
"src": "1051:126:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1287:73:3",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1304:3:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1309:6:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1297:6:3"
},
"nodeType": "YulFunctionCall",
"src": "1297:19:3"
},
"nodeType": "YulExpressionStatement",
"src": "1297:19:3"
},
{
"nodeType": "YulAssignment",
"src": "1325:29:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1344:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1349:4:3",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1340:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1340:14:3"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "1325:11:3"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1259:3:3",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1264:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "1275:11:3",
"type": ""
}
],
"src": "1183:177:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1472:76:3",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1494:6:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1502:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1490:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1490:14:3"
},
{
"hexValue": "436f756e742073686f756c6420626520696e6372656d656e7465642062792031",
"kind": "string",
"nodeType": "YulLiteral",
"src": "1506:34:3",
"type": "",
"value": "Count should be incremented by 1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1483:6:3"
},
"nodeType": "YulFunctionCall",
"src": "1483:58:3"
},
"nodeType": "YulExpressionStatement",
"src": "1483:58:3"
}
]
},
"name": "store_literal_in_memory_fc17ca59bb4d926fcc879e4b0ff6d907cdba695636525575b2b41e7bbcab725f",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1464:6:3",
"type": ""
}
],
"src": "1366:182:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1708:228:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1718:82:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1792:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1797:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library",
"nodeType": "YulIdentifier",
"src": "1725:66:3"
},
"nodeType": "YulFunctionCall",
"src": "1725:75:3"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1718:3:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1898:3:3"
}
],
"functionName": {
"name": "store_literal_in_memory_fc17ca59bb4d926fcc879e4b0ff6d907cdba695636525575b2b41e7bbcab725f",
"nodeType": "YulIdentifier",
"src": "1809:88:3"
},
"nodeType": "YulFunctionCall",
"src": "1809:93:3"
},
"nodeType": "YulExpressionStatement",
"src": "1809:93:3"
},
{
"nodeType": "YulAssignment",
"src": "1911:19:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1922:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1927:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1918:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1918:12:3"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1911:3:3"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_fc17ca59bb4d926fcc879e4b0ff6d907cdba695636525575b2b41e7bbcab725f_to_t_string_memory_ptr_fromStack_library",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1696:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1704:3:3",
"type": ""
}
],
"src": "1554:382:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2177:436:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2187:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2199:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2210:2:3",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2195:3:3"
},
"nodeType": "YulFunctionCall",
"src": "2195:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2187:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2275:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2288:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2299:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2284:3:3"
},
"nodeType": "YulFunctionCall",
"src": "2284:17:3"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack_library",
"nodeType": "YulIdentifier",
"src": "2223:51:3"
},
"nodeType": "YulFunctionCall",
"src": "2223:79:3"
},
"nodeType": "YulExpressionStatement",
"src": "2223:79:3"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "2364:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2377:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2388:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2373:3:3"
},
"nodeType": "YulFunctionCall",
"src": "2373:18:3"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack_library",
"nodeType": "YulIdentifier",
"src": "2312:51:3"
},
"nodeType": "YulFunctionCall",
"src": "2312:80:3"
},
"nodeType": "YulExpressionStatement",
"src": "2312:80:3"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2413:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2424:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2409:3:3"
},
"nodeType": "YulFunctionCall",
"src": "2409:18:3"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2433:4:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2439:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2429:3:3"
},
"nodeType": "YulFunctionCall",
"src": "2429:20:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2402:6:3"
},
"nodeType": "YulFunctionCall",
"src": "2402:48:3"
},
"nodeType": "YulExpressionStatement",
"src": "2402:48:3"
},
{
"nodeType": "YulAssignment",
"src": "2459:147:3",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2601:4:3"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_fc17ca59bb4d926fcc879e4b0ff6d907cdba695636525575b2b41e7bbcab725f_to_t_string_memory_ptr_fromStack_library",
"nodeType": "YulIdentifier",
"src": "2467:132:3"
},
"nodeType": "YulFunctionCall",
"src": "2467:139:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2459:4:3"
}
]
}
]
},
"name": "abi_encode_tuple_t_uint256_t_uint256_t_stringliteral_fc17ca59bb4d926fcc879e4b0ff6d907cdba695636525575b2b41e7bbcab725f__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_library_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2141:9:3",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "2153:6:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2161:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2172:4:3",
"type": ""
}
],
"src": "1942:671:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2661:48:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2671:32:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2696:5:3"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2689:6:3"
},
"nodeType": "YulFunctionCall",
"src": "2689:13:3"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2682:6:3"
},
"nodeType": "YulFunctionCall",
"src": "2682:21:3"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2671:7:3"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2643:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2653:7:3",
"type": ""
}
],
"src": "2619:90:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2755:76:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2809:16:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2818:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2821:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2811:6:3"
},
"nodeType": "YulFunctionCall",
"src": "2811:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "2811:12:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2778:5:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2800:5:3"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "2785:14:3"
},
"nodeType": "YulFunctionCall",
"src": "2785:21:3"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "2775:2:3"
},
"nodeType": "YulFunctionCall",
"src": "2775:32:3"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2768:6:3"
},
"nodeType": "YulFunctionCall",
"src": "2768:40:3"
},
"nodeType": "YulIf",
"src": "2765:60:3"
}
]
},
"name": "validator_revert_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2748:5:3",
"type": ""
}
],
"src": "2715:116:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2897:77:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2907:22:3",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2922:6:3"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2916:5:3"
},
"nodeType": "YulFunctionCall",
"src": "2916:13:3"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2907:5:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2962:5:3"
}
],
"functionName": {
"name": "validator_revert_t_bool",
"nodeType": "YulIdentifier",
"src": "2938:23:3"
},
"nodeType": "YulFunctionCall",
"src": "2938:30:3"
},
"nodeType": "YulExpressionStatement",
"src": "2938:30:3"
}
]
},
"name": "abi_decode_t_bool_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2875:6:3",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2883:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2891:5:3",
"type": ""
}
],
"src": "2837:137:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3054:271:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3100:83:3",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "3102:77:3"
},
"nodeType": "YulFunctionCall",
"src": "3102:79:3"
},
"nodeType": "YulExpressionStatement",
"src": "3102:79:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3075:7:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3084:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3071:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3071:23:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3096:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "3067:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3067:32:3"
},
"nodeType": "YulIf",
"src": "3064:119:3"
},
{
"nodeType": "YulBlock",
"src": "3193:125:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3208:15:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3222:1:3",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3212:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3237:71:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3280:9:3"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3291:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3276:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3276:22:3"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3300:7:3"
}
],
"functionName": {
"name": "abi_decode_t_bool_fromMemory",
"nodeType": "YulIdentifier",
"src": "3247:28:3"
},
"nodeType": "YulFunctionCall",
"src": "3247:61:3"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3237:6:3"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_bool_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3024:9:3",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "3035:7:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3047:6:3",
"type": ""
}
],
"src": "2980:345:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3359:152:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3376:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3379:77:3",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3369:6:3"
},
"nodeType": "YulFunctionCall",
"src": "3369:88:3"
},
"nodeType": "YulExpressionStatement",
"src": "3369:88:3"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3473:1:3",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3476:4:3",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3466:6:3"
},
"nodeType": "YulFunctionCall",
"src": "3466:15:3"
},
"nodeType": "YulExpressionStatement",
"src": "3466:15:3"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3497:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3500:4:3",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3490:6:3"
},
"nodeType": "YulFunctionCall",
"src": "3490:15:3"
},
"nodeType": "YulExpressionStatement",
"src": "3490:15:3"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "3331:180:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3560:190:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3570:33:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3597:5:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3579:17:3"
},
"nodeType": "YulFunctionCall",
"src": "3579:24:3"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3570:5:3"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3693:22:3",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "3695:16:3"
},
"nodeType": "YulFunctionCall",
"src": "3695:18:3"
},
"nodeType": "YulExpressionStatement",
"src": "3695:18:3"
}
]
},
"condition": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3618:5:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3625:66:3",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3615:2:3"
},
"nodeType": "YulFunctionCall",
"src": "3615:77:3"
},
"nodeType": "YulIf",
"src": "3612:103:3"
},
{
"nodeType": "YulAssignment",
"src": "3724:20:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3735:5:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3742:1:3",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3731:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3731:13:3"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "3724:3:3"
}
]
}
]
},
"name": "increment_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3546:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "3556:3:3",
"type": ""
}
],
"src": "3517:233:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3862:116:3",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3884:6:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3892:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3880:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3880:14:3"
},
{
"hexValue": "436f756e742073686f756c6420626520696e6372656d656e7465642035207469",
"kind": "string",
"nodeType": "YulLiteral",
"src": "3896:34:3",
"type": "",
"value": "Count should be incremented 5 ti"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3873:6:3"
},
"nodeType": "YulFunctionCall",
"src": "3873:58:3"
},
"nodeType": "YulExpressionStatement",
"src": "3873:58:3"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3952:6:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3960:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3948:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3948:15:3"
},
{
"hexValue": "6d6573",
"kind": "string",
"nodeType": "YulLiteral",
"src": "3965:5:3",
"type": "",
"value": "mes"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3941:6:3"
},
"nodeType": "YulFunctionCall",
"src": "3941:30:3"
},
"nodeType": "YulExpressionStatement",
"src": "3941:30:3"
}
]
},
"name": "store_literal_in_memory_d8542e33cd06e0e1a22a10cd33475af8c9ac5e07361fe750130df8945a9d4d89",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "3854:6:3",
"type": ""
}
],
"src": "3756:222:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4138:228:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4148:82:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4222:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4227:2:3",
"type": "",
"value": "35"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library",
"nodeType": "YulIdentifier",
"src": "4155:66:3"
},
"nodeType": "YulFunctionCall",
"src": "4155:75:3"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4148:3:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4328:3:3"
}
],
"functionName": {
"name": "store_literal_in_memory_d8542e33cd06e0e1a22a10cd33475af8c9ac5e07361fe750130df8945a9d4d89",
"nodeType": "YulIdentifier",
"src": "4239:88:3"
},
"nodeType": "YulFunctionCall",
"src": "4239:93:3"
},
"nodeType": "YulExpressionStatement",
"src": "4239:93:3"
},
{
"nodeType": "YulAssignment",
"src": "4341:19:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4352:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4357:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4348:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4348:12:3"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4341:3:3"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_d8542e33cd06e0e1a22a10cd33475af8c9ac5e07361fe750130df8945a9d4d89_to_t_string_memory_ptr_fromStack_library",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4126:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "4134:3:3",
"type": ""
}
],
"src": "3984:382:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4607:436:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4617:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4629:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4640:2:3",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4625:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4625:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4617:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4705:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4718:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4729:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4714:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4714:17:3"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack_library",
"nodeType": "YulIdentifier",
"src": "4653:51:3"
},
"nodeType": "YulFunctionCall",
"src": "4653:79:3"
},
"nodeType": "YulExpressionStatement",
"src": "4653:79:3"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "4794:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4807:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4818:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4803:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4803:18:3"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack_library",
"nodeType": "YulIdentifier",
"src": "4742:51:3"
},
"nodeType": "YulFunctionCall",
"src": "4742:80:3"
},
"nodeType": "YulExpressionStatement",
"src": "4742:80:3"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4843:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4854:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4839:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4839:18:3"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4863:4:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4869:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4859:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4859:20:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4832:6:3"
},
"nodeType": "YulFunctionCall",
"src": "4832:48:3"
},
"nodeType": "YulExpressionStatement",
"src": "4832:48:3"
},
{
"nodeType": "YulAssignment",
"src": "4889:147:3",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5031:4:3"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_d8542e33cd06e0e1a22a10cd33475af8c9ac5e07361fe750130df8945a9d4d89_to_t_string_memory_ptr_fromStack_library",
"nodeType": "YulIdentifier",
"src": "4897:132:3"
},
"nodeType": "YulFunctionCall",
"src": "4897:139:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4889:4:3"
}
]
}
]
},
"name": "abi_encode_tuple_t_uint256_t_uint256_t_stringliteral_d8542e33cd06e0e1a22a10cd33475af8c9ac5e07361fe750130df8945a9d4d89__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_library_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4571:9:3",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "4583:6:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4591:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4602:4:3",
"type": ""
}
],
"src": "4372:671:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5155:69:3",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "5177:6:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5185:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5173:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5173:14:3"
},
{
"hexValue": "496e697469616c20636f756e742073686f756c642062652030",
"kind": "string",
"nodeType": "YulLiteral",
"src": "5189:27:3",
"type": "",
"value": "Initial count should be 0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5166:6:3"
},
"nodeType": "YulFunctionCall",
"src": "5166:51:3"
},
"nodeType": "YulExpressionStatement",
"src": "5166:51:3"
}
]
},
"name": "store_literal_in_memory_ff1d24fbe9cdf1d70fdd19a6a0b6793d4df5efc4ca5739da42c5d2418d34baf2",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "5147:6:3",
"type": ""
}
],
"src": "5049:175:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5384:228:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5394:82:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5468:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5473:2:3",
"type": "",
"value": "25"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library",
"nodeType": "YulIdentifier",
"src": "5401:66:3"
},
"nodeType": "YulFunctionCall",
"src": "5401:75:3"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5394:3:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5574:3:3"
}
],
"functionName": {
"name": "store_literal_in_memory_ff1d24fbe9cdf1d70fdd19a6a0b6793d4df5efc4ca5739da42c5d2418d34baf2",
"nodeType": "YulIdentifier",
"src": "5485:88:3"
},
"nodeType": "YulFunctionCall",
"src": "5485:93:3"
},
"nodeType": "YulExpressionStatement",
"src": "5485:93:3"
},
{
"nodeType": "YulAssignment",
"src": "5587:19:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5598:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5603:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5594:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5594:12:3"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "5587:3:3"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_ff1d24fbe9cdf1d70fdd19a6a0b6793d4df5efc4ca5739da42c5d2418d34baf2_to_t_string_memory_ptr_fromStack_library",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5372:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "5380:3:3",
"type": ""
}
],
"src": "5230:382:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5853:436:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5863:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5875:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5886:2:3",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5871:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5871:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5863:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5951:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5964:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5975:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5960:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5960:17:3"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack_library",
"nodeType": "YulIdentifier",
"src": "5899:51:3"
},
"nodeType": "YulFunctionCall",
"src": "5899:79:3"
},
"nodeType": "YulExpressionStatement",
"src": "5899:79:3"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "6040:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6053:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6064:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6049:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6049:18:3"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack_library",
"nodeType": "YulIdentifier",
"src": "5988:51:3"
},
"nodeType": "YulFunctionCall",
"src": "5988:80:3"
},
"nodeType": "YulExpressionStatement",
"src": "5988:80:3"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6089:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6100:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6085:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6085:18:3"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6109:4:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6115:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6105:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6105:20:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6078:6:3"
},
"nodeType": "YulFunctionCall",
"src": "6078:48:3"
},
"nodeType": "YulExpressionStatement",
"src": "6078:48:3"
},
{
"nodeType": "YulAssignment",
"src": "6135:147:3",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6277:4:3"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_ff1d24fbe9cdf1d70fdd19a6a0b6793d4df5efc4ca5739da42c5d2418d34baf2_to_t_string_memory_ptr_fromStack_library",
"nodeType": "YulIdentifier",
"src": "6143:132:3"
},
"nodeType": "YulFunctionCall",
"src": "6143:139:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6135:4:3"
}
]
}
]
},
"name": "abi_encode_tuple_t_uint256_t_uint256_t_stringliteral_ff1d24fbe9cdf1d70fdd19a6a0b6793d4df5efc4ca5739da42c5d2418d34baf2__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_library_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5817:9:3",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "5829:6:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5837:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5848:4:3",
"type": ""
}
],
"src": "5618:671:3"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_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 abi_encode_t_uint256_to_t_uint256_fromStack_library(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_fc17ca59bb4d926fcc879e4b0ff6d907cdba695636525575b2b41e7bbcab725f(memPtr) {\n\n mstore(add(memPtr, 0), \"Count should be incremented by 1\")\n\n }\n\n function abi_encode_t_stringliteral_fc17ca59bb4d926fcc879e4b0ff6d907cdba695636525575b2b41e7bbcab725f_to_t_string_memory_ptr_fromStack_library(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library(pos, 32)\n store_literal_in_memory_fc17ca59bb4d926fcc879e4b0ff6d907cdba695636525575b2b41e7bbcab725f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_uint256_t_uint256_t_stringliteral_fc17ca59bb4d926fcc879e4b0ff6d907cdba695636525575b2b41e7bbcab725f__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_library_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_uint256_to_t_uint256_fromStack_library(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack_library(value1, add(headStart, 32))\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_fc17ca59bb4d926fcc879e4b0ff6d907cdba695636525575b2b41e7bbcab725f_to_t_string_memory_ptr_fromStack_library( tail)\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_bool_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_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function store_literal_in_memory_d8542e33cd06e0e1a22a10cd33475af8c9ac5e07361fe750130df8945a9d4d89(memPtr) {\n\n mstore(add(memPtr, 0), \"Count should be incremented 5 ti\")\n\n mstore(add(memPtr, 32), \"mes\")\n\n }\n\n function abi_encode_t_stringliteral_d8542e33cd06e0e1a22a10cd33475af8c9ac5e07361fe750130df8945a9d4d89_to_t_string_memory_ptr_fromStack_library(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library(pos, 35)\n store_literal_in_memory_d8542e33cd06e0e1a22a10cd33475af8c9ac5e07361fe750130df8945a9d4d89(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_uint256_t_uint256_t_stringliteral_d8542e33cd06e0e1a22a10cd33475af8c9ac5e07361fe750130df8945a9d4d89__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_library_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_uint256_to_t_uint256_fromStack_library(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack_library(value1, add(headStart, 32))\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_d8542e33cd06e0e1a22a10cd33475af8c9ac5e07361fe750130df8945a9d4d89_to_t_string_memory_ptr_fromStack_library( tail)\n\n }\n\n function store_literal_in_memory_ff1d24fbe9cdf1d70fdd19a6a0b6793d4df5efc4ca5739da42c5d2418d34baf2(memPtr) {\n\n mstore(add(memPtr, 0), \"Initial count should be 0\")\n\n }\n\n function abi_encode_t_stringliteral_ff1d24fbe9cdf1d70fdd19a6a0b6793d4df5efc4ca5739da42c5d2418d34baf2_to_t_string_memory_ptr_fromStack_library(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library(pos, 25)\n store_literal_in_memory_ff1d24fbe9cdf1d70fdd19a6a0b6793d4df5efc4ca5739da42c5d2418d34baf2(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_uint256_t_uint256_t_stringliteral_ff1d24fbe9cdf1d70fdd19a6a0b6793d4df5efc4ca5739da42c5d2418d34baf2__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_library_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_uint256_to_t_uint256_fromStack_library(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack_library(value1, add(headStart, 32))\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_ff1d24fbe9cdf1d70fdd19a6a0b6793d4df5efc4ca5739da42c5d2418d34baf2_to_t_string_memory_ptr_fromStack_library( tail)\n\n }\n\n}\n",
"id": 3,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {
"remix_tests.sol": {
"Assert": [
{
"length": 20,
"start": 363
},
{
"length": 20,
"start": 796
},
{
"length": 20,
"start": 1066
}
]
}
},
"object": "608060405234801561001057600080fd5b506004361061004c5760003560e01c80636331e7d414610051578063b913a5ca1461005b578063bbc78bff14610065578063c9d3e76c1461006f575b600080fd5b610059610079565b005b6100636100e3565b005b61006d610275565b005b610077610426565b005b60405161008590610534565b604051809103906000f0801580156100a1573d6000803e3d6000fd5b506000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d09de08a6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561014b57600080fd5b505af115801561015f573d6000803e3d6000fd5b5050505060006001905073__$acbfb1c35000d78352310b16a054a6b106$__63abcd796060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a87d942c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610212919061057c565b836040518363ffffffff1660e01b8152600401610230929190610615565b602060405180830381865af415801561024d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102719190610689565b5050565b60006005905060005b818110156103195760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d09de08a6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156102ee57600080fd5b505af1158015610302573d6000803e3d6000fd5b505050508080610311906106e5565b91505061027e565b5073__$acbfb1c35000d78352310b16a054a6b106$__63abcd796060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a87d942c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561039f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c3919061057c565b836040518363ffffffff1660e01b81526004016103e192919061079f565b602060405180830381865af41580156103fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104229190610689565b5050565b600073__$acbfb1c35000d78352310b16a054a6b106$__63abcd796060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a87d942c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d1919061057c565b836040518363ffffffff1660e01b81526004016104ef929190610827565b602060405180830381865af415801561050c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105309190610689565b5050565b6101748061086483390190565b600080fd5b6000819050919050565b61055981610546565b811461056457600080fd5b50565b60008151905061057681610550565b92915050565b60006020828403121561059257610591610541565b5b60006105a084828501610567565b91505092915050565b6105b281610546565b82525050565b600082825260208201905092915050565b7f436f756e742073686f756c6420626520696e6372656d656e7465642062792031600082015250565b60006105ff6020836105b8565b915061060a826105c9565b602082019050919050565b600060608201905061062a60008301856105a9565b61063760208301846105a9565b8181036040830152610648816105f2565b90509392505050565b60008115159050919050565b61066681610651565b811461067157600080fd5b50565b6000815190506106838161065d565b92915050565b60006020828403121561069f5761069e610541565b5b60006106ad84828501610674565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006106f082610546565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610722576107216106b6565b5b600182019050919050565b7f436f756e742073686f756c6420626520696e6372656d656e746564203520746960008201527f6d65730000000000000000000000000000000000000000000000000000000000602082015250565b60006107896023836105b8565b91506107948261072d565b604082019050919050565b60006060820190506107b460008301856105a9565b6107c160208301846105a9565b81810360408301526107d28161077c565b90509392505050565b7f496e697469616c20636f756e742073686f756c64206265203000000000000000600082015250565b60006108116019836105b8565b915061081c826107db565b602082019050919050565b600060608201905061083c60008301856105a9565b61084960208301846105a9565b818103604083015261085a81610804565b9050939250505056fe608060405234801561001057600080fd5b50610154806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a87d942c1461003b578063d09de08a14610059575b600080fd5b610043610063565b60405161005091906100a0565b60405180910390f35b61006161006c565b005b60008054905090565b600160008082825461007e91906100ea565b92505081905550565b6000819050919050565b61009a81610087565b82525050565b60006020820190506100b56000830184610091565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006100f582610087565b915061010083610087565b9250828201905080821115610118576101176100bb565b5b9291505056fea2646970667358221220667501faada174fbd136dd37d76b5e33e71f4592d612699ffce129ddd217c81a64736f6c63430008120033a2646970667358221220e9b3e196c15a424ed4ce9e31c40592adf052b54f5d70c01eec24f037ee13425564736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6331E7D4 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0xB913A5CA EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0xBBC78BFF EQ PUSH2 0x65 JUMPI DUP1 PUSH4 0xC9D3E76C EQ PUSH2 0x6F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x59 PUSH2 0x79 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x63 PUSH2 0xE3 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6D PUSH2 0x275 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x77 PUSH2 0x426 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x85 SWAP1 PUSH2 0x534 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH2 0xA1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xD09DE08A PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x14B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x15F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x0 PUSH1 0x1 SWAP1 POP PUSH20 0x0 PUSH4 0xABCD7960 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA87D942C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1EE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x212 SWAP2 SWAP1 PUSH2 0x57C JUMP JUMPDEST DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x230 SWAP3 SWAP2 SWAP1 PUSH2 0x615 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x24D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x271 SWAP2 SWAP1 PUSH2 0x689 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x319 JUMPI PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xD09DE08A PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x302 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP1 DUP1 PUSH2 0x311 SWAP1 PUSH2 0x6E5 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x27E JUMP JUMPDEST POP PUSH20 0x0 PUSH4 0xABCD7960 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA87D942C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x39F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3C3 SWAP2 SWAP1 PUSH2 0x57C JUMP JUMPDEST DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3E1 SWAP3 SWAP2 SWAP1 PUSH2 0x79F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3FE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x422 SWAP2 SWAP1 PUSH2 0x689 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xABCD7960 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA87D942C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x4AD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x4D1 SWAP2 SWAP1 PUSH2 0x57C JUMP JUMPDEST DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4EF SWAP3 SWAP2 SWAP1 PUSH2 0x827 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x50C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x530 SWAP2 SWAP1 PUSH2 0x689 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x174 DUP1 PUSH2 0x864 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x559 DUP2 PUSH2 0x546 JUMP JUMPDEST DUP2 EQ PUSH2 0x564 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x576 DUP2 PUSH2 0x550 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x592 JUMPI PUSH2 0x591 PUSH2 0x541 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5A0 DUP5 DUP3 DUP6 ADD PUSH2 0x567 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x5B2 DUP2 PUSH2 0x546 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x436F756E742073686F756C6420626520696E6372656D656E7465642062792031 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5FF PUSH1 0x20 DUP4 PUSH2 0x5B8 JUMP JUMPDEST SWAP2 POP PUSH2 0x60A DUP3 PUSH2 0x5C9 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x62A PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x5A9 JUMP JUMPDEST PUSH2 0x637 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x5A9 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x648 DUP2 PUSH2 0x5F2 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x666 DUP2 PUSH2 0x651 JUMP JUMPDEST DUP2 EQ PUSH2 0x671 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x683 DUP2 PUSH2 0x65D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x69F JUMPI PUSH2 0x69E PUSH2 0x541 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x6AD DUP5 DUP3 DUP6 ADD PUSH2 0x674 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x6F0 DUP3 PUSH2 0x546 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x722 JUMPI PUSH2 0x721 PUSH2 0x6B6 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x436F756E742073686F756C6420626520696E6372656D656E7465642035207469 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6D65730000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x789 PUSH1 0x23 DUP4 PUSH2 0x5B8 JUMP JUMPDEST SWAP2 POP PUSH2 0x794 DUP3 PUSH2 0x72D JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x7B4 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x5A9 JUMP JUMPDEST PUSH2 0x7C1 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x5A9 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x7D2 DUP2 PUSH2 0x77C JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x496E697469616C20636F756E742073686F756C64206265203000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x811 PUSH1 0x19 DUP4 PUSH2 0x5B8 JUMP JUMPDEST SWAP2 POP PUSH2 0x81C DUP3 PUSH2 0x7DB JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x83C PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x5A9 JUMP JUMPDEST PUSH2 0x849 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x5A9 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x85A DUP2 PUSH2 0x804 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x154 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA87D942C EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xD09DE08A EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x61 PUSH2 0x6C JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x7E SWAP2 SWAP1 PUSH2 0xEA JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9A DUP2 PUSH2 0x87 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x91 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xF5 DUP3 PUSH2 0x87 JUMP JUMPDEST SWAP2 POP PUSH2 0x100 DUP4 PUSH2 0x87 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x118 JUMPI PUSH2 0x117 PUSH2 0xBB JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH7 0x7501FAADA174FB 0xD1 CALLDATASIZE 0xDD CALLDATACOPY 0xD7 PUSH12 0x5E33E71F4592D612699FFCE1 0x29 0xDD 0xD2 OR 0xC8 BYTE PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE9 0xB3 0xE1 SWAP7 0xC1 GAS TIMESTAMP 0x4E 0xD4 0xCE SWAP15 BALANCE 0xC4 SDIV SWAP3 0xAD CREATE MSTORE 0xB5 0x4F 0x5D PUSH17 0xC01EEC24F037EE13425564736F6C634300 ADDMOD SLT STOP CALLER ",
"sourceMap": "126:835:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;183:69;;;:::i;:::-;;482:186;;;:::i;:::-;;707:252;;;:::i;:::-;;291:153;;;:::i;:::-;;183:69;232:13;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;222:7;;:23;;;;;;;;;;;;;;;;;;183:69::o;482:186::-;524:7;;;;;;;;;;:17;;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;553:16;572:1;553:20;;583:6;:12;596:7;;;;;;;;;;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;616:8;583:78;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;514:154;482:186::o;707:252::-;758:13;774:1;758:17;;790:9;785:80;809:5;805:1;:9;785:80;;;835:7;;;;;;;;;;:17;;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;816:3;;;;;:::i;:::-;;;;785:80;;;;874:6;:12;887:7;;;;;;;;;;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;907:5;874:78;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;748:211;707:252::o;291:153::-;336:16;366:6;:12;379:7;;;;;;;;;;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;399:8;366:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;326:118;291:153::o;-1:-1:-1:-;;;;;;;;:::o;88:117:3:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:143::-;602:5;633:6;627:13;618:22;;649:33;676:5;649:33;:::i;:::-;545:143;;;;:::o;694:351::-;764:6;813:2;801:9;792:7;788:23;784:32;781:119;;;819:79;;:::i;:::-;781:119;939:1;964:64;1020:7;1011:6;1000:9;996:22;964:64;:::i;:::-;954:74;;910:128;694:351;;;;:::o;1051:126::-;1146:24;1164:5;1146:24;:::i;:::-;1141:3;1134:37;1051:126;;:::o;1183:177::-;1275:11;1309:6;1304:3;1297:19;1349:4;1344:3;1340:14;1325:29;;1183:177;;;;:::o;1366:182::-;1506:34;1502:1;1494:6;1490:14;1483:58;1366:182;:::o;1554:382::-;1704:3;1725:75;1797:2;1792:3;1725:75;:::i;:::-;1718:82;;1809:93;1898:3;1809:93;:::i;:::-;1927:2;1922:3;1918:12;1911:19;;1554:382;;;:::o;1942:671::-;2172:4;2210:2;2199:9;2195:18;2187:26;;2223:79;2299:1;2288:9;2284:17;2275:6;2223:79;:::i;:::-;2312:80;2388:2;2377:9;2373:18;2364:6;2312:80;:::i;:::-;2439:9;2433:4;2429:20;2424:2;2413:9;2409:18;2402:48;2467:139;2601:4;2467:139;:::i;:::-;2459:147;;1942:671;;;;;:::o;2619:90::-;2653:7;2696:5;2689:13;2682:21;2671:32;;2619:90;;;:::o;2715:116::-;2785:21;2800:5;2785:21;:::i;:::-;2778:5;2775:32;2765:60;;2821:1;2818;2811:12;2765:60;2715:116;:::o;2837:137::-;2891:5;2922:6;2916:13;2907:22;;2938:30;2962:5;2938:30;:::i;:::-;2837:137;;;;:::o;2980:345::-;3047:6;3096:2;3084:9;3075:7;3071:23;3067:32;3064:119;;;3102:79;;:::i;:::-;3064:119;3222:1;3247:61;3300:7;3291:6;3280:9;3276:22;3247:61;:::i;:::-;3237:71;;3193:125;2980:345;;;;:::o;3331:180::-;3379:77;3376:1;3369:88;3476:4;3473:1;3466:15;3500:4;3497:1;3490:15;3517:233;3556:3;3579:24;3597:5;3579:24;:::i;:::-;3570:33;;3625:66;3618:5;3615:77;3612:103;;3695:18;;:::i;:::-;3612:103;3742:1;3735:5;3731:13;3724:20;;3517:233;;;:::o;3756:222::-;3896:34;3892:1;3884:6;3880:14;3873:58;3965:5;3960:2;3952:6;3948:15;3941:30;3756:222;:::o;3984:382::-;4134:3;4155:75;4227:2;4222:3;4155:75;:::i;:::-;4148:82;;4239:93;4328:3;4239:93;:::i;:::-;4357:2;4352:3;4348:12;4341:19;;3984:382;;;:::o;4372:671::-;4602:4;4640:2;4629:9;4625:18;4617:26;;4653:79;4729:1;4718:9;4714:17;4705:6;4653:79;:::i;:::-;4742:80;4818:2;4807:9;4803:18;4794:6;4742:80;:::i;:::-;4869:9;4863:4;4859:20;4854:2;4843:9;4839:18;4832:48;4897:139;5031:4;4897:139;:::i;:::-;4889:147;;4372:671;;;;;:::o;5049:175::-;5189:27;5185:1;5177:6;5173:14;5166:51;5049:175;:::o;5230:382::-;5380:3;5401:75;5473:2;5468:3;5401:75;:::i;:::-;5394:82;;5485:93;5574:3;5485:93;:::i;:::-;5603:2;5598:3;5594:12;5587:19;;5230:382;;;:::o;5618:671::-;5848:4;5886:2;5875:9;5871:18;5863:26;;5899:79;5975:1;5964:9;5960:17;5951:6;5899:79;:::i;:::-;5988:80;6064:2;6053:9;6049:18;6040:6;5988:80;:::i;:::-;6115:9;6109:4;6105:20;6100:2;6089:9;6085:18;6078:48;6143:139;6277:4;6143:139;:::i;:::-;6135:147;;5618:671;;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "514600",
"executionCost": "549",
"totalCost": "515149"
},
"external": {
"beforeEach()": "infinite",
"testIncrement()": "infinite",
"testInitialCount()": "infinite",
"testMultipleIncrements()": "infinite"
}
},
"methodIdentifiers": {
"beforeEach()": "6331e7d4",
"testIncrement()": "b913a5ca",
"testInitialCount()": "c9d3e76c",
"testMultipleIncrements()": "bbc78bff"
}
},
"abi": [
{
"inputs": [],
"name": "beforeEach",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "testIncrement",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "testInitialCount",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "testMultipleIncrements",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.18+commit.87f61d96"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "beforeEach",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "testIncrement",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "testInitialCount",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "testMultipleIncrements",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {
"testIncrement()": {
"notice": "Test increment function"
},
"testInitialCount()": {
"notice": "Test initial count value"
},
"testMultipleIncrements()": {
"notice": "Test multiple increments"
}
},
"version": 1
}
},
"settings": {
"compilationTarget": {
"tests/counter_test.sol": "CounterTest"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/Counter.sol": {
"keccak256": "0x3fa78a9cdf0966785ff82daf84387f09bb87ccf49fffde228a30b97a2471fcd0",
"license": "UNLICENSED",
"urls": [
"bzz-raw://b58b2e9cedce75bac0d07b22df6646f98ce2cf67d91b859104c96186efa34830",
"dweb:/ipfs/Qma9Znrys8Wf3RWd42si6FuZWEsyx6H4R1tnTTn7zs2Lo5"
]
},
"remix_tests.sol": {
"keccak256": "0xe2783cdc204cba8c72494119339f1d90f9022b15d6c718c668b7f097d8e29787",
"license": "GPL-3.0",
"urls": [
"bzz-raw://bb6a22e64c7f16bcaab63b1c1a1b269d5be8a6d37bdd9dec1718477ab916b18e",
"dweb:/ipfs/QmdkW1tT5iadBvaHMCoskhDGZKnfdg8o1D9CcoQYtdJet7"
]
},
"tests/counter_test.sol": {
"keccak256": "0x8294cc508a3d849399c8bdfb63f1f538d6d672d82657ddd71ea9697a211c61b6",
"license": "UNLICENSED",
"urls": [
"bzz-raw://dd9172761efa09def5fa613b47736da40b736fe4e2d884420965302bebb97380",
"dweb:/ipfs/QmNckRAWLd2b3oVvQUFTyxyzFojBJpSNmuYehNBcR9wvDp"
]
}
},
"version": 1
}
This file has been truncated, but you can view the full file.
{
"id": "be989d7192acce41456729898de6e4ea",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.18",
"solcLongVersion": "0.8.18+commit.87f61d96",
"input": {
"language": "Solidity",
"sources": {
"tests/counter_test.sol": {
"content": "// SPDX-License-Identifier: GPL-3.0\n \npragma solidity >=0.4.22 <0.9.0;\n\n// This import is automatically injected by Remix\nimport \"remix_tests.sol\"; \n\n// This import is required to use custom transaction context\n// Although it may fail compilation in 'Solidity Compiler' plugin\n// But it will work fine in 'Solidity Unit Testing' plugin\nimport \"remix_accounts.sol\";\nimport \"../contracts/counter.sol\";\n\n// File name has to end with '_test.sol', this file can contain more than one testSuite contracts\ncontract testSuite {\n\n /// 'beforeAll' runs before all other tests\n /// More special functions are: 'beforeEach', 'beforeAll', 'afterEach' & 'afterAll'\n function beforeAll() public {\n // <instantiate contract>\n Assert.equal(uint(1), uint(1), \"1 should be equal to 1\");\n }\n\n function checkSuccess() public {\n // Use 'Assert' methods: https://remix-ide.readthedocs.io/en/latest/assert_library.html\n Assert.ok(2 == 2, 'should be true');\n Assert.greaterThan(uint(2), uint(1), \"2 should be greater than to 1\");\n Assert.lesserThan(uint(2), uint(3), \"2 should be lesser than to 3\");\n }\n\n function checkSuccess2() public pure returns (bool) {\n // Use the return value (true or false) to test the contract\n return true;\n }\n \n function checkFailure() public {\n Assert.notEqual(uint(1), uint(2), \"1 should not be equal to 1\");\n }\n\n /// Custom Transaction Context: https://remix-ide.readthedocs.io/en/latest/unittesting.html#customization\n /// #sender: account-1\n /// #value: 100\n function checkSenderAndValue() public payable {\n // account index varies 0-9, value is in wei\n Assert.equal(msg.sender, TestsAccounts.getAccount(1), \"Invalid sender\");\n Assert.equal(msg.value, 100, \"Invalid value\");\n }\n}\n "
},
"contracts/counter.sol": {
"content": "pragma solidity ^0.8.0;\n\n contract Counter {\n uint256 private _count;\n\n function getCount() public view returns (uint256) {\n return _count;\n }\n\n function increment() public {\n _count += 1;\n }\n}"
},
"remix_accounts.sol": {
"content": "// SPDX-License-Identifier: GPL-3.0\n\npragma solidity >=0.4.22 <0.9.0;\n\nlibrary TestsAccounts {\n function getAccount(uint index) pure public returns (address) {\n address[15] memory accounts;\n\t\taccounts[0] = 0x5B38Da6a701c568545dCfcB03FcB875f56beddC4;\n\n\t\taccounts[1] = 0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2;\n\n\t\taccounts[2] = 0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db;\n\n\t\taccounts[3] = 0x78731D3Ca6b7E34aC0F824c42a7cC18A495cabaB;\n\n\t\taccounts[4] = 0x617F2E2fD72FD9D5503197092aC168c91465E7f2;\n\n\t\taccounts[5] = 0x17F6AD8Ef982297579C203069C1DbfFE4348c372;\n\n\t\taccounts[6] = 0x5c6B0f7Bf3E7ce046039Bd8FABdfD3f9F5021678;\n\n\t\taccounts[7] = 0x03C6FcED478cBbC9a4FAB34eF9f40767739D1Ff7;\n\n\t\taccounts[8] = 0x1aE0EA34a72D944a8C7603FfB3eC30a6669E454C;\n\n\t\taccounts[9] = 0x0A098Eda01Ce92ff4A4CCb7A4fFFb5A43EBC70DC;\n\n\t\taccounts[10] = 0xCA35b7d915458EF540aDe6068dFe2F44E8fa733c;\n\n\t\taccounts[11] = 0x14723A09ACff6D2A60DcdF7aA4AFf308FDDC160C;\n\n\t\taccounts[12] = 0x4B0897b0513fdC7C541B6d9D7E929C4e5364D2dB;\n\n\t\taccounts[13] = 0x583031D1113aD414F02576BD6afaBfb302140225;\n\n\t\taccounts[14] = 0xdD870fA1b7C4700F2BD7f44238821C26f7392148;\nreturn accounts[index];\n }\n}\n"
},
"remix_tests.sol": {
"content": "// SPDX-License-Identifier: GPL-3.0\n\npragma solidity >=0.4.22 <0.9.0;\n\nlibrary Assert {\n\n event AssertionEvent(\n bool passed,\n string message,\n string methodName\n );\n\n event AssertionEventUint(\n bool passed,\n string message,\n string methodName,\n uint256 returned,\n uint256 expected\n );\n\n event AssertionEventInt(\n bool passed,\n string message,\n string methodName,\n int256 returned,\n int256 expected\n );\n\n event AssertionEventBool(\n bool passed,\n string message,\n string methodName,\n bool returned,\n bool expected\n );\n\n event AssertionEventAddress(\n bool passed,\n string message,\n string methodName,\n address returned,\n address expected\n );\n\n event AssertionEventBytes32(\n bool passed,\n string message,\n string methodName,\n bytes32 returned,\n bytes32 expected\n );\n\n event AssertionEventString(\n bool passed,\n string message,\n string methodName,\n string returned,\n string expected\n );\n\n event AssertionEventUintInt(\n bool passed,\n string message,\n string methodName,\n uint256 returned,\n int256 expected\n );\n\n event AssertionEventIntUint(\n bool passed,\n string message,\n string methodName,\n int256 returned,\n uint256 expected\n );\n\n function ok(bool a, string memory message) public returns (bool result) {\n result = a;\n emit AssertionEvent(result, message, \"ok\");\n }\n\n function equal(uint256 a, uint256 b, string memory message) public returns (bool result) {\n result = (a == b);\n emit AssertionEventUint(result, message, \"equal\", a, b);\n }\n\n function equal(int256 a, int256 b, string memory message) public returns (bool result) {\n result = (a == b);\n emit AssertionEventInt(result, message, \"equal\", a, b);\n }\n\n function equal(bool a, bool b, string memory message) public returns (bool result) {\n result = (a == b);\n emit AssertionEventBool(result, message, \"equal\", a, b);\n }\n\n // TODO: only for certain versions of solc\n //function equal(fixed a, fixed b, string message) public returns (bool result) {\n // result = (a == b);\n // emit AssertionEvent(result, message);\n //}\n\n // TODO: only for certain versions of solc\n //function equal(ufixed a, ufixed b, string message) public returns (bool result) {\n // result = (a == b);\n // emit AssertionEvent(result, message);\n //}\n\n function equal(address a, address b, string memory message) public returns (bool result) {\n result = (a == b);\n emit AssertionEventAddress(result, message, \"equal\", a, b);\n }\n\n function equal(bytes32 a, bytes32 b, string memory message) public returns (bool result) {\n result = (a == b);\n emit AssertionEventBytes32(result, message, \"equal\", a, b);\n }\n\n function equal(string memory a, string memory b, string memory message) public returns (bool result) {\n result = (keccak256(abi.encodePacked(a)) == keccak256(abi.encodePacked(b)));\n emit AssertionEventString(result, message, \"equal\", a, b);\n }\n\n function notEqual(uint256 a, uint256 b, string memory message) public returns (bool result) {\n result = (a != b);\n emit AssertionEventUint(result, message, \"notEqual\", a, b);\n }\n\n function notEqual(int256 a, int256 b, string memory message) public returns (bool result) {\n result = (a != b);\n emit AssertionEventInt(result, message, \"notEqual\", a, b);\n }\n\n function notEqual(bool a, bool b, string memory message) public returns (bool result) {\n result = (a != b);\n emit AssertionEventBool(result, message, \"notEqual\", a, b);\n }\n\n // TODO: only for certain versions of solc\n //function notEqual(fixed a, fixed b, string message) public returns (bool result) {\n // result = (a != b);\n // emit AssertionEvent(result, message);\n //}\n\n // TODO: only for certain versions of solc\n //function notEqual(ufixed a, ufixed b, string message) public returns (bool result) {\n // result = (a != b);\n // emit AssertionEvent(result, message);\n //}\n\n function notEqual(address a, address b, string memory message) public returns (bool result) {\n result = (a != b);\n emit AssertionEventAddress(result, message, \"notEqual\", a, b);\n }\n\n function notEqual(bytes32 a, bytes32 b, string memory message) public returns (bool result) {\n result = (a != b);\n emit AssertionEventBytes32(result, message, \"notEqual\", a, b);\n }\n\n function notEqual(string memory a, string memory b, string memory message) public returns (bool result) {\n result = (keccak256(abi.encodePacked(a)) != keccak256(abi.encodePacked(b)));\n emit AssertionEventString(result, message, \"notEqual\", a, b);\n }\n\n /*----------------- Greater than --------------------*/\n function greaterThan(uint256 a, uint256 b, string memory message) public returns (bool result) {\n result = (a > b);\n emit AssertionEventUint(result, message, \"greaterThan\", a, b);\n }\n\n function greaterThan(int256 a, int256 b, string memory message) public returns (bool result) {\n result = (a > b);\n emit AssertionEventInt(result, message, \"greaterThan\", a, b);\n }\n // TODO: safely compare between uint and int\n function greaterThan(uint256 a, int256 b, string memory message) public returns (bool result) {\n if(b < int(0)) {\n // int is negative uint \"a\" always greater\n result = true;\n } else {\n result = (a > uint(b));\n }\n emit AssertionEventUintInt(result, message, \"greaterThan\", a, b);\n }\n function greaterThan(int256 a, uint256 b, string memory message) public returns (bool result) {\n if(a < int(0)) {\n // int is negative uint \"b\" always greater\n result = false;\n } else {\n result = (uint(a) > b);\n }\n emit AssertionEventIntUint(result, message, \"greaterThan\", a, b);\n }\n /*----------------- Lesser than --------------------*/\n function lesserThan(uint256 a, uint256 b, string memory message) public returns (bool result) {\n result = (a < b);\n emit AssertionEventUint(result, message, \"lesserThan\", a, b);\n }\n\n function lesserThan(int256 a, int256 b, string memory message) public returns (bool result) {\n result = (a < b);\n emit AssertionEventInt(result, message, \"lesserThan\", a, b);\n }\n // TODO: safely compare between uint and int\n function lesserThan(uint256 a, int256 b, string memory message) public returns (bool result) {\n if(b < int(0)) {\n // int is negative int \"b\" always lesser\n result = false;\n } else {\n result = (a < uint(b));\n }\n emit AssertionEventUintInt(result, message, \"lesserThan\", a, b);\n }\n\n function lesserThan(int256 a, uint256 b, string memory message) public returns (bool result) {\n if(a < int(0)) {\n // int is negative int \"a\" always lesser\n result = true;\n } else {\n result = (uint(a) < b);\n }\n emit AssertionEventIntUint(result, message, \"lesserThan\", a, b);\n }\n}\n"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"contracts/counter.sol": {
"Counter": {
"abi": [
{
"inputs": [],
"name": "getCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "increment",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/counter.sol\":29:225 contract Counter {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/counter.sol\":29:225 contract Counter {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0xa87d942c\n eq\n tag_3\n jumpi\n dup1\n 0xd09de08a\n eq\n tag_4\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/counter.sol\":81:161 function getCount() public view returns (uint256) {... */\n tag_3:\n tag_5\n tag_6\n jump\t// in\n tag_5:\n mload(0x40)\n tag_7\n swap2\n swap1\n tag_8\n jump\t// in\n tag_7:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/counter.sol\":167:223 function increment() public {... */\n tag_4:\n tag_9\n tag_10\n jump\t// in\n tag_9:\n stop\n /* \"contracts/counter.sol\":81:161 function getCount() public view returns (uint256) {... */\n tag_6:\n /* \"contracts/counter.sol\":122:129 uint256 */\n 0x00\n /* \"contracts/counter.sol\":148:154 _count */\n dup1\n sload\n /* \"contracts/counter.sol\":141:154 return _count */\n swap1\n pop\n /* \"contracts/counter.sol\":81:161 function getCount() public view returns (uint256) {... */\n swap1\n jump\t// out\n /* \"contracts/counter.sol\":167:223 function increment() public {... */\n tag_10:\n /* \"contracts/counter.sol\":215:216 1 */\n 0x01\n /* \"contracts/counter.sol\":205:211 _count */\n 0x00\n dup1\n /* \"contracts/counter.sol\":205:216 _count += 1 */\n dup3\n dup3\n sload\n tag_13\n swap2\n swap1\n tag_14\n jump\t// in\n tag_13:\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n pop\n /* \"contracts/counter.sol\":167:223 function increment() public {... */\n jump\t// out\n /* \"#utility.yul\":7:84 */\n tag_15:\n /* \"#utility.yul\":44:51 */\n 0x00\n /* \"#utility.yul\":73:78 */\n dup2\n /* \"#utility.yul\":62:78 */\n swap1\n pop\n /* \"#utility.yul\":7:84 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":90:208 */\n tag_16:\n /* \"#utility.yul\":177:201 */\n tag_21\n /* \"#utility.yul\":195:200 */\n dup2\n /* \"#utility.yul\":177:201 */\n tag_15\n jump\t// in\n tag_21:\n /* \"#utility.yul\":172:175 */\n dup3\n /* \"#utility.yul\":165:202 */\n mstore\n /* \"#utility.yul\":90:208 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":214:436 */\n tag_8:\n /* \"#utility.yul\":307:311 */\n 0x00\n /* \"#utility.yul\":345:347 */\n 0x20\n /* \"#utility.yul\":334:343 */\n dup3\n /* \"#utility.yul\":330:348 */\n add\n /* \"#utility.yul\":322:348 */\n swap1\n pop\n /* \"#utility.yul\":358:429 */\n tag_23\n /* \"#utility.yul\":426:427 */\n 0x00\n /* \"#utility.yul\":415:424 */\n dup4\n /* \"#utility.yul\":411:428 */\n add\n /* \"#utility.yul\":402:408 */\n dup5\n /* \"#utility.yul\":358:429 */\n tag_16\n jump\t// in\n tag_23:\n /* \"#utility.yul\":214:436 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":442:622 */\n tag_17:\n /* \"#utility.yul\":490:567 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":487:488 */\n 0x00\n /* \"#utility.yul\":480:568 */\n mstore\n /* \"#utility.yul\":587:591 */\n 0x11\n /* \"#utility.yul\":584:585 */\n 0x04\n /* \"#utility.yul\":577:592 */\n mstore\n /* \"#utility.yul\":611:615 */\n 0x24\n /* \"#utility.yul\":608:609 */\n 0x00\n /* \"#utility.yul\":601:616 */\n revert\n /* \"#utility.yul\":628:819 */\n tag_14:\n /* \"#utility.yul\":668:671 */\n 0x00\n /* \"#utility.yul\":687:707 */\n tag_26\n /* \"#utility.yul\":705:706 */\n dup3\n /* \"#utility.yul\":687:707 */\n tag_15\n jump\t// in\n tag_26:\n /* \"#utility.yul\":682:707 */\n swap2\n pop\n /* \"#utility.yul\":721:741 */\n tag_27\n /* \"#utility.yul\":739:740 */\n dup4\n /* \"#utility.yul\":721:741 */\n tag_15\n jump\t// in\n tag_27:\n /* \"#utility.yul\":716:741 */\n swap3\n pop\n /* \"#utility.yul\":764:765 */\n dup3\n /* \"#utility.yul\":761:762 */\n dup3\n /* \"#utility.yul\":757:766 */\n add\n /* \"#utility.yul\":750:766 */\n swap1\n pop\n /* \"#utility.yul\":785:788 */\n dup1\n /* \"#utility.yul\":782:783 */\n dup3\n /* \"#utility.yul\":779:789 */\n gt\n /* \"#utility.yul\":776:812 */\n iszero\n tag_28\n jumpi\n /* \"#utility.yul\":792:810 */\n tag_29\n tag_17\n jump\t// in\n tag_29:\n /* \"#utility.yul\":776:812 */\n tag_28:\n /* \"#utility.yul\":628:819 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220ee62ef461a188c165faa3ac205d331a8182eae34f53c596aa56c66a9bdae76e664736f6c63430008120033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50610154806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a87d942c1461003b578063d09de08a14610059575b600080fd5b610043610063565b60405161005091906100a0565b60405180910390f35b61006161006c565b005b60008054905090565b600160008082825461007e91906100ea565b92505081905550565b6000819050919050565b61009a81610087565b82525050565b60006020820190506100b56000830184610091565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006100f582610087565b915061010083610087565b9250828201905080821115610118576101176100bb565b5b9291505056fea2646970667358221220ee62ef461a188c165faa3ac205d331a8182eae34f53c596aa56c66a9bdae76e664736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x154 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA87D942C EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xD09DE08A EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x61 PUSH2 0x6C JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x7E SWAP2 SWAP1 PUSH2 0xEA JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9A DUP2 PUSH2 0x87 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x91 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xF5 DUP3 PUSH2 0x87 JUMP JUMPDEST SWAP2 POP PUSH2 0x100 DUP4 PUSH2 0x87 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x118 JUMPI PUSH2 0x117 PUSH2 0xBB JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEE PUSH3 0xEF461A XOR DUP13 AND 0x5F 0xAA GASPRICE 0xC2 SDIV 0xD3 BALANCE 0xA8 XOR 0x2E 0xAE CALLVALUE CREATE2 EXTCODECOPY MSIZE PUSH11 0xA56C66A9BDAE76E664736F PUSH13 0x63430008120033000000000000 ",
"sourceMap": "29:196:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@getCount_11": {
"entryPoint": 99,
"id": 11,
"parameterSlots": 0,
"returnSlots": 1
},
"@increment_19": {
"entryPoint": 108,
"id": 19,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 145,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 160,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 234,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 135,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 187,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:822:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "52:32:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "62:16:4",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "73:5:4"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "62:7:4"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "34:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "44:7:4",
"type": ""
}
],
"src": "7:77:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "155:53:4",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "172:3:4"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "195:5:4"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "177:17:4"
},
"nodeType": "YulFunctionCall",
"src": "177:24:4"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "165:6:4"
},
"nodeType": "YulFunctionCall",
"src": "165:37:4"
},
"nodeType": "YulExpressionStatement",
"src": "165:37:4"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "143:5:4",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "150:3:4",
"type": ""
}
],
"src": "90:118:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "312:124:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "322:26:4",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "334:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "345:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "330:3:4"
},
"nodeType": "YulFunctionCall",
"src": "330:18:4"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "322:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "402:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "415:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "426:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "411:3:4"
},
"nodeType": "YulFunctionCall",
"src": "411:17:4"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "358:43:4"
},
"nodeType": "YulFunctionCall",
"src": "358:71:4"
},
"nodeType": "YulExpressionStatement",
"src": "358:71:4"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "284:9:4",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "296:6:4",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "307:4:4",
"type": ""
}
],
"src": "214:222:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "470:152:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "487:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "490:77:4",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "480:6:4"
},
"nodeType": "YulFunctionCall",
"src": "480:88:4"
},
"nodeType": "YulExpressionStatement",
"src": "480:88:4"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "584:1:4",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "587:4:4",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "577:6:4"
},
"nodeType": "YulFunctionCall",
"src": "577:15:4"
},
"nodeType": "YulExpressionStatement",
"src": "577:15:4"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "608:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "611:4:4",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "601:6:4"
},
"nodeType": "YulFunctionCall",
"src": "601:15:4"
},
"nodeType": "YulExpressionStatement",
"src": "601:15:4"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "442:180:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "672:147:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "682:25:4",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "705:1:4"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "687:17:4"
},
"nodeType": "YulFunctionCall",
"src": "687:20:4"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "682:1:4"
}
]
},
{
"nodeType": "YulAssignment",
"src": "716:25:4",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "739:1:4"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "721:17:4"
},
"nodeType": "YulFunctionCall",
"src": "721:20:4"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "716:1:4"
}
]
},
{
"nodeType": "YulAssignment",
"src": "750:16:4",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "761:1:4"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "764:1:4"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "757:3:4"
},
"nodeType": "YulFunctionCall",
"src": "757:9:4"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "750:3:4"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "790:22:4",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "792:16:4"
},
"nodeType": "YulFunctionCall",
"src": "792:18:4"
},
"nodeType": "YulExpressionStatement",
"src": "792:18:4"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "782:1:4"
},
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "785:3:4"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "779:2:4"
},
"nodeType": "YulFunctionCall",
"src": "779:10:4"
},
"nodeType": "YulIf",
"src": "776:36:4"
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "659:1:4",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "662:1:4",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "668:3:4",
"type": ""
}
],
"src": "628:191:4"
}
]
},
"contents": "{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n}\n",
"id": 4,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100365760003560e01c8063a87d942c1461003b578063d09de08a14610059575b600080fd5b610043610063565b60405161005091906100a0565b60405180910390f35b61006161006c565b005b60008054905090565b600160008082825461007e91906100ea565b92505081905550565b6000819050919050565b61009a81610087565b82525050565b60006020820190506100b56000830184610091565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006100f582610087565b915061010083610087565b9250828201905080821115610118576101176100bb565b5b9291505056fea2646970667358221220ee62ef461a188c165faa3ac205d331a8182eae34f53c596aa56c66a9bdae76e664736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA87D942C EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xD09DE08A EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xA0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x61 PUSH2 0x6C JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x7E SWAP2 SWAP1 PUSH2 0xEA JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9A DUP2 PUSH2 0x87 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x91 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xF5 DUP3 PUSH2 0x87 JUMP JUMPDEST SWAP2 POP PUSH2 0x100 DUP4 PUSH2 0x87 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x118 JUMPI PUSH2 0x117 PUSH2 0xBB JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEE PUSH3 0xEF461A XOR DUP13 AND 0x5F 0xAA GASPRICE 0xC2 SDIV 0xD3 BALANCE 0xA8 XOR 0x2E 0xAE CALLVALUE CREATE2 EXTCODECOPY MSIZE PUSH11 0xA56C66A9BDAE76E664736F PUSH13 0x63430008120033000000000000 ",
"sourceMap": "29:196:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;81:80;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;167:56;;;:::i;:::-;;81:80;122:7;148:6;;141:13;;81:80;:::o;167:56::-;215:1;205:6;;:11;;;;;;;:::i;:::-;;;;;;;;167:56::o;7:77:4:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:180::-;490:77;487:1;480:88;587:4;584:1;577:15;611:4;608:1;601:15;628:191;668:3;687:20;705:1;687:20;:::i;:::-;682:25;;721:20;739:1;721:20;:::i;:::-;716:25;;764:1;761;757:9;750:16;;785:3;782:1;779:10;776:36;;;792:18;;:::i;:::-;776:36;628:191;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "68000",
"executionCost": "117",
"totalCost": "68117"
},
"external": {
"getCount()": "2415",
"increment()": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 29,
"end": 225,
"name": "MSTORE",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "DUP1",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "ISZERO",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 29,
"end": 225,
"name": "JUMPI",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 29,
"end": 225,
"name": "DUP1",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "REVERT",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 29,
"end": 225,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "POP",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 29,
"end": 225,
"name": "DUP1",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 29,
"end": 225,
"name": "CODECOPY",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 29,
"end": 225,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a2646970667358221220ee62ef461a188c165faa3ac205d331a8182eae34f53c596aa56c66a9bdae76e664736f6c63430008120033",
".code": [
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 29,
"end": 225,
"name": "MSTORE",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "DUP1",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "ISZERO",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 29,
"end": 225,
"name": "JUMPI",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 29,
"end": 225,
"name": "DUP1",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "REVERT",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 29,
"end": 225,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "POP",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 29,
"end": 225,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "LT",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 29,
"end": 225,
"name": "JUMPI",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 29,
"end": 225,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 29,
"end": 225,
"name": "SHR",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "DUP1",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "A87D942C"
},
{
"begin": 29,
"end": 225,
"name": "EQ",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 29,
"end": 225,
"name": "JUMPI",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "DUP1",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "D09DE08A"
},
{
"begin": 29,
"end": 225,
"name": "EQ",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 29,
"end": 225,
"name": "JUMPI",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 29,
"end": 225,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 29,
"end": 225,
"name": "DUP1",
"source": 0
},
{
"begin": 29,
"end": 225,
"name": "REVERT",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 81,
"end": 161,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 81,
"end": 161,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 81,
"end": 161,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 81,
"end": 161,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 81,
"end": 161,
"name": "MLOAD",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 81,
"end": 161,
"name": "SWAP2",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "SWAP1",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 81,
"end": 161,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 81,
"end": 161,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 81,
"end": 161,
"name": "MLOAD",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "DUP1",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "SWAP2",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "SUB",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "SWAP1",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "RETURN",
"source": 0
},
{
"begin": 167,
"end": 223,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 167,
"end": 223,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 167,
"end": 223,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 167,
"end": 223,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 167,
"end": 223,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 167,
"end": 223,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 167,
"end": 223,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 167,
"end": 223,
"name": "STOP",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 81,
"end": 161,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 122,
"end": 129,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 148,
"end": 154,
"name": "DUP1",
"source": 0
},
{
"begin": 148,
"end": 154,
"name": "SLOAD",
"source": 0
},
{
"begin": 141,
"end": 154,
"name": "SWAP1",
"source": 0
},
{
"begin": 141,
"end": 154,
"name": "POP",
"source": 0
},
{
"begin": 81,
"end": 161,
"name": "SWAP1",
"source": 0
},
{
"begin": 81,
"end": 161,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 167,
"end": 223,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 167,
"end": 223,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 215,
"end": 216,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 205,
"end": 211,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 205,
"end": 211,
"name": "DUP1",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "DUP3",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "DUP3",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "SLOAD",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 205,
"end": 216,
"name": "SWAP2",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "SWAP1",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 205,
"end": 216,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "tag",
"source": 0,
"value": "13"
},
{
"begin": 205,
"end": 216,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "SWAP3",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "POP",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "POP",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "DUP2",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "SWAP1",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "SSTORE",
"source": 0
},
{
"begin": 205,
"end": 216,
"name": "POP",
"source": 0
},
{
"begin": 167,
"end": 223,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 7,
"end": 84,
"name": "tag",
"source": 4,
"value": "15"
},
{
"begin": 7,
"end": 84,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 44,
"end": 51,
"name": "PUSH",
"source": 4,
"value": "0"
},
{
"begin": 73,
"end": 78,
"name": "DUP2",
"source": 4
},
{
"begin": 62,
"end": 78,
"name": "SWAP1",
"source": 4
},
{
"begin": 62,
"end": 78,
"name": "POP",
"source": 4
},
{
"begin": 7,
"end": 84,
"name": "SWAP2",
"source": 4
},
{
"begin": 7,
"end": 84,
"name": "SWAP1",
"source": 4
},
{
"begin": 7,
"end": 84,
"name": "POP",
"source": 4
},
{
"begin": 7,
"end": 84,
"jumpType": "[out]",
"name": "JUMP",
"source": 4
},
{
"begin": 90,
"end": 208,
"name": "tag",
"source": 4,
"value": "16"
},
{
"begin": 90,
"end": 208,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 177,
"end": 201,
"name": "PUSH [tag]",
"source": 4,
"value": "21"
},
{
"begin": 195,
"end": 200,
"name": "DUP2",
"source": 4
},
{
"begin": 177,
"end": 201,
"name": "PUSH [tag]",
"source": 4,
"value": "15"
},
{
"begin": 177,
"end": 201,
"jumpType": "[in]",
"name": "JUMP",
"source": 4
},
{
"begin": 177,
"end": 201,
"name": "tag",
"source": 4,
"value": "21"
},
{
"begin": 177,
"end": 201,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 172,
"end": 175,
"name": "DUP3",
"source": 4
},
{
"begin": 165,
"end": 202,
"name": "MSTORE",
"source": 4
},
{
"begin": 90,
"end": 208,
"name": "POP",
"source": 4
},
{
"begin": 90,
"end": 208,
"name": "POP",
"source": 4
},
{
"begin": 90,
"end": 208,
"jumpType": "[out]",
"name": "JUMP",
"source": 4
},
{
"begin": 214,
"end": 436,
"name": "tag",
"source": 4,
"value": "8"
},
{
"begin": 214,
"end": 436,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 307,
"end": 311,
"name": "PUSH",
"source": 4,
"value": "0"
},
{
"begin": 345,
"end": 347,
"name": "PUSH",
"source": 4,
"value": "20"
},
{
"begin": 334,
"end": 343,
"name": "DUP3",
"source": 4
},
{
"begin": 330,
"end": 348,
"name": "ADD",
"source": 4
},
{
"begin": 322,
"end": 348,
"name": "SWAP1",
"source": 4
},
{
"begin": 322,
"end": 348,
"name": "POP",
"source": 4
},
{
"begin": 358,
"end": 429,
"name": "PUSH [tag]",
"source": 4,
"value": "23"
},
{
"begin": 426,
"end": 427,
"name": "PUSH",
"source": 4,
"value": "0"
},
{
"begin": 415,
"end": 424,
"name": "DUP4",
"source": 4
},
{
"begin": 411,
"end": 428,
"name": "ADD",
"source": 4
},
{
"begin": 402,
"end": 408,
"name": "DUP5",
"source": 4
},
{
"begin": 358,
"end": 429,
"name": "PUSH [tag]",
"source": 4,
"value": "16"
},
{
"begin": 358,
"end": 429,
"jumpType": "[in]",
"name": "JUMP",
"source": 4
},
{
"begin": 358,
"end": 429,
"name": "tag",
"source": 4,
"value": "23"
},
{
"begin": 358,
"end": 429,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 214,
"end": 436,
"name": "SWAP3",
"source": 4
},
{
"begin": 214,
"end": 436,
"name": "SWAP2",
"source": 4
},
{
"begin": 214,
"end": 436,
"name": "POP",
"source": 4
},
{
"begin": 214,
"end": 436,
"name": "POP",
"source": 4
},
{
"begin": 214,
"end": 436,
"jumpType": "[out]",
"name": "JUMP",
"source": 4
},
{
"begin": 442,
"end": 622,
"name": "tag",
"source": 4,
"value": "17"
},
{
"begin": 442,
"end": 622,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 490,
"end": 567,
"name": "PUSH",
"source": 4,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 487,
"end": 488,
"name": "PUSH",
"source": 4,
"value": "0"
},
{
"begin": 480,
"end": 568,
"name": "MSTORE",
"source": 4
},
{
"begin": 587,
"end": 591,
"name": "PUSH",
"source": 4,
"value": "11"
},
{
"begin": 584,
"end": 585,
"name": "PUSH",
"source": 4,
"value": "4"
},
{
"begin": 577,
"end": 592,
"name": "MSTORE",
"source": 4
},
{
"begin": 611,
"end": 615,
"name": "PUSH",
"source": 4,
"value": "24"
},
{
"begin": 608,
"end": 609,
"name": "PUSH",
"source": 4,
"value": "0"
},
{
"begin": 601,
"end": 616,
"name": "REVERT",
"source": 4
},
{
"begin": 628,
"end": 819,
"name": "tag",
"source": 4,
"value": "14"
},
{
"begin": 628,
"end": 819,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 668,
"end": 671,
"name": "PUSH",
"source": 4,
"value": "0"
},
{
"begin": 687,
"end": 707,
"name": "PUSH [tag]",
"source": 4,
"value": "26"
},
{
"begin": 705,
"end": 706,
"name": "DUP3",
"source": 4
},
{
"begin": 687,
"end": 707,
"name": "PUSH [tag]",
"source": 4,
"value": "15"
},
{
"begin": 687,
"end": 707,
"jumpType": "[in]",
"name": "JUMP",
"source": 4
},
{
"begin": 687,
"end": 707,
"name": "tag",
"source": 4,
"value": "26"
},
{
"begin": 687,
"end": 707,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 682,
"end": 707,
"name": "SWAP2",
"source": 4
},
{
"begin": 682,
"end": 707,
"name": "POP",
"source": 4
},
{
"begin": 721,
"end": 741,
"name": "PUSH [tag]",
"source": 4,
"value": "27"
},
{
"begin": 739,
"end": 740,
"name": "DUP4",
"source": 4
},
{
"begin": 721,
"end": 741,
"name": "PUSH [tag]",
"source": 4,
"value": "15"
},
{
"begin": 721,
"end": 741,
"jumpType": "[in]",
"name": "JUMP",
"source": 4
},
{
"begin": 721,
"end": 741,
"name": "tag",
"source": 4,
"value": "27"
},
{
"begin": 721,
"end": 741,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 716,
"end": 741,
"name": "SWAP3",
"source": 4
},
{
"begin": 716,
"end": 741,
"name": "POP",
"source": 4
},
{
"begin": 764,
"end": 765,
"name": "DUP3",
"source": 4
},
{
"begin": 761,
"end": 762,
"name": "DUP3",
"source": 4
},
{
"begin": 757,
"end": 766,
"name": "ADD",
"source": 4
},
{
"begin": 750,
"end": 766,
"name": "SWAP1",
"source": 4
},
{
"begin": 750,
"end": 766,
"name": "POP",
"source": 4
},
{
"begin": 785,
"end": 788,
"name": "DUP1",
"source": 4
},
{
"begin": 782,
"end": 783,
"name": "DUP3",
"source": 4
},
{
"begin": 779,
"end": 789,
"name": "GT",
"source": 4
},
{
"begin": 776,
"end": 812,
"name": "ISZERO",
"source": 4
},
{
"begin": 776,
"end": 812,
"name": "PUSH [tag]",
"source": 4,
"value": "28"
},
{
"begin": 776,
"end": 812,
"name": "JUMPI",
"source": 4
},
{
"begin": 792,
"end": 810,
"name": "PUSH [tag]",
"source": 4,
"value": "29"
},
{
"begin": 792,
"end": 810,
"name": "PUSH [tag]",
"source": 4,
"value": "17"
},
{
"begin": 792,
"end": 810,
"jumpType": "[in]",
"name": "JUMP",
"source": 4
},
{
"begin": 792,
"end": 810,
"name": "tag",
"source": 4,
"value": "29"
},
{
"begin": 792,
"end": 810,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 776,
"end": 812,
"name": "tag",
"source": 4,
"value": "28"
},
{
"begin": 776,
"end": 812,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 628,
"end": 819,
"name": "SWAP3",
"source": 4
},
{
"begin": 628,
"end": 819,
"name": "SWAP2",
"source": 4
},
{
"begin": 628,
"end": 819,
"name": "POP",
"source": 4
},
{
"begin": 628,
"end": 819,
"name": "POP",
"source": 4
},
{
"begin": 628,
"end": 819,
"jumpType": "[out]",
"name": "JUMP",
"source": 4
}
]
}
},
"sourceList": [
"contracts/counter.sol",
"remix_accounts.sol",
"remix_tests.sol",
"tests/counter_test.sol",
"#utility.yul"
]
},
"methodIdentifiers": {
"getCount()": "a87d942c",
"increment()": "d09de08a"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"increment\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/counter.sol\":\"Counter\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/counter.sol\":{\"keccak256\":\"0x4237be10eeb584adb7ccbd149757b9575297f238ff41300fda8ca1eaffa6bf63\",\"urls\":[\"bzz-raw://8879dca252589f86cc4a24d8b983239e7791066ed5d8e261953a11cfeb41682a\",\"dweb:/ipfs/QmPb7iibToxzmX2UKK3C4NUncagZ7SGNSh9KBQ2haxKBXW\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 3,
"contract": "contracts/counter.sol:Counter",
"label": "_count",
"offset": 0,
"slot": "0",
"type": "t_uint256"
}
],
"types": {
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
},
"remix_accounts.sol": {
"TestsAccounts": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
}
],
"name": "getAccount",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"remix_accounts.sol\":71:1150 library TestsAccounts {... */\n dataSize(sub_0)\n dataOffset(sub_0)\n 0x0b\n dup3\n dup3\n dup3\n codecopy\n dup1\n mload\n 0x00\n byte\n 0x73\n eq\n tag_1\n jumpi\n mstore(0x00, 0x4e487b7100000000000000000000000000000000000000000000000000000000)\n mstore(0x04, 0x00)\n revert(0x00, 0x24)\ntag_1:\n mstore(0x00, address)\n 0x73\n dup2\n mstore8\n dup3\n dup2\n return\nstop\n\nsub_0: assembly {\n /* \"remix_accounts.sol\":71:1150 library TestsAccounts {... */\n eq(address, deployTimeAddress())\n mstore(0x40, 0x80)\n jumpi(tag_1, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0xce88b145\n eq\n tag_2\n jumpi\n tag_1:\n 0x00\n dup1\n revert\n /* \"remix_accounts.sol\":99:1148 function getAccount(uint index) pure public returns (address) {... */\n tag_2:\n tag_3\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_4\n swap2\n swap1\n tag_5\n jump\t// in\n tag_4:\n tag_6\n jump\t// in\n tag_3:\n mload(0x40)\n tag_7\n swap2\n swap1\n tag_8\n jump\t// in\n tag_7:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n tag_6:\n /* \"remix_accounts.sol\":152:159 address */\n 0x00\n /* \"remix_accounts.sol\":171:198 address[15] memory accounts */\n tag_10\n tag_11\n jump\t// in\n tag_10:\n /* \"remix_accounts.sol\":216:258 0x5B38Da6a701c568545dCfcB03FcB875f56beddC4 */\n 0x5b38da6a701c568545dcfcb03fcb875f56beddc4\n /* \"remix_accounts.sol\":202:210 accounts */\n dup2\n /* \"remix_accounts.sol\":211:212 0 */\n 0x00\n /* \"remix_accounts.sol\":202:213 accounts[0] */\n 0x0f\n dup2\n lt\n tag_12\n jumpi\n tag_13\n tag_14\n jump\t// in\n tag_13:\n tag_12:\n 0x20\n mul\n add\n /* \"remix_accounts.sol\":202:258 accounts[0] = 0x5B38Da6a701c568545dCfcB03FcB875f56beddC4 */\n swap1\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n pop\n pop\n /* \"remix_accounts.sol\":277:319 0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2 */\n 0xab8483f64d9c6d1ecf9b849ae677dd3315835cb2\n /* \"remix_accounts.sol\":263:271 accounts */\n dup2\n /* \"remix_accounts.sol\":272:273 1 */\n 0x01\n /* \"remix_accounts.sol\":263:274 accounts[1] */\n 0x0f\n dup2\n lt\n tag_15\n jumpi\n tag_16\n tag_14\n jump\t// in\n tag_16:\n tag_15:\n 0x20\n mul\n add\n /* \"remix_accounts.sol\":263:319 accounts[1] = 0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2 */\n swap1\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n pop\n pop\n /* \"remix_accounts.sol\":338:380 0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db */\n 0x4b20993bc481177ec7e8f571cecae8a9e22c02db\n /* \"remix_accounts.sol\":324:332 accounts */\n dup2\n /* \"remix_accounts.sol\":333:334 2 */\n 0x02\n /* \"remix_accounts.sol\":324:335 accounts[2] */\n 0x0f\n dup2\n lt\n tag_17\n jumpi\n tag_18\n tag_14\n jump\t// in\n tag_18:\n tag_17:\n 0x20\n mul\n add\n /* \"remix_accounts.sol\":324:380 accounts[2] = 0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db */\n swap1\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n pop\n pop\n /* \"remix_accounts.sol\":399:441 0x78731D3Ca6b7E34aC0F824c42a7cC18A495cabaB */\n 0x78731d3ca6b7e34ac0f824c42a7cc18a495cabab\n /* \"remix_accounts.sol\":385:393 accounts */\n dup2\n /* \"remix_accounts.sol\":394:395 3 */\n 0x03\n /* \"remix_accounts.sol\":385:396 accounts[3] */\n 0x0f\n dup2\n lt\n tag_19\n jumpi\n tag_20\n tag_14\n jump\t// in\n tag_20:\n tag_19:\n 0x20\n mul\n add\n /* \"remix_accounts.sol\":385:441 accounts[3] = 0x78731D3Ca6b7E34aC0F824c42a7cC18A495cabaB */\n swap1\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n pop\n pop\n /* \"remix_accounts.sol\":460:502 0x617F2E2fD72FD9D5503197092aC168c91465E7f2 */\n 0x617f2e2fd72fd9d5503197092ac168c91465e7f2\n /* \"remix_accounts.sol\":446:454 accounts */\n dup2\n /* \"remix_accounts.sol\":455:456 4 */\n 0x04\n /* \"remix_accounts.sol\":446:457 accounts[4] */\n 0x0f\n dup2\n lt\n tag_21\n jumpi\n tag_22\n tag_14\n jump\t// in\n tag_22:\n tag_21:\n 0x20\n mul\n add\n /* \"remix_accounts.sol\":446:502 accounts[4] = 0x617F2E2fD72FD9D5503197092aC168c91465E7f2 */\n swap1\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n pop\n pop\n /* \"remix_accounts.sol\":521:563 0x17F6AD8Ef982297579C203069C1DbfFE4348c372 */\n 0x17f6ad8ef982297579c203069c1dbffe4348c372\n /* \"remix_accounts.sol\":507:515 accounts */\n dup2\n /* \"remix_accounts.sol\":516:517 5 */\n 0x05\n /* \"remix_accounts.sol\":507:518 accounts[5] */\n 0x0f\n dup2\n lt\n tag_23\n jumpi\n tag_24\n tag_14\n jump\t// in\n tag_24:\n tag_23:\n 0x20\n mul\n add\n /* \"remix_accounts.sol\":507:563 accounts[5] = 0x17F6AD8Ef982297579C203069C1DbfFE4348c372 */\n swap1\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n pop\n pop\n /* \"remix_accounts.sol\":582:624 0x5c6B0f7Bf3E7ce046039Bd8FABdfD3f9F5021678 */\n 0x5c6b0f7bf3e7ce046039bd8fabdfd3f9f5021678\n /* \"remix_accounts.sol\":568:576 accounts */\n dup2\n /* \"remix_accounts.sol\":577:578 6 */\n 0x06\n /* \"remix_accounts.sol\":568:579 accounts[6] */\n 0x0f\n dup2\n lt\n tag_25\n jumpi\n tag_26\n tag_14\n jump\t// in\n tag_26:\n tag_25:\n 0x20\n mul\n add\n /* \"remix_accounts.sol\":568:624 accounts[6] = 0x5c6B0f7Bf3E7ce046039Bd8FABdfD3f9F5021678 */\n swap1\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n pop\n pop\n /* \"remix_accounts.sol\":643:685 0x03C6FcED478cBbC9a4FAB34eF9f40767739D1Ff7 */\n 0x03c6fced478cbbc9a4fab34ef9f40767739d1ff7\n /* \"remix_accounts.sol\":629:637 accounts */\n dup2\n /* \"remix_accounts.sol\":638:639 7 */\n 0x07\n /* \"remix_accounts.sol\":629:640 accounts[7] */\n 0x0f\n dup2\n lt\n tag_27\n jumpi\n tag_28\n tag_14\n jump\t// in\n tag_28:\n tag_27:\n 0x20\n mul\n add\n /* \"remix_accounts.sol\":629:685 accounts[7] = 0x03C6FcED478cBbC9a4FAB34eF9f40767739D1Ff7 */\n swap1\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n pop\n pop\n /* \"remix_accounts.sol\":704:746 0x1aE0EA34a72D944a8C7603FfB3eC30a6669E454C */\n 0x1ae0ea34a72d944a8c7603ffb3ec30a6669e454c\n /* \"remix_accounts.sol\":690:698 accounts */\n dup2\n /* \"remix_accounts.sol\":699:700 8 */\n 0x08\n /* \"remix_accounts.sol\":690:701 accounts[8] */\n 0x0f\n dup2\n lt\n tag_29\n jumpi\n tag_30\n tag_14\n jump\t// in\n tag_30:\n tag_29:\n 0x20\n mul\n add\n /* \"remix_accounts.sol\":690:746 accounts[8] = 0x1aE0EA34a72D944a8C7603FfB3eC30a6669E454C */\n swap1\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n pop\n pop\n /* \"remix_accounts.sol\":765:807 0x0A098Eda01Ce92ff4A4CCb7A4fFFb5A43EBC70DC */\n 0x0a098eda01ce92ff4a4ccb7a4fffb5a43ebc70dc\n /* \"remix_accounts.sol\":751:759 accounts */\n dup2\n /* \"remix_accounts.sol\":760:761 9 */\n 0x09\n /* \"remix_accounts.sol\":751:762 accounts[9] */\n 0x0f\n dup2\n lt\n tag_31\n jumpi\n tag_32\n tag_14\n jump\t// in\n tag_32:\n tag_31:\n 0x20\n mul\n add\n /* \"remix_accounts.sol\":751:807 accounts[9] = 0x0A098Eda01Ce92ff4A4CCb7A4fFFb5A43EBC70DC */\n swap1\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n pop\n pop\n /* \"remix_accounts.sol\":827:869 0xCA35b7d915458EF540aDe6068dFe2F44E8fa733c */\n 0xca35b7d915458ef540ade6068dfe2f44e8fa733c\n /* \"remix_accounts.sol\":812:820 accounts */\n dup2\n /* \"remix_accounts.sol\":821:823 10 */\n 0x0a\n /* \"remix_accounts.sol\":812:824 accounts[10] */\n 0x0f\n dup2\n lt\n tag_33\n jumpi\n tag_34\n tag_14\n jump\t// in\n tag_34:\n tag_33:\n 0x20\n mul\n add\n /* \"remix_accounts.sol\":812:869 accounts[10] = 0xCA35b7d915458EF540aDe6068dFe2F44E8fa733c */\n swap1\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n pop\n pop\n /* \"remix_accounts.sol\":889:931 0x14723A09ACff6D2A60DcdF7aA4AFf308FDDC160C */\n 0x14723a09acff6d2a60dcdf7aa4aff308fddc160c\n /* \"remix_accounts.sol\":874:882 accounts */\n dup2\n /* \"remix_accounts.sol\":883:885 11 */\n 0x0b\n /* \"remix_accounts.sol\":874:886 accounts[11] */\n 0x0f\n dup2\n lt\n tag_35\n jumpi\n tag_36\n tag_14\n jump\t// in\n tag_36:\n tag_35:\n 0x20\n mul\n add\n /* \"remix_accounts.sol\":874:931 accounts[11] = 0x14723A09ACff6D2A60DcdF7aA4AFf308FDDC160C */\n swap1\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n pop\n pop\n /* \"remix_accounts.sol\":951:993 0x4B0897b0513fdC7C541B6d9D7E929C4e5364D2dB */\n 0x4b0897b0513fdc7c541b6d9d7e929c4e5364d2db\n /* \"remix_accounts.sol\":936:944 accounts */\n dup2\n /* \"remix_accounts.sol\":945:947 12 */\n 0x0c\n /* \"remix_accounts.sol\":936:948 accounts[12] */\n 0x0f\n dup2\n lt\n tag_37\n jumpi\n tag_38\n tag_14\n jump\t// in\n tag_38:\n tag_37:\n 0x20\n mul\n add\n /* \"remix_accounts.sol\":936:993 accounts[12] = 0x4B0897b0513fdC7C541B6d9D7E929C4e5364D2dB */\n swap1\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n pop\n pop\n /* \"remix_accounts.sol\":1013:1055 0x583031D1113aD414F02576BD6afaBfb302140225 */\n 0x583031d1113ad414f02576bd6afabfb302140225\n /* \"remix_accounts.sol\":998:1006 accounts */\n dup2\n /* \"remix_accounts.sol\":1007:1009 13 */\n 0x0d\n /* \"remix_accounts.sol\":998:1010 accounts[13] */\n 0x0f\n dup2\n lt\n tag_39\n jumpi\n tag_40\n tag_14\n jump\t// in\n tag_40:\n tag_39:\n 0x20\n mul\n add\n /* \"remix_accounts.sol\":998:1055 accounts[13] = 0x583031D1113aD414F02576BD6afaBfb302140225 */\n swap1\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n pop\n pop\n /* \"remix_accounts.sol\":1075:1117 0xdD870fA1b7C4700F2BD7f44238821C26f7392148 */\n 0xdd870fa1b7c4700f2bd7f44238821c26f7392148\n /* \"remix_accounts.sol\":1060:1068 accounts */\n dup2\n /* \"remix_accounts.sol\":1069:1071 14 */\n 0x0e\n /* \"remix_accounts.sol\":1060:1072 accounts[14] */\n 0x0f\n dup2\n lt\n tag_41\n jumpi\n tag_42\n tag_14\n jump\t// in\n tag_42:\n tag_41:\n 0x20\n mul\n add\n /* \"remix_accounts.sol\":1060:1117 accounts[14] = 0xdD870fA1b7C4700F2BD7f44238821C26f7392148 */\n swap1\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n pop\n pop\n /* \"remix_accounts.sol\":1126:1134 accounts */\n dup1\n /* \"remix_accounts.sol\":1135:1140 index */\n dup4\n /* \"remix_accounts.sol\":1126:1141 accounts[index] */\n 0x0f\n dup2\n lt\n tag_43\n jumpi\n tag_44\n tag_14\n jump\t// in\n tag_44:\n tag_43:\n 0x20\n mul\n add\n mload\n /* \"remix_accounts.sol\":1119:1141 return accounts[index] */\n swap2\n pop\n pop\n /* \"remix_accounts.sol\":99:1148 function getAccount(uint index) pure public returns (address) {... */\n swap2\n swap1\n pop\n jump\t// out\n tag_11:\n mload(0x40)\n dup1\n 0x01e0\n add\n 0x40\n mstore\n dup1\n 0x0f\n swap1\n 0x20\n dup3\n mul\n dup1\n calldatasize\n dup4\n calldatacopy\n dup1\n dup3\n add\n swap2\n pop\n pop\n swap1\n pop\n pop\n swap1\n jump\t// out\n /* \"#utility.yul\":88:205 */\n tag_46:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n dup1\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":334:411 */\n tag_48:\n /* \"#utility.yul\":371:378 */\n 0x00\n /* \"#utility.yul\":400:405 */\n dup2\n /* \"#utility.yul\":389:405 */\n swap1\n pop\n /* \"#utility.yul\":334:411 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":417:539 */\n tag_49:\n /* \"#utility.yul\":490:514 */\n tag_60\n /* \"#utility.yul\":508:513 */\n dup2\n /* \"#utility.yul\":490:514 */\n tag_48\n jump\t// in\n tag_60:\n /* \"#utility.yul\":483:488 */\n dup2\n /* \"#utility.yul\":480:515 */\n eq\n /* \"#utility.yul\":470:533 */\n tag_61\n jumpi\n /* \"#utility.yul\":529:530 */\n 0x00\n /* \"#utility.yul\":526:527 */\n dup1\n /* \"#utility.yul\":519:531 */\n revert\n /* \"#utility.yul\":470:533 */\n tag_61:\n /* \"#utility.yul\":417:539 */\n pop\n jump\t// out\n /* \"#utility.yul\":545:684 */\n tag_50:\n /* \"#utility.yul\":591:596 */\n 0x00\n /* \"#utility.yul\":629:635 */\n dup2\n /* \"#utility.yul\":616:636 */\n calldataload\n /* \"#utility.yul\":607:636 */\n swap1\n pop\n /* \"#utility.yul\":645:678 */\n tag_63\n /* \"#utility.yul\":672:677 */\n dup2\n /* \"#utility.yul\":645:678 */\n tag_49\n jump\t// in\n tag_63:\n /* \"#utility.yul\":545:684 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":690:1019 */\n tag_5:\n /* \"#utility.yul\":749:755 */\n 0x00\n /* \"#utility.yul\":798:800 */\n 0x20\n /* \"#utility.yul\":786:795 */\n dup3\n /* \"#utility.yul\":777:784 */\n dup5\n /* \"#utility.yul\":773:796 */\n sub\n /* \"#utility.yul\":769:801 */\n slt\n /* \"#utility.yul\":766:885 */\n iszero\n tag_65\n jumpi\n /* \"#utility.yul\":804:883 */\n tag_66\n tag_46\n jump\t// in\n tag_66:\n /* \"#utility.yul\":766:885 */\n tag_65:\n /* \"#utility.yul\":924:925 */\n 0x00\n /* \"#utility.yul\":949:1002 */\n tag_67\n /* \"#utility.yul\":994:1001 */\n dup5\n /* \"#utility.yul\":985:991 */\n dup3\n /* \"#utility.yul\":974:983 */\n dup6\n /* \"#utility.yul\":970:992 */\n add\n /* \"#utility.yul\":949:1002 */\n tag_50\n jump\t// in\n tag_67:\n /* \"#utility.yul\":939:1002 */\n swap2\n pop\n /* \"#utility.yul\":895:1012 */\n pop\n /* \"#utility.yul\":690:1019 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1025:1151 */\n tag_51:\n /* \"#utility.yul\":1062:1069 */\n 0x00\n /* \"#utility.yul\":1102:1144 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":1095:1100 */\n dup3\n /* \"#utility.yul\":1091:1145 */\n and\n /* \"#utility.yul\":1080:1145 */\n swap1\n pop\n /* \"#utility.yul\":1025:1151 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1157:1253 */\n tag_52:\n /* \"#utility.yul\":1194:1201 */\n 0x00\n /* \"#utility.yul\":1223:1247 */\n tag_70\n /* \"#utility.yul\":1241:1246 */\n dup3\n /* \"#utility.yul\":1223:1247 */\n tag_51\n jump\t// in\n tag_70:\n /* \"#utility.yul\":1212:1247 */\n swap1\n pop\n /* \"#utility.yul\":1157:1253 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1259:1385 */\n tag_53:\n /* \"#utility.yul\":1354:1378 */\n tag_72\n /* \"#utility.yul\":1372:1377 */\n dup2\n /* \"#utility.yul\":1354:1378 */\n tag_52\n jump\t// in\n tag_72:\n /* \"#utility.yul\":1349:1352 */\n dup3\n /* \"#utility.yul\":1342:1379 */\n mstore\n /* \"#utility.yul\":1259:1385 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1391:1629 */\n tag_8:\n /* \"#utility.yul\":1492:1496 */\n 0x00\n /* \"#utility.yul\":1530:1532 */\n 0x20\n /* \"#utility.yul\":1519:1528 */\n dup3\n /* \"#utility.yul\":1515:1533 */\n add\n /* \"#utility.yul\":1507:1533 */\n swap1\n pop\n /* \"#utility.yul\":1543:1622 */\n tag_74\n /* \"#utility.yul\":1619:1620 */\n 0x00\n /* \"#utility.yul\":1608:1617 */\n dup4\n /* \"#utility.yul\":1604:1621 */\n add\n /* \"#utility.yul\":1595:1601 */\n dup5\n /* \"#utility.yul\":1543:1622 */\n tag_53\n jump\t// in\n tag_74:\n /* \"#utility.yul\":1391:1629 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1635:1815 */\n tag_14:\n /* \"#utility.yul\":1683:1760 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":1680:1681 */\n 0x00\n /* \"#utility.yul\":1673:1761 */\n mstore\n /* \"#utility.yul\":1780:1784 */\n 0x32\n /* \"#utility.yul\":1777:1778 */\n 0x04\n /* \"#utility.yul\":1770:1785 */\n mstore\n /* \"#utility.yul\":1804:1808 */\n 0x24\n /* \"#utility.yul\":1801:1802 */\n 0x00\n /* \"#utility.yul\":1794:1809 */\n revert\n\n auxdata: 0xa26469706673582212209f52d2a033dd1cfe16fee9d8413fef3145eb0f63aff35cc874a99401f9ad43bc64736f6c63430008120033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "610780610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063ce88b1451461003a575b600080fd5b610054600480360381019061004f9190610692565b61006a565b6040516100619190610700565b60405180910390f35b6000610074610634565b735b38da6a701c568545dcfcb03fcb875f56beddc4816000600f811061009d5761009c61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073ab8483f64d9c6d1ecf9b849ae677dd3315835cb2816001600f81106100fd576100fc61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050734b20993bc481177ec7e8f571cecae8a9e22c02db816002600f811061015d5761015c61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507378731d3ca6b7e34ac0f824c42a7cc18a495cabab816003600f81106101bd576101bc61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073617f2e2fd72fd9d5503197092ac168c91465e7f2816004600f811061021d5761021c61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507317f6ad8ef982297579c203069c1dbffe4348c372816005600f811061027d5761027c61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050735c6b0f7bf3e7ce046039bd8fabdfd3f9f5021678816006600f81106102dd576102dc61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507303c6fced478cbbc9a4fab34ef9f40767739d1ff7816007600f811061033d5761033c61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050731ae0ea34a72d944a8c7603ffb3ec30a6669e454c816008600f811061039d5761039c61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050730a098eda01ce92ff4a4ccb7a4fffb5a43ebc70dc816009600f81106103fd576103fc61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073ca35b7d915458ef540ade6068dfe2f44e8fa733c81600a600f811061045d5761045c61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507314723a09acff6d2a60dcdf7aa4aff308fddc160c81600b600f81106104bd576104bc61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050734b0897b0513fdc7c541b6d9d7e929c4e5364d2db81600c600f811061051d5761051c61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073583031d1113ad414f02576bd6afabfb30214022581600d600f811061057d5761057c61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073dd870fa1b7c4700f2bd7f44238821c26f739214881600e600f81106105dd576105dc61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508083600f81106106275761062661071b565b5b6020020151915050919050565b604051806101e00160405280600f90602082028036833780820191505090505090565b600080fd5b6000819050919050565b61066f8161065c565b811461067a57600080fd5b50565b60008135905061068c81610666565b92915050565b6000602082840312156106a8576106a7610657565b5b60006106b68482850161067d565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006106ea826106bf565b9050919050565b6106fa816106df565b82525050565b600060208201905061071560008301846106f1565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea26469706673582212209f52d2a033dd1cfe16fee9d8413fef3145eb0f63aff35cc874a99401f9ad43bc64736f6c63430008120033",
"opcodes": "PUSH2 0x780 PUSH2 0x53 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x46 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x35 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xCE88B145 EQ PUSH2 0x3A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x54 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4F SWAP2 SWAP1 PUSH2 0x692 JUMP JUMPDEST PUSH2 0x6A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x61 SWAP2 SWAP1 PUSH2 0x700 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x74 PUSH2 0x634 JUMP JUMPDEST PUSH20 0x5B38DA6A701C568545DCFCB03FCB875F56BEDDC4 DUP2 PUSH1 0x0 PUSH1 0xF DUP2 LT PUSH2 0x9D JUMPI PUSH2 0x9C PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0xAB8483F64D9C6D1ECF9B849AE677DD3315835CB2 DUP2 PUSH1 0x1 PUSH1 0xF DUP2 LT PUSH2 0xFD JUMPI PUSH2 0xFC PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0x4B20993BC481177EC7E8F571CECAE8A9E22C02DB DUP2 PUSH1 0x2 PUSH1 0xF DUP2 LT PUSH2 0x15D JUMPI PUSH2 0x15C PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0x78731D3CA6B7E34AC0F824C42A7CC18A495CABAB DUP2 PUSH1 0x3 PUSH1 0xF DUP2 LT PUSH2 0x1BD JUMPI PUSH2 0x1BC PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0x617F2E2FD72FD9D5503197092AC168C91465E7F2 DUP2 PUSH1 0x4 PUSH1 0xF DUP2 LT PUSH2 0x21D JUMPI PUSH2 0x21C PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0x17F6AD8EF982297579C203069C1DBFFE4348C372 DUP2 PUSH1 0x5 PUSH1 0xF DUP2 LT PUSH2 0x27D JUMPI PUSH2 0x27C PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0x5C6B0F7BF3E7CE046039BD8FABDFD3F9F5021678 DUP2 PUSH1 0x6 PUSH1 0xF DUP2 LT PUSH2 0x2DD JUMPI PUSH2 0x2DC PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0x3C6FCED478CBBC9A4FAB34EF9F40767739D1FF7 DUP2 PUSH1 0x7 PUSH1 0xF DUP2 LT PUSH2 0x33D JUMPI PUSH2 0x33C PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0x1AE0EA34A72D944A8C7603FFB3EC30A6669E454C DUP2 PUSH1 0x8 PUSH1 0xF DUP2 LT PUSH2 0x39D JUMPI PUSH2 0x39C PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0xA098EDA01CE92FF4A4CCB7A4FFFB5A43EBC70DC DUP2 PUSH1 0x9 PUSH1 0xF DUP2 LT PUSH2 0x3FD JUMPI PUSH2 0x3FC PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0xCA35B7D915458EF540ADE6068DFE2F44E8FA733C DUP2 PUSH1 0xA PUSH1 0xF DUP2 LT PUSH2 0x45D JUMPI PUSH2 0x45C PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0x14723A09ACFF6D2A60DCDF7AA4AFF308FDDC160C DUP2 PUSH1 0xB PUSH1 0xF DUP2 LT PUSH2 0x4BD JUMPI PUSH2 0x4BC PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0x4B0897B0513FDC7C541B6D9D7E929C4E5364D2DB DUP2 PUSH1 0xC PUSH1 0xF DUP2 LT PUSH2 0x51D JUMPI PUSH2 0x51C PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0x583031D1113AD414F02576BD6AFABFB302140225 DUP2 PUSH1 0xD PUSH1 0xF DUP2 LT PUSH2 0x57D JUMPI PUSH2 0x57C PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0xDD870FA1B7C4700F2BD7F44238821C26F7392148 DUP2 PUSH1 0xE PUSH1 0xF DUP2 LT PUSH2 0x5DD JUMPI PUSH2 0x5DC PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP DUP1 DUP4 PUSH1 0xF DUP2 LT PUSH2 0x627 JUMPI PUSH2 0x626 PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD MLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x1E0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xF SWAP1 PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x66F DUP2 PUSH2 0x65C JUMP JUMPDEST DUP2 EQ PUSH2 0x67A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x68C DUP2 PUSH2 0x666 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6A8 JUMPI PUSH2 0x6A7 PUSH2 0x657 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x6B6 DUP5 DUP3 DUP6 ADD PUSH2 0x67D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6EA DUP3 PUSH2 0x6BF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6FA DUP2 PUSH2 0x6DF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x715 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x6F1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP16 MSTORE 0xD2 LOG0 CALLER 0xDD SHR INVALID AND INVALID 0xE9 0xD8 COINBASE EXTCODEHASH 0xEF BALANCE GASLIMIT 0xEB 0xF PUSH4 0xAFF35CC8 PUSH21 0xA99401F9AD43BC64736F6C63430008120033000000 ",
"sourceMap": "71:1079:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@getAccount_131": {
"entryPoint": 106,
"id": 131,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 1661,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 1682,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack_library": {
"entryPoint": 1777,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_library_reversed": {
"entryPoint": 1792,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 1759,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 1727,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 1628,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x32": {
"entryPoint": 1819,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 1623,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 1638,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1818:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:4",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:4",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:4"
},
"nodeType": "YulFunctionCall",
"src": "67:9:4"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:4"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:4",
"type": ""
}
],
"src": "7:75:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:4"
},
"nodeType": "YulFunctionCall",
"src": "187:12:4"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:4"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:4"
},
"nodeType": "YulFunctionCall",
"src": "310:12:4"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:4"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:32:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:16:4",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "400:5:4"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:4"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:4",
"type": ""
}
],
"src": "334:77:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "460:79:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "517:16:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "526:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "529:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "519:6:4"
},
"nodeType": "YulFunctionCall",
"src": "519:12:4"
},
"nodeType": "YulExpressionStatement",
"src": "519:12:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "483:5:4"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "508:5:4"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "490:17:4"
},
"nodeType": "YulFunctionCall",
"src": "490:24:4"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "480:2:4"
},
"nodeType": "YulFunctionCall",
"src": "480:35:4"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "473:6:4"
},
"nodeType": "YulFunctionCall",
"src": "473:43:4"
},
"nodeType": "YulIf",
"src": "470:63:4"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "453:5:4",
"type": ""
}
],
"src": "417:122:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "597:87:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "607:29:4",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "629:6:4"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "616:12:4"
},
"nodeType": "YulFunctionCall",
"src": "616:20:4"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "607:5:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "672:5:4"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "645:26:4"
},
"nodeType": "YulFunctionCall",
"src": "645:33:4"
},
"nodeType": "YulExpressionStatement",
"src": "645:33:4"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "575:6:4",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "583:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "591:5:4",
"type": ""
}
],
"src": "545:139:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "756:263:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "802:83:4",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "804:77:4"
},
"nodeType": "YulFunctionCall",
"src": "804:79:4"
},
"nodeType": "YulExpressionStatement",
"src": "804:79:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "777:7:4"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "786:9:4"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "773:3:4"
},
"nodeType": "YulFunctionCall",
"src": "773:23:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "798:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "769:3:4"
},
"nodeType": "YulFunctionCall",
"src": "769:32:4"
},
"nodeType": "YulIf",
"src": "766:119:4"
},
{
"nodeType": "YulBlock",
"src": "895:117:4",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "910:15:4",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "924:1:4",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "914:6:4",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "939:63:4",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "974:9:4"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "985:6:4"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "970:3:4"
},
"nodeType": "YulFunctionCall",
"src": "970:22:4"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "994:7:4"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "949:20:4"
},
"nodeType": "YulFunctionCall",
"src": "949:53:4"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "939:6:4"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "726:9:4",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "737:7:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "749:6:4",
"type": ""
}
],
"src": "690:329:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1070:81:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1080:65:4",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1095:5:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1102:42:4",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1091:3:4"
},
"nodeType": "YulFunctionCall",
"src": "1091:54:4"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1080:7:4"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1052:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1062:7:4",
"type": ""
}
],
"src": "1025:126:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1202:51:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1212:35:4",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1241:5:4"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "1223:17:4"
},
"nodeType": "YulFunctionCall",
"src": "1223:24:4"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1212:7:4"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1184:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1194:7:4",
"type": ""
}
],
"src": "1157:96:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1332:53:4",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1349:3:4"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1372:5:4"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "1354:17:4"
},
"nodeType": "YulFunctionCall",
"src": "1354:24:4"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1342:6:4"
},
"nodeType": "YulFunctionCall",
"src": "1342:37:4"
},
"nodeType": "YulExpressionStatement",
"src": "1342:37:4"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack_library",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1320:5:4",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1327:3:4",
"type": ""
}
],
"src": "1259:126:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1497:132:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1507:26:4",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1519:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1530:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1515:3:4"
},
"nodeType": "YulFunctionCall",
"src": "1515:18:4"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1507:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1595:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1608:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1619:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1604:3:4"
},
"nodeType": "YulFunctionCall",
"src": "1604:17:4"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack_library",
"nodeType": "YulIdentifier",
"src": "1543:51:4"
},
"nodeType": "YulFunctionCall",
"src": "1543:79:4"
},
"nodeType": "YulExpressionStatement",
"src": "1543:79:4"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_library_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1469:9:4",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1481:6:4",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1492:4:4",
"type": ""
}
],
"src": "1391:238:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1663:152:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1680:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1683:77:4",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1673:6:4"
},
"nodeType": "YulFunctionCall",
"src": "1673:88:4"
},
"nodeType": "YulExpressionStatement",
"src": "1673:88:4"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1777:1:4",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1780:4:4",
"type": "",
"value": "0x32"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1770:6:4"
},
"nodeType": "YulFunctionCall",
"src": "1770:15:4"
},
"nodeType": "YulExpressionStatement",
"src": "1770:15:4"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1801:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1804:4:4",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1794:6:4"
},
"nodeType": "YulFunctionCall",
"src": "1794:15:4"
},
"nodeType": "YulExpressionStatement",
"src": "1794:15:4"
}
]
},
"name": "panic_error_0x32",
"nodeType": "YulFunctionDefinition",
"src": "1635:180:4"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack_library(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_library_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack_library(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n}\n",
"id": 4,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063ce88b1451461003a575b600080fd5b610054600480360381019061004f9190610692565b61006a565b6040516100619190610700565b60405180910390f35b6000610074610634565b735b38da6a701c568545dcfcb03fcb875f56beddc4816000600f811061009d5761009c61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073ab8483f64d9c6d1ecf9b849ae677dd3315835cb2816001600f81106100fd576100fc61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050734b20993bc481177ec7e8f571cecae8a9e22c02db816002600f811061015d5761015c61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507378731d3ca6b7e34ac0f824c42a7cc18a495cabab816003600f81106101bd576101bc61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073617f2e2fd72fd9d5503197092ac168c91465e7f2816004600f811061021d5761021c61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507317f6ad8ef982297579c203069c1dbffe4348c372816005600f811061027d5761027c61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050735c6b0f7bf3e7ce046039bd8fabdfd3f9f5021678816006600f81106102dd576102dc61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507303c6fced478cbbc9a4fab34ef9f40767739d1ff7816007600f811061033d5761033c61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050731ae0ea34a72d944a8c7603ffb3ec30a6669e454c816008600f811061039d5761039c61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050730a098eda01ce92ff4a4ccb7a4fffb5a43ebc70dc816009600f81106103fd576103fc61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073ca35b7d915458ef540ade6068dfe2f44e8fa733c81600a600f811061045d5761045c61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507314723a09acff6d2a60dcdf7aa4aff308fddc160c81600b600f81106104bd576104bc61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050734b0897b0513fdc7c541b6d9d7e929c4e5364d2db81600c600f811061051d5761051c61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073583031d1113ad414f02576bd6afabfb30214022581600d600f811061057d5761057c61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073dd870fa1b7c4700f2bd7f44238821c26f739214881600e600f81106105dd576105dc61071b565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508083600f81106106275761062661071b565b5b6020020151915050919050565b604051806101e00160405280600f90602082028036833780820191505090505090565b600080fd5b6000819050919050565b61066f8161065c565b811461067a57600080fd5b50565b60008135905061068c81610666565b92915050565b6000602082840312156106a8576106a7610657565b5b60006106b68482850161067d565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006106ea826106bf565b9050919050565b6106fa816106df565b82525050565b600060208201905061071560008301846106f1565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea26469706673582212209f52d2a033dd1cfe16fee9d8413fef3145eb0f63aff35cc874a99401f9ad43bc64736f6c63430008120033",
"opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x35 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xCE88B145 EQ PUSH2 0x3A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x54 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4F SWAP2 SWAP1 PUSH2 0x692 JUMP JUMPDEST PUSH2 0x6A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x61 SWAP2 SWAP1 PUSH2 0x700 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x74 PUSH2 0x634 JUMP JUMPDEST PUSH20 0x5B38DA6A701C568545DCFCB03FCB875F56BEDDC4 DUP2 PUSH1 0x0 PUSH1 0xF DUP2 LT PUSH2 0x9D JUMPI PUSH2 0x9C PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0xAB8483F64D9C6D1ECF9B849AE677DD3315835CB2 DUP2 PUSH1 0x1 PUSH1 0xF DUP2 LT PUSH2 0xFD JUMPI PUSH2 0xFC PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0x4B20993BC481177EC7E8F571CECAE8A9E22C02DB DUP2 PUSH1 0x2 PUSH1 0xF DUP2 LT PUSH2 0x15D JUMPI PUSH2 0x15C PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0x78731D3CA6B7E34AC0F824C42A7CC18A495CABAB DUP2 PUSH1 0x3 PUSH1 0xF DUP2 LT PUSH2 0x1BD JUMPI PUSH2 0x1BC PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0x617F2E2FD72FD9D5503197092AC168C91465E7F2 DUP2 PUSH1 0x4 PUSH1 0xF DUP2 LT PUSH2 0x21D JUMPI PUSH2 0x21C PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0x17F6AD8EF982297579C203069C1DBFFE4348C372 DUP2 PUSH1 0x5 PUSH1 0xF DUP2 LT PUSH2 0x27D JUMPI PUSH2 0x27C PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0x5C6B0F7BF3E7CE046039BD8FABDFD3F9F5021678 DUP2 PUSH1 0x6 PUSH1 0xF DUP2 LT PUSH2 0x2DD JUMPI PUSH2 0x2DC PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0x3C6FCED478CBBC9A4FAB34EF9F40767739D1FF7 DUP2 PUSH1 0x7 PUSH1 0xF DUP2 LT PUSH2 0x33D JUMPI PUSH2 0x33C PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0x1AE0EA34A72D944A8C7603FFB3EC30A6669E454C DUP2 PUSH1 0x8 PUSH1 0xF DUP2 LT PUSH2 0x39D JUMPI PUSH2 0x39C PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0xA098EDA01CE92FF4A4CCB7A4FFFB5A43EBC70DC DUP2 PUSH1 0x9 PUSH1 0xF DUP2 LT PUSH2 0x3FD JUMPI PUSH2 0x3FC PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0xCA35B7D915458EF540ADE6068DFE2F44E8FA733C DUP2 PUSH1 0xA PUSH1 0xF DUP2 LT PUSH2 0x45D JUMPI PUSH2 0x45C PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0x14723A09ACFF6D2A60DCDF7AA4AFF308FDDC160C DUP2 PUSH1 0xB PUSH1 0xF DUP2 LT PUSH2 0x4BD JUMPI PUSH2 0x4BC PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0x4B0897B0513FDC7C541B6D9D7E929C4E5364D2DB DUP2 PUSH1 0xC PUSH1 0xF DUP2 LT PUSH2 0x51D JUMPI PUSH2 0x51C PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0x583031D1113AD414F02576BD6AFABFB302140225 DUP2 PUSH1 0xD PUSH1 0xF DUP2 LT PUSH2 0x57D JUMPI PUSH2 0x57C PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH20 0xDD870FA1B7C4700F2BD7F44238821C26F7392148 DUP2 PUSH1 0xE PUSH1 0xF DUP2 LT PUSH2 0x5DD JUMPI PUSH2 0x5DC PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP DUP1 DUP4 PUSH1 0xF DUP2 LT PUSH2 0x627 JUMPI PUSH2 0x626 PUSH2 0x71B JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD MLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x1E0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xF SWAP1 PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x66F DUP2 PUSH2 0x65C JUMP JUMPDEST DUP2 EQ PUSH2 0x67A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x68C DUP2 PUSH2 0x666 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6A8 JUMPI PUSH2 0x6A7 PUSH2 0x657 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x6B6 DUP5 DUP3 DUP6 ADD PUSH2 0x67D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6EA DUP3 PUSH2 0x6BF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6FA DUP2 PUSH2 0x6DF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x715 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x6F1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP16 MSTORE 0xD2 LOG0 CALLER 0xDD SHR INVALID AND INVALID 0xE9 0xD8 COINBASE EXTCODEHASH 0xEF BALANCE GASLIMIT 0xEB 0xF PUSH4 0xAFF35CC8 PUSH21 0xA99401F9AD43BC64736F6C63430008120033000000 ",
"sourceMap": "71:1079:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;99:1049;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;152:7;171:27;;:::i;:::-;216:42;202:8;211:1;202:11;;;;;;;:::i;:::-;;;;;:56;;;;;;;;;;;277:42;263:8;272:1;263:11;;;;;;;:::i;:::-;;;;;:56;;;;;;;;;;;338:42;324:8;333:1;324:11;;;;;;;:::i;:::-;;;;;:56;;;;;;;;;;;399:42;385:8;394:1;385:11;;;;;;;:::i;:::-;;;;;:56;;;;;;;;;;;460:42;446:8;455:1;446:11;;;;;;;:::i;:::-;;;;;:56;;;;;;;;;;;521:42;507:8;516:1;507:11;;;;;;;:::i;:::-;;;;;:56;;;;;;;;;;;582:42;568:8;577:1;568:11;;;;;;;:::i;:::-;;;;;:56;;;;;;;;;;;643:42;629:8;638:1;629:11;;;;;;;:::i;:::-;;;;;:56;;;;;;;;;;;704:42;690:8;699:1;690:11;;;;;;;:::i;:::-;;;;;:56;;;;;;;;;;;765:42;751:8;760:1;751:11;;;;;;;:::i;:::-;;;;;:56;;;;;;;;;;;827:42;812:8;821:2;812:12;;;;;;;:::i;:::-;;;;;:57;;;;;;;;;;;889:42;874:8;883:2;874:12;;;;;;;:::i;:::-;;;;;:57;;;;;;;;;;;951:42;936:8;945:2;936:12;;;;;;;:::i;:::-;;;;;:57;;;;;;;;;;;1013:42;998:8;1007:2;998:12;;;;;;;:::i;:::-;;;;;:57;;;;;;;;;;;1075:42;1060:8;1069:2;1060:12;;;;;;;:::i;:::-;;;;;:57;;;;;;;;;;;1126:8;1135:5;1126:15;;;;;;;:::i;:::-;;;;;;1119:22;;;99:1049;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;88:117:4:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:126::-;1062:7;1102:42;1095:5;1091:54;1080:65;;1025:126;;;:::o;1157:96::-;1194:7;1223:24;1241:5;1223:24;:::i;:::-;1212:35;;1157:96;;;:::o;1259:126::-;1354:24;1372:5;1354:24;:::i;:::-;1349:3;1342:37;1259:126;;:::o;1391:238::-;1492:4;1530:2;1519:9;1515:18;1507:26;;1543:79;1619:1;1608:9;1604:17;1595:6;1543:79;:::i;:::-;1391:238;;;;:::o;1635:180::-;1683:77;1680:1;1673:88;1780:4;1777:1;1770:15;1804:4;1801:1;1794:15"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "384000",
"executionCost": "446",
"totalCost": "384446"
},
"external": {
"getAccount(uint256)": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 71,
"end": 1150,
"name": "PUSH #[$]",
"source": 1,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 71,
"end": 1150,
"name": "PUSH [$]",
"source": 1,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 71,
"end": 1150,
"name": "PUSH",
"source": 1,
"value": "B"
},
{
"begin": 71,
"end": 1150,
"name": "DUP3",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "DUP3",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "DUP3",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "CODECOPY",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "DUP1",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "MLOAD",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 71,
"end": 1150,
"name": "BYTE",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "PUSH",
"source": 1,
"value": "73"
},
{
"begin": 71,
"end": 1150,
"name": "EQ",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "PUSH [tag]",
"source": 1,
"value": "1"
},
{
"begin": 71,
"end": 1150,
"name": "JUMPI",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 71,
"end": 1150,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 71,
"end": 1150,
"name": "MSTORE",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 71,
"end": 1150,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 71,
"end": 1150,
"name": "MSTORE",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 71,
"end": 1150,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 71,
"end": 1150,
"name": "REVERT",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "tag",
"source": 1,
"value": "1"
},
{
"begin": 71,
"end": 1150,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "ADDRESS",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 71,
"end": 1150,
"name": "MSTORE",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "PUSH",
"source": 1,
"value": "73"
},
{
"begin": 71,
"end": 1150,
"name": "DUP2",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "MSTORE8",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "DUP3",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "DUP2",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "RETURN",
"source": 1
}
],
".data": {
"0": {
".auxdata": "a26469706673582212209f52d2a033dd1cfe16fee9d8413fef3145eb0f63aff35cc874a99401f9ad43bc64736f6c63430008120033",
".code": [
{
"begin": 71,
"end": 1150,
"name": "PUSHDEPLOYADDRESS",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "ADDRESS",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "EQ",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "PUSH",
"source": 1,
"value": "80"
},
{
"begin": 71,
"end": 1150,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 71,
"end": 1150,
"name": "MSTORE",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 71,
"end": 1150,
"name": "CALLDATASIZE",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "LT",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "PUSH [tag]",
"source": 1,
"value": "1"
},
{
"begin": 71,
"end": 1150,
"name": "JUMPI",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 71,
"end": 1150,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "PUSH",
"source": 1,
"value": "E0"
},
{
"begin": 71,
"end": 1150,
"name": "SHR",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "DUP1",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "PUSH",
"source": 1,
"value": "CE88B145"
},
{
"begin": 71,
"end": 1150,
"name": "EQ",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "PUSH [tag]",
"source": 1,
"value": "2"
},
{
"begin": 71,
"end": 1150,
"name": "JUMPI",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "tag",
"source": 1,
"value": "1"
},
{
"begin": 71,
"end": 1150,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 71,
"end": 1150,
"name": "DUP1",
"source": 1
},
{
"begin": 71,
"end": 1150,
"name": "REVERT",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "tag",
"source": 1,
"value": "2"
},
{
"begin": 99,
"end": 1148,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "PUSH [tag]",
"source": 1,
"value": "3"
},
{
"begin": 99,
"end": 1148,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 99,
"end": 1148,
"name": "DUP1",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "CALLDATASIZE",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "SUB",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "DUP2",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "ADD",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "SWAP1",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "PUSH [tag]",
"source": 1,
"value": "4"
},
{
"begin": 99,
"end": 1148,
"name": "SWAP2",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "SWAP1",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "PUSH [tag]",
"source": 1,
"value": "5"
},
{
"begin": 99,
"end": 1148,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "tag",
"source": 1,
"value": "4"
},
{
"begin": 99,
"end": 1148,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "PUSH [tag]",
"source": 1,
"value": "6"
},
{
"begin": 99,
"end": 1148,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "tag",
"source": 1,
"value": "3"
},
{
"begin": 99,
"end": 1148,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 99,
"end": 1148,
"name": "MLOAD",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "PUSH [tag]",
"source": 1,
"value": "7"
},
{
"begin": 99,
"end": 1148,
"name": "SWAP2",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "SWAP1",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "PUSH [tag]",
"source": 1,
"value": "8"
},
{
"begin": 99,
"end": 1148,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "tag",
"source": 1,
"value": "7"
},
{
"begin": 99,
"end": 1148,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 99,
"end": 1148,
"name": "MLOAD",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "DUP1",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "SWAP2",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "SUB",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "SWAP1",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "RETURN",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "tag",
"source": 1,
"value": "6"
},
{
"begin": 99,
"end": 1148,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 152,
"end": 159,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 171,
"end": 198,
"name": "PUSH [tag]",
"source": 1,
"value": "10"
},
{
"begin": 171,
"end": 198,
"name": "PUSH [tag]",
"source": 1,
"value": "11"
},
{
"begin": 171,
"end": 198,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 171,
"end": 198,
"name": "tag",
"source": 1,
"value": "10"
},
{
"begin": 171,
"end": 198,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 216,
"end": 258,
"name": "PUSH",
"source": 1,
"value": "5B38DA6A701C568545DCFCB03FCB875F56BEDDC4"
},
{
"begin": 202,
"end": 210,
"name": "DUP2",
"source": 1
},
{
"begin": 211,
"end": 212,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 202,
"end": 213,
"name": "PUSH",
"source": 1,
"value": "F"
},
{
"begin": 202,
"end": 213,
"name": "DUP2",
"source": 1
},
{
"begin": 202,
"end": 213,
"name": "LT",
"source": 1
},
{
"begin": 202,
"end": 213,
"name": "PUSH [tag]",
"source": 1,
"value": "12"
},
{
"begin": 202,
"end": 213,
"name": "JUMPI",
"source": 1
},
{
"begin": 202,
"end": 213,
"name": "PUSH [tag]",
"source": 1,
"value": "13"
},
{
"begin": 202,
"end": 213,
"name": "PUSH [tag]",
"source": 1,
"value": "14"
},
{
"begin": 202,
"end": 213,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 202,
"end": 213,
"name": "tag",
"source": 1,
"value": "13"
},
{
"begin": 202,
"end": 213,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 202,
"end": 213,
"name": "tag",
"source": 1,
"value": "12"
},
{
"begin": 202,
"end": 213,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 202,
"end": 213,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 202,
"end": 213,
"name": "MUL",
"source": 1
},
{
"begin": 202,
"end": 213,
"name": "ADD",
"source": 1
},
{
"begin": 202,
"end": 258,
"name": "SWAP1",
"source": 1
},
{
"begin": 202,
"end": 258,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 202,
"end": 258,
"name": "AND",
"source": 1
},
{
"begin": 202,
"end": 258,
"name": "SWAP1",
"source": 1
},
{
"begin": 202,
"end": 258,
"name": "DUP2",
"source": 1
},
{
"begin": 202,
"end": 258,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 202,
"end": 258,
"name": "AND",
"source": 1
},
{
"begin": 202,
"end": 258,
"name": "DUP2",
"source": 1
},
{
"begin": 202,
"end": 258,
"name": "MSTORE",
"source": 1
},
{
"begin": 202,
"end": 258,
"name": "POP",
"source": 1
},
{
"begin": 202,
"end": 258,
"name": "POP",
"source": 1
},
{
"begin": 277,
"end": 319,
"name": "PUSH",
"source": 1,
"value": "AB8483F64D9C6D1ECF9B849AE677DD3315835CB2"
},
{
"begin": 263,
"end": 271,
"name": "DUP2",
"source": 1
},
{
"begin": 272,
"end": 273,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 263,
"end": 274,
"name": "PUSH",
"source": 1,
"value": "F"
},
{
"begin": 263,
"end": 274,
"name": "DUP2",
"source": 1
},
{
"begin": 263,
"end": 274,
"name": "LT",
"source": 1
},
{
"begin": 263,
"end": 274,
"name": "PUSH [tag]",
"source": 1,
"value": "15"
},
{
"begin": 263,
"end": 274,
"name": "JUMPI",
"source": 1
},
{
"begin": 263,
"end": 274,
"name": "PUSH [tag]",
"source": 1,
"value": "16"
},
{
"begin": 263,
"end": 274,
"name": "PUSH [tag]",
"source": 1,
"value": "14"
},
{
"begin": 263,
"end": 274,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 263,
"end": 274,
"name": "tag",
"source": 1,
"value": "16"
},
{
"begin": 263,
"end": 274,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 263,
"end": 274,
"name": "tag",
"source": 1,
"value": "15"
},
{
"begin": 263,
"end": 274,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 263,
"end": 274,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 263,
"end": 274,
"name": "MUL",
"source": 1
},
{
"begin": 263,
"end": 274,
"name": "ADD",
"source": 1
},
{
"begin": 263,
"end": 319,
"name": "SWAP1",
"source": 1
},
{
"begin": 263,
"end": 319,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 263,
"end": 319,
"name": "AND",
"source": 1
},
{
"begin": 263,
"end": 319,
"name": "SWAP1",
"source": 1
},
{
"begin": 263,
"end": 319,
"name": "DUP2",
"source": 1
},
{
"begin": 263,
"end": 319,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 263,
"end": 319,
"name": "AND",
"source": 1
},
{
"begin": 263,
"end": 319,
"name": "DUP2",
"source": 1
},
{
"begin": 263,
"end": 319,
"name": "MSTORE",
"source": 1
},
{
"begin": 263,
"end": 319,
"name": "POP",
"source": 1
},
{
"begin": 263,
"end": 319,
"name": "POP",
"source": 1
},
{
"begin": 338,
"end": 380,
"name": "PUSH",
"source": 1,
"value": "4B20993BC481177EC7E8F571CECAE8A9E22C02DB"
},
{
"begin": 324,
"end": 332,
"name": "DUP2",
"source": 1
},
{
"begin": 333,
"end": 334,
"name": "PUSH",
"source": 1,
"value": "2"
},
{
"begin": 324,
"end": 335,
"name": "PUSH",
"source": 1,
"value": "F"
},
{
"begin": 324,
"end": 335,
"name": "DUP2",
"source": 1
},
{
"begin": 324,
"end": 335,
"name": "LT",
"source": 1
},
{
"begin": 324,
"end": 335,
"name": "PUSH [tag]",
"source": 1,
"value": "17"
},
{
"begin": 324,
"end": 335,
"name": "JUMPI",
"source": 1
},
{
"begin": 324,
"end": 335,
"name": "PUSH [tag]",
"source": 1,
"value": "18"
},
{
"begin": 324,
"end": 335,
"name": "PUSH [tag]",
"source": 1,
"value": "14"
},
{
"begin": 324,
"end": 335,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 324,
"end": 335,
"name": "tag",
"source": 1,
"value": "18"
},
{
"begin": 324,
"end": 335,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 324,
"end": 335,
"name": "tag",
"source": 1,
"value": "17"
},
{
"begin": 324,
"end": 335,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 324,
"end": 335,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 324,
"end": 335,
"name": "MUL",
"source": 1
},
{
"begin": 324,
"end": 335,
"name": "ADD",
"source": 1
},
{
"begin": 324,
"end": 380,
"name": "SWAP1",
"source": 1
},
{
"begin": 324,
"end": 380,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 324,
"end": 380,
"name": "AND",
"source": 1
},
{
"begin": 324,
"end": 380,
"name": "SWAP1",
"source": 1
},
{
"begin": 324,
"end": 380,
"name": "DUP2",
"source": 1
},
{
"begin": 324,
"end": 380,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 324,
"end": 380,
"name": "AND",
"source": 1
},
{
"begin": 324,
"end": 380,
"name": "DUP2",
"source": 1
},
{
"begin": 324,
"end": 380,
"name": "MSTORE",
"source": 1
},
{
"begin": 324,
"end": 380,
"name": "POP",
"source": 1
},
{
"begin": 324,
"end": 380,
"name": "POP",
"source": 1
},
{
"begin": 399,
"end": 441,
"name": "PUSH",
"source": 1,
"value": "78731D3CA6B7E34AC0F824C42A7CC18A495CABAB"
},
{
"begin": 385,
"end": 393,
"name": "DUP2",
"source": 1
},
{
"begin": 394,
"end": 395,
"name": "PUSH",
"source": 1,
"value": "3"
},
{
"begin": 385,
"end": 396,
"name": "PUSH",
"source": 1,
"value": "F"
},
{
"begin": 385,
"end": 396,
"name": "DUP2",
"source": 1
},
{
"begin": 385,
"end": 396,
"name": "LT",
"source": 1
},
{
"begin": 385,
"end": 396,
"name": "PUSH [tag]",
"source": 1,
"value": "19"
},
{
"begin": 385,
"end": 396,
"name": "JUMPI",
"source": 1
},
{
"begin": 385,
"end": 396,
"name": "PUSH [tag]",
"source": 1,
"value": "20"
},
{
"begin": 385,
"end": 396,
"name": "PUSH [tag]",
"source": 1,
"value": "14"
},
{
"begin": 385,
"end": 396,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 385,
"end": 396,
"name": "tag",
"source": 1,
"value": "20"
},
{
"begin": 385,
"end": 396,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 385,
"end": 396,
"name": "tag",
"source": 1,
"value": "19"
},
{
"begin": 385,
"end": 396,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 385,
"end": 396,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 385,
"end": 396,
"name": "MUL",
"source": 1
},
{
"begin": 385,
"end": 396,
"name": "ADD",
"source": 1
},
{
"begin": 385,
"end": 441,
"name": "SWAP1",
"source": 1
},
{
"begin": 385,
"end": 441,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 385,
"end": 441,
"name": "AND",
"source": 1
},
{
"begin": 385,
"end": 441,
"name": "SWAP1",
"source": 1
},
{
"begin": 385,
"end": 441,
"name": "DUP2",
"source": 1
},
{
"begin": 385,
"end": 441,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 385,
"end": 441,
"name": "AND",
"source": 1
},
{
"begin": 385,
"end": 441,
"name": "DUP2",
"source": 1
},
{
"begin": 385,
"end": 441,
"name": "MSTORE",
"source": 1
},
{
"begin": 385,
"end": 441,
"name": "POP",
"source": 1
},
{
"begin": 385,
"end": 441,
"name": "POP",
"source": 1
},
{
"begin": 460,
"end": 502,
"name": "PUSH",
"source": 1,
"value": "617F2E2FD72FD9D5503197092AC168C91465E7F2"
},
{
"begin": 446,
"end": 454,
"name": "DUP2",
"source": 1
},
{
"begin": 455,
"end": 456,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 446,
"end": 457,
"name": "PUSH",
"source": 1,
"value": "F"
},
{
"begin": 446,
"end": 457,
"name": "DUP2",
"source": 1
},
{
"begin": 446,
"end": 457,
"name": "LT",
"source": 1
},
{
"begin": 446,
"end": 457,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 446,
"end": 457,
"name": "JUMPI",
"source": 1
},
{
"begin": 446,
"end": 457,
"name": "PUSH [tag]",
"source": 1,
"value": "22"
},
{
"begin": 446,
"end": 457,
"name": "PUSH [tag]",
"source": 1,
"value": "14"
},
{
"begin": 446,
"end": 457,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 446,
"end": 457,
"name": "tag",
"source": 1,
"value": "22"
},
{
"begin": 446,
"end": 457,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 446,
"end": 457,
"name": "tag",
"source": 1,
"value": "21"
},
{
"begin": 446,
"end": 457,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 446,
"end": 457,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 446,
"end": 457,
"name": "MUL",
"source": 1
},
{
"begin": 446,
"end": 457,
"name": "ADD",
"source": 1
},
{
"begin": 446,
"end": 502,
"name": "SWAP1",
"source": 1
},
{
"begin": 446,
"end": 502,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 446,
"end": 502,
"name": "AND",
"source": 1
},
{
"begin": 446,
"end": 502,
"name": "SWAP1",
"source": 1
},
{
"begin": 446,
"end": 502,
"name": "DUP2",
"source": 1
},
{
"begin": 446,
"end": 502,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 446,
"end": 502,
"name": "AND",
"source": 1
},
{
"begin": 446,
"end": 502,
"name": "DUP2",
"source": 1
},
{
"begin": 446,
"end": 502,
"name": "MSTORE",
"source": 1
},
{
"begin": 446,
"end": 502,
"name": "POP",
"source": 1
},
{
"begin": 446,
"end": 502,
"name": "POP",
"source": 1
},
{
"begin": 521,
"end": 563,
"name": "PUSH",
"source": 1,
"value": "17F6AD8EF982297579C203069C1DBFFE4348C372"
},
{
"begin": 507,
"end": 515,
"name": "DUP2",
"source": 1
},
{
"begin": 516,
"end": 517,
"name": "PUSH",
"source": 1,
"value": "5"
},
{
"begin": 507,
"end": 518,
"name": "PUSH",
"source": 1,
"value": "F"
},
{
"begin": 507,
"end": 518,
"name": "DUP2",
"source": 1
},
{
"begin": 507,
"end": 518,
"name": "LT",
"source": 1
},
{
"begin": 507,
"end": 518,
"name": "PUSH [tag]",
"source": 1,
"value": "23"
},
{
"begin": 507,
"end": 518,
"name": "JUMPI",
"source": 1
},
{
"begin": 507,
"end": 518,
"name": "PUSH [tag]",
"source": 1,
"value": "24"
},
{
"begin": 507,
"end": 518,
"name": "PUSH [tag]",
"source": 1,
"value": "14"
},
{
"begin": 507,
"end": 518,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 507,
"end": 518,
"name": "tag",
"source": 1,
"value": "24"
},
{
"begin": 507,
"end": 518,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 507,
"end": 518,
"name": "tag",
"source": 1,
"value": "23"
},
{
"begin": 507,
"end": 518,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 507,
"end": 518,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 507,
"end": 518,
"name": "MUL",
"source": 1
},
{
"begin": 507,
"end": 518,
"name": "ADD",
"source": 1
},
{
"begin": 507,
"end": 563,
"name": "SWAP1",
"source": 1
},
{
"begin": 507,
"end": 563,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 507,
"end": 563,
"name": "AND",
"source": 1
},
{
"begin": 507,
"end": 563,
"name": "SWAP1",
"source": 1
},
{
"begin": 507,
"end": 563,
"name": "DUP2",
"source": 1
},
{
"begin": 507,
"end": 563,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 507,
"end": 563,
"name": "AND",
"source": 1
},
{
"begin": 507,
"end": 563,
"name": "DUP2",
"source": 1
},
{
"begin": 507,
"end": 563,
"name": "MSTORE",
"source": 1
},
{
"begin": 507,
"end": 563,
"name": "POP",
"source": 1
},
{
"begin": 507,
"end": 563,
"name": "POP",
"source": 1
},
{
"begin": 582,
"end": 624,
"name": "PUSH",
"source": 1,
"value": "5C6B0F7BF3E7CE046039BD8FABDFD3F9F5021678"
},
{
"begin": 568,
"end": 576,
"name": "DUP2",
"source": 1
},
{
"begin": 577,
"end": 578,
"name": "PUSH",
"source": 1,
"value": "6"
},
{
"begin": 568,
"end": 579,
"name": "PUSH",
"source": 1,
"value": "F"
},
{
"begin": 568,
"end": 579,
"name": "DUP2",
"source": 1
},
{
"begin": 568,
"end": 579,
"name": "LT",
"source": 1
},
{
"begin": 568,
"end": 579,
"name": "PUSH [tag]",
"source": 1,
"value": "25"
},
{
"begin": 568,
"end": 579,
"name": "JUMPI",
"source": 1
},
{
"begin": 568,
"end": 579,
"name": "PUSH [tag]",
"source": 1,
"value": "26"
},
{
"begin": 568,
"end": 579,
"name": "PUSH [tag]",
"source": 1,
"value": "14"
},
{
"begin": 568,
"end": 579,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 568,
"end": 579,
"name": "tag",
"source": 1,
"value": "26"
},
{
"begin": 568,
"end": 579,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 568,
"end": 579,
"name": "tag",
"source": 1,
"value": "25"
},
{
"begin": 568,
"end": 579,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 568,
"end": 579,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 568,
"end": 579,
"name": "MUL",
"source": 1
},
{
"begin": 568,
"end": 579,
"name": "ADD",
"source": 1
},
{
"begin": 568,
"end": 624,
"name": "SWAP1",
"source": 1
},
{
"begin": 568,
"end": 624,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 568,
"end": 624,
"name": "AND",
"source": 1
},
{
"begin": 568,
"end": 624,
"name": "SWAP1",
"source": 1
},
{
"begin": 568,
"end": 624,
"name": "DUP2",
"source": 1
},
{
"begin": 568,
"end": 624,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 568,
"end": 624,
"name": "AND",
"source": 1
},
{
"begin": 568,
"end": 624,
"name": "DUP2",
"source": 1
},
{
"begin": 568,
"end": 624,
"name": "MSTORE",
"source": 1
},
{
"begin": 568,
"end": 624,
"name": "POP",
"source": 1
},
{
"begin": 568,
"end": 624,
"name": "POP",
"source": 1
},
{
"begin": 643,
"end": 685,
"name": "PUSH",
"source": 1,
"value": "3C6FCED478CBBC9A4FAB34EF9F40767739D1FF7"
},
{
"begin": 629,
"end": 637,
"name": "DUP2",
"source": 1
},
{
"begin": 638,
"end": 639,
"name": "PUSH",
"source": 1,
"value": "7"
},
{
"begin": 629,
"end": 640,
"name": "PUSH",
"source": 1,
"value": "F"
},
{
"begin": 629,
"end": 640,
"name": "DUP2",
"source": 1
},
{
"begin": 629,
"end": 640,
"name": "LT",
"source": 1
},
{
"begin": 629,
"end": 640,
"name": "PUSH [tag]",
"source": 1,
"value": "27"
},
{
"begin": 629,
"end": 640,
"name": "JUMPI",
"source": 1
},
{
"begin": 629,
"end": 640,
"name": "PUSH [tag]",
"source": 1,
"value": "28"
},
{
"begin": 629,
"end": 640,
"name": "PUSH [tag]",
"source": 1,
"value": "14"
},
{
"begin": 629,
"end": 640,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 629,
"end": 640,
"name": "tag",
"source": 1,
"value": "28"
},
{
"begin": 629,
"end": 640,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 629,
"end": 640,
"name": "tag",
"source": 1,
"value": "27"
},
{
"begin": 629,
"end": 640,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 629,
"end": 640,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 629,
"end": 640,
"name": "MUL",
"source": 1
},
{
"begin": 629,
"end": 640,
"name": "ADD",
"source": 1
},
{
"begin": 629,
"end": 685,
"name": "SWAP1",
"source": 1
},
{
"begin": 629,
"end": 685,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 629,
"end": 685,
"name": "AND",
"source": 1
},
{
"begin": 629,
"end": 685,
"name": "SWAP1",
"source": 1
},
{
"begin": 629,
"end": 685,
"name": "DUP2",
"source": 1
},
{
"begin": 629,
"end": 685,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 629,
"end": 685,
"name": "AND",
"source": 1
},
{
"begin": 629,
"end": 685,
"name": "DUP2",
"source": 1
},
{
"begin": 629,
"end": 685,
"name": "MSTORE",
"source": 1
},
{
"begin": 629,
"end": 685,
"name": "POP",
"source": 1
},
{
"begin": 629,
"end": 685,
"name": "POP",
"source": 1
},
{
"begin": 704,
"end": 746,
"name": "PUSH",
"source": 1,
"value": "1AE0EA34A72D944A8C7603FFB3EC30A6669E454C"
},
{
"begin": 690,
"end": 698,
"name": "DUP2",
"source": 1
},
{
"begin": 699,
"end": 700,
"name": "PUSH",
"source": 1,
"value": "8"
},
{
"begin": 690,
"end": 701,
"name": "PUSH",
"source": 1,
"value": "F"
},
{
"begin": 690,
"end": 701,
"name": "DUP2",
"source": 1
},
{
"begin": 690,
"end": 701,
"name": "LT",
"source": 1
},
{
"begin": 690,
"end": 701,
"name": "PUSH [tag]",
"source": 1,
"value": "29"
},
{
"begin": 690,
"end": 701,
"name": "JUMPI",
"source": 1
},
{
"begin": 690,
"end": 701,
"name": "PUSH [tag]",
"source": 1,
"value": "30"
},
{
"begin": 690,
"end": 701,
"name": "PUSH [tag]",
"source": 1,
"value": "14"
},
{
"begin": 690,
"end": 701,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 690,
"end": 701,
"name": "tag",
"source": 1,
"value": "30"
},
{
"begin": 690,
"end": 701,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 690,
"end": 701,
"name": "tag",
"source": 1,
"value": "29"
},
{
"begin": 690,
"end": 701,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 690,
"end": 701,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 690,
"end": 701,
"name": "MUL",
"source": 1
},
{
"begin": 690,
"end": 701,
"name": "ADD",
"source": 1
},
{
"begin": 690,
"end": 746,
"name": "SWAP1",
"source": 1
},
{
"begin": 690,
"end": 746,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 690,
"end": 746,
"name": "AND",
"source": 1
},
{
"begin": 690,
"end": 746,
"name": "SWAP1",
"source": 1
},
{
"begin": 690,
"end": 746,
"name": "DUP2",
"source": 1
},
{
"begin": 690,
"end": 746,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 690,
"end": 746,
"name": "AND",
"source": 1
},
{
"begin": 690,
"end": 746,
"name": "DUP2",
"source": 1
},
{
"begin": 690,
"end": 746,
"name": "MSTORE",
"source": 1
},
{
"begin": 690,
"end": 746,
"name": "POP",
"source": 1
},
{
"begin": 690,
"end": 746,
"name": "POP",
"source": 1
},
{
"begin": 765,
"end": 807,
"name": "PUSH",
"source": 1,
"value": "A098EDA01CE92FF4A4CCB7A4FFFB5A43EBC70DC"
},
{
"begin": 751,
"end": 759,
"name": "DUP2",
"source": 1
},
{
"begin": 760,
"end": 761,
"name": "PUSH",
"source": 1,
"value": "9"
},
{
"begin": 751,
"end": 762,
"name": "PUSH",
"source": 1,
"value": "F"
},
{
"begin": 751,
"end": 762,
"name": "DUP2",
"source": 1
},
{
"begin": 751,
"end": 762,
"name": "LT",
"source": 1
},
{
"begin": 751,
"end": 762,
"name": "PUSH [tag]",
"source": 1,
"value": "31"
},
{
"begin": 751,
"end": 762,
"name": "JUMPI",
"source": 1
},
{
"begin": 751,
"end": 762,
"name": "PUSH [tag]",
"source": 1,
"value": "32"
},
{
"begin": 751,
"end": 762,
"name": "PUSH [tag]",
"source": 1,
"value": "14"
},
{
"begin": 751,
"end": 762,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 751,
"end": 762,
"name": "tag",
"source": 1,
"value": "32"
},
{
"begin": 751,
"end": 762,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 751,
"end": 762,
"name": "tag",
"source": 1,
"value": "31"
},
{
"begin": 751,
"end": 762,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 751,
"end": 762,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 751,
"end": 762,
"name": "MUL",
"source": 1
},
{
"begin": 751,
"end": 762,
"name": "ADD",
"source": 1
},
{
"begin": 751,
"end": 807,
"name": "SWAP1",
"source": 1
},
{
"begin": 751,
"end": 807,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 751,
"end": 807,
"name": "AND",
"source": 1
},
{
"begin": 751,
"end": 807,
"name": "SWAP1",
"source": 1
},
{
"begin": 751,
"end": 807,
"name": "DUP2",
"source": 1
},
{
"begin": 751,
"end": 807,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 751,
"end": 807,
"name": "AND",
"source": 1
},
{
"begin": 751,
"end": 807,
"name": "DUP2",
"source": 1
},
{
"begin": 751,
"end": 807,
"name": "MSTORE",
"source": 1
},
{
"begin": 751,
"end": 807,
"name": "POP",
"source": 1
},
{
"begin": 751,
"end": 807,
"name": "POP",
"source": 1
},
{
"begin": 827,
"end": 869,
"name": "PUSH",
"source": 1,
"value": "CA35B7D915458EF540ADE6068DFE2F44E8FA733C"
},
{
"begin": 812,
"end": 820,
"name": "DUP2",
"source": 1
},
{
"begin": 821,
"end": 823,
"name": "PUSH",
"source": 1,
"value": "A"
},
{
"begin": 812,
"end": 824,
"name": "PUSH",
"source": 1,
"value": "F"
},
{
"begin": 812,
"end": 824,
"name": "DUP2",
"source": 1
},
{
"begin": 812,
"end": 824,
"name": "LT",
"source": 1
},
{
"begin": 812,
"end": 824,
"name": "PUSH [tag]",
"source": 1,
"value": "33"
},
{
"begin": 812,
"end": 824,
"name": "JUMPI",
"source": 1
},
{
"begin": 812,
"end": 824,
"name": "PUSH [tag]",
"source": 1,
"value": "34"
},
{
"begin": 812,
"end": 824,
"name": "PUSH [tag]",
"source": 1,
"value": "14"
},
{
"begin": 812,
"end": 824,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 812,
"end": 824,
"name": "tag",
"source": 1,
"value": "34"
},
{
"begin": 812,
"end": 824,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 812,
"end": 824,
"name": "tag",
"source": 1,
"value": "33"
},
{
"begin": 812,
"end": 824,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 812,
"end": 824,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 812,
"end": 824,
"name": "MUL",
"source": 1
},
{
"begin": 812,
"end": 824,
"name": "ADD",
"source": 1
},
{
"begin": 812,
"end": 869,
"name": "SWAP1",
"source": 1
},
{
"begin": 812,
"end": 869,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 812,
"end": 869,
"name": "AND",
"source": 1
},
{
"begin": 812,
"end": 869,
"name": "SWAP1",
"source": 1
},
{
"begin": 812,
"end": 869,
"name": "DUP2",
"source": 1
},
{
"begin": 812,
"end": 869,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 812,
"end": 869,
"name": "AND",
"source": 1
},
{
"begin": 812,
"end": 869,
"name": "DUP2",
"source": 1
},
{
"begin": 812,
"end": 869,
"name": "MSTORE",
"source": 1
},
{
"begin": 812,
"end": 869,
"name": "POP",
"source": 1
},
{
"begin": 812,
"end": 869,
"name": "POP",
"source": 1
},
{
"begin": 889,
"end": 931,
"name": "PUSH",
"source": 1,
"value": "14723A09ACFF6D2A60DCDF7AA4AFF308FDDC160C"
},
{
"begin": 874,
"end": 882,
"name": "DUP2",
"source": 1
},
{
"begin": 883,
"end": 885,
"name": "PUSH",
"source": 1,
"value": "B"
},
{
"begin": 874,
"end": 886,
"name": "PUSH",
"source": 1,
"value": "F"
},
{
"begin": 874,
"end": 886,
"name": "DUP2",
"source": 1
},
{
"begin": 874,
"end": 886,
"name": "LT",
"source": 1
},
{
"begin": 874,
"end": 886,
"name": "PUSH [tag]",
"source": 1,
"value": "35"
},
{
"begin": 874,
"end": 886,
"name": "JUMPI",
"source": 1
},
{
"begin": 874,
"end": 886,
"name": "PUSH [tag]",
"source": 1,
"value": "36"
},
{
"begin": 874,
"end": 886,
"name": "PUSH [tag]",
"source": 1,
"value": "14"
},
{
"begin": 874,
"end": 886,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 874,
"end": 886,
"name": "tag",
"source": 1,
"value": "36"
},
{
"begin": 874,
"end": 886,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 874,
"end": 886,
"name": "tag",
"source": 1,
"value": "35"
},
{
"begin": 874,
"end": 886,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 874,
"end": 886,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 874,
"end": 886,
"name": "MUL",
"source": 1
},
{
"begin": 874,
"end": 886,
"name": "ADD",
"source": 1
},
{
"begin": 874,
"end": 931,
"name": "SWAP1",
"source": 1
},
{
"begin": 874,
"end": 931,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 874,
"end": 931,
"name": "AND",
"source": 1
},
{
"begin": 874,
"end": 931,
"name": "SWAP1",
"source": 1
},
{
"begin": 874,
"end": 931,
"name": "DUP2",
"source": 1
},
{
"begin": 874,
"end": 931,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 874,
"end": 931,
"name": "AND",
"source": 1
},
{
"begin": 874,
"end": 931,
"name": "DUP2",
"source": 1
},
{
"begin": 874,
"end": 931,
"name": "MSTORE",
"source": 1
},
{
"begin": 874,
"end": 931,
"name": "POP",
"source": 1
},
{
"begin": 874,
"end": 931,
"name": "POP",
"source": 1
},
{
"begin": 951,
"end": 993,
"name": "PUSH",
"source": 1,
"value": "4B0897B0513FDC7C541B6D9D7E929C4E5364D2DB"
},
{
"begin": 936,
"end": 944,
"name": "DUP2",
"source": 1
},
{
"begin": 945,
"end": 947,
"name": "PUSH",
"source": 1,
"value": "C"
},
{
"begin": 936,
"end": 948,
"name": "PUSH",
"source": 1,
"value": "F"
},
{
"begin": 936,
"end": 948,
"name": "DUP2",
"source": 1
},
{
"begin": 936,
"end": 948,
"name": "LT",
"source": 1
},
{
"begin": 936,
"end": 948,
"name": "PUSH [tag]",
"source": 1,
"value": "37"
},
{
"begin": 936,
"end": 948,
"name": "JUMPI",
"source": 1
},
{
"begin": 936,
"end": 948,
"name": "PUSH [tag]",
"source": 1,
"value": "38"
},
{
"begin": 936,
"end": 948,
"name": "PUSH [tag]",
"source": 1,
"value": "14"
},
{
"begin": 936,
"end": 948,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 936,
"end": 948,
"name": "tag",
"source": 1,
"value": "38"
},
{
"begin": 936,
"end": 948,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 936,
"end": 948,
"name": "tag",
"source": 1,
"value": "37"
},
{
"begin": 936,
"end": 948,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 936,
"end": 948,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 936,
"end": 948,
"name": "MUL",
"source": 1
},
{
"begin": 936,
"end": 948,
"name": "ADD",
"source": 1
},
{
"begin": 936,
"end": 993,
"name": "SWAP1",
"source": 1
},
{
"begin": 936,
"end": 993,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 936,
"end": 993,
"name": "AND",
"source": 1
},
{
"begin": 936,
"end": 993,
"name": "SWAP1",
"source": 1
},
{
"begin": 936,
"end": 993,
"name": "DUP2",
"source": 1
},
{
"begin": 936,
"end": 993,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 936,
"end": 993,
"name": "AND",
"source": 1
},
{
"begin": 936,
"end": 993,
"name": "DUP2",
"source": 1
},
{
"begin": 936,
"end": 993,
"name": "MSTORE",
"source": 1
},
{
"begin": 936,
"end": 993,
"name": "POP",
"source": 1
},
{
"begin": 936,
"end": 993,
"name": "POP",
"source": 1
},
{
"begin": 1013,
"end": 1055,
"name": "PUSH",
"source": 1,
"value": "583031D1113AD414F02576BD6AFABFB302140225"
},
{
"begin": 998,
"end": 1006,
"name": "DUP2",
"source": 1
},
{
"begin": 1007,
"end": 1009,
"name": "PUSH",
"source": 1,
"value": "D"
},
{
"begin": 998,
"end": 1010,
"name": "PUSH",
"source": 1,
"value": "F"
},
{
"begin": 998,
"end": 1010,
"name": "DUP2",
"source": 1
},
{
"begin": 998,
"end": 1010,
"name": "LT",
"source": 1
},
{
"begin": 998,
"end": 1010,
"name": "PUSH [tag]",
"source": 1,
"value": "39"
},
{
"begin": 998,
"end": 1010,
"name": "JUMPI",
"source": 1
},
{
"begin": 998,
"end": 1010,
"name": "PUSH [tag]",
"source": 1,
"value": "40"
},
{
"begin": 998,
"end": 1010,
"name": "PUSH [tag]",
"source": 1,
"value": "14"
},
{
"begin": 998,
"end": 1010,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 998,
"end": 1010,
"name": "tag",
"source": 1,
"value": "40"
},
{
"begin": 998,
"end": 1010,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 998,
"end": 1010,
"name": "tag",
"source": 1,
"value": "39"
},
{
"begin": 998,
"end": 1010,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 998,
"end": 1010,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 998,
"end": 1010,
"name": "MUL",
"source": 1
},
{
"begin": 998,
"end": 1010,
"name": "ADD",
"source": 1
},
{
"begin": 998,
"end": 1055,
"name": "SWAP1",
"source": 1
},
{
"begin": 998,
"end": 1055,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 998,
"end": 1055,
"name": "AND",
"source": 1
},
{
"begin": 998,
"end": 1055,
"name": "SWAP1",
"source": 1
},
{
"begin": 998,
"end": 1055,
"name": "DUP2",
"source": 1
},
{
"begin": 998,
"end": 1055,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 998,
"end": 1055,
"name": "AND",
"source": 1
},
{
"begin": 998,
"end": 1055,
"name": "DUP2",
"source": 1
},
{
"begin": 998,
"end": 1055,
"name": "MSTORE",
"source": 1
},
{
"begin": 998,
"end": 1055,
"name": "POP",
"source": 1
},
{
"begin": 998,
"end": 1055,
"name": "POP",
"source": 1
},
{
"begin": 1075,
"end": 1117,
"name": "PUSH",
"source": 1,
"value": "DD870FA1B7C4700F2BD7F44238821C26F7392148"
},
{
"begin": 1060,
"end": 1068,
"name": "DUP2",
"source": 1
},
{
"begin": 1069,
"end": 1071,
"name": "PUSH",
"source": 1,
"value": "E"
},
{
"begin": 1060,
"end": 1072,
"name": "PUSH",
"source": 1,
"value": "F"
},
{
"begin": 1060,
"end": 1072,
"name": "DUP2",
"source": 1
},
{
"begin": 1060,
"end": 1072,
"name": "LT",
"source": 1
},
{
"begin": 1060,
"end": 1072,
"name": "PUSH [tag]",
"source": 1,
"value": "41"
},
{
"begin": 1060,
"end": 1072,
"name": "JUMPI",
"source": 1
},
{
"begin": 1060,
"end": 1072,
"name": "PUSH [tag]",
"source": 1,
"value": "42"
},
{
"begin": 1060,
"end": 1072,
"name": "PUSH [tag]",
"source": 1,
"value": "14"
},
{
"begin": 1060,
"end": 1072,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1060,
"end": 1072,
"name": "tag",
"source": 1,
"value": "42"
},
{
"begin": 1060,
"end": 1072,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1060,
"end": 1072,
"name": "tag",
"source": 1,
"value": "41"
},
{
"begin": 1060,
"end": 1072,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1060,
"end": 1072,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1060,
"end": 1072,
"name": "MUL",
"source": 1
},
{
"begin": 1060,
"end": 1072,
"name": "ADD",
"source": 1
},
{
"begin": 1060,
"end": 1117,
"name": "SWAP1",
"source": 1
},
{
"begin": 1060,
"end": 1117,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1060,
"end": 1117,
"name": "AND",
"source": 1
},
{
"begin": 1060,
"end": 1117,
"name": "SWAP1",
"source": 1
},
{
"begin": 1060,
"end": 1117,
"name": "DUP2",
"source": 1
},
{
"begin": 1060,
"end": 1117,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1060,
"end": 1117,
"name": "AND",
"source": 1
},
{
"begin": 1060,
"end": 1117,
"name": "DUP2",
"source": 1
},
{
"begin": 1060,
"end": 1117,
"name": "MSTORE",
"source": 1
},
{
"begin": 1060,
"end": 1117,
"name": "POP",
"source": 1
},
{
"begin": 1060,
"end": 1117,
"name": "POP",
"source": 1
},
{
"begin": 1126,
"end": 1134,
"name": "DUP1",
"source": 1
},
{
"begin": 1135,
"end": 1140,
"name": "DUP4",
"source": 1
},
{
"begin": 1126,
"end": 1141,
"name": "PUSH",
"source": 1,
"value": "F"
},
{
"begin": 1126,
"end": 1141,
"name": "DUP2",
"source": 1
},
{
"begin": 1126,
"end": 1141,
"name": "LT",
"source": 1
},
{
"begin": 1126,
"end": 1141,
"name": "PUSH [tag]",
"source": 1,
"value": "43"
},
{
"begin": 1126,
"end": 1141,
"name": "JUMPI",
"source": 1
},
{
"begin": 1126,
"end": 1141,
"name": "PUSH [tag]",
"source": 1,
"value": "44"
},
{
"begin": 1126,
"end": 1141,
"name": "PUSH [tag]",
"source": 1,
"value": "14"
},
{
"begin": 1126,
"end": 1141,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1126,
"end": 1141,
"name": "tag",
"source": 1,
"value": "44"
},
{
"begin": 1126,
"end": 1141,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1126,
"end": 1141,
"name": "tag",
"source": 1,
"value": "43"
},
{
"begin": 1126,
"end": 1141,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1126,
"end": 1141,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1126,
"end": 1141,
"name": "MUL",
"source": 1
},
{
"begin": 1126,
"end": 1141,
"name": "ADD",
"source": 1
},
{
"begin": 1126,
"end": 1141,
"name": "MLOAD",
"source": 1
},
{
"begin": 1119,
"end": 1141,
"name": "SWAP2",
"source": 1
},
{
"begin": 1119,
"end": 1141,
"name": "POP",
"source": 1
},
{
"begin": 1119,
"end": 1141,
"name": "POP",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "SWAP2",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "SWAP1",
"source": 1
},
{
"begin": 99,
"end": 1148,
"name": "POP",
"source": 1
},
{
"begin": 99,
"end": 1148,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "11"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "40"
},
{
"begin": -1,
"end": -1,
"name": "MLOAD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "1E0"
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "40"
},
{
"begin": -1,
"end": -1,
"name": "MSTORE",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "F"
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "20"
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "MUL",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "CALLDATASIZE",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP4",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "CALLDATACOPY",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "POP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "POP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "POP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "POP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"jumpType": "[out]",
"name": "JUMP",
"source": -1
},
{
"begin": 88,
"end": 205,
"name": "tag",
"source": 4,
"value": "46"
},
{
"begin": 88,
"end": 205,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 197,
"end": 198,
"name": "PUSH",
"source": 4,
"value": "0"
},
{
"begin": 194,
"end": 195,
"name": "DUP1",
"source": 4
},
{
"begin": 187,
"end": 199,
"name": "REVERT",
"source": 4
},
{
"begin": 334,
"end": 411,
"name": "tag",
"source": 4,
"value": "48"
},
{
"begin": 334,
"end": 411,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 371,
"end": 378,
"name": "PUSH",
"source": 4,
"value": "0"
},
{
"begin": 400,
"end": 405,
"name": "DUP2",
"source": 4
},
{
"begin": 389,
"end": 405,
"name": "SWAP1",
"source": 4
},
{
"begin": 389,
"end": 405,
"name": "POP",
"source": 4
},
{
"begin": 334,
"end": 411,
"name": "SWAP2",
"source": 4
},
{
"begin": 334,
"end": 411,
"name": "SWAP1",
"source": 4
},
{
"begin": 334,
"end": 411,
"name": "POP",
"source": 4
},
{
"begin": 334,
"end": 411,
"jumpType": "[out]",
"name": "JUMP",
"source": 4
},
{
"begin": 417,
"end": 539,
"name": "tag",
"source": 4,
"value": "49"
},
{
"begin": 417,
"end": 539,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 490,
"end": 514,
"name": "PUSH [tag]",
"source": 4,
"value": "60"
},
{
"begin": 508,
"end": 513,
"name": "DUP2",
"source": 4
},
{
"begin": 490,
"end": 514,
"name": "PUSH [tag]",
"source": 4,
"value": "48"
},
{
"begin": 490,
"end": 514,
"jumpType": "[in]",
"name": "JUMP",
"source": 4
},
{
"begin": 490,
"end": 514,
"name": "tag",
"source": 4,
"value": "60"
},
{
"begin": 490,
"end": 514,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 483,
"end": 488,
"name": "DUP2",
"source": 4
},
{
"begin": 480,
"end": 515,
"name": "EQ",
"source": 4
},
{
"begin": 470,
"end": 533,
"name": "PUSH [tag]",
"source": 4,
"value": "61"
},
{
"begin": 470,
"end": 533,
"name": "JUMPI",
"source": 4
},
{
"begin": 529,
"end": 530,
"name": "PUSH",
"source": 4,
"value": "0"
},
{
"begin": 526,
"end": 527,
"name": "DUP1",
"source": 4
},
{
"begin": 519,
"end": 531,
"name": "REVERT",
"source": 4
},
{
"begin": 470,
"end": 533,
"name": "tag",
"source": 4,
"value": "61"
},
{
"begin": 470,
"end": 533,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 417,
"end": 539,
"name": "POP",
"source": 4
},
{
"begin": 417,
"end": 539,
"jumpType": "[out]",
"name": "JUMP",
"source": 4
},
{
"begin": 545,
"end": 684,
"name": "tag",
"source": 4,
"value": "50"
},
{
"begin": 545,
"end": 684,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 591,
"end": 596,
"name": "PUSH",
"source": 4,
"value": "0"
},
{
"begin": 629,
"end": 635,
"name": "DUP2",
"source": 4
},
{
"begin": 616,
"end": 636,
"name": "CALLDATALOAD",
"source": 4
},
{
"begin": 607,
"end": 636,
"name": "SWAP1",
"source": 4
},
{
"begin": 607,
"end": 636,
"name": "POP",
"source": 4
},
{
"begin": 645,
"end": 678,
"name": "PUSH [tag]",
"source": 4,
"value": "63"
},
{
"begin": 672,
"end": 677,
"name": "DUP2",
"source": 4
},
{
"begin": 645,
"end": 678,
"name": "PUSH [tag]",
"source": 4,
"value": "49"
},
{
"begin": 645,
"end": 678,
"jumpType": "[in]",
"name": "JUMP",
"source": 4
},
{
"begin": 645,
"end": 678,
"name": "tag",
"source": 4,
"value": "63"
},
{
"begin": 645,
"end": 678,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 545,
"end": 684,
"name": "SWAP3",
"source": 4
},
{
"begin": 545,
"end": 684,
"name": "SWAP2",
"source": 4
},
{
"begin": 545,
"end": 684,
"name": "POP",
"source": 4
},
{
"begin": 545,
"end": 684,
"name": "POP",
"source": 4
},
{
"begin": 545,
"end": 684,
"jumpType": "[out]",
"name": "JUMP",
"source": 4
},
{
"begin": 690,
"end": 1019,
"name": "tag",
"source": 4,
"value": "5"
},
{
"begin": 690,
"end": 1019,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 749,
"end": 755,
"name": "PUSH",
"source": 4,
"value": "0"
},
{
"begin": 798,
"end": 800,
"name": "PUSH",
"source": 4,
"value": "20"
},
{
"begin": 786,
"end": 795,
"name": "DUP3",
"source": 4
},
{
"begin": 777,
"end": 784,
"name": "DUP5",
"source": 4
},
{
"begin": 773,
"end": 796,
"name": "SUB",
"source": 4
},
{
"begin": 769,
"end": 801,
"name": "SLT",
"source": 4
},
{
"begin": 766,
"end": 885,
"name": "ISZERO",
"source": 4
},
{
"begin": 766,
"end": 885,
"name": "PUSH [tag]",
"source": 4,
"value": "65"
},
{
"begin": 766,
"end": 885,
"name": "JUMPI",
"source": 4
},
{
"begin": 804,
"end": 883,
"name": "PUSH [tag]",
"source": 4,
"value": "66"
},
{
"begin": 804,
"end": 883,
"name": "PUSH [tag]",
"source": 4,
"value": "46"
},
{
"begin": 804,
"end": 883,
"jumpType": "[in]",
"name": "JUMP",
"source": 4
},
{
"begin": 804,
"end": 883,
"name": "tag",
"source": 4,
"value": "66"
},
{
"begin": 804,
"end": 883,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 766,
"end": 885,
"name": "tag",
"source": 4,
"value": "65"
},
{
"begin": 766,
"end": 885,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 924,
"end": 925,
"name": "PUSH",
"source": 4,
"value": "0"
},
{
"begin": 949,
"end": 1002,
"name": "PUSH [tag]",
"source": 4,
"value": "67"
},
{
"begin": 994,
"end": 1001,
"name": "DUP5",
"source": 4
},
{
"begin": 985,
"end": 991,
"name": "DUP3",
"source": 4
},
{
"begin": 974,
"end": 983,
"name": "DUP6",
"source": 4
},
{
"begin": 970,
"end": 992,
"name": "ADD",
"source": 4
},
{
"begin": 949,
"end": 1002,
"name": "PUSH [tag]",
"source": 4,
"value": "50"
},
{
"begin": 949,
"end": 1002,
"jumpType": "[in]",
"name": "JUMP",
"source": 4
},
{
"begin": 949,
"end": 1002,
"name": "tag",
"source": 4,
"value": "67"
},
{
"begin": 949,
"end": 1002,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 939,
"end": 1002,
"name": "SWAP2",
"source": 4
},
{
"begin": 939,
"end": 1002,
"name": "POP",
"source": 4
},
{
"begin": 895,
"end": 1012,
"name": "POP",
"source": 4
},
{
"begin": 690,
"end": 1019,
"name": "SWAP3",
"source": 4
},
{
"begin": 690,
"end": 1019,
"name": "SWAP2",
"source": 4
},
{
"begin": 690,
"end": 1019,
"name": "POP",
"source": 4
},
{
"begin": 690,
"end": 1019,
"name": "POP",
"source": 4
},
{
"begin": 690,
"end": 1019,
"jumpType": "[out]",
"name": "JUMP",
"source": 4
},
{
"begin": 1025,
"end": 1151,
"name": "tag",
"source": 4,
"value": "51"
},
{
"begin": 1025,
"end": 1151,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 1062,
"end": 1069,
"name": "PUSH",
"source": 4,
"value": "0"
},
{
"begin": 1102,
"end": 1144,
"name": "PUSH",
"source": 4,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1095,
"end": 1100,
"name": "DUP3",
"source": 4
},
{
"begin": 1091,
"end": 1145,
"name": "AND",
"source": 4
},
{
"begin": 1080,
"end": 1145,
"name": "SWAP1",
"source": 4
},
{
"begin": 1080,
"end": 1145,
"name": "POP",
"source": 4
},
{
"begin": 1025,
"end": 1151,
"name": "SWAP2",
"source": 4
},
{
"begin": 1025,
"end": 1151,
"name": "SWAP1",
"source": 4
},
{
"begin": 1025,
"end": 1151,
"name": "POP",
"source": 4
},
{
"begin": 1025,
"end": 1151,
"jumpType": "[out]",
"name": "JUMP",
"source": 4
},
{
"begin": 1157,
"end": 1253,
"name": "tag",
"source": 4,
"value": "52"
},
{
"begin": 1157,
"end": 1253,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 1194,
"end": 1201,
"name": "PUSH",
"source": 4,
"value": "0"
},
{
"begin": 1223,
"end": 1247,
"name": "PUSH [tag]",
"source": 4,
"value": "70"
},
{
"begin": 1241,
"end": 1246,
"name": "DUP3",
"source": 4
},
{
"begin": 1223,
"end": 1247,
"name": "PUSH [tag]",
"source": 4,
"value": "51"
},
{
"begin": 1223,
"end": 1247,
"jumpType": "[in]",
"name": "JUMP",
"source": 4
},
{
"begin": 1223,
"end": 1247,
"name": "tag",
"source": 4,
"value": "70"
},
{
"begin": 1223,
"end": 1247,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 1212,
"end": 1247,
"name": "SWAP1",
"source": 4
},
{
"begin": 1212,
"end": 1247,
"name": "POP",
"source": 4
},
{
"begin": 1157,
"end": 1253,
"name": "SWAP2",
"source": 4
},
{
"begin": 1157,
"end": 1253,
"name": "SWAP1",
"source": 4
},
{
"begin": 1157,
"end": 1253,
"name": "POP",
"source": 4
},
{
"begin": 1157,
"end": 1253,
"jumpType": "[out]",
"name": "JUMP",
"source": 4
},
{
"begin": 1259,
"end": 1385,
"name": "tag",
"source": 4,
"value": "53"
},
{
"begin": 1259,
"end": 1385,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 1354,
"end": 1378,
"name": "PUSH [tag]",
"source": 4,
"value": "72"
},
{
"begin": 1372,
"end": 1377,
"name": "DUP2",
"source": 4
},
{
"begin": 1354,
"end": 1378,
"name": "PUSH [tag]",
"source": 4,
"value": "52"
},
{
"begin": 1354,
"end": 1378,
"jumpType": "[in]",
"name": "JUMP",
"source": 4
},
{
"begin": 1354,
"end": 1378,
"name": "tag",
"source": 4,
"value": "72"
},
{
"begin": 1354,
"end": 1378,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 1349,
"end": 1352,
"name": "DUP3",
"source": 4
},
{
"begin": 1342,
"end": 1379,
"name": "MSTORE",
"source": 4
},
{
"begin": 1259,
"end": 1385,
"name": "POP",
"source": 4
},
{
"begin": 1259,
"end": 1385,
"name": "POP",
"source": 4
},
{
"begin": 1259,
"end": 1385,
"jumpType": "[out]",
"name": "JUMP",
"source": 4
},
{
"begin": 1391,
"end": 1629,
"name": "tag",
"source": 4,
"value": "8"
},
{
"begin": 1391,
"end": 1629,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 1492,
"end": 1496,
"name": "PUSH",
"source": 4,
"value": "0"
},
{
"begin": 1530,
"end": 1532,
"name": "PUSH",
"source": 4,
"value": "20"
},
{
"begin": 1519,
"end": 1528,
"name": "DUP3",
"source": 4
},
{
"begin": 1515,
"end": 1533,
"name": "ADD",
"source": 4
},
{
"begin": 1507,
"end": 1533,
"name": "SWAP1",
"source": 4
},
{
"begin": 1507,
"end": 1533,
"name": "POP",
"source": 4
},
{
"begin": 1543,
"end": 1622,
"name": "PUSH [tag]",
"source": 4,
"value": "74"
},
{
"begin": 1619,
"end": 1620,
"name": "PUSH",
"source": 4,
"value": "0"
},
{
"begin": 1608,
"end": 1617,
"name": "DUP4",
"source": 4
},
{
"begin": 1604,
"end": 1621,
"name": "ADD",
"source": 4
},
{
"begin": 1595,
"end": 1601,
"name": "DUP5",
"source": 4
},
{
"begin": 1543,
"end": 1622,
"name": "PUSH [tag]",
"source": 4,
"value": "53"
},
{
"begin": 1543,
"end": 1622,
"jumpType": "[in]",
"name": "JUMP",
"source": 4
},
{
"begin": 1543,
"end": 1622,
"name": "tag",
"source": 4,
"value": "74"
},
{
"begin": 1543,
"end": 1622,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 1391,
"end": 1629,
"name": "SWAP3",
"source": 4
},
{
"begin": 1391,
"end": 1629,
"name": "SWAP2",
"source": 4
},
{
"begin": 1391,
"end": 1629,
"name": "POP",
"source": 4
},
{
"begin": 1391,
"end": 1629,
"name": "POP",
"source": 4
},
{
"begin": 1391,
"end": 1629,
"jumpType": "[out]",
"name": "JUMP",
"source": 4
},
{
"begin": 1635,
"end": 1815,
"name": "tag",
"source": 4,
"value": "14"
},
{
"begin": 1635,
"end": 1815,
"name": "JUMPDEST",
"source": 4
},
{
"begin": 1683,
"end": 1760,
"name": "PUSH",
"source": 4,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 1680,
"end": 1681,
"name": "PUSH",
"source": 4,
"value": "0"
},
{
"begin": 1673,
"end": 1761,
"name": "MSTORE",
"source": 4
},
{
"begin": 1780,
"end": 1784,
"name": "PUSH",
"source": 4,
"value": "32"
},
{
"begin": 1777,
"end": 1778,
"name": "PUSH",
"source": 4,
"value": "4"
},
{
"begin": 1770,
"end": 1785,
"name": "MSTORE",
"source": 4
},
{
"begin": 1804,
"end": 1808,
"name": "PUSH",
"source": 4,
"value": "24"
},
{
"begin": 1801,
"end": 1802,
"name": "PUSH",
"source": 4,
"value": "0"
},
{
"begin": 1794,
"end": 1809,
"name": "REVERT",
"source": 4
}
]
}
},
"sourceList": [
"contracts/counter.sol",
"remix_accounts.sol",
"remix_tests.sol",
"tests/counter_test.sol",
"#utility.yul"
]
},
"methodIdentifiers": {
"getAccount(uint256)": "ce88b145"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getAccount\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"remix_accounts.sol\":\"TestsAccounts\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"remix_accounts.sol\":{\"keccak256\":\"0xab088ffd1cd1033f54c2486f151b5d02281a3b76724c8e6f48479c25a4f7809e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5ddaf9976b1838f7028cbedfaf7f6e1cf8c898e100221176ff1406ee8b599f23\",\"dweb:/ipfs/QmX2FYLXYyo5Cn55ZX2CfngpscSh4mQhcMVzQdQsh2vqcG\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
},
"remix_tests.sol": {
"Assert": {
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bool",
"name": "passed",
"type": "bool"
},
{
"indexed": false,
"internalType": "string",
"name": "message",
"type": "string"
},
{
"indexed": false,
"internalType": "string",
"name": "methodName",
"type": "string"
}
],
"name": "AssertionEvent",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bool",
"name": "passed",
"type": "bool"
},
{
"indexed": false,
"internalType": "string",
"name": "message",
"type": "string"
},
{
"indexed": false,
"internalType": "string",
"name": "methodName",
"type": "string"
},
{
"indexed": false,
"internalType": "address",
"name": "returned",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "expected",
"type": "address"
}
],
"name": "AssertionEventAddress",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bool",
"name": "passed",
"type": "bool"
},
{
"indexed": false,
"internalType": "string",
"name": "message",
"type": "string"
},
{
"indexed": false,
"internalType": "string",
"name": "methodName",
"type": "string"
},
{
"indexed": false,
"internalType": "bool",
"name": "returned",
"type": "bool"
},
{
"indexed": false,
"internalType": "bool",
"name": "expected",
"type": "bool"
}
],
"name": "AssertionEventBool",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bool",
"name": "passed",
"type": "bool"
},
{
"indexed": false,
"internalType": "string",
"name": "message",
"type": "string"
},
{
"indexed": false,
"internalType": "string",
"name": "methodName",
"type": "string"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "returned",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "expected",
"type": "bytes32"
}
],
"name": "AssertionEventBytes32",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bool",
"name": "passed",
"type": "bool"
},
{
"indexed": false,
"internalType": "string",
"name": "message",
"type": "string"
},
{
"indexed": false,
"internalType": "string",
"name": "methodName",
"type": "string"
},
{
"indexed": false,
"internalType": "int256",
"name": "returned",
"type": "int256"
},
{
"indexed": false,
"internalType": "int256",
"name": "expected",
"type": "int256"
}
],
"name": "AssertionEventInt",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bool",
"name": "passed",
"type": "bool"
},
{
"indexed": false,
"internalType": "string",
"name": "message",
"type": "string"
},
{
"indexed": false,
"internalType": "string",
"name": "methodName",
"type": "string"
},
{
"indexed": false,
"internalType": "int256",
"name": "returned",
"type": "int256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "expected",
"type": "uint256"
}
],
"name": "AssertionEventIntUint",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bool",
"name": "passed",
"type": "bool"
},
{
"indexed": false,
"internalType": "string",
"name": "message",
"type": "string"
},
{
"indexed": false,
"internalType": "string",
"name": "methodName",
"type": "string"
},
{
"indexed": false,
"internalType": "string",
"name": "returned",
"type": "string"
},
{
"indexed": false,
"internalType": "string",
"name": "expected",
"type": "string"
}
],
"name": "AssertionEventString",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bool",
"name": "passed",
"type": "bool"
},
{
"indexed": false,
"internalType": "string",
"name": "message",
"type": "string"
},
{
"indexed": false,
"internalType": "string",
"name": "methodName",
"type": "string"
},
{
"indexed": false,
"internalType": "uint256",
"name": "returned",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "expected",
"type": "uint256"
}
],
"name": "AssertionEventUint",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bool",
"name": "passed",
"type": "bool"
},
{
"indexed": false,
"internalType": "string",
"name": "message",
"type": "string"
},
{
"indexed": false,
"internalType": "string",
"name": "methodName",
"type": "string"
},
{
"indexed": false,
"internalType": "uint256",
"name": "returned",
"type": "uint256"
},
{
"indexed": false,
"internalType": "int256",
"name": "expected",
"type": "int256"
}
],
"name": "AssertionEventUintInt",
"type": "event"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"remix_tests.sol\":71:6823 library Assert {... */\n dataSize(sub_0)\n dataOffset(sub_0)\n 0x0b\n dup3\n dup3\n dup3\n codecopy\n dup1\n mload\n 0x00\n byte\n 0x73\n eq\n tag_1\n jumpi\n mstore(0x00, 0x4e487b7100000000000000000000000000000000000000000000000000000000)\n mstore(0x04, 0x00)\n revert(0x00, 0x24)\ntag_1:\n mstore(0x00, address)\n 0x73\n dup2\n mstore8\n dup3\n dup2\n return\nstop\n\nsub_0: assembly {\n /* \"remix_tests.sol\":71:6823 library Assert {... */\n eq(address, deployTimeAddress())\n mstore(0x40, 0x80)\n jumpi(tag_1, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x77c6d463\n gt\n tag_23\n jumpi\n dup1\n 0xaea88952\n gt\n tag_24\n jumpi\n dup1\n 0xaea88952\n eq\n tag_17\n jumpi\n dup1\n 0xb8f28531\n eq\n tag_18\n jumpi\n dup1\n 0xbfba5dd6\n eq\n tag_19\n jumpi\n dup1\n 0xe8c2cb16\n eq\n tag_20\n jumpi\n dup1\n 0xea79dd79\n eq\n tag_21\n jumpi\n dup1\n 0xf5bae6b6\n eq\n tag_22\n jumpi\n jump(tag_1)\n tag_24:\n dup1\n 0x77c6d463\n eq\n tag_12\n jumpi\n dup1\n 0x8c45cb97\n eq\n tag_13\n jumpi\n dup1\n 0x9c0b4336\n eq\n tag_14\n jumpi\n dup1\n 0xa079f1a3\n eq\n tag_15\n jumpi\n dup1\n 0xabcd7960\n eq\n tag_16\n jumpi\n jump(tag_1)\n tag_23:\n dup1\n 0x49f97939\n gt\n tag_25\n jumpi\n dup1\n 0x49f97939\n eq\n tag_7\n jumpi\n dup1\n 0x4e3e4035\n eq\n tag_8\n jumpi\n dup1\n 0x556fe562\n eq\n tag_9\n jumpi\n dup1\n 0x561015e2\n eq\n tag_10\n jumpi\n dup1\n 0x767392b3\n eq\n tag_11\n jumpi\n jump(tag_1)\n tag_25:\n dup1\n 0x0897e4c7\n eq\n tag_2\n jumpi\n dup1\n 0x18211bfb\n eq\n tag_3\n jumpi\n dup1\n 0x39df137f\n eq\n tag_4\n jumpi\n dup1\n 0x44781a00\n eq\n tag_5\n jumpi\n dup1\n 0x44b7f248\n eq\n tag_6\n jumpi\n tag_1:\n 0x00\n dup1\n revert\n /* \"remix_tests.sol\":5411:5721 function greaterThan(int256 a, uint256 b, string memory message) public returns (bool result) {... */\n tag_2:\n dup2\n dup1\n iszero\n tag_26\n jumpi\n 0x00\n dup1\n revert\n tag_26:\n pop\n tag_27\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_28\n swap2\n swap1\n tag_29\n jump\t// in\n tag_28:\n tag_30\n jump\t// in\n tag_27:\n mload(0x40)\n tag_31\n swap2\n swap1\n tag_32\n jump\t// in\n tag_31:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"remix_tests.sol\":6206:6512 function lesserThan(uint256 a, int256 b, string memory message) public returns (bool result) {... */\n tag_3:\n dup2\n dup1\n iszero\n tag_33\n jumpi\n 0x00\n dup1\n revert\n tag_33:\n pop\n tag_34\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_35\n swap2\n swap1\n tag_36\n jump\t// in\n tag_35:\n tag_37\n jump\t// in\n tag_34:\n mload(0x40)\n tag_38\n swap2\n swap1\n tag_32\n jump\t// in\n tag_38:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"remix_tests.sol\":1277:1418 function ok(bool a, string memory message) public returns (bool result) {... */\n tag_4:\n dup2\n dup1\n iszero\n tag_39\n jumpi\n 0x00\n dup1\n revert\n tag_39:\n pop\n tag_40\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_41\n swap2\n swap1\n tag_42\n jump\t// in\n tag_41:\n tag_43\n jump\t// in\n tag_40:\n mload(0x40)\n tag_44\n swap2\n swap1\n tag_32\n jump\t// in\n tag_44:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"remix_tests.sol\":3370:3548 function notEqual(bool a, bool b, string memory message) public returns (bool result) {... */\n tag_5:\n dup2\n dup1\n iszero\n tag_45\n jumpi\n 0x00\n dup1\n revert\n tag_45:\n pop\n tag_46\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_47\n swap2\n swap1\n tag_48\n jump\t// in\n tag_47:\n tag_49\n jump\t// in\n tag_46:\n mload(0x40)\n tag_50\n swap2\n swap1\n tag_32\n jump\t// in\n tag_50:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"remix_tests.sol\":5972:6156 function lesserThan(int256 a, int256 b, string memory message) public returns (bool result) {... */\n tag_6:\n dup2\n dup1\n iszero\n tag_51\n jumpi\n 0x00\n dup1\n revert\n tag_51:\n pop\n tag_52\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_53\n swap2\n swap1\n tag_54\n jump\t// in\n tag_53:\n tag_55\n jump\t// in\n tag_52:\n mload(0x40)\n tag_56\n swap2\n swap1\n tag_32\n jump\t// in\n tag_56:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"remix_tests.sol\":4352:4608 function notEqual(string memory a, string memory b, string memory message) public returns (bool result) {... */\n tag_7:\n dup2\n dup1\n iszero\n tag_57\n jumpi\n 0x00\n dup1\n revert\n tag_57:\n pop\n tag_58\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_59\n swap2\n swap1\n tag_60\n jump\t// in\n tag_59:\n tag_61\n jump\t// in\n tag_58:\n mload(0x40)\n tag_62\n swap2\n swap1\n tag_32\n jump\t// in\n tag_62:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"remix_tests.sol\":3185:3366 function notEqual(int256 a, int256 b, string memory message) public returns (bool result) {... */\n tag_8:\n dup2\n dup1\n iszero\n tag_63\n jumpi\n 0x00\n dup1\n revert\n tag_63:\n pop\n tag_64\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_65\n swap2\n swap1\n tag_54\n jump\t// in\n tag_65:\n tag_66\n jump\t// in\n tag_64:\n mload(0x40)\n tag_67\n swap2\n swap1\n tag_32\n jump\t// in\n tag_67:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"remix_tests.sol\":4161:4348 function notEqual(bytes32 a, bytes32 b, string memory message) public returns (bool result) {... */\n tag_9:\n dup2\n dup1\n iszero\n tag_68\n jumpi\n 0x00\n dup1\n revert\n tag_68:\n pop\n tag_69\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_70\n swap2\n swap1\n tag_71\n jump\t// in\n tag_70:\n tag_72\n jump\t// in\n tag_69:\n mload(0x40)\n tag_73\n swap2\n swap1\n tag_32\n jump\t// in\n tag_73:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"remix_tests.sol\":2997:3181 function notEqual(uint256 a, uint256 b, string memory message) public returns (bool result) {... */\n tag_10:\n dup2\n dup1\n iszero\n tag_74\n jumpi\n 0x00\n dup1\n revert\n tag_74:\n pop\n tag_75\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_76\n swap2\n swap1\n tag_77\n jump\t// in\n tag_76:\n tag_78\n jump\t// in\n tag_75:\n mload(0x40)\n tag_79\n swap2\n swap1\n tag_32\n jump\t// in\n tag_79:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"remix_tests.sol\":1783:1955 function equal(bool a, bool b, string memory message) public returns (bool result) {... */\n tag_11:\n dup2\n dup1\n iszero\n tag_80\n jumpi\n 0x00\n dup1\n revert\n tag_80:\n pop\n tag_81\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_82\n swap2\n swap1\n tag_48\n jump\t// in\n tag_82:\n tag_83\n jump\t// in\n tag_81:\n mload(0x40)\n tag_84\n swap2\n swap1\n tag_32\n jump\t// in\n tag_84:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"remix_tests.sol\":6516:6821 function lesserThan(int256 a, uint256 b, string memory message) public returns (bool result) {... */\n tag_12:\n dup2\n dup1\n iszero\n tag_85\n jumpi\n 0x00\n dup1\n revert\n tag_85:\n pop\n tag_86\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_87\n swap2\n swap1\n tag_29\n jump\t// in\n tag_87:\n tag_88\n jump\t// in\n tag_86:\n mload(0x40)\n tag_89\n swap2\n swap1\n tag_32\n jump\t// in\n tag_89:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"remix_tests.sol\":5099:5408 function greaterThan(uint256 a, int256 b, string memory message) public returns (bool result) {... */\n tag_13:\n dup2\n dup1\n iszero\n tag_90\n jumpi\n 0x00\n dup1\n revert\n tag_90:\n pop\n tag_91\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_92\n swap2\n swap1\n tag_36\n jump\t// in\n tag_92:\n tag_93\n jump\t// in\n tag_91:\n mload(0x40)\n tag_94\n swap2\n swap1\n tag_32\n jump\t// in\n tag_94:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"remix_tests.sol\":4863:5049 function greaterThan(int256 a, int256 b, string memory message) public returns (bool result) {... */\n tag_14:\n dup2\n dup1\n iszero\n tag_95\n jumpi\n 0x00\n dup1\n revert\n tag_95:\n pop\n tag_96\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_97\n swap2\n swap1\n tag_54\n jump\t// in\n tag_97:\n tag_98\n jump\t// in\n tag_96:\n mload(0x40)\n tag_99\n swap2\n swap1\n tag_32\n jump\t// in\n tag_99:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"remix_tests.sol\":4670:4859 function greaterThan(uint256 a, uint256 b, string memory message) public returns (bool result) {... */\n tag_15:\n dup2\n dup1\n iszero\n tag_100\n jumpi\n 0x00\n dup1\n revert\n tag_100:\n pop\n tag_101\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_102\n swap2\n swap1\n tag_77\n jump\t// in\n tag_102:\n tag_103\n jump\t// in\n tag_101:\n mload(0x40)\n tag_104\n swap2\n swap1\n tag_32\n jump\t// in\n tag_104:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"remix_tests.sol\":1422:1600 function equal(uint256 a, uint256 b, string memory message) public returns (bool result) {... */\n tag_16:\n dup2\n dup1\n iszero\n tag_105\n jumpi\n 0x00\n dup1\n revert\n tag_105:\n pop\n tag_106\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_107\n swap2\n swap1\n tag_77\n jump\t// in\n tag_107:\n tag_108\n jump\t// in\n tag_106:\n mload(0x40)\n tag_109\n swap2\n swap1\n tag_32\n jump\t// in\n tag_109:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"remix_tests.sol\":5781:5968 function lesserThan(uint256 a, uint256 b, string memory message) public returns (bool result) {... */\n tag_17:\n dup2\n dup1\n iszero\n tag_110\n jumpi\n 0x00\n dup1\n revert\n tag_110:\n pop\n tag_111\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_112\n swap2\n swap1\n tag_77\n jump\t// in\n tag_112:\n tag_113\n jump\t// in\n tag_111:\n mload(0x40)\n tag_114\n swap2\n swap1\n tag_32\n jump\t// in\n tag_114:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"remix_tests.sol\":3970:4157 function notEqual(address a, address b, string memory message) public returns (bool result) {... */\n tag_18:\n dup2\n dup1\n iszero\n tag_115\n jumpi\n 0x00\n dup1\n revert\n tag_115:\n pop\n tag_116\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_117\n swap2\n swap1\n tag_118\n jump\t// in\n tag_117:\n tag_119\n jump\t// in\n tag_116:\n mload(0x40)\n tag_120\n swap2\n swap1\n tag_32\n jump\t// in\n tag_120:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"remix_tests.sol\":2371:2552 function equal(address a, address b, string memory message) public returns (bool result) {... */\n tag_19:\n dup2\n dup1\n iszero\n tag_121\n jumpi\n 0x00\n dup1\n revert\n tag_121:\n pop\n tag_122\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_123\n swap2\n swap1\n tag_118\n jump\t// in\n tag_123:\n tag_124\n jump\t// in\n tag_122:\n mload(0x40)\n tag_125\n swap2\n swap1\n tag_32\n jump\t// in\n tag_125:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"remix_tests.sol\":2741:2993 function equal(string memory a, string memory b, string memory message) public returns (bool result) {... */\n tag_20:\n dup2\n dup1\n iszero\n tag_126\n jumpi\n 0x00\n dup1\n revert\n tag_126:\n pop\n tag_127\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_128\n swap2\n swap1\n tag_60\n jump\t// in\n tag_128:\n tag_129\n jump\t// in\n tag_127:\n mload(0x40)\n tag_130\n swap2\n swap1\n tag_32\n jump\t// in\n tag_130:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"remix_tests.sol\":2556:2737 function equal(bytes32 a, bytes32 b, string memory message) public returns (bool result) {... */\n tag_21:\n dup2\n dup1\n iszero\n tag_131\n jumpi\n 0x00\n dup1\n revert\n tag_131:\n pop\n tag_132\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_133\n swap2\n swap1\n tag_71\n jump\t// in\n tag_133:\n tag_134\n jump\t// in\n tag_132:\n mload(0x40)\n tag_135\n swap2\n swap1\n tag_32\n jump\t// in\n tag_135:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"remix_tests.sol\":1604:1779 function equal(int256 a, int256 b, string memory message) public returns (bool result) {... */\n tag_22:\n dup2\n dup1\n iszero\n tag_136\n jumpi\n 0x00\n dup1\n revert\n tag_136:\n pop\n tag_137\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_138\n swap2\n swap1\n tag_54\n jump\t// in\n tag_138:\n tag_139\n jump\t// in\n tag_137:\n mload(0x40)\n tag_140\n swap2\n swap1\n tag_32\n jump\t// in\n tag_140:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"remix_tests.sol\":5411:5721 function greaterThan(int256 a, uint256 b, string memory message) public returns (bool result) {... */\n tag_30:\n /* \"remix_tests.sol\":5492:5503 bool result */\n 0x00\n /* \"remix_tests.sol\":5522:5523 0 */\n dup1\n /* \"remix_tests.sol\":5514:5515 a */\n dup5\n /* \"remix_tests.sol\":5514:5524 a < int(0) */\n slt\n /* \"remix_tests.sol\":5511:5647 if(a < int(0)) {... */\n iszero\n tag_142\n jumpi\n /* \"remix_tests.sol\":5592:5597 false */\n 0x00\n /* \"remix_tests.sol\":5583:5597 result = false */\n swap1\n pop\n /* \"remix_tests.sol\":5511:5647 if(a < int(0)) {... */\n jump(tag_143)\n tag_142:\n /* \"remix_tests.sol\":5638:5639 b */\n dup3\n /* \"remix_tests.sol\":5633:5634 a */\n dup5\n /* \"remix_tests.sol\":5628:5639 uint(a) > b */\n gt\n /* \"remix_tests.sol\":5618:5640 result = (uint(a) > b) */\n swap1\n pop\n /* \"remix_tests.sol\":5511:5647 if(a < int(0)) {... */\n tag_143:\n /* \"remix_tests.sol\":5657:5716 AssertionEventIntUint(result, message, \"greaterThan\", a, b) */\n 0x1aee88e0b11c6f778ee0be69b5a108735a20e3d68f5729c851f81e10fb0357e2\n /* \"remix_tests.sol\":5679:5685 result */\n dup2\n /* \"remix_tests.sol\":5687:5694 message */\n dup4\n /* \"remix_tests.sol\":5711:5712 a */\n dup7\n /* \"remix_tests.sol\":5714:5715 b */\n dup7\n /* \"remix_tests.sol\":5657:5716 AssertionEventIntUint(result, message, \"greaterThan\", a, b) */\n mload(0x40)\n tag_144\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_145\n jump\t// in\n tag_144:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"remix_tests.sol\":5411:5721 function greaterThan(int256 a, uint256 b, string memory message) public returns (bool result) {... */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"remix_tests.sol\":6206:6512 function lesserThan(uint256 a, int256 b, string memory message) public returns (bool result) {... */\n tag_37:\n /* \"remix_tests.sol\":6286:6297 bool result */\n 0x00\n /* \"remix_tests.sol\":6316:6317 0 */\n dup1\n /* \"remix_tests.sol\":6308:6309 b */\n dup4\n /* \"remix_tests.sol\":6308:6318 b < int(0) */\n slt\n /* \"remix_tests.sol\":6305:6439 if(b < int(0)) {... */\n iszero\n tag_147\n jumpi\n /* \"remix_tests.sol\":6384:6389 false */\n 0x00\n /* \"remix_tests.sol\":6375:6389 result = false */\n swap1\n pop\n /* \"remix_tests.sol\":6305:6439 if(b < int(0)) {... */\n jump(tag_148)\n tag_147:\n /* \"remix_tests.sol\":6429:6430 b */\n dup3\n /* \"remix_tests.sol\":6420:6421 a */\n dup5\n /* \"remix_tests.sol\":6420:6431 a < uint(b) */\n lt\n /* \"remix_tests.sol\":6410:6432 result = (a < uint(b)) */\n swap1\n pop\n /* \"remix_tests.sol\":6305:6439 if(b < int(0)) {... */\n tag_148:\n /* \"remix_tests.sol\":6449:6507 AssertionEventUintInt(result, message, \"lesserThan\", a, b) */\n 0x14bc841bf51d20c0dc7caa87b92cc8ffff7a0427ab3f16c1800f89f1cd14afe8\n /* \"remix_tests.sol\":6471:6477 result */\n dup2\n /* \"remix_tests.sol\":6479:6486 message */\n dup4\n /* \"remix_tests.sol\":6502:6503 a */\n dup7\n /* \"remix_tests.sol\":6505:6506 b */\n dup7\n /* \"remix_tests.sol\":6449:6507 AssertionEventUintInt(result, message, \"lesserThan\", a, b) */\n mload(0x40)\n tag_149\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_150\n jump\t// in\n tag_149:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"remix_tests.sol\":6206:6512 function lesserThan(uint256 a, int256 b, string memory message) public returns (bool result) {... */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"remix_tests.sol\":1277:1418 function ok(bool a, string memory message) public returns (bool result) {... */\n tag_43:\n /* \"remix_tests.sol\":1336:1347 bool result */\n 0x00\n /* \"remix_tests.sol\":1364:1365 a */\n dup3\n /* \"remix_tests.sol\":1355:1365 result = a */\n swap1\n pop\n /* \"remix_tests.sol\":1376:1413 AssertionEvent(result, message, \"ok\") */\n 0xbbf85d637d70ccacc5b8edb602351ba3dec7bc069d69235c3529ef3f453d01f1\n /* \"remix_tests.sol\":1391:1397 result */\n dup2\n /* \"remix_tests.sol\":1399:1406 message */\n dup4\n /* \"remix_tests.sol\":1376:1413 AssertionEvent(result, message, \"ok\") */\n mload(0x40)\n tag_152\n swap3\n swap2\n swap1\n tag_153\n jump\t// in\n tag_152:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"remix_tests.sol\":1277:1418 function ok(bool a, string memory message) public returns (bool result) {... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"remix_tests.sol\":3370:3548 function notEqual(bool a, bool b, string memory message) public returns (bool result) {... */\n tag_49:\n /* \"remix_tests.sol\":3443:3454 bool result */\n 0x00\n /* \"remix_tests.sol\":3477:3478 b */\n dup3\n /* \"remix_tests.sol\":3472:3478 a != b */\n iszero\n iszero\n /* \"remix_tests.sol\":3472:3473 a */\n dup5\n /* \"remix_tests.sol\":3472:3478 a != b */\n iszero\n iszero\n eq\n iszero\n /* \"remix_tests.sol\":3462:3479 result = (a != b) */\n swap1\n pop\n /* \"remix_tests.sol\":3490:3543 AssertionEventBool(result, message, \"notEqual\", a, b) */\n 0xf7b49aa0711ceec1ded951e7e1e0f5068e1b494431e8aafd4afd3c5fce1bcea5\n /* \"remix_tests.sol\":3509:3515 result */\n dup2\n /* \"remix_tests.sol\":3517:3524 message */\n dup4\n /* \"remix_tests.sol\":3538:3539 a */\n dup7\n /* \"remix_tests.sol\":3541:3542 b */\n dup7\n /* \"remix_tests.sol\":3490:3543 AssertionEventBool(result, message, \"notEqual\", a, b) */\n mload(0x40)\n tag_155\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_156\n jump\t// in\n tag_155:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"remix_tests.sol\":3370:3548 function notEqual(bool a, bool b, string memory message) public returns (bool result) {... */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"remix_tests.sol\":5972:6156 function lesserThan(int256 a, int256 b, string memory message) public returns (bool result) {... */\n tag_55:\n /* \"remix_tests.sol\":6051:6062 bool result */\n 0x00\n /* \"remix_tests.sol\":6084:6085 b */\n dup3\n /* \"remix_tests.sol\":6080:6081 a */\n dup5\n /* \"remix_tests.sol\":6080:6085 a < b */\n slt\n /* \"remix_tests.sol\":6070:6086 result = (a < b) */\n swap1\n pop\n /* \"remix_tests.sol\":6097:6151 AssertionEventInt(result, message, \"lesserThan\", a, b) */\n 0x06c5fd13661d229189d43a6a38e86721af51ed7065a4b6f43da4bd8cd1b18151\n /* \"remix_tests.sol\":6115:6121 result */\n dup2\n /* \"remix_tests.sol\":6123:6130 message */\n dup4\n /* \"remix_tests.sol\":6146:6147 a */\n dup7\n /* \"remix_tests.sol\":6149:6150 b */\n dup7\n /* \"remix_tests.sol\":6097:6151 AssertionEventInt(result, message, \"lesserThan\", a, b) */\n mload(0x40)\n tag_158\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_159\n jump\t// in\n tag_158:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"remix_tests.sol\":5972:6156 function lesserThan(int256 a, int256 b, string memory message) public returns (bool result) {... */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"remix_tests.sol\":4352:4608 function notEqual(string memory a, string memory b, string memory message) public returns (bool result) {... */\n tag_61:\n /* \"remix_tests.sol\":4443:4454 bool result */\n 0x00\n /* \"remix_tests.sol\":4533:4534 b */\n dup3\n /* \"remix_tests.sol\":4516:4535 abi.encodePacked(b) */\n add(0x20, mload(0x40))\n tag_161\n swap2\n swap1\n tag_162\n jump\t// in\n tag_161:\n mload(0x40)\n 0x20\n dup2\n dup4\n sub\n sub\n dup2\n mstore\n swap1\n 0x40\n mstore\n /* \"remix_tests.sol\":4506:4536 keccak256(abi.encodePacked(b)) */\n dup1\n mload\n swap1\n 0x20\n add\n keccak256\n /* \"remix_tests.sol\":4499:4500 a */\n dup5\n /* \"remix_tests.sol\":4482:4501 abi.encodePacked(a) */\n add(0x20, mload(0x40))\n tag_163\n swap2\n swap1\n tag_162\n jump\t// in\n tag_163:\n mload(0x40)\n 0x20\n dup2\n dup4\n sub\n sub\n dup2\n mstore\n swap1\n 0x40\n mstore\n /* \"remix_tests.sol\":4472:4502 keccak256(abi.encodePacked(a)) */\n dup1\n mload\n swap1\n 0x20\n add\n keccak256\n /* \"remix_tests.sol\":4472:4536 keccak256(abi.encodePacked(a)) != keccak256(abi.encodePacked(b)) */\n eq\n iszero\n /* \"remix_tests.sol\":4462:4537 result = (keccak256(abi.encodePacked(a)) != keccak256(abi.encodePacked(b))) */\n swap1\n pop\n /* \"remix_tests.sol\":4548:4603 AssertionEventString(result, message, \"notEqual\", a, b) */\n 0x772eb34cc47d8c18199f27c5bfdb20838544f0058ef8afdd2debec5f6edb455f\n /* \"remix_tests.sol\":4569:4575 result */\n dup2\n /* \"remix_tests.sol\":4577:4584 message */\n dup4\n /* \"remix_tests.sol\":4598:4599 a */\n dup7\n /* \"remix_tests.sol\":4601:4602 b */\n dup7\n /* \"remix_tests.sol\":4548:4603 AssertionEventString(result, message, \"notEqual\", a, b) */\n mload(0x40)\n tag_164\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_165\n jump\t// in\n tag_164:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"remix_tests.sol\":4352:4608 function notEqual(string memory a, string memory b, string memory message) public returns (bool result) {... */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"remix_tests.sol\":3185:3366 function notEqual(int256 a, int256 b, string memory message) public returns (bool result) {... */\n tag_66:\n /* \"remix_tests.sol\":3262:3273 bool result */\n 0x00\n /* \"remix_tests.sol\":3296:3297 b */\n dup3\n /* \"remix_tests.sol\":3291:3292 a */\n dup5\n /* \"remix_tests.sol\":3291:3297 a != b */\n eq\n iszero\n /* \"remix_tests.sol\":3281:3298 result = (a != b) */\n swap1\n pop\n /* \"remix_tests.sol\":3309:3361 AssertionEventInt(result, message, \"notEqual\", a, b) */\n 0x06c5fd13661d229189d43a6a38e86721af51ed7065a4b6f43da4bd8cd1b18151\n /* \"remix_tests.sol\":3327:3333 result */\n dup2\n /* \"remix_tests.sol\":3335:3342 message */\n dup4\n /* \"remix_tests.sol\":3356:3357 a */\n dup7\n /* \"remix_tests.sol\":3359:3360 b */\n dup7\n /* \"remix_tests.sol\":3309:3361 AssertionEventInt(result, message, \"notEqual\", a, b) */\n mload(0x40)\n tag_167\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_168\n jump\t// in\n tag_167:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"remix_tests.sol\":3185:3366 function notEqual(int256 a, int256 b, string memory message) public returns (bool result) {... */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"remix_tests.sol\":4161:4348 function notEqual(bytes32 a, bytes32 b, string memory message) public returns (bool result) {... */\n tag_72:\n /* \"remix_tests.sol\":4240:4251 bool result */\n 0x00\n /* \"remix_tests.sol\":4274:4275 b */\n dup3\n /* \"remix_tests.sol\":4269:4270 a */\n dup5\n /* \"remix_tests.sol\":4269:4275 a != b */\n eq\n iszero\n /* \"remix_tests.sol\":4259:4276 result = (a != b) */\n swap1\n pop\n /* \"remix_tests.sol\":4287:4343 AssertionEventBytes32(result, message, \"notEqual\", a, b) */\n 0x80ccaff7f7d9b95ab49ddd43778ee01cfda842a6269bed42e4e37929bc57fd28\n /* \"remix_tests.sol\":4309:4315 result */\n dup2\n /* \"remix_tests.sol\":4317:4324 message */\n dup4\n /* \"remix_tests.sol\":4338:4339 a */\n dup7\n /* \"remix_tests.sol\":4341:4342 b */\n dup7\n /* \"remix_tests.sol\":4287:4343 AssertionEventBytes32(result, message, \"notEqual\", a, b) */\n mload(0x40)\n tag_170\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_171\n jump\t// in\n tag_170:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"remix_tests.sol\":4161:4348 function notEqual(bytes32 a, bytes32 b, string memory message) public returns (bool result) {... */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"remix_tests.sol\":2997:3181 function notEqual(uint256 a, uint256 b, string memory message) public returns (bool result) {... */\n tag_78:\n /* \"remix_tests.sol\":3076:3087 bool result */\n 0x00\n /* \"remix_tests.sol\":3110:3111 b */\n dup3\n /* \"remix_tests.sol\":3105:3106 a */\n dup5\n /* \"remix_tests.sol\":3105:3111 a != b */\n eq\n iszero\n /* \"remix_tests.sol\":3095:3112 result = (a != b) */\n swap1\n pop\n /* \"remix_tests.sol\":3123:3176 AssertionEventUint(result, message, \"notEqual\", a, b) */\n 0x968b7a5d7c5bcc2e8f9f583456a62c310b1b4e509906c1c1bb1a5aff86cc1e1a\n /* \"remix_tests.sol\":3142:3148 result */\n dup2\n /* \"remix_tests.sol\":3150:3157 message */\n dup4\n /* \"remix_tests.sol\":3171:3172 a */\n dup7\n /* \"remix_tests.sol\":3174:3175 b */\n dup7\n /* \"remix_tests.sol\":3123:3176 AssertionEventUint(result, message, \"notEqual\", a, b) */\n mload(0x40)\n tag_173\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_174\n jump\t// in\n tag_173:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"remix_tests.sol\":2997:3181 function notEqual(uint256 a, uint256 b, string memory message) public returns (bool result) {... */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"remix_tests.sol\":1783:1955 function equal(bool a, bool b, string memory message) public returns (bool result) {... */\n tag_83:\n /* \"remix_tests.sol\":1853:1864 bool result */\n 0x00\n /* \"remix_tests.sol\":1887:1888 b */\n dup3\n /* \"remix_tests.sol\":1882:1888 a == b */\n iszero\n iszero\n /* \"remix_tests.sol\":1882:1883 a */\n dup5\n /* \"remix_tests.sol\":1882:1888 a == b */\n iszero\n iszero\n eq\n /* \"remix_tests.sol\":1872:1889 result = (a == b) */\n swap1\n pop\n /* \"remix_tests.sol\":1900:1950 AssertionEventBool(result, message, \"equal\", a, b) */\n 0xf7b49aa0711ceec1ded951e7e1e0f5068e1b494431e8aafd4afd3c5fce1bcea5\n /* \"remix_tests.sol\":1919:1925 result */\n dup2\n /* \"remix_tests.sol\":1927:1934 message */\n dup4\n /* \"remix_tests.sol\":1945:1946 a */\n dup7\n /* \"remix_tests.sol\":1948:1949 b */\n dup7\n /* \"remix_tests.sol\":1900:1950 AssertionEventBool(result, message, \"equal\", a, b) */\n mload(0x40)\n tag_176\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_177\n jump\t// in\n tag_176:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"remix_tests.sol\":1783:1955 function equal(bool a, bool b, string memory message) public returns (bool result) {... */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"remix_tests.sol\":6516:6821 function lesserThan(int256 a, uint256 b, string memory message) public returns (bool result) {... */\n tag_88:\n /* \"remix_tests.sol\":6596:6607 bool result */\n 0x00\n /* \"remix_tests.sol\":6626:6627 0 */\n dup1\n /* \"remix_tests.sol\":6618:6619 a */\n dup5\n /* \"remix_tests.sol\":6618:6628 a < int(0) */\n slt\n /* \"remix_tests.sol\":6615:6748 if(a < int(0)) {... */\n iszero\n tag_179\n jumpi\n /* \"remix_tests.sol\":6694:6698 true */\n 0x01\n /* \"remix_tests.sol\":6685:6698 result = true */\n swap1\n pop\n /* \"remix_tests.sol\":6615:6748 if(a < int(0)) {... */\n jump(tag_180)\n tag_179:\n /* \"remix_tests.sol\":6739:6740 b */\n dup3\n /* \"remix_tests.sol\":6734:6735 a */\n dup5\n /* \"remix_tests.sol\":6729:6740 uint(a) < b */\n lt\n /* \"remix_tests.sol\":6719:6741 result = (uint(a) < b) */\n swap1\n pop\n /* \"remix_tests.sol\":6615:6748 if(a < int(0)) {... */\n tag_180:\n /* \"remix_tests.sol\":6758:6816 AssertionEventIntUint(result, message, \"lesserThan\", a, b) */\n 0x1aee88e0b11c6f778ee0be69b5a108735a20e3d68f5729c851f81e10fb0357e2\n /* \"remix_tests.sol\":6780:6786 result */\n dup2\n /* \"remix_tests.sol\":6788:6795 message */\n dup4\n /* \"remix_tests.sol\":6811:6812 a */\n dup7\n /* \"remix_tests.sol\":6814:6815 b */\n dup7\n /* \"remix_tests.sol\":6758:6816 AssertionEventIntUint(result, message, \"lesserThan\", a, b) */\n mload(0x40)\n tag_181\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_182\n jump\t// in\n tag_181:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"remix_tests.sol\":6516:6821 function lesserThan(int256 a, uint256 b, string memory message) public returns (bool result) {... */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"remix_tests.sol\":5099:5408 function greaterThan(uint256 a, int256 b, string memory message) public returns (bool result) {... */\n tag_93:\n /* \"remix_tests.sol\":5180:5191 bool result */\n 0x00\n /* \"remix_tests.sol\":5210:5211 0 */\n dup1\n /* \"remix_tests.sol\":5202:5203 b */\n dup4\n /* \"remix_tests.sol\":5202:5212 b < int(0) */\n slt\n /* \"remix_tests.sol\":5199:5334 if(b < int(0)) {... */\n iszero\n tag_184\n jumpi\n /* \"remix_tests.sol\":5280:5284 true */\n 0x01\n /* \"remix_tests.sol\":5271:5284 result = true */\n swap1\n pop\n /* \"remix_tests.sol\":5199:5334 if(b < int(0)) {... */\n jump(tag_185)\n tag_184:\n /* \"remix_tests.sol\":5324:5325 b */\n dup3\n /* \"remix_tests.sol\":5315:5316 a */\n dup5\n /* \"remix_tests.sol\":5315:5326 a > uint(b) */\n gt\n /* \"remix_tests.sol\":5305:5327 result = (a > uint(b)) */\n swap1\n pop\n /* \"remix_tests.sol\":5199:5334 if(b < int(0)) {... */\n tag_185:\n /* \"remix_tests.sol\":5344:5403 AssertionEventUintInt(result, message, \"greaterThan\", a, b) */\n 0x14bc841bf51d20c0dc7caa87b92cc8ffff7a0427ab3f16c1800f89f1cd14afe8\n /* \"remix_tests.sol\":5366:5372 result */\n dup2\n /* \"remix_tests.sol\":5374:5381 message */\n dup4\n /* \"remix_tests.sol\":5398:5399 a */\n dup7\n /* \"remix_tests.sol\":5401:5402 b */\n dup7\n /* \"remix_tests.sol\":5344:5403 AssertionEventUintInt(result, message, \"greaterThan\", a, b) */\n mload(0x40)\n tag_186\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_187\n jump\t// in\n tag_186:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"remix_tests.sol\":5099:5408 function greaterThan(uint256 a, int256 b, string memory message) public returns (bool result) {... */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"remix_tests.sol\":4863:5049 function greaterThan(int256 a, int256 b, string memory message) public returns (bool result) {... */\n tag_98:\n /* \"remix_tests.sol\":4943:4954 bool result */\n 0x00\n /* \"remix_tests.sol\":4976:4977 b */\n dup3\n /* \"remix_tests.sol\":4972:4973 a */\n dup5\n /* \"remix_tests.sol\":4972:4977 a > b */\n sgt\n /* \"remix_tests.sol\":4962:4978 result = (a > b) */\n swap1\n pop\n /* \"remix_tests.sol\":4989:5044 AssertionEventInt(result, message, \"greaterThan\", a, b) */\n 0x06c5fd13661d229189d43a6a38e86721af51ed7065a4b6f43da4bd8cd1b18151\n /* \"remix_tests.sol\":5007:5013 result */\n dup2\n /* \"remix_tests.sol\":5015:5022 message */\n dup4\n /* \"remix_tests.sol\":5039:5040 a */\n dup7\n /* \"remix_tests.sol\":5042:5043 b */\n dup7\n /* \"remix_tests.sol\":4989:5044 AssertionEventInt(result, message, \"greaterThan\", a, b) */\n mload(0x40)\n tag_189\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_190\n jump\t// in\n tag_189:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"remix_tests.sol\":4863:5049 function greaterThan(int256 a, int256 b, string memory message) public returns (bool result) {... */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"remix_tests.sol\":4670:4859 function greaterThan(uint256 a, uint256 b, string memory message) public returns (bool result) {... */\n tag_103:\n /* \"remix_tests.sol\":4752:4763 bool result */\n 0x00\n /* \"remix_tests.sol\":4785:4786 b */\n dup3\n /* \"remix_tests.sol\":4781:4782 a */\n dup5\n /* \"remix_tests.sol\":4781:4786 a > b */\n gt\n /* \"remix_tests.sol\":4771:4787 result = (a > b) */\n swap1\n pop\n /* \"remix_tests.sol\":4798:4854 AssertionEventUint(result, message, \"greaterThan\", a, b) */\n 0x968b7a5d7c5bcc2e8f9f583456a62c310b1b4e509906c1c1bb1a5aff86cc1e1a\n /* \"remix_tests.sol\":4817:4823 result */\n dup2\n /* \"remix_tests.sol\":4825:4832 message */\n dup4\n /* \"remix_tests.sol\":4849:4850 a */\n dup7\n /* \"remix_tests.sol\":4852:4853 b */\n dup7\n /* \"remix_tests.sol\":4798:4854 AssertionEventUint(result, message, \"greaterThan\", a, b) */\n mload(0x40)\n tag_192\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_193\n jump\t// in\n tag_192:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"remix_tests.sol\":4670:4859 function greaterThan(uint256 a, uint256 b, string memory message) public returns (bool result) {... */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"remix_tests.sol\":1422:1600 function equal(uint256 a, uint256 b, string memory message) public returns (bool result) {... */\n tag_108:\n /* \"remix_tests.sol\":1498:1509 bool result */\n 0x00\n /* \"remix_tests.sol\":1532:1533 b */\n dup3\n /* \"remix_tests.sol\":1527:1528 a */\n dup5\n /* \"remix_tests.sol\":1527:1533 a == b */\n eq\n /* \"remix_tests.sol\":1517:1534 result = (a == b) */\n swap1\n pop\n /* \"remix_tests.sol\":1545:1595 AssertionEventUint(result, message, \"equal\", a, b) */\n 0x968b7a5d7c5bcc2e8f9f583456a62c310b1b4e509906c1c1bb1a5aff86cc1e1a\n /* \"remix_tests.sol\":1564:1570 result */\n dup2\n /* \"remix_tests.sol\":1572:1579 message */\n dup4\n /* \"remix_tests.sol\":1590:1591 a */\n dup7\n /* \"remix_tests.sol\":1593:1594 b */\n dup7\n /* \"remix_tests.sol\":1545:1595 AssertionEventUint(result, message, \"equal\", a, b) */\n mload(0x40)\n tag_195\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_196\n jump\t// in\n tag_195:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"remix_tests.sol\":1422:1600 function equal(uint256 a, uint256 b, string memory message) public returns (bool result) {... */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"remix_tests.sol\":5781:5968 function lesserThan(uint256 a, uint256 b, string memory message) public returns (bool result) {... */\n tag_113:\n /* \"remix_tests.sol\":5862:5873 bool result */\n 0x00\n /* \"remix_tests.sol\":5895:5896 b */\n dup3\n /* \"remix_tests.sol\":5891:5892 a */\n dup5\n /* \"remix_tests.sol\":5891:5896 a < b */\n lt\n /* \"remix_tests.sol\":5881:5897 result = (a < b) */\n swap1\n pop\n /* \"remix_tests.sol\":5908:5963 AssertionEventUint(result, message, \"lesserThan\", a, b) */\n 0x968b7a5d7c5bcc2e8f9f583456a62c310b1b4e509906c1c1bb1a5aff86cc1e1a\n /* \"remix_tests.sol\":5927:5933 result */\n dup2\n /* \"remix_tests.sol\":5935:5942 message */\n dup4\n /* \"remix_tests.sol\":5958:5959 a */\n dup7\n /* \"remix_tests.sol\":5961:5962 b */\n dup7\n /* \"remix_tests.sol\":5908:5963 AssertionEventUint(result, message, \"lesserThan\", a, b) */\n mload(0x40)\n tag_198\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_199\n jump\t// in\n tag_198:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"remix_tests.sol\":5781:5968 function lesserThan(uint256 a, uint256 b, string memory message) public returns (bool result) {... */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"remix_tests.sol\":3970:4157 function notEqual(address a, address b, string memory message) public returns (bool result) {... */\n tag_119:\n /* \"remix_tests.sol\":4049:4060 bool result */\n 0x00\n /* \"remix_tests.sol\":4083:4084 b */\n dup3\n /* \"remix_tests.sol\":4078:4084 a != b */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"remix_tests.sol\":4078:4079 a */\n dup5\n /* \"remix_tests.sol\":4078:4084 a != b */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n iszero\n /* \"remix_tests.sol\":4068:4085 result = (a != b) */\n swap1\n pop\n /* \"remix_tests.sol\":4096:4152 AssertionEventAddress(result, message, \"notEqual\", a, b) */\n 0xac36fadfa7a97083276a489f3e00cb5d4fcd13bbfdb3a78a0014fd48d4b46d9b\n /* \"remix_tests.sol\":4118:4124 result */\n dup2\n /* \"remix_tests.sol\":4126:4133 message */\n dup4\n /* \"remix_tests.sol\":4147:4148 a */\n dup7\n /* \"remix_tests.sol\":4150:4151 b */\n dup7\n /* \"remix_tests.sol\":4096:4152 AssertionEventAddress(result, message, \"notEqual\", a, b) */\n mload(0x40)\n tag_201\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_202\n jump\t// in\n tag_201:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"remix_tests.sol\":3970:4157 function notEqual(address a, address b, string memory message) public returns (bool result) {... */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"remix_tests.sol\":2371:2552 function equal(address a, address b, string memory message) public returns (bool result) {... */\n tag_124:\n /* \"remix_tests.sol\":2447:2458 bool result */\n 0x00\n /* \"remix_tests.sol\":2481:2482 b */\n dup3\n /* \"remix_tests.sol\":2476:2482 a == b */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"remix_tests.sol\":2476:2477 a */\n dup5\n /* \"remix_tests.sol\":2476:2482 a == b */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"remix_tests.sol\":2466:2483 result = (a == b) */\n swap1\n pop\n /* \"remix_tests.sol\":2494:2547 AssertionEventAddress(result, message, \"equal\", a, b) */\n 0xac36fadfa7a97083276a489f3e00cb5d4fcd13bbfdb3a78a0014fd48d4b46d9b\n /* \"remix_tests.sol\":2516:2522 result */\n dup2\n /* \"remix_tests.sol\":2524:2531 message */\n dup4\n /* \"remix_tests.sol\":2542:2543 a */\n dup7\n /* \"remix_tests.sol\":2545:2546 b */\n dup7\n /* \"remix_tests.sol\":2494:2547 AssertionEventAddress(result, message, \"equal\", a, b) */\n mload(0x40)\n tag_204\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_205\n jump\t// in\n tag_204:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"remix_tests.sol\":2371:2552 function equal(address a, address b, string memory message) public returns (bool result) {... */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"remix_tests.sol\":2741:2993 function equal(string memory a, string memory b, string memory message) public returns (bool result) {... */\n tag_129:\n /* \"remix_tests.sol\":2829:2840 bool result */\n 0x00\n /* \"remix_tests.sol\":2920:2921 b */\n dup3\n /* \"remix_tests.sol\":2903:2922 abi.encodePacked(b) */\n add(0x20, mload(0x40))\n tag_207\n swap2\n swap1\n tag_162\n jump\t// in\n tag_207:\n mload(0x40)\n 0x20\n dup2\n dup4\n sub\n sub\n dup2\n mstore\n swap1\n 0x40\n mstore\n /* \"remix_tests.sol\":2893:2923 keccak256(abi.encodePacked(b)) */\n dup1\n mload\n swap1\n 0x20\n add\n keccak256\n /* \"remix_tests.sol\":2886:2887 a */\n dup5\n /* \"remix_tests.sol\":2869:2888 abi.encodePacked(a) */\n add(0x20, mload(0x40))\n tag_208\n swap2\n swap1\n tag_162\n jump\t// in\n tag_208:\n mload(0x40)\n 0x20\n dup2\n dup4\n sub\n sub\n dup2\n mstore\n swap1\n 0x40\n mstore\n /* \"remix_tests.sol\":2859:2889 keccak256(abi.encodePacked(a)) */\n dup1\n mload\n swap1\n 0x20\n add\n keccak256\n /* \"remix_tests.sol\":2859:2923 keccak256(abi.encodePacked(a)) == keccak256(abi.encodePacked(b)) */\n eq\n /* \"remix_tests.sol\":2849:2924 result = (keccak256(abi.encodePacked(a)) == keccak256(abi.encodePacked(b))) */\n swap1\n pop\n /* \"remix_tests.sol\":2936:2988 AssertionEventString(result, message, \"equal\", a, b) */\n 0x772eb34cc47d8c18199f27c5bfdb20838544f0058ef8afdd2debec5f6edb455f\n /* \"remix_tests.sol\":2957:2963 result */\n dup2\n /* \"remix_tests.sol\":2965:2972 message */\n dup4\n /* \"remix_tests.sol\":2983:2984 a */\n dup7\n /* \"remix_tests.sol\":2986:2987 b */\n dup7\n /* \"remix_tests.sol\":2936:2988 AssertionEventString(result, message, \"equal\", a, b) */\n mload(0x40)\n tag_209\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_210\n jump\t// in\n tag_209:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"remix_tests.sol\":2741:2993 function equal(string memory a, string memory b, string memory message) public returns (bool result) {... */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"remix_tests.sol\":2556:2737 function equal(bytes32 a, bytes32 b, string memory message) public returns (bool result) {... */\n tag_134:\n /* \"remix_tests.sol\":2632:2643 bool result */\n 0x00\n /* \"remix_tests.sol\":2666:2667 b */\n dup3\n /* \"remix_tests.sol\":2661:2662 a */\n dup5\n /* \"remix_tests.sol\":2661:2667 a == b */\n eq\n /* \"remix_tests.sol\":2651:2668 result = (a == b) */\n swap1\n pop\n /* \"remix_tests.sol\":2679:2732 AssertionEventBytes32(result, message, \"equal\", a, b) */\n 0x80ccaff7f7d9b95ab49ddd43778ee01cfda842a6269bed42e4e37929bc57fd28\n /* \"remix_tests.sol\":2701:2707 result */\n dup2\n /* \"remix_tests.sol\":2709:2716 message */\n dup4\n /* \"remix_tests.sol\":2727:2728 a */\n dup7\n /* \"remix_tests.sol\":2730:2731 b */\n dup7\n /* \"remix_tests.sol\":2679:2732 AssertionEventBytes32(result, message, \"equal\", a, b) */\n mload(0x40)\n tag_212\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_213\n jump\t// in\n tag_212:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"remix_tests.sol\":2556:2737 function equal(bytes32 a, bytes32 b, string memory message) public returns (bool result) {... */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"remix_tests.sol\":1604:1779 function equal(int256 a, int256 b, string memory message) public returns (bool result) {... */\n tag_139:\n /* \"remix_tests.sol\":1678:1689 bool result */\n 0x00\n /* \"remix_tests.sol\":1712:1713 b */\n dup3\n /* \"remix_tests.sol\":1707:1708 a */\n dup5\n /* \"remix_tests.sol\":1707:1713 a == b */\n eq\n /* \"remix_tests.sol\":1697:1714 result = (a == b) */\n swap1\n pop\n /* \"remix_tests.sol\":1725:1774 AssertionEventInt(result, message, \"equal\", a, b) */\n 0x06c5fd13661d229189d43a6a38e86721af51ed7065a4b6f43da4bd8cd1b18151\n /* \"remix_tests.sol\":1743:1749 result */\n dup2\n /* \"remix_tests.sol\":1751:1758 message */\n dup4\n /* \"remix_tests.sol\":1769:1770 a */\n dup7\n /* \"remix_tests.sol\":1772:1773 b */\n dup7\n /* \"remix_tests.sol\":1725:1774 AssertionEventInt(result, message, \"equal\", a, b) */\n mload(0x40)\n tag_215\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_216\n jump\t// in\n tag_215:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"remix_tests.sol\":1604:1779 function equal(int256 a, int256 b, string memory message) public returns (bool result) {... */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7:82 */\n tag_217:\n /* \"#utility.yul\":40:46 */\n 0x00\n /* \"#utility.yul\":73:75 */\n 0x40\n /* \"#utility.yul\":67:76 */\n mload\n /* \"#utility.yul\":57:76 */\n swap1\n pop\n /* \"#utility.yul\":7:82 */\n swap1\n jump\t// out\n /* \"#utility.yul\":88:205 */\n tag_218:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n dup1\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":211:328 */\n tag_219:\n /* \"#utility.yul\":320:321 */\n 0x00\n /* \"#utility.yul\":317:318 */\n dup1\n /* \"#utility.yul\":310:322 */\n revert\n /* \"#utility.yul\":334:410 */\n tag_220:\n /* \"#utility.yul\":370:377 */\n 0x00\n /* \"#utility.yul\":399:404 */\n dup2\n /* \"#utility.yul\":388:404 */\n swap1\n pop\n /* \"#utility.yul\":334:410 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":416:536 */\n tag_221:\n /* \"#utility.yul\":488:511 */\n tag_274\n /* \"#utility.yul\":505:510 */\n dup2\n /* \"#utility.yul\":488:511 */\n tag_220\n jump\t// in\n tag_274:\n /* \"#utility.yul\":481:486 */\n dup2\n /* \"#utility.yul\":478:512 */\n eq\n /* \"#utility.yul\":468:530 */\n tag_275\n jumpi\n /* \"#utility.yul\":526:527 */\n 0x00\n /* \"#utility.yul\":523:524 */\n dup1\n /* \"#utility.yul\":516:528 */\n revert\n /* \"#utility.yul\":468:530 */\n tag_275:\n /* \"#utility.yul\":416:536 */\n pop\n jump\t// out\n /* \"#utility.yul\":542:679 */\n tag_222:\n /* \"#utility.yul\":587:592 */\n 0x00\n /* \"#utility.yul\":625:631 */\n dup2\n /* \"#utility.yul\":612:632 */\n calldataload\n /* \"#utility.yul\":603:632 */\n swap1\n pop\n /* \"#utility.yul\":641:673 */\n tag_277\n /* \"#utility.yul\":667:672 */\n dup2\n /* \"#utility.yul\":641:673 */\n tag_221\n jump\t// in\n tag_277:\n /* \"#utility.yul\":542:679 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":685:762 */\n tag_223:\n /* \"#utility.yul\":722:729 */\n 0x00\n /* \"#utility.yul\":751:756 */\n dup2\n /* \"#utility.yul\":740:756 */\n swap1\n pop\n /* \"#utility.yul\":685:762 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":768:890 */\n tag_224:\n /* \"#utility.yul\":841:865 */\n tag_280\n /* \"#utility.yul\":859:864 */\n dup2\n /* \"#utility.yul\":841:865 */\n tag_223\n jump\t// in\n tag_280:\n /* \"#utility.yul\":834:839 */\n dup2\n /* \"#utility.yul\":831:866 */\n eq\n /* \"#utility.yul\":821:884 */\n tag_281\n jumpi\n /* \"#utility.yul\":880:881 */\n 0x00\n /* \"#utility.yul\":877:878 */\n dup1\n /* \"#utility.yul\":870:882 */\n revert\n /* \"#utility.yul\":821:884 */\n tag_281:\n /* \"#utility.yul\":768:890 */\n pop\n jump\t// out\n /* \"#utility.yul\":896:1035 */\n tag_225:\n /* \"#utility.yul\":942:947 */\n 0x00\n /* \"#utility.yul\":980:986 */\n dup2\n /* \"#utility.yul\":967:987 */\n calldataload\n /* \"#utility.yul\":958:987 */\n swap1\n pop\n /* \"#utility.yul\":996:1029 */\n tag_283\n /* \"#utility.yul\":1023:1028 */\n dup2\n /* \"#utility.yul\":996:1029 */\n tag_224\n jump\t// in\n tag_283:\n /* \"#utility.yul\":896:1035 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1041:1158 */\n tag_226:\n /* \"#utility.yul\":1150:1151 */\n 0x00\n /* \"#utility.yul\":1147:1148 */\n dup1\n /* \"#utility.yul\":1140:1152 */\n revert\n /* \"#utility.yul\":1164:1281 */\n tag_227:\n /* \"#utility.yul\":1273:1274 */\n 0x00\n /* \"#utility.yul\":1270:1271 */\n dup1\n /* \"#utility.yul\":1263:1275 */\n revert\n /* \"#utility.yul\":1287:1389 */\n tag_228:\n /* \"#utility.yul\":1328:1334 */\n 0x00\n /* \"#utility.yul\":1379:1381 */\n 0x1f\n /* \"#utility.yul\":1375:1382 */\n not\n /* \"#utility.yul\":1370:1372 */\n 0x1f\n /* \"#utility.yul\":1363:1368 */\n dup4\n /* \"#utility.yul\":1359:1373 */\n add\n /* \"#utility.yul\":1355:1383 */\n and\n /* \"#utility.yul\":1345:1383 */\n swap1\n pop\n /* \"#utility.yul\":1287:1389 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1395:1575 */\n tag_229:\n /* \"#utility.yul\":1443:1520 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":1440:1441 */\n 0x00\n /* \"#utility.yul\":1433:1521 */\n mstore\n /* \"#utility.yul\":1540:1544 */\n 0x41\n /* \"#utility.yul\":1537:1538 */\n 0x04\n /* \"#utility.yul\":1530:1545 */\n mstore\n /* \"#utility.yul\":1564:1568 */\n 0x24\n /* \"#utility.yul\":1561:1562 */\n 0x00\n /* \"#utility.yul\":1554:1569 */\n revert\n /* \"#utility.yul\":1581:1862 */\n tag_230:\n /* \"#utility.yul\":1664:1691 */\n tag_289\n /* \"#utility.yul\":1686:1690 */\n dup3\n /* \"#utility.yul\":1664:1691 */\n tag_228\n jump\t// in\n tag_289:\n /* \"#utility.yul\":1656:1662 */\n dup2\n /* \"#utility.yul\":1652:1692 */\n add\n /* \"#utility.yul\":1794:1800 */\n dup2\n /* \"#utility.yul\":1782:1792 */\n dup2\n /* \"#utility.yul\":1779:1801 */\n lt\n /* \"#utility.yul\":1758:1776 */\n 0xffffffffffffffff\n /* \"#utility.yul\":1746:1756 */\n dup3\n /* \"#utility.yul\":1743:1777 */\n gt\n /* \"#utility.yul\":1740:1802 */\n or\n /* \"#utility.yul\":1737:1825 */\n iszero\n tag_290\n jumpi\n /* \"#utility.yul\":1805:1823 */\n tag_291\n tag_229\n jump\t// in\n tag_291:\n /* \"#utility.yul\":1737:1825 */\n tag_290:\n /* \"#utility.yul\":1845:1855 */\n dup1\n /* \"#utility.yul\":1841:1843 */\n 0x40\n /* \"#utility.yul\":1834:1856 */\n mstore\n /* \"#utility.yul\":1624:1862 */\n pop\n /* \"#utility.yul\":1581:1862 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1868:1997 */\n tag_231:\n /* \"#utility.yul\":1902:1908 */\n 0x00\n /* \"#utility.yul\":1929:1949 */\n tag_293\n tag_217\n jump\t// in\n tag_293:\n /* \"#utility.yul\":1919:1949 */\n swap1\n pop\n /* \"#utility.yul\":1958:1991 */\n tag_294\n /* \"#utility.yul\":1986:1990 */\n dup3\n /* \"#utility.yul\":1978:1984 */\n dup3\n /* \"#utility.yul\":1958:1991 */\n tag_230\n jump\t// in\n tag_294:\n /* \"#utility.yul\":1868:1997 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2003:2311 */\n tag_232:\n /* \"#utility.yul\":2065:2069 */\n 0x00\n /* \"#utility.yul\":2155:2173 */\n 0xffffffffffffffff\n /* \"#utility.yul\":2147:2153 */\n dup3\n /* \"#utility.yul\":2144:2174 */\n gt\n /* \"#utility.yul\":2141:2197 */\n iszero\n tag_296\n jumpi\n /* \"#utility.yul\":2177:2195 */\n tag_297\n tag_229\n jump\t// in\n tag_297:\n /* \"#utility.yul\":2141:2197 */\n tag_296:\n /* \"#utility.yul\":2215:2244 */\n tag_298\n /* \"#utility.yul\":2237:2243 */\n dup3\n /* \"#utility.yul\":2215:2244 */\n tag_228\n jump\t// in\n tag_298:\n /* \"#utility.yul\":2207:2244 */\n swap1\n pop\n /* \"#utility.yul\":2299:2303 */\n 0x20\n /* \"#utility.yul\":2293:2297 */\n dup2\n /* \"#utility.yul\":2289:2304 */\n add\n /* \"#utility.yul\":2281:2304 */\n swap1\n pop\n /* \"#utility.yul\":2003:2311 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2317:2463 */\n tag_233:\n /* \"#utility.yul\":2414:2420 */\n dup3\n /* \"#utility.yul\":2409:2412 */\n dup2\n /* \"#utility.yul\":2404:2407 */\n dup4\n /* \"#utility.yul\":2391:2421 */\n calldatacopy\n /* \"#utility.yul\":2455:2456 */\n 0x00\n /* \"#utility.yul\":2446:2452 */\n dup4\n /* \"#utility.yul\":2441:2444 */\n dup4\n /* \"#utility.yul\":2437:2453 */\n add\n /* \"#utility.yul\":2430:2457 */\n mstore\n /* \"#utility.yul\":2317:2463 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2469:2894 */\n tag_234:\n /* \"#utility.yul\":2547:2552 */\n 0x00\n /* \"#utility.yul\":2572:2638 */\n tag_301\n /* \"#utility.yul\":2588:2637 */\n tag_302\n /* \"#utility.yul\":2630:2636 */\n dup5\n /* \"#utility.yul\":2588:2637 */\n tag_232\n jump\t// in\n tag_302:\n /* \"#utility.yul\":2572:2638 */\n tag_231\n jump\t// in\n tag_301:\n /* \"#utility.yul\":2563:2638 */\n swap1\n pop\n /* \"#utility.yul\":2661:2667 */\n dup3\n /* \"#utility.yul\":2654:2659 */\n dup2\n /* \"#utility.yul\":2647:2668 */\n mstore\n /* \"#utility.yul\":2699:2703 */\n 0x20\n /* \"#utility.yul\":2692:2697 */\n dup2\n /* \"#utility.yul\":2688:2704 */\n add\n /* \"#utility.yul\":2737:2740 */\n dup5\n /* \"#utility.yul\":2728:2734 */\n dup5\n /* \"#utility.yul\":2723:2726 */\n dup5\n /* \"#utility.yul\":2719:2735 */\n add\n /* \"#utility.yul\":2716:2741 */\n gt\n /* \"#utility.yul\":2713:2825 */\n iszero\n tag_303\n jumpi\n /* \"#utility.yul\":2744:2823 */\n tag_304\n tag_227\n jump\t// in\n tag_304:\n /* \"#utility.yul\":2713:2825 */\n tag_303:\n /* \"#utility.yul\":2834:2888 */\n tag_305\n /* \"#utility.yul\":2881:2887 */\n dup5\n /* \"#utility.yul\":2876:2879 */\n dup3\n /* \"#utility.yul\":2871:2874 */\n dup6\n /* \"#utility.yul\":2834:2888 */\n tag_233\n jump\t// in\n tag_305:\n /* \"#utility.yul\":2553:2894 */\n pop\n /* \"#utility.yul\":2469:2894 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2914:3254 */\n tag_235:\n /* \"#utility.yul\":2970:2975 */\n 0x00\n /* \"#utility.yul\":3019:3022 */\n dup3\n /* \"#utility.yul\":3012:3016 */\n 0x1f\n /* \"#utility.yul\":3004:3010 */\n dup4\n /* \"#utility.yul\":3000:3017 */\n add\n /* \"#utility.yul\":2996:3023 */\n slt\n /* \"#utility.yul\":2986:3108 */\n tag_307\n jumpi\n /* \"#utility.yul\":3027:3106 */\n tag_308\n tag_226\n jump\t// in\n tag_308:\n /* \"#utility.yul\":2986:3108 */\n tag_307:\n /* \"#utility.yul\":3144:3150 */\n dup2\n /* \"#utility.yul\":3131:3151 */\n calldataload\n /* \"#utility.yul\":3169:3248 */\n tag_309\n /* \"#utility.yul\":3244:3247 */\n dup5\n /* \"#utility.yul\":3236:3242 */\n dup3\n /* \"#utility.yul\":3229:3233 */\n 0x20\n /* \"#utility.yul\":3221:3227 */\n dup7\n /* \"#utility.yul\":3217:3234 */\n add\n /* \"#utility.yul\":3169:3248 */\n tag_234\n jump\t// in\n tag_309:\n /* \"#utility.yul\":3160:3248 */\n swap2\n pop\n /* \"#utility.yul\":2976:3254 */\n pop\n /* \"#utility.yul\":2914:3254 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3260:4057 */\n tag_29:\n /* \"#utility.yul\":3346:3352 */\n 0x00\n /* \"#utility.yul\":3354:3360 */\n dup1\n /* \"#utility.yul\":3362:3368 */\n 0x00\n /* \"#utility.yul\":3411:3413 */\n 0x60\n /* \"#utility.yul\":3399:3408 */\n dup5\n /* \"#utility.yul\":3390:3397 */\n dup7\n /* \"#utility.yul\":3386:3409 */\n sub\n /* \"#utility.yul\":3382:3414 */\n slt\n /* \"#utility.yul\":3379:3498 */\n iszero\n tag_311\n jumpi\n /* \"#utility.yul\":3417:3496 */\n tag_312\n tag_218\n jump\t// in\n tag_312:\n /* \"#utility.yul\":3379:3498 */\n tag_311:\n /* \"#utility.yul\":3537:3538 */\n 0x00\n /* \"#utility.yul\":3562:3614 */\n tag_313\n /* \"#utility.yul\":3606:3613 */\n dup7\n /* \"#utility.yul\":3597:3603 */\n dup3\n /* \"#utility.yul\":3586:3595 */\n dup8\n /* \"#utility.yul\":3582:3604 */\n add\n /* \"#utility.yul\":3562:3614 */\n tag_222\n jump\t// in\n tag_313:\n /* \"#utility.yul\":3552:3614 */\n swap4\n pop\n /* \"#utility.yul\":3508:3624 */\n pop\n /* \"#utility.yul\":3663:3665 */\n 0x20\n /* \"#utility.yul\":3689:3742 */\n tag_314\n /* \"#utility.yul\":3734:3741 */\n dup7\n /* \"#utility.yul\":3725:3731 */\n dup3\n /* \"#utility.yul\":3714:3723 */\n dup8\n /* \"#utility.yul\":3710:3732 */\n add\n /* \"#utility.yul\":3689:3742 */\n tag_225\n jump\t// in\n tag_314:\n /* \"#utility.yul\":3679:3742 */\n swap3\n pop\n /* \"#utility.yul\":3634:3752 */\n pop\n /* \"#utility.yul\":3819:3821 */\n 0x40\n /* \"#utility.yul\":3808:3817 */\n dup5\n /* \"#utility.yul\":3804:3822 */\n add\n /* \"#utility.yul\":3791:3823 */\n calldataload\n /* \"#utility.yul\":3850:3868 */\n 0xffffffffffffffff\n /* \"#utility.yul\":3842:3848 */\n dup2\n /* \"#utility.yul\":3839:3869 */\n gt\n /* \"#utility.yul\":3836:3953 */\n iszero\n tag_315\n jumpi\n /* \"#utility.yul\":3872:3951 */\n tag_316\n tag_219\n jump\t// in\n tag_316:\n /* \"#utility.yul\":3836:3953 */\n tag_315:\n /* \"#utility.yul\":3977:4040 */\n tag_317\n /* \"#utility.yul\":4032:4039 */\n dup7\n /* \"#utility.yul\":4023:4029 */\n dup3\n /* \"#utility.yul\":4012:4021 */\n dup8\n /* \"#utility.yul\":4008:4030 */\n add\n /* \"#utility.yul\":3977:4040 */\n tag_235\n jump\t// in\n tag_317:\n /* \"#utility.yul\":3967:4040 */\n swap2\n pop\n /* \"#utility.yul\":3762:4050 */\n pop\n /* \"#utility.yul\":3260:4057 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"#utility.yul\":4063:4153 */\n tag_236:\n /* \"#utility.yul\":4097:4104 */\n 0x00\n /* \"#utility.yul\":4140:4145 */\n dup2\n /* \"#utility.yul\":4133:4146 */\n iszero\n /* \"#utility.yul\":4126:4147 */\n iszero\n /* \"#utility.yul\":4115:4147 */\n swap1\n pop\n /* \"#utility.yul\":4063:4153 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4159:4276 */\n tag_237:\n /* \"#utility.yul\":4248:4269 */\n tag_320\n /* \"#utility.yul\":4263:4268 */\n dup2\n /* \"#utility.yul\":4248:4269 */\n tag_236\n jump\t// in\n tag_320:\n /* \"#utility.yul\":4243:4246 */\n dup3\n /* \"#utility.yul\":4236:4270 */\n mstore\n /* \"#utility.yul\":4159:4276 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4282:4508 */\n tag_32:\n /* \"#utility.yul\":4377:4381 */\n 0x00\n /* \"#utility.yul\":4415:4417 */\n 0x20\n /* \"#utility.yul\":4404:4413 */\n dup3\n /* \"#utility.yul\":4400:4418 */\n add\n /* \"#utility.yul\":4392:4418 */\n swap1\n pop\n /* \"#utility.yul\":4428:4501 */\n tag_322\n /* \"#utility.yul\":4498:4499 */\n 0x00\n /* \"#utility.yul\":4487:4496 */\n dup4\n /* \"#utility.yul\":4483:4500 */\n add\n /* \"#utility.yul\":4474:4480 */\n dup5\n /* \"#utility.yul\":4428:4501 */\n tag_237\n jump\t// in\n tag_322:\n /* \"#utility.yul\":4282:4508 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4514:5311 */\n tag_36:\n /* \"#utility.yul\":4600:4606 */\n 0x00\n /* \"#utility.yul\":4608:4614 */\n dup1\n /* \"#utility.yul\":4616:4622 */\n 0x00\n /* \"#utility.yul\":4665:4667 */\n 0x60\n /* \"#utility.yul\":4653:4662 */\n dup5\n /* \"#utility.yul\":4644:4651 */\n dup7\n /* \"#utility.yul\":4640:4663 */\n sub\n /* \"#utility.yul\":4636:4668 */\n slt\n /* \"#utility.yul\":4633:4752 */\n iszero\n tag_324\n jumpi\n /* \"#utility.yul\":4671:4750 */\n tag_325\n tag_218\n jump\t// in\n tag_325:\n /* \"#utility.yul\":4633:4752 */\n tag_324:\n /* \"#utility.yul\":4791:4792 */\n 0x00\n /* \"#utility.yul\":4816:4869 */\n tag_326\n /* \"#utility.yul\":4861:4868 */\n dup7\n /* \"#utility.yul\":4852:4858 */\n dup3\n /* \"#utility.yul\":4841:4850 */\n dup8\n /* \"#utility.yul\":4837:4859 */\n add\n /* \"#utility.yul\":4816:4869 */\n tag_225\n jump\t// in\n tag_326:\n /* \"#utility.yul\":4806:4869 */\n swap4\n pop\n /* \"#utility.yul\":4762:4879 */\n pop\n /* \"#utility.yul\":4918:4920 */\n 0x20\n /* \"#utility.yul\":4944:4996 */\n tag_327\n /* \"#utility.yul\":4988:4995 */\n dup7\n /* \"#utility.yul\":4979:4985 */\n dup3\n /* \"#utility.yul\":4968:4977 */\n dup8\n /* \"#utility.yul\":4964:4986 */\n add\n /* \"#utility.yul\":4944:4996 */\n tag_222\n jump\t// in\n tag_327:\n /* \"#utility.yul\":4934:4996 */\n swap3\n pop\n /* \"#utility.yul\":4889:5006 */\n pop\n /* \"#utility.yul\":5073:5075 */\n 0x40\n /* \"#utility.yul\":5062:5071 */\n dup5\n /* \"#utility.yul\":5058:5076 */\n add\n /* \"#utility.yul\":5045:5077 */\n calldataload\n /* \"#utility.yul\":5104:5122 */\n 0xffffffffffffffff\n /* \"#utility.yul\":5096:5102 */\n dup2\n /* \"#utility.yul\":5093:5123 */\n gt\n /* \"#utility.yul\":5090:5207 */\n iszero\n tag_328\n jumpi\n /* \"#utility.yul\":5126:5205 */\n tag_329\n tag_219\n jump\t// in\n tag_329:\n /* \"#utility.yul\":5090:5207 */\n tag_328:\n /* \"#utility.yul\":5231:5294 */\n tag_330\n /* \"#utility.yul\":5286:5293 */\n dup7\n /* \"#utility.yul\":5277:5283 */\n dup3\n /* \"#utility.yul\":5266:5275 */\n dup8\n /* \"#utility.yul\":5262:5284 */\n add\n /* \"#utility.yul\":5231:5294 */\n tag_235\n jump\t// in\n tag_330:\n /* \"#utility.yul\":5221:5294 */\n swap2\n pop\n /* \"#utility.yul\":5016:5304 */\n pop\n /* \"#utility.yul\":4514:5311 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"#utility.yul\":5317:5433 */\n tag_238:\n /* \"#utility.yul\":5387:5408 */\n tag_332\n /* \"#utility.yul\":5402:5407 */\n dup2\n /* \"#utility.yul\":5387:5408 */\n tag_236\n jump\t// in\n tag_332:\n /* \"#utility.yul\":5380:5385 */\n dup2\n /* \"#utility.yul\":5377:5409 */\n eq\n /* \"#utility.yul\":5367:5427 */\n tag_333\n jumpi\n /* \"#utility.yul\":5423:5424 */\n 0x00\n /* \"#utility.yul\":5420:5421 */\n dup1\n /* \"#utility.yul\":5413:5425 */\n revert\n /* \"#utility.yul\":5367:5427 */\n tag_333:\n /* \"#utility.yul\":5317:5433 */\n pop\n jump\t// out\n /* \"#utility.yul\":5439:5572 */\n tag_239:\n /* \"#utility.yul\":5482:5487 */\n 0x00\n /* \"#utility.yul\":5520:5526 */\n dup2\n /* \"#utility.yul\":5507:5527 */\n calldataload\n /* \"#utility.yul\":5498:5527 */\n swap1\n pop\n /* \"#utility.yul\":5536:5566 */\n tag_335\n /* \"#utility.yul\":5560:5565 */\n dup2\n /* \"#utility.yul\":5536:5566 */\n tag_238\n jump\t// in\n tag_335:\n /* \"#utility.yul\":5439:5572 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5578:6226 */\n tag_42:\n /* \"#utility.yul\":5653:5659 */\n 0x00\n /* \"#utility.yul\":5661:5667 */\n dup1\n /* \"#utility.yul\":5710:5712 */\n 0x40\n /* \"#utility.yul\":5698:5707 */\n dup4\n /* \"#utility.yul\":5689:5696 */\n dup6\n /* \"#utility.yul\":5685:5708 */\n sub\n /* \"#utility.yul\":5681:5713 */\n slt\n /* \"#utility.yul\":5678:5797 */\n iszero\n tag_337\n jumpi\n /* \"#utility.yul\":5716:5795 */\n tag_338\n tag_218\n jump\t// in\n tag_338:\n /* \"#utility.yul\":5678:5797 */\n tag_337:\n /* \"#utility.yul\":5836:5837 */\n 0x00\n /* \"#utility.yul\":5861:5911 */\n tag_339\n /* \"#utility.yul\":5903:5910 */\n dup6\n /* \"#utility.yul\":5894:5900 */\n dup3\n /* \"#utility.yul\":5883:5892 */\n dup7\n /* \"#utility.yul\":5879:5901 */\n add\n /* \"#utility.yul\":5861:5911 */\n tag_239\n jump\t// in\n tag_339:\n /* \"#utility.yul\":5851:5911 */\n swap3\n pop\n /* \"#utility.yul\":5807:5921 */\n pop\n /* \"#utility.yul\":5988:5990 */\n 0x20\n /* \"#utility.yul\":5977:5986 */\n dup4\n /* \"#utility.yul\":5973:5991 */\n add\n /* \"#utility.yul\":5960:5992 */\n calldataload\n /* \"#utility.yul\":6019:6037 */\n 0xffffffffffffffff\n /* \"#utility.yul\":6011:6017 */\n dup2\n /* \"#utility.yul\":6008:6038 */\n gt\n /* \"#utility.yul\":6005:6122 */\n iszero\n tag_340\n jumpi\n /* \"#utility.yul\":6041:6120 */\n tag_341\n tag_219\n jump\t// in\n tag_341:\n /* \"#utility.yul\":6005:6122 */\n tag_340:\n /* \"#utility.yul\":6146:6209 */\n tag_342\n /* \"#utility.yul\":6201:6208 */\n dup6\n /* \"#utility.yul\":6192:6198 */\n dup3\n /* \"#utility.yul\":6181:6190 */\n dup7\n /* \"#utility.yul\":6177:6199 */\n add\n /* \"#utility.yul\":6146:6209 */\n tag_235\n jump\t// in\n tag_342:\n /* \"#utility.yul\":6136:6209 */\n swap2\n pop\n /* \"#utility.yul\":5931:6219 */\n pop\n /* \"#utility.yul\":5578:6226 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6232:7019 */\n tag_48:\n /* \"#utility.yul\":6313:6319 */\n 0x00\n /* \"#utility.yul\":6321:6327 */\n dup1\n /* \"#utility.yul\":6329:6335 */\n 0x00\n /* \"#utility.yul\":6378:6380 */\n 0x60\n /* \"#utility.yul\":6366:6375 */\n dup5\n /* \"#utility.yul\":6357:6364 */\n dup7\n /* \"#utility.yul\":6353:6376 */\n sub\n /* \"#utility.yul\":6349:6381 */\n slt\n /* \"#utility.yul\":6346:6465 */\n iszero\n tag_344\n jumpi\n /* \"#utility.yul\":6384:6463 */\n tag_345\n tag_218\n jump\t// in\n tag_345:\n /* \"#utility.yul\":6346:6465 */\n tag_344:\n /* \"#utility.yul\":6504:6505 */\n 0x00\n /* \"#utility.yul\":6529:6579 */\n tag_346\n /* \"#utility.yul\":6571:6578 */\n dup7\n /* \"#utility.yul\":6562:6568 */\n dup3\n /* \"#utility.yul\":6551:6560 */\n dup8\n /* \"#utility.yul\":6547:6569 */\n add\n /* \"#utility.yul\":6529:6579 */\n tag_239\n jump\t// in\n tag_346:\n /* \"#utility.yul\":6519:6579 */\n swap4\n pop\n /* \"#utility.yul\":6475:6589 */\n pop\n /* \"#utility.yul\":6628:6630 */\n 0x20\n /* \"#utility.yul\":6654:6704 */\n tag_347\n /* \"#utility.yul\":6696:6703 */\n dup7\n /* \"#utility.yul\":6687:6693 */\n dup3\n /* \"#utility.yul\":6676:6685 */\n dup8\n /* \"#utility.yul\":6672:6694 */\n add\n /* \"#utility.yul\":6654:6704 */\n tag_239\n jump\t// in\n tag_347:\n /* \"#utility.yul\":6644:6704 */\n swap3\n pop\n /* \"#utility.yul\":6599:6714 */\n pop\n /* \"#utility.yul\":6781:6783 */\n 0x40\n /* \"#utility.yul\":6770:6779 */\n dup5\n /* \"#utility.yul\":6766:6784 */\n add\n /* \"#utility.yul\":6753:6785 */\n calldataload\n /* \"#utility.yul\":6812:6830 */\n 0xffffffffffffffff\n /* \"#utility.yul\":6804:6810 */\n dup2\n /* \"#utility.yul\":6801:6831 */\n gt\n /* \"#utility.yul\":6798:6915 */\n iszero\n tag_348\n jumpi\n /* \"#utility.yul\":6834:6913 */\n tag_349\n tag_219\n jump\t// in\n tag_349:\n /* \"#utility.yul\":6798:6915 */\n tag_348:\n /* \"#utility.yul\":6939:7002 */\n tag_350\n /* \"#utility.yul\":6994:7001 */\n dup7\n /* \"#utility.yul\":6985:6991 */\n dup3\n /* \"#utility.yul\":6974:6983 */\n dup8\n /* \"#utility.yul\":6970:6992 */\n add\n /* \"#utility.yul\":6939:7002 */\n tag_235\n jump\t// in\n tag_350:\n /* \"#utility.yul\":6929:7002 */\n swap2\n pop\n /* \"#utility.yul\":6724:7012 */\n pop\n /* \"#utility.yul\":6232:7019 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"#utility.yul\":7025:7820 */\n tag_54:\n /* \"#utility.yul\":7110:7116 */\n 0x00\n /* \"#utility.yul\":7118:7124 */\n dup1\n /* \"#utility.yul\":7126:7132 */\n 0x00\n /* \"#utility.yul\":7175:7177 */\n 0x60\n /* \"#utility.yul\":7163:7172 */\n dup5\n /* \"#utility.yul\":7154:7161 */\n dup7\n /* \"#utility.yul\":7150:7173 */\n sub\n /* \"#utility.yul\":7146:7178 */\n slt\n /* \"#utility.yul\":7143:7262 */\n iszero\n tag_352\n jumpi\n /* \"#utility.yul\":7181:7260 */\n tag_353\n tag_218\n jump\t// in\n tag_353:\n /* \"#utility.yul\":7143:7262 */\n tag_352:\n /* \"#utility.yul\":7301:7302 */\n 0x00\n /* \"#utility.yul\":7326:7378 */\n tag_354\n /* \"#utility.yul\":7370:7377 */\n dup7\n /* \"#utility.yul\":7361:7367 */\n dup3\n /* \"#utility.yul\":7350:7359 */\n dup8\n /* \"#utility.yul\":7346:7368 */\n add\n /* \"#utility.yul\":7326:7378 */\n tag_222\n jump\t// in\n tag_354:\n /* \"#utility.yul\":7316:7378 */\n swap4\n pop\n /* \"#utility.yul\":7272:7388 */\n pop\n /* \"#utility.yul\":7427:7429 */\n 0x20\n /* \"#utility.yul\":7453:7505 */\n tag_355\n /* \"#utility.yul\":7497:7504 */\n dup7\n /* \"#utility.yul\":7488:7494 */\n dup3\n /* \"#utility.yul\":7477:7486 */\n dup8\n /* \"#utility.yul\":7473:7495 */\n add\n /* \"#utility.yul\":7453:7505 */\n tag_222\n jump\t// in\n tag_355:\n /* \"#utility.yul\":7443:7505 */\n swap3\n pop\n /* \"#utility.yul\":7398:7515 */\n pop\n /* \"#utility.yul\":7582:7584 */\n 0x40\n /* \"#utility.yul\":7571:7580 */\n dup5\n /* \"#utility.yul\":7567:7585 */\n add\n /* \"#utility.yul\":7554:7586 */\n calldataload\n /* \"#utility.yul\":7613:7631 */\n 0xffffffffffffffff\n /* \"#utility.yul\":7605:7611 */\n dup2\n /* \"#utility.yul\":7602:7632 */\n gt\n /* \"#utility.yul\":7599:7716 */\n iszero\n tag_356\n jumpi\n /* \"#utility.yul\":7635:7714 */\n tag_357\n tag_219\n jump\t// in\n tag_357:\n /* \"#utility.yul\":7599:7716 */\n tag_356:\n /* \"#utility.yul\":7740:7803 */\n tag_358\n /* \"#utility.yul\":7795:7802 */\n dup7\n /* \"#utility.yul\":7786:7792 */\n dup3\n /* \"#utility.yul\":7775:7784 */\n dup8\n /* \"#utility.yul\":7771:7793 */\n add\n /* \"#utility.yul\":7740:7803 */\n tag_235\n jump\t// in\n tag_358:\n /* \"#utility.yul\":7730:7803 */\n swap2\n pop\n /* \"#utility.yul\":7525:7813 */\n pop\n /* \"#utility.yul\":7025:7820 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"#utility.yul\":7826:8985 */\n tag_60:\n /* \"#utility.yul\":7933:7939 */\n 0x00\n /* \"#utility.yul\":7941:7947 */\n dup1\n /* \"#utility.yul\":7949:7955 */\n 0x00\n /* \"#utility.yul\":7998:8000 */\n 0x60\n /* \"#utility.yul\":7986:7995 */\n dup5\n /* \"#utility.yul\":7977:7984 */\n dup7\n /* \"#utility.yul\":7973:7996 */\n sub\n /* \"#utility.yul\":7969:8001 */\n slt\n /* \"#utility.yul\":7966:8085 */\n iszero\n tag_360\n jumpi\n /* \"#utility.yul\":8004:8083 */\n tag_361\n tag_218\n jump\t// in\n tag_361:\n /* \"#utility.yul\":7966:8085 */\n tag_360:\n /* \"#utility.yul\":8152:8153 */\n 0x00\n /* \"#utility.yul\":8141:8150 */\n dup5\n /* \"#utility.yul\":8137:8154 */\n add\n /* \"#utility.yul\":8124:8155 */\n calldataload\n /* \"#utility.yul\":8182:8200 */\n 0xffffffffffffffff\n /* \"#utility.yul\":8174:8180 */\n dup2\n /* \"#utility.yul\":8171:8201 */\n gt\n /* \"#utility.yul\":8168:8285 */\n iszero\n tag_362\n jumpi\n /* \"#utility.yul\":8204:8283 */\n tag_363\n tag_219\n jump\t// in\n tag_363:\n /* \"#utility.yul\":8168:8285 */\n tag_362:\n /* \"#utility.yul\":8309:8372 */\n tag_364\n /* \"#utility.yul\":8364:8371 */\n dup7\n /* \"#utility.yul\":8355:8361 */\n dup3\n /* \"#utility.yul\":8344:8353 */\n dup8\n /* \"#utility.yul\":8340:8362 */\n add\n /* \"#utility.yul\":8309:8372 */\n tag_235\n jump\t// in\n tag_364:\n /* \"#utility.yul\":8299:8372 */\n swap4\n pop\n /* \"#utility.yul\":8095:8382 */\n pop\n /* \"#utility.yul\":8449:8451 */\n 0x20\n /* \"#utility.yul\":8438:8447 */\n dup5\n /* \"#utility.yul\":8434:8452 */\n add\n /* \"#utility.yul\":8421:8453 */\n calldataload\n /* \"#utility.yul\":8480:8498 */\n 0xffffffffffffffff\n /* \"#utility.yul\":8472:8478 */\n dup2\n /* \"#utility.yul\":8469:8499 */\n gt\n /* \"#utility.yul\":8466:8583 */\n iszero\n tag_365\n jumpi\n /* \"#utility.yul\":8502:8581 */\n tag_366\n tag_219\n jump\t// in\n tag_366:\n /* \"#utility.yul\":8466:8583 */\n tag_365:\n /* \"#utility.yul\":8607:8670 */\n tag_367\n /* \"#utility.yul\":8662:8669 */\n dup7\n /* \"#utility.yul\":8653:8659 */\n dup3\n /* \"#utility.yul\":8642:8651 */\n dup8\n /* \"#utility.yul\":8638:8660 */\n add\n /* \"#utility.yul\":8607:8670 */\n tag_235\n jump\t// in\n tag_367:\n /* \"#utility.yul\":8597:8670 */\n swap3\n pop\n /* \"#utility.yul\":8392:8680 */\n pop\n /* \"#utility.yul\":8747:8749 */\n 0x40\n /* \"#utility.yul\":8736:8745 */\n dup5\n /* \"#utility.yul\":8732:8750 */\n add\n /* \"#utility.yul\":8719:8751 */\n calldataload\n /* \"#utility.yul\":8778:8796 */\n 0xffffffffffffffff\n /* \"#utility.yul\":8770:8776 */\n dup2\n /* \"#utility.yul\":8767:8797 */\n gt\n /* \"#utility.yul\":8764:8881 */\n iszero\n tag_368\n jumpi\n /* \"#utility.yul\":8800:8879 */\n tag_369\n tag_219\n jump\t// in\n tag_369:\n /* \"#utility.yul\":8764:8881 */\n tag_368:\n /* \"#utility.yul\":8905:8968 */\n tag_370\n /* \"#utility.yul\":8960:8967 */\n dup7\n /* \"#utility.yul\":8951:8957 */\n dup3\n /* \"#utility.yul\":8940:8949 */\n dup8\n /* \"#utility.yul\":8936:8958 */\n add\n /* \"#utility.yul\":8905:8968 */\n tag_235\n jump\t// in\n tag_370:\n /* \"#utility.yul\":8895:8968 */\n swap2\n pop\n /* \"#utility.yul\":8690:8978 */\n pop\n /* \"#utility.yul\":7826:8985 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"#utility.yul\":8991:9068 */\n tag_240:\n /* \"#utility.yul\":9028:9035 */\n 0x00\n /* \"#utility.yul\":9057:9062 */\n dup2\n /* \"#utility.yul\":9046:9062 */\n swap1\n pop\n /* \"#utility.yul\":8991:9068 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":9074:9196 */\n tag_241:\n /* \"#utility.yul\":9147:9171 */\n tag_373\n /* \"#utility.yul\":9165:9170 */\n dup2\n /* \"#utility.yul\":9147:9171 */\n tag_240\n jump\t// in\n tag_373:\n /* \"#utility.yul\":9140:9145 */\n dup2\n /* \"#utility.yul\":9137:9172 */\n eq\n /* \"#utility.yul\":9127:9190 */\n tag_374\n jumpi\n /* \"#utility.yul\":9186:9187 */\n 0x00\n /* \"#utility.yul\":9183:9184 */\n dup1\n /* \"#utility.yul\":9176:9188 */\n revert\n /* \"#utility.yul\":9127:9190 */\n tag_374:\n /* \"#utility.yul\":9074:9196 */\n pop\n jump\t// out\n /* \"#utility.yul\":9202:9341 */\n tag_242:\n /* \"#utility.yul\":9248:9253 */\n 0x00\n /* \"#utility.yul\":9286:9292 */\n dup2\n /* \"#utility.yul\":9273:9293 */\n calldataload\n /* \"#utility.yul\":9264:9293 */\n swap1\n pop\n /* \"#utility.yul\":9302:9335 */\n tag_376\n /* \"#utility.yul\":9329:9334 */\n dup2\n /* \"#utility.yul\":9302:9335 */\n tag_241\n jump\t// in\n tag_376:\n /* \"#utility.yul\":9202:9341 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":9347:10146 */\n tag_71:\n /* \"#utility.yul\":9434:9440 */\n 0x00\n /* \"#utility.yul\":9442:9448 */\n dup1\n /* \"#utility.yul\":9450:9456 */\n 0x00\n /* \"#utility.yul\":9499:9501 */\n 0x60\n /* \"#utility.yul\":9487:9496 */\n dup5\n /* \"#utility.yul\":9478:9485 */\n dup7\n /* \"#utility.yul\":9474:9497 */\n sub\n /* \"#utility.yul\":9470:9502 */\n slt\n /* \"#utility.yul\":9467:9586 */\n iszero\n tag_378\n jumpi\n /* \"#utility.yul\":9505:9584 */\n tag_379\n tag_218\n jump\t// in\n tag_379:\n /* \"#utility.yul\":9467:9586 */\n tag_378:\n /* \"#utility.yul\":9625:9626 */\n 0x00\n /* \"#utility.yul\":9650:9703 */\n tag_380\n /* \"#utility.yul\":9695:9702 */\n dup7\n /* \"#utility.yul\":9686:9692 */\n dup3\n /* \"#utility.yul\":9675:9684 */\n dup8\n /* \"#utility.yul\":9671:9693 */\n add\n /* \"#utility.yul\":9650:9703 */\n tag_242\n jump\t// in\n tag_380:\n /* \"#utility.yul\":9640:9703 */\n swap4\n pop\n /* \"#utility.yul\":9596:9713 */\n pop\n /* \"#utility.yul\":9752:9754 */\n 0x20\n /* \"#utility.yul\":9778:9831 */\n tag_381\n /* \"#utility.yul\":9823:9830 */\n dup7\n /* \"#utility.yul\":9814:9820 */\n dup3\n /* \"#utility.yul\":9803:9812 */\n dup8\n /* \"#utility.yul\":9799:9821 */\n add\n /* \"#utility.yul\":9778:9831 */\n tag_242\n jump\t// in\n tag_381:\n /* \"#utility.yul\":9768:9831 */\n swap3\n pop\n /* \"#utility.yul\":9723:9841 */\n pop\n /* \"#utility.yul\":9908:9910 */\n 0x40\n /* \"#utility.yul\":9897:9906 */\n dup5\n /* \"#utility.yul\":9893:9911 */\n add\n /* \"#utility.yul\":9880:9912 */\n calldataload\n /* \"#utility.yul\":9939:9957 */\n 0xffffffffffffffff\n /* \"#utility.yul\":9931:9937 */\n dup2\n /* \"#utility.yul\":9928:9958 */\n gt\n /* \"#utility.yul\":9925:10042 */\n iszero\n tag_382\n jumpi\n /* \"#utility.yul\":9961:10040 */\n tag_383\n tag_219\n jump\t// in\n tag_383:\n /* \"#utility.yul\":9925:10042 */\n tag_382:\n /* \"#utility.yul\":10066:10129 */\n tag_384\n /* \"#utility.yul\":10121:10128 */\n dup7\n /* \"#utility.yul\":10112:10118 */\n dup3\n /* \"#utility.yul\":10101:10110 */\n dup8\n /* \"#utility.yul\":10097:10119 */\n add\n /* \"#utility.yul\":10066:10129 */\n tag_235\n jump\t// in\n tag_384:\n /* \"#utility.yul\":10056:10129 */\n swap2\n pop\n /* \"#utility.yul\":9851:10139 */\n pop\n /* \"#utility.yul\":9347:10146 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"#utility.yul\":10152:10951 */\n tag_77:\n /* \"#utility.yul\":10239:10245 */\n 0x00\n /* \"#utility.yul\":10247:10253 */\n dup1\n /* \"#utility.yul\":10255:10261 */\n 0x00\n /* \"#utility.yul\":10304:10306 */\n 0x60\n /* \"#utility.yul\":10292:10301 */\n dup5\n /* \"#utility.yul\":10283:10290 */\n dup7\n /* \"#utility.yul\":10279:10302 */\n sub\n /* \"#utility.yul\":10275:10307 */\n slt\n /* \"#utility.yul\":10272:10391 */\n iszero\n tag_386\n jumpi\n /* \"#utility.yul\":10310:10389 */\n tag_387\n tag_218\n jump\t// in\n tag_387:\n /* \"#utility.yul\":10272:10391 */\n tag_386:\n /* \"#utility.yul\":10430:10431 */\n 0x00\n /* \"#utility.yul\":10455:10508 */\n tag_388\n /* \"#utility.yul\":10500:10507 */\n dup7\n /* \"#utility.yul\":10491:10497 */\n dup3\n /* \"#utility.yul\":10480:10489 */\n dup8\n /* \"#utility.yul\":10476:10498 */\n add\n /* \"#utility.yul\":10455:10508 */\n tag_225\n jump\t// in\n tag_388:\n /* \"#utility.yul\":10445:10508 */\n swap4\n pop\n /* \"#utility.yul\":10401:10518 */\n pop\n /* \"#utility.yul\":10557:10559 */\n 0x20\n /* \"#utility.yul\":10583:10636 */\n tag_389\n /* \"#utility.yul\":10628:10635 */\n dup7\n /* \"#utility.yul\":10619:10625 */\n dup3\n /* \"#utility.yul\":10608:10617 */\n dup8\n /* \"#utility.yul\":10604:10626 */\n add\n /* \"#utility.yul\":10583:10636 */\n tag_225\n jump\t// in\n tag_389:\n /* \"#utility.yul\":10573:10636 */\n swap3\n pop\n /* \"#utility.yul\":10528:10646 */\n pop\n /* \"#utility.yul\":10713:10715 */\n 0x40\n /* \"#utility.yul\":10702:10711 */\n dup5\n /* \"#utility.yul\":10698:10716 */\n add\n /* \"#utility.yul\":10685:10717 */\n calldataload\n /* \"#utility.yul\":10744:10762 */\n 0xffffffffffffffff\n /* \"#utility.yul\":10736:10742 */\n dup2\n /* \"#utility.yul\":10733:10763 */\n gt\n /* \"#utility.yul\":10730:10847 */\n iszero\n tag_390\n jumpi\n /* \"#utility.yul\":10766:10845 */\n tag_391\n tag_219\n jump\t// in\n tag_391:\n /* \"#utility.yul\":10730:10847 */\n tag_390:\n /* \"#utility.yul\":10871:10934 */\n tag_392\n /* \"#utility.yul\":10926:10933 */\n dup7\n /* \"#utility.yul\":10917:10923 */\n dup3\n /* \"#utility.yul\":10906:10915 */\n dup8\n /* \"#utility.yul\":10902:10924 */\n add\n /* \"#utility.yul\":10871:10934 */\n tag_235\n jump\t// in\n tag_392:\n /* \"#utility.yul\":10861:10934 */\n swap2\n pop\n /* \"#utility.yul\":10656:10944 */\n pop\n /* \"#utility.yul\":10152:10951 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"#utility.yul\":10957:11083 */\n tag_243:\n /* \"#utility.yul\":10994:11001 */\n 0x00\n /* \"#utility.yul\":11034:11076 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":11027:11032 */\n dup3\n /* \"#utility.yul\":11023:11077 */\n and\n /* \"#utility.yul\":11012:11077 */\n swap1\n pop\n /* \"#utility.yul\":10957:11083 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":11089:11185 */\n tag_244:\n /* \"#utility.yul\":11126:11133 */\n 0x00\n /* \"#utility.yul\":11155:11179 */\n tag_395\n /* \"#utility.yul\":11173:11178 */\n dup3\n /* \"#utility.yul\":11155:11179 */\n tag_243\n jump\t// in\n tag_395:\n /* \"#utility.yul\":11144:11179 */\n swap1\n pop\n /* \"#utility.yul\":11089:11185 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":11191:11313 */\n tag_245:\n /* \"#utility.yul\":11264:11288 */\n tag_397\n /* \"#utility.yul\":11282:11287 */\n dup2\n /* \"#utility.yul\":11264:11288 */\n tag_244\n jump\t// in\n tag_397:\n /* \"#utility.yul\":11257:11262 */\n dup2\n /* \"#utility.yul\":11254:11289 */\n eq\n /* \"#utility.yul\":11244:11307 */\n tag_398\n jumpi\n /* \"#utility.yul\":11303:11304 */\n 0x00\n /* \"#utility.yul\":11300:11301 */\n dup1\n /* \"#utility.yul\":11293:11305 */\n revert\n /* \"#utility.yul\":11244:11307 */\n tag_398:\n /* \"#utility.yul\":11191:11313 */\n pop\n jump\t// out\n /* \"#utility.yul\":11319:11458 */\n tag_246:\n /* \"#utility.yul\":11365:11370 */\n 0x00\n /* \"#utility.yul\":11403:11409 */\n dup2\n /* \"#utility.yul\":11390:11410 */\n calldataload\n /* \"#utility.yul\":11381:11410 */\n swap1\n pop\n /* \"#utility.yul\":11419:11452 */\n tag_400\n /* \"#utility.yul\":11446:11451 */\n dup2\n /* \"#utility.yul\":11419:11452 */\n tag_245\n jump\t// in\n tag_400:\n /* \"#utility.yul\":11319:11458 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":11464:12263 */\n tag_118:\n /* \"#utility.yul\":11551:11557 */\n 0x00\n /* \"#utility.yul\":11559:11565 */\n dup1\n /* \"#utility.yul\":11567:11573 */\n 0x00\n /* \"#utility.yul\":11616:11618 */\n 0x60\n /* \"#utility.yul\":11604:11613 */\n dup5\n /* \"#utility.yul\":11595:11602 */\n dup7\n /* \"#utility.yul\":11591:11614 */\n sub\n /* \"#utility.yul\":11587:11619 */\n slt\n /* \"#utility.yul\":11584:11703 */\n iszero\n tag_402\n jumpi\n /* \"#utility.yul\":11622:11701 */\n tag_403\n tag_218\n jump\t// in\n tag_403:\n /* \"#utility.yul\":11584:11703 */\n tag_402:\n /* \"#utility.yul\":11742:11743 */\n 0x00\n /* \"#utility.yul\":11767:11820 */\n tag_404\n /* \"#utility.yul\":11812:11819 */\n dup7\n /* \"#utility.yul\":11803:11809 */\n dup3\n /* \"#utility.yul\":11792:11801 */\n dup8\n /* \"#utility.yul\":11788:11810 */\n add\n /* \"#utility.yul\":11767:11820 */\n tag_246\n jump\t// in\n tag_404:\n /* \"#utility.yul\":11757:11820 */\n swap4\n pop\n /* \"#utility.yul\":11713:11830 */\n pop\n /* \"#utility.yul\":11869:11871 */\n 0x20\n /* \"#utility.yul\":11895:11948 */\n tag_405\n /* \"#utility.yul\":11940:11947 */\n dup7\n /* \"#utility.yul\":11931:11937 */\n dup3\n /* \"#utility.yul\":11920:11929 */\n dup8\n /* \"#utility.yul\":11916:11938 */\n add\n /* \"#utility.yul\":11895:11948 */\n tag_246\n jump\t// in\n tag_405:\n /* \"#utility.yul\":11885:11948 */\n swap3\n pop\n /* \"#utility.yul\":11840:11958 */\n pop\n /* \"#utility.yul\":12025:12027 */\n 0x40\n /* \"#utility.yul\":12014:12023 */\n dup5\n /* \"#utility.yul\":12010:12028 */\n add\n /* \"#utility.yul\":11997:12029 */\n calldataload\n /* \"#utility.yul\":12056:12074 */\n 0xffffffffffffffff\n /* \"#utility.yul\":12048:12054 */\n dup2\n /* \"#utility.yul\":12045:12075 */\n gt\n /* \"#utility.yul\":12042:12159 */\n iszero\n tag_406\n jumpi\n /* \"#utility.yul\":12078:12157 */\n tag_407\n tag_219\n jump\t// in\n tag_407:\n /* \"#utility.yul\":12042:12159 */\n tag_406:\n /* \"#utility.yul\":12183:12246 */\n tag_408\n /* \"#utility.yul\":12238:12245 */\n dup7\n /* \"#utility.yul\":12229:12235 */\n dup3\n /* \"#utility.yul\":12218:12227 */\n dup8\n /* \"#utility.yul\":12214:12236 */\n add\n /* \"#utility.yul\":12183:12246 */\n tag_235\n jump\t// in\n tag_408:\n /* \"#utility.yul\":12173:12246 */\n swap2\n pop\n /* \"#utility.yul\":11968:12256 */\n pop\n /* \"#utility.yul\":11464:12263 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"#utility.yul\":12269:12378 */\n tag_247:\n /* \"#utility.yul\":12350:12371 */\n tag_410\n /* \"#utility.yul\":12365:12370 */\n dup2\n /* \"#utility.yul\":12350:12371 */\n tag_236\n jump\t// in\n tag_410:\n /* \"#utility.yul\":12345:12348 */\n dup3\n /* \"#utility.yul\":12338:12372 */\n mstore\n /* \"#utility.yul\":12269:12378 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":12384:12483 */\n tag_248:\n /* \"#utility.yul\":12436:12442 */\n 0x00\n /* \"#utility.yul\":12470:12475 */\n dup2\n /* \"#utility.yul\":12464:12476 */\n mload\n /* \"#utility.yul\":12454:12476 */\n swap1\n pop\n /* \"#utility.yul\":12384:12483 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":12489:12658 */\n tag_249:\n /* \"#utility.yul\":12573:12584 */\n 0x00\n /* \"#utility.yul\":12607:12613 */\n dup3\n /* \"#utility.yul\":12602:12605 */\n dup3\n /* \"#utility.yul\":12595:12614 */\n mstore\n /* \"#utility.yul\":12647:12651 */\n 0x20\n /* \"#utility.yul\":12642:12645 */\n dup3\n /* \"#utility.yul\":12638:12652 */\n add\n /* \"#utility.yul\":12623:12652 */\n swap1\n pop\n /* \"#utility.yul\":12489:12658 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":12664:12910 */\n tag_250:\n /* \"#utility.yul\":12745:12746 */\n 0x00\n /* \"#utility.yul\":12755:12868 */\n tag_414:\n /* \"#utility.yul\":12769:12775 */\n dup4\n /* \"#utility.yul\":12766:12767 */\n dup2\n /* \"#utility.yul\":12763:12776 */\n lt\n /* \"#utility.yul\":12755:12868 */\n iszero\n tag_416\n jumpi\n /* \"#utility.yul\":12854:12855 */\n dup1\n /* \"#utility.yul\":12849:12852 */\n dup3\n /* \"#utility.yul\":12845:12856 */\n add\n /* \"#utility.yul\":12839:12857 */\n mload\n /* \"#utility.yul\":12835:12836 */\n dup2\n /* \"#utility.yul\":12830:12833 */\n dup5\n /* \"#utility.yul\":12826:12837 */\n add\n /* \"#utility.yul\":12819:12858 */\n mstore\n /* \"#utility.yul\":12791:12793 */\n 0x20\n /* \"#utility.yul\":12788:12789 */\n dup2\n /* \"#utility.yul\":12784:12794 */\n add\n /* \"#utility.yul\":12779:12794 */\n swap1\n pop\n /* \"#utility.yul\":12755:12868 */\n jump(tag_414)\n tag_416:\n /* \"#utility.yul\":12902:12903 */\n 0x00\n /* \"#utility.yul\":12893:12899 */\n dup5\n /* \"#utility.yul\":12888:12891 */\n dup5\n /* \"#utility.yul\":12884:12900 */\n add\n /* \"#utility.yul\":12877:12904 */\n mstore\n /* \"#utility.yul\":12726:12910 */\n pop\n /* \"#utility.yul\":12664:12910 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":12916:13293 */\n tag_251:\n /* \"#utility.yul\":13004:13007 */\n 0x00\n /* \"#utility.yul\":13032:13071 */\n tag_418\n /* \"#utility.yul\":13065:13070 */\n dup3\n /* \"#utility.yul\":13032:13071 */\n tag_248\n jump\t// in\n tag_418:\n /* \"#utility.yul\":13087:13158 */\n tag_419\n /* \"#utility.yul\":13151:13157 */\n dup2\n /* \"#utility.yul\":13146:13149 */\n dup6\n /* \"#utility.yul\":13087:13158 */\n tag_249\n jump\t// in\n tag_419:\n /* \"#utility.yul\":13080:13158 */\n swap4\n pop\n /* \"#utility.yul\":13167:13232 */\n tag_420\n /* \"#utility.yul\":13225:13231 */\n dup2\n /* \"#utility.yul\":13220:13223 */\n dup6\n /* \"#utility.yul\":13213:13217 */\n 0x20\n /* \"#utility.yul\":13206:13211 */\n dup7\n /* \"#utility.yul\":13202:13218 */\n add\n /* \"#utility.yul\":13167:13232 */\n tag_250\n jump\t// in\n tag_420:\n /* \"#utility.yul\":13257:13286 */\n tag_421\n /* \"#utility.yul\":13279:13285 */\n dup2\n /* \"#utility.yul\":13257:13286 */\n tag_228\n jump\t// in\n tag_421:\n /* \"#utility.yul\":13252:13255 */\n dup5\n /* \"#utility.yul\":13248:13287 */\n add\n /* \"#utility.yul\":13241:13287 */\n swap2\n pop\n /* \"#utility.yul\":13008:13293 */\n pop\n /* \"#utility.yul\":12916:13293 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":13299:13460 */\n tag_252:\n /* \"#utility.yul\":13439:13452 */\n 0x677265617465725468616e000000000000000000000000000000000000000000\n /* \"#utility.yul\":13435:13436 */\n 0x00\n /* \"#utility.yul\":13427:13433 */\n dup3\n /* \"#utility.yul\":13423:13437 */\n add\n /* \"#utility.yul\":13416:13453 */\n mstore\n /* \"#utility.yul\":13299:13460 */\n pop\n jump\t// out\n /* \"#utility.yul\":13466:13832 */\n tag_253:\n /* \"#utility.yul\":13608:13611 */\n 0x00\n /* \"#utility.yul\":13629:13696 */\n tag_424\n /* \"#utility.yul\":13693:13695 */\n 0x0b\n /* \"#utility.yul\":13688:13691 */\n dup4\n /* \"#utility.yul\":13629:13696 */\n tag_249\n jump\t// in\n tag_424:\n /* \"#utility.yul\":13622:13696 */\n swap2\n pop\n /* \"#utility.yul\":13705:13798 */\n tag_425\n /* \"#utility.yul\":13794:13797 */\n dup3\n /* \"#utility.yul\":13705:13798 */\n tag_252\n jump\t// in\n tag_425:\n /* \"#utility.yul\":13823:13825 */\n 0x20\n /* \"#utility.yul\":13818:13821 */\n dup3\n /* \"#utility.yul\":13814:13826 */\n add\n /* \"#utility.yul\":13807:13826 */\n swap1\n pop\n /* \"#utility.yul\":13466:13832 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":13838:13953 */\n tag_254:\n /* \"#utility.yul\":13923:13946 */\n tag_427\n /* \"#utility.yul\":13940:13945 */\n dup2\n /* \"#utility.yul\":13923:13946 */\n tag_220\n jump\t// in\n tag_427:\n /* \"#utility.yul\":13918:13921 */\n dup3\n /* \"#utility.yul\":13911:13947 */\n mstore\n /* \"#utility.yul\":13838:13953 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":13959:14077 */\n tag_255:\n /* \"#utility.yul\":14046:14070 */\n tag_429\n /* \"#utility.yul\":14064:14069 */\n dup2\n /* \"#utility.yul\":14046:14070 */\n tag_223\n jump\t// in\n tag_429:\n /* \"#utility.yul\":14041:14044 */\n dup3\n /* \"#utility.yul\":14034:14071 */\n mstore\n /* \"#utility.yul\":13959:14077 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":14083:15019 */\n tag_145:\n /* \"#utility.yul\":14373:14377 */\n 0x00\n /* \"#utility.yul\":14411:14414 */\n 0xa0\n /* \"#utility.yul\":14400:14409 */\n dup3\n /* \"#utility.yul\":14396:14415 */\n add\n /* \"#utility.yul\":14388:14415 */\n swap1\n pop\n /* \"#utility.yul\":14425:14490 */\n tag_431\n /* \"#utility.yul\":14487:14488 */\n 0x00\n /* \"#utility.yul\":14476:14485 */\n dup4\n /* \"#utility.yul\":14472:14489 */\n add\n /* \"#utility.yul\":14463:14469 */\n dup8\n /* \"#utility.yul\":14425:14490 */\n tag_247\n jump\t// in\n tag_431:\n /* \"#utility.yul\":14537:14546 */\n dup2\n /* \"#utility.yul\":14531:14535 */\n dup2\n /* \"#utility.yul\":14527:14547 */\n sub\n /* \"#utility.yul\":14522:14524 */\n 0x20\n /* \"#utility.yul\":14511:14520 */\n dup4\n /* \"#utility.yul\":14507:14525 */\n add\n /* \"#utility.yul\":14500:14548 */\n mstore\n /* \"#utility.yul\":14565:14643 */\n tag_432\n /* \"#utility.yul\":14638:14642 */\n dup2\n /* \"#utility.yul\":14629:14635 */\n dup7\n /* \"#utility.yul\":14565:14643 */\n tag_251\n jump\t// in\n tag_432:\n /* \"#utility.yul\":14557:14643 */\n swap1\n pop\n /* \"#utility.yul\":14690:14699 */\n dup2\n /* \"#utility.yul\":14684:14688 */\n dup2\n /* \"#utility.yul\":14680:14700 */\n sub\n /* \"#utility.yul\":14675:14677 */\n 0x40\n /* \"#utility.yul\":14664:14673 */\n dup4\n /* \"#utility.yul\":14660:14678 */\n add\n /* \"#utility.yul\":14653:14701 */\n mstore\n /* \"#utility.yul\":14718:14849 */\n tag_433\n /* \"#utility.yul\":14844:14848 */\n dup2\n /* \"#utility.yul\":14718:14849 */\n tag_253\n jump\t// in\n tag_433:\n /* \"#utility.yul\":14710:14849 */\n swap1\n pop\n /* \"#utility.yul\":14859:14929 */\n tag_434\n /* \"#utility.yul\":14925:14927 */\n 0x60\n /* \"#utility.yul\":14914:14923 */\n dup4\n /* \"#utility.yul\":14910:14928 */\n add\n /* \"#utility.yul\":14901:14907 */\n dup6\n /* \"#utility.yul\":14859:14929 */\n tag_254\n jump\t// in\n tag_434:\n /* \"#utility.yul\":14939:15012 */\n tag_435\n /* \"#utility.yul\":15007:15010 */\n 0x80\n /* \"#utility.yul\":14996:15005 */\n dup4\n /* \"#utility.yul\":14992:15011 */\n add\n /* \"#utility.yul\":14983:14989 */\n dup5\n /* \"#utility.yul\":14939:15012 */\n tag_255\n jump\t// in\n tag_435:\n /* \"#utility.yul\":14083:15019 */\n swap6\n swap5\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":15025:15185 */\n tag_256:\n /* \"#utility.yul\":15165:15177 */\n 0x6c65737365725468616e00000000000000000000000000000000000000000000\n /* \"#utility.yul\":15161:15162 */\n 0x00\n /* \"#utility.yul\":15153:15159 */\n dup3\n /* \"#utility.yul\":15149:15163 */\n add\n /* \"#utility.yul\":15142:15178 */\n mstore\n /* \"#utility.yul\":15025:15185 */\n pop\n jump\t// out\n /* \"#utility.yul\":15191:15557 */\n tag_257:\n /* \"#utility.yul\":15333:15336 */\n 0x00\n /* \"#utility.yul\":15354:15421 */\n tag_438\n /* \"#utility.yul\":15418:15420 */\n 0x0a\n /* \"#utility.yul\":15413:15416 */\n dup4\n /* \"#utility.yul\":15354:15421 */\n tag_249\n jump\t// in\n tag_438:\n /* \"#utility.yul\":15347:15421 */\n swap2\n pop\n /* \"#utility.yul\":15430:15523 */\n tag_439\n /* \"#utility.yul\":15519:15522 */\n dup3\n /* \"#utility.yul\":15430:15523 */\n tag_256\n jump\t// in\n tag_439:\n /* \"#utility.yul\":15548:15550 */\n 0x20\n /* \"#utility.yul\":15543:15546 */\n dup3\n /* \"#utility.yul\":15539:15551 */\n add\n /* \"#utility.yul\":15532:15551 */\n swap1\n pop\n /* \"#utility.yul\":15191:15557 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":15563:16499 */\n tag_150:\n /* \"#utility.yul\":15853:15857 */\n 0x00\n /* \"#utility.yul\":15891:15894 */\n 0xa0\n /* \"#utility.yul\":15880:15889 */\n dup3\n /* \"#utility.yul\":15876:15895 */\n add\n /* \"#utility.yul\":15868:15895 */\n swap1\n pop\n /* \"#utility.yul\":15905:15970 */\n tag_441\n /* \"#utility.yul\":15967:15968 */\n 0x00\n /* \"#utility.yul\":15956:15965 */\n dup4\n /* \"#utility.yul\":15952:15969 */\n add\n /* \"#utility.yul\":15943:15949 */\n dup8\n /* \"#utility.yul\":15905:15970 */\n tag_247\n jump\t// in\n tag_441:\n /* \"#utility.yul\":16017:16026 */\n dup2\n /* \"#utility.yul\":16011:16015 */\n dup2\n /* \"#utility.yul\":16007:16027 */\n sub\n /* \"#utility.yul\":16002:16004 */\n 0x20\n /* \"#utility.yul\":15991:16000 */\n dup4\n /* \"#utility.yul\":15987:16005 */\n add\n /* \"#utility.yul\":15980:16028 */\n mstore\n /* \"#utility.yul\":16045:16123 */\n tag_442\n /* \"#utility.yul\":16118:16122 */\n dup2\n /* \"#utility.yul\":16109:16115 */\n dup7\n /* \"#utility.yul\":16045:16123 */\n tag_251\n jump\t// in\n tag_442:\n /* \"#utility.yul\":16037:16123 */\n swap1\n pop\n /* \"#utility.yul\":16170:16179 */\n dup2\n /* \"#utility.yul\":16164:16168 */\n dup2\n /* \"#utility.yul\":16160:16180 */\n sub\n /* \"#utility.yul\":16155:16157 */\n 0x40\n /* \"#utility.yul\":16144:16153 */\n dup4\n /* \"#utility.yul\":16140:16158 */\n add\n /* \"#utility.yul\":16133:16181 */\n mstore\n /* \"#utility.yul\":16198:16329 */\n tag_443\n /* \"#utility.yul\":16324:16328 */\n dup2\n /* \"#utility.yul\":16198:16329 */\n tag_257\n jump\t// in\n tag_443:\n /* \"#utility.yul\":16190:16329 */\n swap1\n pop\n /* \"#utility.yul\":16339:16411 */\n tag_444\n /* \"#utility.yul\":16407:16409 */\n 0x60\n /* \"#utility.yul\":16396:16405 */\n dup4\n /* \"#utility.yul\":16392:16410 */\n add\n /* \"#utility.yul\":16383:16389 */\n dup6\n /* \"#utility.yul\":16339:16411 */\n tag_255\n jump\t// in\n tag_444:\n /* \"#utility.yul\":16421:16492 */\n tag_445\n /* \"#utility.yul\":16487:16490 */\n 0x80\n /* \"#utility.yul\":16476:16485 */\n dup4\n /* \"#utility.yul\":16472:16491 */\n add\n /* \"#utility.yul\":16463:16469 */\n dup5\n /* \"#utility.yul\":16421:16492 */\n tag_254\n jump\t// in\n tag_445:\n /* \"#utility.yul\":15563:16499 */\n swap6\n swap5\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":16505:16657 */\n tag_258:\n /* \"#utility.yul\":16645:16649 */\n 0x6f6b000000000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":16641:16642 */\n 0x00\n /* \"#utility.yul\":16633:16639 */\n dup3\n /* \"#utility.yul\":16629:16643 */\n add\n /* \"#utility.yul\":16622:16650 */\n mstore\n /* \"#utility.yul\":16505:16657 */\n pop\n jump\t// out\n /* \"#utility.yul\":16663:17028 */\n tag_259:\n /* \"#utility.yul\":16805:16808 */\n 0x00\n /* \"#utility.yul\":16826:16892 */\n tag_448\n /* \"#utility.yul\":16890:16891 */\n 0x02\n /* \"#utility.yul\":16885:16888 */\n dup4\n /* \"#utility.yul\":16826:16892 */\n tag_249\n jump\t// in\n tag_448:\n /* \"#utility.yul\":16819:16892 */\n swap2\n pop\n /* \"#utility.yul\":16901:16994 */\n tag_449\n /* \"#utility.yul\":16990:16993 */\n dup3\n /* \"#utility.yul\":16901:16994 */\n tag_258\n jump\t// in\n tag_449:\n /* \"#utility.yul\":17019:17021 */\n 0x20\n /* \"#utility.yul\":17014:17017 */\n dup3\n /* \"#utility.yul\":17010:17022 */\n add\n /* \"#utility.yul\":17003:17022 */\n swap1\n pop\n /* \"#utility.yul\":16663:17028 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":17034:17752 */\n tag_153:\n /* \"#utility.yul\":17270:17274 */\n 0x00\n /* \"#utility.yul\":17308:17310 */\n 0x60\n /* \"#utility.yul\":17297:17306 */\n dup3\n /* \"#utility.yul\":17293:17311 */\n add\n /* \"#utility.yul\":17285:17311 */\n swap1\n pop\n /* \"#utility.yul\":17321:17386 */\n tag_451\n /* \"#utility.yul\":17383:17384 */\n 0x00\n /* \"#utility.yul\":17372:17381 */\n dup4\n /* \"#utility.yul\":17368:17385 */\n add\n /* \"#utility.yul\":17359:17365 */\n dup6\n /* \"#utility.yul\":17321:17386 */\n tag_247\n jump\t// in\n tag_451:\n /* \"#utility.yul\":17433:17442 */\n dup2\n /* \"#utility.yul\":17427:17431 */\n dup2\n /* \"#utility.yul\":17423:17443 */\n sub\n /* \"#utility.yul\":17418:17420 */\n 0x20\n /* \"#utility.yul\":17407:17416 */\n dup4\n /* \"#utility.yul\":17403:17421 */\n add\n /* \"#utility.yul\":17396:17444 */\n mstore\n /* \"#utility.yul\":17461:17539 */\n tag_452\n /* \"#utility.yul\":17534:17538 */\n dup2\n /* \"#utility.yul\":17525:17531 */\n dup5\n /* \"#utility.yul\":17461:17539 */\n tag_251\n jump\t// in\n tag_452:\n /* \"#utility.yul\":17453:17539 */\n swap1\n pop\n /* \"#utility.yul\":17586:17595 */\n dup2\n /* \"#utility.yul\":17580:17584 */\n dup2\n /* \"#utility.yul\":17576:17596 */\n sub\n /* \"#utility.yul\":17571:17573 */\n 0x40\n /* \"#utility.yul\":17560:17569 */\n dup4\n /* \"#utility.yul\":17556:17574 */\n add\n /* \"#utility.yul\":17549:17597 */\n mstore\n /* \"#utility.yul\":17614:17745 */\n tag_453\n /* \"#utility.yul\":17740:17744 */\n dup2\n /* \"#utility.yul\":17614:17745 */\n tag_259\n jump\t// in\n tag_453:\n /* \"#utility.yul\":17606:17745 */\n swap1\n pop\n /* \"#utility.yul\":17034:17752 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":17758:17916 */\n tag_260:\n /* \"#utility.yul\":17898:17908 */\n 0x6e6f74457175616c000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":17894:17895 */\n 0x00\n /* \"#utility.yul\":17886:17892 */\n dup3\n /* \"#utility.yul\":17882:17896 */\n add\n /* \"#utility.yul\":17875:17909 */\n mstore\n /* \"#utility.yul\":17758:17916 */\n pop\n jump\t// out\n /* \"#utility.yul\":17922:18287 */\n tag_261:\n /* \"#utility.yul\":18064:18067 */\n 0x00\n /* \"#utility.yul\":18085:18151 */\n tag_456\n /* \"#utility.yul\":18149:18150 */\n 0x08\n /* \"#utility.yul\":18144:18147 */\n dup4\n /* \"#utility.yul\":18085:18151 */\n tag_249\n jump\t// in\n tag_456:\n /* \"#utility.yul\":18078:18151 */\n swap2\n pop\n /* \"#utility.yul\":18160:18253 */\n tag_457\n /* \"#utility.yul\":18249:18252 */\n dup3\n /* \"#utility.yul\":18160:18253 */\n tag_260\n jump\t// in\n tag_457:\n /* \"#utility.yul\":18278:18280 */\n 0x20\n /* \"#utility.yul\":18273:18276 */\n dup3\n /* \"#utility.yul\":18269:18281 */\n add\n /* \"#utility.yul\":18262:18281 */\n swap1\n pop\n /* \"#utility.yul\":17922:18287 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":18293:19209 */\n tag_156:\n /* \"#utility.yul\":18573:18577 */\n 0x00\n /* \"#utility.yul\":18611:18614 */\n 0xa0\n /* \"#utility.yul\":18600:18609 */\n dup3\n /* \"#utility.yul\":18596:18615 */\n add\n /* \"#utility.yul\":18588:18615 */\n swap1\n pop\n /* \"#utility.yul\":18625:18690 */\n tag_459\n /* \"#utility.yul\":18687:18688 */\n 0x00\n /* \"#utility.yul\":18676:18685 */\n dup4\n /* \"#utility.yul\":18672:18689 */\n add\n /* \"#utility.yul\":18663:18669 */\n dup8\n /* \"#utility.yul\":18625:18690 */\n tag_247\n jump\t// in\n tag_459:\n /* \"#utility.yul\":18737:18746 */\n dup2\n /* \"#utility.yul\":18731:18735 */\n dup2\n /* \"#utility.yul\":18727:18747 */\n sub\n /* \"#utility.yul\":18722:18724 */\n 0x20\n /* \"#utility.yul\":18711:18720 */\n dup4\n /* \"#utility.yul\":18707:18725 */\n add\n /* \"#utility.yul\":18700:18748 */\n mstore\n /* \"#utility.yul\":18765:18843 */\n tag_460\n /* \"#utility.yul\":18838:18842 */\n dup2\n /* \"#utility.yul\":18829:18835 */\n dup7\n /* \"#utility.yul\":18765:18843 */\n tag_251\n jump\t// in\n tag_460:\n /* \"#utility.yul\":18757:18843 */\n swap1\n pop\n /* \"#utility.yul\":18890:18899 */\n dup2\n /* \"#utility.yul\":18884:18888 */\n dup2\n /* \"#utility.yul\":18880:18900 */\n sub\n /* \"#utility.yul\":18875:18877 */\n 0x40\n /* \"#utility.yul\":18864:18873 */\n dup4\n /* \"#utility.yul\":18860:18878 */\n add\n /* \"#utility.yul\":18853:18901 */\n mstore\n /* \"#utility.yul\":18918:19049 */\n tag_461\n /* \"#utility.yul\":19044:19048 */\n dup2\n /* \"#utility.yul\":18918:19049 */\n tag_261\n jump\t// in\n tag_461:\n /* \"#utility.yul\":18910:19049 */\n swap1\n pop\n /* \"#utility.yul\":19059:19125 */\n tag_462\n /* \"#utility.yul\":19121:19123 */\n 0x60\n /* \"#utility.yul\":19110:19119 */\n dup4\n /* \"#utility.yul\":19106:19124 */\n add\n /* \"#utility.yul\":19097:19103 */\n dup6\n /* \"#utility.yul\":19059:19125 */\n tag_247\n jump\t// in\n tag_462:\n /* \"#utility.yul\":19135:19202 */\n tag_463\n /* \"#utility.yul\":19197:19200 */\n 0x80\n /* \"#utility.yul\":19186:19195 */\n dup4\n /* \"#utility.yul\":19182:19201 */\n add\n /* \"#utility.yul\":19173:19179 */\n dup5\n /* \"#utility.yul\":19135:19202 */\n tag_247\n jump\t// in\n tag_463:\n /* \"#utility.yul\":18293:19209 */\n swap6\n swap5\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":19215:20147 */\n tag_159:\n /* \"#utility.yul\":19503:19507 */\n 0x00\n /* \"#utility.yul\":19541:19544 */\n 0xa0\n /* \"#utility.yul\":19530:19539 */\n dup3\n /* \"#utility.yul\":19526:19545 */\n add\n /* \"#utility.yul\":19518:19545 */\n swap1\n pop\n /* \"#utility.yul\":19555:19620 */\n tag_465\n /* \"#utility.yul\":19617:19618 */\n 0x00\n /* \"#utility.yul\":19606:19615 */\n dup4\n /* \"#utility.yul\":19602:19619 */\n add\n /* \"#utility.yul\":19593:19599 */\n dup8\n /* \"#utility.yul\":19555:19620 */\n tag_247\n jump\t// in\n tag_465:\n /* \"#utility.yul\":19667:19676 */\n dup2\n /* \"#utility.yul\":19661:19665 */\n dup2\n /* \"#utility.yul\":19657:19677 */\n sub\n /* \"#utility.yul\":19652:19654 */\n 0x20\n /* \"#utility.yul\":19641:19650 */\n dup4\n /* \"#utility.yul\":19637:19655 */\n add\n /* \"#utility.yul\":19630:19678 */\n mstore\n /* \"#utility.yul\":19695:19773 */\n tag_466\n /* \"#utility.yul\":19768:19772 */\n dup2\n /* \"#utility.yul\":19759:19765 */\n dup7\n /* \"#utility.yul\":19695:19773 */\n tag_251\n jump\t// in\n tag_466:\n /* \"#utility.yul\":19687:19773 */\n swap1\n pop\n /* \"#utility.yul\":19820:19829 */\n dup2\n /* \"#utility.yul\":19814:19818 */\n dup2\n /* \"#utility.yul\":19810:19830 */\n sub\n /* \"#utility.yul\":19805:19807 */\n 0x40\n /* \"#utility.yul\":19794:19803 */\n dup4\n /* \"#utility.yul\":19790:19808 */\n add\n /* \"#utility.yul\":19783:19831 */\n mstore\n /* \"#utility.yul\":19848:19979 */\n tag_467\n /* \"#utility.yul\":19974:19978 */\n dup2\n /* \"#utility.yul\":19848:19979 */\n tag_257\n jump\t// in\n tag_467:\n /* \"#utility.yul\":19840:19979 */\n swap1\n pop\n /* \"#utility.yul\":19989:20059 */\n tag_468\n /* \"#utility.yul\":20055:20057 */\n 0x60\n /* \"#utility.yul\":20044:20053 */\n dup4\n /* \"#utility.yul\":20040:20058 */\n add\n /* \"#utility.yul\":20031:20037 */\n dup6\n /* \"#utility.yul\":19989:20059 */\n tag_254\n jump\t// in\n tag_468:\n /* \"#utility.yul\":20069:20140 */\n tag_469\n /* \"#utility.yul\":20135:20138 */\n 0x80\n /* \"#utility.yul\":20124:20133 */\n dup4\n /* \"#utility.yul\":20120:20139 */\n add\n /* \"#utility.yul\":20111:20117 */\n dup5\n /* \"#utility.yul\":20069:20140 */\n tag_254\n jump\t// in\n tag_469:\n /* \"#utility.yul\":19215:20147 */\n swap6\n swap5\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":20153:20301 */\n tag_262:\n /* \"#utility.yul\":20255:20266 */\n 0x00\n /* \"#utility.yul\":20292:20295 */\n dup2\n /* \"#utility.yul\":20277:20295 */\n swap1\n pop\n /* \"#utility.yul\":20153:20301 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":20307:20697 */\n tag_263:\n /* \"#utility.yul\":20413:20416 */\n 0x00\n /* \"#utility.yul\":20441:20480 */\n tag_472\n /* \"#utility.yul\":20474:20479 */\n dup3\n /* \"#utility.yul\":20441:20480 */\n tag_248\n jump\t// in\n tag_472:\n /* \"#utility.yul\":20496:20585 */\n tag_473\n /* \"#utility.yul\":20578:20584 */\n dup2\n /* \"#utility.yul\":20573:20576 */\n dup6\n /* \"#utility.yul\":20496:20585 */\n tag_262\n jump\t// in\n tag_473:\n /* \"#utility.yul\":20489:20585 */\n swap4\n pop\n /* \"#utility.yul\":20594:20659 */\n tag_474\n /* \"#utility.yul\":20652:20658 */\n dup2\n /* \"#utility.yul\":20647:20650 */\n dup6\n /* \"#utility.yul\":20640:20644 */\n 0x20\n /* \"#utility.yul\":20633:20638 */\n dup7\n /* \"#utility.yul\":20629:20645 */\n add\n /* \"#utility.yul\":20594:20659 */\n tag_250\n jump\t// in\n tag_474:\n /* \"#utility.yul\":20684:20690 */\n dup1\n /* \"#utility.yul\":20679:20682 */\n dup5\n /* \"#utility.yul\":20675:20691 */\n add\n /* \"#utility.yul\":20668:20691 */\n swap2\n pop\n /* \"#utility.yul\":20417:20697 */\n pop\n /* \"#utility.yul\":20307:20697 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":20703:20978 */\n tag_162:\n /* \"#utility.yul\":20835:20838 */\n 0x00\n /* \"#utility.yul\":20857:20952 */\n tag_476\n /* \"#utility.yul\":20948:20951 */\n dup3\n /* \"#utility.yul\":20939:20945 */\n dup5\n /* \"#utility.yul\":20857:20952 */\n tag_263\n jump\t// in\n tag_476:\n /* \"#utility.yul\":20850:20952 */\n swap2\n pop\n /* \"#utility.yul\":20969:20972 */\n dup2\n /* \"#utility.yul\":20962:20972 */\n swap1\n pop\n /* \"#utility.yul\":20703:20978 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":20984:22106 */\n tag_165:\n /* \"#utility.yul\":21316:21320 */\n 0x00\n /* \"#utility.yul\":21354:21357 */\n 0xa0\n /* \"#utility.yul\":21343:21352 */\n dup3\n /* \"#utility.yul\":21339:21358 */\n add\n /* \"#utility.yul\":21331:21358 */\n swap1\n pop\n /* \"#utility.yul\":21368:21433 */\n tag_478\n /* \"#utility.yul\":21430:21431 */\n 0x00\n /* \"#utility.yul\":21419:21428 */\n dup4\n /* \"#utility.yul\":21415:21432 */\n add\n /* \"#utility.yul\":21406:21412 */\n dup8\n /* \"#utility.yul\":21368:21433 */\n tag_247\n jump\t// in\n tag_478:\n /* \"#utility.yul\":21480:21489 */\n dup2\n /* \"#utility.yul\":21474:21478 */\n dup2\n /* \"#utility.yul\":21470:21490 */\n sub\n /* \"#utility.yul\":21465:21467 */\n 0x20\n /* \"#utility.yul\":21454:21463 */\n dup4\n /* \"#utility.yul\":21450:21468 */\n add\n /* \"#utility.yul\":21443:21491 */\n mstore\n /* \"#utility.yul\":21508:21586 */\n tag_479\n /* \"#utility.yul\":21581:21585 */\n dup2\n /* \"#utility.yul\":21572:21578 */\n dup7\n /* \"#utility.yul\":21508:21586 */\n tag_251\n jump\t// in\n tag_479:\n /* \"#utility.yul\":21500:21586 */\n swap1\n pop\n /* \"#utility.yul\":21633:21642 */\n dup2\n /* \"#utility.yul\":21627:21631 */\n dup2\n /* \"#utility.yul\":21623:21643 */\n sub\n /* \"#utility.yul\":21618:21620 */\n 0x40\n /* \"#utility.yul\":21607:21616 */\n dup4\n /* \"#utility.yul\":21603:21621 */\n add\n /* \"#utility.yul\":21596:21644 */\n mstore\n /* \"#utility.yul\":21661:21792 */\n tag_480\n /* \"#utility.yul\":21787:21791 */\n dup2\n /* \"#utility.yul\":21661:21792 */\n tag_261\n jump\t// in\n tag_480:\n /* \"#utility.yul\":21653:21792 */\n swap1\n pop\n /* \"#utility.yul\":21839:21848 */\n dup2\n /* \"#utility.yul\":21833:21837 */\n dup2\n /* \"#utility.yul\":21829:21849 */\n sub\n /* \"#utility.yul\":21824:21826 */\n 0x60\n /* \"#utility.yul\":21813:21822 */\n dup4\n /* \"#utility.yul\":21809:21827 */\n add\n /* \"#utility.yul\":21802:21850 */\n mstore\n /* \"#utility.yul\":21867:21945 */\n tag_481\n /* \"#utility.yul\":21940:21944 */\n dup2\n /* \"#utility.yul\":21931:21937 */\n dup6\n /* \"#utility.yul\":21867:21945 */\n tag_251\n jump\t// in\n tag_481:\n /* \"#utility.yul\":21859:21945 */\n swap1\n pop\n /* \"#utility.yul\":21993:22002 */\n dup2\n /* \"#utility.yul\":21987:21991 */\n dup2\n /* \"#utility.yul\":21983:22003 */\n sub\n /* \"#utility.yul\":21977:21980 */\n 0x80\n /* \"#utility.yul\":21966:21975 */\n dup4\n /* \"#utility.yul\":21962:21981 */\n add\n /* \"#utility.yul\":21955:22004 */\n mstore\n /* \"#utility.yul\":22021:22099 */\n tag_482\n /* \"#utility.yul\":22094:22098 */\n dup2\n /* \"#utility.yul\":22085:22091 */\n dup5\n /* \"#utility.yul\":22021:22099 */\n tag_251\n jump\t// in\n tag_482:\n /* \"#utility.yul\":22013:22099 */\n swap1\n pop\n /* \"#utility.yul\":20984:22106 */\n swap6\n swap5\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":22112:23044 */\n tag_168:\n /* \"#utility.yul\":22400:22404 */\n 0x00\n /* \"#utility.yul\":22438:22441 */\n 0xa0\n /* \"#utility.yul\":22427:22436 */\n dup3\n /* \"#utility.yul\":22423:22442 */\n add\n /* \"#utility.yul\":22415:22442 */\n swap1\n pop\n /* \"#utility.yul\":22452:22517 */\n tag_484\n /* \"#utility.yul\":22514:22515 */\n 0x00\n /* \"#utility.yul\":22503:22512 */\n dup4\n /* \"#utility.yul\":22499:22516 */\n add\n /* \"#utility.yul\":22490:22496 */\n dup8\n /* \"#utility.yul\":22452:22517 */\n tag_247\n jump\t// in\n tag_484:\n /* \"#utility.yul\":22564:22573 */\n dup2\n /* \"#utility.yul\":22558:22562 */\n dup2\n /* \"#utility.yul\":22554:22574 */\n sub\n /* \"#utility.yul\":22549:22551 */\n 0x20\n /* \"#utility.yul\":22538:22547 */\n dup4\n /* \"#utility.yul\":22534:22552 */\n add\n /* \"#utility.yul\":22527:22575 */\n mstore\n /* \"#utility.yul\":22592:22670 */\n tag_485\n /* \"#utility.yul\":22665:22669 */\n dup2\n /* \"#utility.yul\":22656:22662 */\n dup7\n /* \"#utility.yul\":22592:22670 */\n tag_251\n jump\t// in\n tag_485:\n /* \"#utility.yul\":22584:22670 */\n swap1\n pop\n /* \"#utility.yul\":22717:22726 */\n dup2\n /* \"#utility.yul\":22711:22715 */\n dup2\n /* \"#utility.yul\":22707:22727 */\n sub\n /* \"#utility.yul\":22702:22704 */\n 0x40\n /* \"#utility.yul\":22691:22700 */\n dup4\n /* \"#utility.yul\":22687:22705 */\n add\n /* \"#utility.yul\":22680:22728 */\n mstore\n /* \"#utility.yul\":22745:22876 */\n tag_486\n /* \"#utility.yul\":22871:22875 */\n dup2\n /* \"#utility.yul\":22745:22876 */\n tag_261\n jump\t// in\n tag_486:\n /* \"#utility.yul\":22737:22876 */\n swap1\n pop\n /* \"#utility.yul\":22886:22956 */\n tag_487\n /* \"#utility.yul\":22952:22954 */\n 0x60\n /* \"#utility.yul\":22941:22950 */\n dup4\n /* \"#utility.yul\":22937:22955 */\n add\n /* \"#utility.yul\":22928:22934 */\n dup6\n /* \"#utility.yul\":22886:22956 */\n tag_254\n jump\t// in\n tag_487:\n /* \"#utility.yul\":22966:23037 */\n tag_488\n /* \"#utility.yul\":23032:23035 */\n 0x80\n /* \"#utility.yul\":23021:23030 */\n dup4\n /* \"#utility.yul\":23017:23036 */\n add\n /* \"#utility.yul\":23008:23014 */\n dup5\n /* \"#utility.yul\":22966:23037 */\n tag_254\n jump\t// in\n tag_488:\n /* \"#utility.yul\":22112:23044 */\n swap6\n swap5\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":23050:23168 */\n tag_264:\n /* \"#utility.yul\":23137:23161 */\n tag_490\n /* \"#utility.yul\":23155:23160 */\n dup2\n /* \"#utility.yul\":23137:23161 */\n tag_240\n jump\t// in\n tag_490:\n /* \"#utility.yul\":23132:23135 */\n dup3\n /* \"#utility.yul\":23125:23162 */\n mstore\n /* \"#utility.yul\":23050:23168 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":23174:24114 */\n tag_171:\n /* \"#utility.yul\":23466:23470 */\n 0x00\n /* \"#utility.yul\":23504:23507 */\n 0xa0\n /* \"#utility.yul\":23493:23502 */\n dup3\n /* \"#utility.yul\":23489:23508 */\n add\n /* \"#utility.yul\":23481:23508 */\n swap1\n pop\n /* \"#utility.yul\":23518:23583 */\n tag_492\n /* \"#utility.yul\":23580:23581 */\n 0x00\n /* \"#utility.yul\":23569:23578 */\n dup4\n /* \"#utility.yul\":23565:23582 */\n add\n /* \"#utility.yul\":23556:23562 */\n dup8\n /* \"#utility.yul\":23518:23583 */\n tag_247\n jump\t// in\n tag_492:\n /* \"#utility.yul\":23630:23639 */\n dup2\n /* \"#utility.yul\":23624:23628 */\n dup2\n /* \"#utility.yul\":23620:23640 */\n sub\n /* \"#utility.yul\":23615:23617 */\n 0x20\n /* \"#utility.yul\":23604:23613 */\n dup4\n /* \"#utility.yul\":23600:23618 */\n add\n /* \"#utility.yul\":23593:23641 */\n mstore\n /* \"#utility.yul\":23658:23736 */\n tag_493\n /* \"#utility.yul\":23731:23735 */\n dup2\n /* \"#utility.yul\":23722:23728 */\n dup7\n /* \"#utility.yul\":23658:23736 */\n tag_251\n jump\t// in\n tag_493:\n /* \"#utility.yul\":23650:23736 */\n swap1\n pop\n /* \"#utility.yul\":23783:23792 */\n dup2\n /* \"#utility.yul\":23777:23781 */\n dup2\n /* \"#utility.yul\":23773:23793 */\n sub\n /* \"#utility.yul\":23768:23770 */\n 0x40\n /* \"#utility.yul\":23757:23766 */\n dup4\n /* \"#utility.yul\":23753:23771 */\n add\n /* \"#utility.yul\":23746:23794 */\n mstore\n /* \"#utility.yul\":23811:23942 */\n tag_494\n /* \"#utility.yul\":23937:23941 */\n dup2\n /* \"#utility.yul\":23811:23942 */\n tag_261\n jump\t// in\n tag_494:\n /* \"#utility.yul\":23803:23942 */\n swap1\n pop\n /* \"#utility.yul\":23952:24024 */\n tag_495\n /* \"#utility.yul\":24020:24022 */\n 0x60\n /* \"#utility.yul\":24009:24018 */\n dup4\n /* \"#utility.yul\":24005:24023 */\n add\n /* \"#utility.yul\":23996:24002 */\n dup6\n /* \"#utility.yul\":23952:24024 */\n tag_264\n jump\t// in\n tag_495:\n /* \"#utility.yul\":24034:24107 */\n tag_496\n /* \"#utility.yul\":24102:24105 */\n 0x80\n /* \"#utility.yul\":24091:24100 */\n dup4\n /* \"#utility.yul\":24087:24106 */\n add\n /* \"#utility.yul\":24078:24084 */\n dup5\n /* \"#utility.yul\":24034:24107 */\n tag_264\n jump\t// in\n tag_496:\n /* \"#utility.yul\":23174:24114 */\n swap6\n swap5\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":24120:25060 */\n tag_174:\n /* \"#utility.yul\":24412:24416 */\n 0x00\n /* \"#utility.yul\":24450:24453 */\n 0xa0\n /* \"#utility.yul\":24439:24448 */\n dup3\n /* \"#utility.yul\":24435:24454 */\n add\n /* \"#utility.yul\":24427:24454 */\n swap1\n pop\n /* \"#utility.yul\":24464:24529 */\n tag_498\n /* \"#utility.yul\":24526:24527 */\n 0x00\n /* \"#utility.yul\":24515:24524 */\n dup4\n /* \"#utility.yul\":24511:24528 */\n add\n /* \"#utility.yul\":24502:24508 */\n dup8\n /* \"#utility.yul\":24464:24529 */\n tag_247\n jump\t// in\n tag_498:\n /* \"#utility.yul\":24576:24585 */\n dup2\n /* \"#utility.yul\":24570:24574 */\n dup2\n /* \"#utility.yul\":24566:24586 */\n sub\n /* \"#utility.yul\":24561:24563 */\n 0x20\n /* \"#utility.yul\":24550:24559 */\n dup4\n /* \"#utility.yul\":24546:24564 */\n add\n /* \"#utility.yul\":24539:24587 */\n mstore\n /* \"#utility.yul\":24604:24682 */\n tag_499\n /* \"#utility.yul\":24677:24681 */\n dup2\n /* \"#utility.yul\":24668:24674 */\n dup7\n /* \"#utility.yul\":24604:24682 */\n tag_251\n jump\t// in\n tag_499:\n /* \"#utility.yul\":24596:24682 */\n swap1\n pop\n /* \"#utility.yul\":24729:24738 */\n dup2\n /* \"#utility.yul\":24723:24727 */\n dup2\n /* \"#utility.yul\":24719:24739 */\n sub\n /* \"#utility.yul\":24714:24716 */\n 0x40\n /* \"#utility.yul\":24703:24712 */\n dup4\n /* \"#utility.yul\":24699:24717 */\n add\n /* \"#utility.yul\":24692:24740 */\n mstore\n /* \"#utility.yul\":24757:24888 */\n tag_500\n /* \"#utility.yul\":24883:24887 */\n dup2\n /* \"#utility.yul\":24757:24888 */\n tag_261\n jump\t// in\n tag_500:\n /* \"#utility.yul\":24749:24888 */\n swap1\n pop\n /* \"#utility.yul\":24898:24970 */\n tag_501\n /* \"#utility.yul\":24966:24968 */\n 0x60\n /* \"#utility.yul\":24955:24964 */\n dup4\n /* \"#utility.yul\":24951:24969 */\n add\n /* \"#utility.yul\":24942:24948 */\n dup6\n /* \"#utility.yul\":24898:24970 */\n tag_255\n jump\t// in\n tag_501:\n /* \"#utility.yul\":24980:25053 */\n tag_502\n /* \"#utility.yul\":25048:25051 */\n 0x80\n /* \"#utility.yul\":25037:25046 */\n dup4\n /* \"#utility.yul\":25033:25052 */\n add\n /* \"#utility.yul\":25024:25030 */\n dup5\n /* \"#utility.yul\":24980:25053 */\n tag_255\n jump\t// in\n tag_502:\n /* \"#utility.yul\":24120:25060 */\n swap6\n swap5\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":25066:25221 */\n tag_265:\n /* \"#utility.yul\":25206:25213 */\n 0x657175616c000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":25202:25203 */\n 0x00\n /* \"#utility.yul\":25194:25200 */\n dup3\n /* \"#utility.yul\":25190:25204 */\n add\n /* \"#utility.yul\":25183:25214 */\n mstore\n /* \"#utility.yul\":25066:25221 */\n pop\n jump\t// out\n /* \"#utility.yul\":25227:25592 */\n tag_266:\n /* \"#utility.yul\":25369:25372 */\n 0x00\n /* \"#utility.yul\":25390:25456 */\n tag_505\n /* \"#utility.yul\":25454:25455 */\n 0x05\n /* \"#utility.yul\":25449:25452 */\n dup4\n /* \"#utility.yul\":25390:25456 */\n tag_249\n jump\t// in\n tag_505:\n /* \"#utility.yul\":25383:25456 */\n swap2\n pop\n /* \"#utility.yul\":25465:25558 */\n tag_506\n /* \"#utility.yul\":25554:25557 */\n dup3\n /* \"#utility.yul\":25465:25558 */\n tag_265\n jump\t// in\n tag_506:\n /* \"#utility.yul\":25583:25585 */\n 0x20\n /* \"#utility.yul\":25578:25581 */\n dup3\n /* \"#utility.yul\":25574:25586 */\n add\n /* \"#utility.yul\":25567:25586 */\n swap1\n pop\n /* \"#utility.yul\":25227:25592 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":25598:26514 */\n tag_177:\n /* \"#utility.yul\":25878:25882 */\n 0x00\n /* \"#utility.yul\":25916:25919 */\n 0xa0\n /* \"#utility.yul\":25905:25914 */\n dup3\n /* \"#utility.yul\":25901:25920 */\n add\n /* \"#utility.yul\":25893:25920 */\n swap1\n pop\n /* \"#utility.yul\":25930:25995 */\n tag_508\n /* \"#utility.yul\":25992:25993 */\n 0x00\n /* \"#utility.yul\":25981:25990 */\n dup4\n /* \"#utility.yul\":25977:25994 */\n add\n /* \"#utility.yul\":25968:25974 */\n dup8\n /* \"#utility.yul\":25930:25995 */\n tag_247\n jump\t// in\n tag_508:\n /* \"#utility.yul\":26042:26051 */\n dup2\n /* \"#utility.yul\":26036:26040 */\n dup2\n /* \"#utility.yul\":26032:26052 */\n sub\n /* \"#utility.yul\":26027:26029 */\n 0x20\n /* \"#utility.yul\":26016:26025 */\n dup4\n /* \"#utility.yul\":26012:26030 */\n add\n /* \"#utility.yul\":26005:26053 */\n mstore\n /* \"#utility.yul\":26070:26148 */\n tag_509\n /* \"#utility.yul\":26143:26147 */\n dup2\n /* \"#utility.yul\":26134:26140 */\n dup7\n /* \"#utility.yul\":26070:26148 */\n tag_251\n jump\t// in\n tag_509:\n /* \"#utility.yul\":26062:26148 */\n swap1\n pop\n /* \"#utility.yul\":26195:26204 */\n dup2\n /* \"#utility.yul\":26189:26193 */\n dup2\n /* \"#utility.yul\":26185:26205 */\n sub\n /* \"#utility.yul\":26180:26182 */\n 0x40\n /* \"#utility.yul\":26169:26178 */\n dup4\n /* \"#utility.yul\":26165:26183 */\n add\n /* \"#utility.yul\":26158:26206 */\n mstore\n /* \"#utility.yul\":26223:26354 */\n tag_510\n /* \"#utility.yul\":26349:26353 */\n dup2\n /* \"#utility.yul\":26223:26354 */\n tag_266\n jump\t// in\n tag_510:\n /* \"#utility.yul\":26215:26354 */\n swap1\n pop\n /* \"#utility.yul\":26364:26430 */\n tag_511\n /* \"#utility.yul\":26426:26428 */\n 0x60\n /* \"#utility.yul\":26415:26424 */\n dup4\n /* \"#utility.yul\":26411:26429 */\n add\n /* \"#utility.yul\":26402:26408 */\n dup6\n /* \"#utility.yul\":26364:26430 */\n tag_247\n jump\t// in\n tag_511:\n /* \"#utility.yul\":26440:26507 */\n tag_512\n /* \"#utility.yul\":26502:26505 */\n 0x80\n /* \"#utility.yul\":26491:26500 */\n dup4\n /* \"#utility.yul\":26487:26506 */\n add\n /* \"#utility.yul\":26478:26484 */\n dup5\n /* \"#utility.yul\":26440:26507 */\n tag_247\n jump\t// in\n tag_512:\n /* \"#utility.yul\":25598:26514 */\n swap6\n swap5\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":26520:27456 */\n tag_182:\n /* \"#utility.yul\":26810:26814 */\n 0x00\n /* \"#utility.yul\":26848:26851 */\n 0xa0\n /* \"#utility.yul\":26837:26846 */\n dup3\n /* \"#utility.yul\":26833:26852 */\n add\n /* \"#utility.yul\":26825:26852 */\n swap1\n pop\n /* \"#utility.yul\":26862:26927 */\n tag_514\n /* \"#utility.yul\":26924:26925 */\n 0x00\n /* \"#utility.yul\":26913:26922 */\n dup4\n /* \"#utility.yul\":26909:26926 */\n add\n /* \"#utility.yul\":26900:26906 */\n dup8\n /* \"#utility.yul\":26862:26927 */\n tag_247\n jump\t// in\n tag_514:\n /* \"#utility.yul\":26974:26983 */\n dup2\n /* \"#utility.yul\":26968:26972 */\n dup2\n /* \"#utility.yul\":26964:26984 */\n sub\n /* \"#utility.yul\":26959:26961 */\n 0x20\n /* \"#utility.yul\":26948:26957 */\n dup4\n /* \"#utility.yul\":26944:26962 */\n add\n /* \"#utility.yul\":26937:26985 */\n mstore\n /* \"#utility.yul\":27002:27080 */\n tag_515\n /* \"#utility.yul\":27075:27079 */\n dup2\n /* \"#utility.yul\":27066:27072 */\n dup7\n /* \"#utility.yul\":27002:27080 */\n tag_251\n jump\t// in\n tag_515:\n /* \"#utility.yul\":26994:27080 */\n swap1\n pop\n /* \"#utility.yul\":27127:27136 */\n dup2\n /* \"#utility.yul\":27121:27125 */\n dup2\n /* \"#utility.yul\":27117:27137 */\n sub\n /* \"#utility.yul\":27112:27114 */\n 0x40\n /* \"#utility.yul\":27101:27110 */\n dup4\n /* \"#utility.yul\":27097:27115 */\n add\n /* \"#utility.yul\":27090:27138 */\n mstore\n /* \"#utility.yul\":27155:27286 */\n tag_516\n /* \"#utility.yul\":27281:27285 */\n dup2\n /* \"#utility.yul\":27155:27286 */\n tag_257\n jump\t// in\n tag_516:\n /* \"#utility.yul\":27147:27286 */\n swap1\n pop\n /* \"#utility.yul\":27296:27366 */\n tag_517\n /* \"#utility.yul\":27362:27364 */\n 0x60\n /* \"#utility.yul\":27351:27360 */\n dup4\n /* \"#utility.yul\":27347:27365 */\n add\n /* \"#utility.yul\":27338:27344 */\n dup6\n /* \"#utility.yul\":27296:27366 */\n tag_254\n jump\t// in\n tag_517:\n /* \"#utility.yul\":27376:27449 */\n tag_518\n /* \"#utility.yul\":27444:27447 */\n 0x80\n /* \"#utility.yul\":27433:27442 */\n dup4\n /* \"#utility.yul\":27429:27448 */\n add\n /* \"#utility.yul\":27420:27426 */\n dup5\n /* \"#utility.yul\":27376:27449 */\n tag_255\n jump\t// in\n tag_518:\n /* \"#utility.yul\":26520:27456 */\n swap6\n swap5\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":27462:28398 */\n tag_187:\n /* \"#utility.yul\":27752:27756 */\n 0x00\n /* \"#utility.yul\":27790:27793 */\n 0xa0\n /* \"#utility.yul\":27779:27788 */\n dup3\n /* \"#utility.yul\":27775:27794 */\n add\n /* \"#utility.yul\":27767:27794 */\n swap1\n pop\n /* \"#utility.yul\":27804:27869 */\n tag_520\n /* \"#utility.yul\":27866:27867 */\n 0x00\n /* \"#utility.yul\":27855:27864 */\n dup4\n /* \"#utility.yul\":27851:27868 */\n add\n /* \"#utility.yul\":27842:27848 */\n dup8\n /* \"#utility.yul\":27804:27869 */\n tag_247\n jump\t// in\n tag_520:\n /* \"#utility.yul\":27916:27925 */\n dup2\n /* \"#utility.yul\":27910:27914 */\n dup2\n /* \"#utility.yul\":27906:27926 */\n sub\n /* \"#utility.yul\":27901:27903 */\n 0x20\n /* \"#utility.yul\":27890:27899 */\n dup4\n /* \"#utility.yul\":27886:27904 */\n add\n /* \"#utility.yul\":27879:27927 */\n mstore\n /* \"#utility.yul\":27944:28022 */\n tag_521\n /* \"#utility.yul\":28017:28021 */\n dup2\n /* \"#utility.yul\":28008:28014 */\n dup7\n /* \"#utility.yul\":27944:28022 */\n tag_251\n jump\t// in\n tag_521:\n /* \"#utility.yul\":27936:28022 */\n swap1\n pop\n /* \"#utility.yul\":28069:28078 */\n dup2\n /* \"#utility.yul\":28063:28067 */\n dup2\n /* \"#utility.yul\":28059:28079 */\n sub\n /* \"#utility.yul\":28054:28056 */\n 0x40\n /* \"#utility.yul\":28043:28052 */\n dup4\n /* \"#utility.yul\":28039:28057 */\n add\n /* \"#utility.yul\":28032:28080 */\n mstore\n /* \"#utility.yul\":28097:28228 */\n tag_522\n /* \"#utility.yul\":28223:28227 */\n dup2\n /* \"#utility.yul\":28097:28228 */\n tag_253\n jump\t// in\n tag_522:\n /* \"#utility.yul\":28089:28228 */\n swap1\n pop\n /* \"#utility.yul\":28238:28310 */\n tag_523\n /* \"#utility.yul\":28306:28308 */\n 0x60\n /* \"#utility.yul\":28295:28304 */\n dup4\n /* \"#utility.yul\":28291:28309 */\n add\n /* \"#utility.yul\":28282:28288 */\n dup6\n /* \"#utility.yul\":28238:28310 */\n tag_255\n jump\t// in\n tag_523:\n /* \"#utility.yul\":28320:28391 */\n tag_524\n /* \"#utility.yul\":28386:28389 */\n 0x80\n /* \"#utility.yul\":28375:28384 */\n dup4\n /* \"#utility.yul\":28371:28390 */\n add\n /* \"#utility.yul\":28362:28368 */\n dup5\n /* \"#utility.yul\":28320:28391 */\n tag_254\n jump\t// in\n tag_524:\n /* \"#utility.yul\":27462:28398 */\n swap6\n swap5\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":28404:29336 */\n tag_190:\n /* \"#utility.yul\":28692:28696 */\n 0x00\n /* \"#utility.yul\":28730:28733 */\n 0xa0\n /* \"#utility.yul\":28719:28728 */\n dup3\n /* \"#utility.yul\":28715:28734 */\n add\n /* \"#utility.yul\":28707:28734 */\n swap1\n pop\n /* \"#utility.yul\":28744:28809 */\n tag_526\n /* \"#utility.yul\":28806:28807 */\n 0x00\n /* \"#utility.yul\":28795:28804 */\n dup4\n /* \"#utility.yul\":28791:28808 */\n add\n /* \"#utility.yul\":28782:28788 */\n dup8\n /* \"#utility.yul\":28744:28809 */\n tag_247\n jump\t// in\n tag_526:\n /* \"#utility.yul\":28856:28865 */\n dup2\n /* \"#utility.yul\":28850:28854 */\n dup2\n /* \"#utility.yul\":28846:28866 */\n sub\n /* \"#utility.yul\":28841:28843 */\n 0x20\n /* \"#utility.yul\":28830:28839 */\n dup4\n /* \"#utility.yul\":28826:28844 */\n add\n /* \"#utility.yul\":28819:28867 */\n mstore\n /* \"#utility.yul\":28884:28962 */\n tag_527\n /* \"#utility.yul\":28957:28961 */\n dup2\n /* \"#utility.yul\":28948:28954 */\n dup7\n /* \"#utility.yul\":28884:28962 */\n tag_251\n jump\t// in\n tag_527:\n /* \"#utility.yul\":28876:28962 */\n swap1\n pop\n /* \"#utility.yul\":29009:29018 */\n dup2\n /* \"#utility.yul\":29003:29007 */\n dup2\n /* \"#utility.yul\":28999:29019 */\n sub\n /* \"#utility.yul\":28994:28996 */\n 0x40\n /* \"#utility.yul\":28983:28992 */\n dup4\n /* \"#utility.yul\":28979:28997 */\n add\n /* \"#utility.yul\":28972:29020 */\n mstore\n /* \"#utility.yul\":29037:29168 */\n tag_528\n /* \"#utility.yul\":29163:29167 */\n dup2\n /* \"#utility.yul\":29037:29168 */\n tag_253\n jump\t// in\n tag_528:\n /* \"#utility.yul\":29029:29168 */\n swap1\n pop\n /* \"#utility.yul\":29178:29248 */\n tag_529\n /* \"#utility.yul\":29244:29246 */\n 0x60\n /* \"#utility.yul\":29233:29242 */\n dup4\n /* \"#utility.yul\":29229:29247 */\n add\n /* \"#utility.yul\":29220:29226 */\n dup6\n /* \"#utility.yul\":29178:29248 */\n tag_254\n jump\t// in\n tag_529:\n /* \"#utility.yul\":29258:29329 */\n tag_530\n /* \"#utility.yul\":29324:29327 */\n 0x80\n /* \"#utility.yul\":29313:29322 */\n dup4\n /* \"#utility.yul\":29309:29328 */\n add\n /* \"#utility.yul\":29300:29306 */\n dup5\n /* \"#utility.yul\":29258:29329 */\n tag_254\n jump\t// in\n tag_530:\n /* \"#utility.yul\":28404:29336 */\n swap6\n swap5\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":29342:30282 */\n tag_193:\n /* \"#utility.yul\":29634:29638 */\n 0x00\n /* \"#utility.yul\":29672:29675 */\n 0xa0\n /* \"#utility.yul\":29661:29670 */\n dup3\n /* \"#utility.yul\":29657:29676 */\n add\n /* \"#utility.yul\":29649:29676 */\n swap1\n pop\n /* \"#utility.yul\":29686:29751 */\n tag_532\n /* \"#utility.yul\":29748:29749 */\n 0x00\n /* \"#utility.yul\":29737:29746 */\n dup4\n /* \"#utility.yul\":29733:29750 */\n add\n /* \"#utility.yul\":29724:29730 */\n dup8\n /* \"#utility.yul\":29686:29751 */\n tag_247\n jump\t// in\n tag_532:\n /* \"#utility.yul\":29798:29807 */\n dup2\n /* \"#utility.yul\":29792:29796 */\n dup2\n /* \"#utility.yul\":29788:29808 */\n sub\n /* \"#utility.yul\":29783:29785 */\n 0x20\n /* \"#utility.yul\":29772:29781 */\n dup4\n /* \"#utility.yul\":29768:29786 */\n add\n /* \"#utility.yul\":29761:29809 */\n mstore\n /* \"#utility.yul\":29826:29904 */\n tag_533\n /* \"#utility.yul\":29899:29903 */\n dup2\n /* \"#utility.yul\":29890:29896 */\n dup7\n /* \"#utility.yul\":29826:29904 */\n tag_251\n jump\t// in\n tag_533:\n /* \"#utility.yul\":29818:29904 */\n swap1\n pop\n /* \"#utility.yul\":29951:29960 */\n dup2\n /* \"#utility.yul\":29945:29949 */\n dup2\n /* \"#utility.yul\":29941:29961 */\n sub\n /* \"#utility.yul\":29936:29938 */\n 0x40\n /* \"#utility.yul\":29925:29934 */\n dup4\n /* \"#utility.yul\":29921:29939 */\n add\n /* \"#utility.yul\":29914:29962 */\n mstore\n /* \"#utility.yul\":29979:30110 */\n tag_534\n /* \"#utility.yul\":30105:30109 */\n dup2\n /* \"#utility.yul\":29979:30110 */\n tag_253\n jump\t// in\n tag_534:\n /* \"#utility.yul\":29971:30110 */\n swap1\n pop\n /* \"#utility.yul\":30120:30192 */\n tag_535\n /* \"#utility.yul\":30188:30190 */\n 0x60\n /* \"#utility.yul\":30177:30186 */\n dup4\n /* \"#utility.yul\":30173:30191 */\n add\n /* \"#utility.yul\":30164:30170 */\n dup6\n /* \"#utility.yul\":30120:30192 */\n tag_255\n jump\t// in\n tag_535:\n /* \"#utility.yul\":30202:30275 */\n tag_536\n /* \"#utility.yul\":30270:30273 */\n 0x80\n /* \"#utility.yul\":30259:30268 */\n dup4\n /* \"#utility.yul\":30255:30274 */\n add\n /* \"#utility.yul\":30246:30252 */\n dup5\n /* \"#utility.yul\":30202:30275 */\n tag_255\n jump\t// in\n tag_536:\n /* \"#utility.yul\":29342:30282 */\n swap6\n swap5\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":30288:31228 */\n tag_196:\n /* \"#utility.yul\":30580:30584 */\n 0x00\n /* \"#utility.yul\":30618:30621 */\n 0xa0\n /* \"#utility.yul\":30607:30616 */\n dup3\n /* \"#utility.yul\":30603:30622 */\n add\n /* \"#utility.yul\":30595:30622 */\n swap1\n pop\n /* \"#utility.yul\":30632:30697 */\n tag_538\n /* \"#utility.yul\":30694:30695 */\n 0x00\n /* \"#utility.yul\":30683:30692 */\n dup4\n /* \"#utility.yul\":30679:30696 */\n add\n /* \"#utility.yul\":30670:30676 */\n dup8\n /* \"#utility.yul\":30632:30697 */\n tag_247\n jump\t// in\n tag_538:\n /* \"#utility.yul\":30744:30753 */\n dup2\n /* \"#utility.yul\":30738:30742 */\n dup2\n /* \"#utility.yul\":30734:30754 */\n sub\n /* \"#utility.yul\":30729:30731 */\n 0x20\n /* \"#utility.yul\":30718:30727 */\n dup4\n /* \"#utility.yul\":30714:30732 */\n add\n /* \"#utility.yul\":30707:30755 */\n mstore\n /* \"#utility.yul\":30772:30850 */\n tag_539\n /* \"#utility.yul\":30845:30849 */\n dup2\n /* \"#utility.yul\":30836:30842 */\n dup7\n /* \"#utility.yul\":30772:30850 */\n tag_251\n jump\t// in\n tag_539:\n /* \"#utility.yul\":30764:30850 */\n swap1\n pop\n /* \"#utility.yul\":30897:30906 */\n dup2\n /* \"#utility.yul\":30891:30895 */\n dup2\n /* \"#utility.yul\":30887:30907 */\n sub\n /* \"#utility.yul\":30882:30884 */\n 0x40\n /* \"#utility.yul\":30871:30880 */\n dup4\n /* \"#utility.yul\":30867:30885 */\n add\n /* \"#utility.yul\":30860:30908 */\n mstore\n /* \"#utility.yul\":30925:31056 */\n tag_540\n /* \"#utility.yul\":31051:31055 */\n dup2\n /* \"#utility.yul\":30925:31056 */\n tag_266\n jump\t// in\n tag_540:\n /* \"#utility.yul\":30917:31056 */\n swap1\n pop\n /* \"#utility.yul\":31066:31138 */\n tag_541\n /* \"#utility.yul\":31134:31136 */\n 0x60\n /* \"#utility.yul\":31123:31132 */\n dup4\n /* \"#utility.yul\":31119:31137 */\n add\n /* \"#utility.yul\":31110:31116 */\n dup6\n /* \"#utility.yul\":31066:31138 */\n tag_255\n jump\t// in\n tag_541:\n /* \"#utility.yul\":31148:31221 */\n tag_542\n /* \"#utility.yul\":31216:31219 */\n 0x80\n /* \"#utility.yul\":31205:31214 */\n dup4\n /* \"#utility.yul\":31201:31220 */\n add\n /* \"#utility.yul\":31192:31198 */\n dup5\n /* \"#utility.yul\":31148:31221 */\n tag_255\n jump\t// in\n tag_542:\n /* \"#utility.yul\":30288:31228 */\n swap6\n swap5\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":31234:32174 */\n tag_199:\n /* \"#utility.yul\":31526:31530 */\n 0x00\n /* \"#utility.yul\":31564:31567 */\n 0xa0\n /* \"#utility.yul\":31553:31562 */\n dup3\n /* \"#utility.yul\":31549:31568 */\n add\n /* \"#utility.yul\":31541:31568 */\n swap1\n pop\n /* \"#utility.yul\":31578:31643 */\n tag_544\n /* \"#utility.yul\":31640:31641 */\n 0x00\n /* \"#utility.yul\":31629:31638 */\n dup4\n /* \"#utility.yul\":31625:31642 */\n add\n /* \"#utility.yul\":31616:31622 */\n dup8\n /* \"#utility.yul\":31578:31643 */\n tag_247\n jump\t// in\n tag_544:\n /* \"#utility.yul\":31690:31699 */\n dup2\n /* \"#utility.yul\":31684:31688 */\n dup2\n /* \"#utility.yul\":31680:31700 */\n sub\n /* \"#utility.yul\":31675:31677 */\n 0x20\n /* \"#utility.yul\":31664:31673 */\n dup4\n /* \"#utility.yul\":31660:31678 */\n add\n /* \"#utility.yul\":31653:31701 */\n mstore\n /* \"#utility.yul\":31718:31796 */\n tag_545\n /* \"#utility.yul\":31791:31795 */\n dup2\n /* \"#utility.yul\":31782:31788 */\n dup7\n /* \"#utility.yul\":31718:31796 */\n tag_251\n jump\t// in\n tag_545:\n /* \"#utility.yul\":31710:31796 */\n swap1\n pop\n /* \"#utility.yul\":31843:31852 */\n dup2\n /* \"#utility.yul\":31837:31841 */\n dup2\n /* \"#utility.yul\":31833:31853 */\n sub\n /* \"#utility.yul\":31828:31830 */\n 0x40\n /* \"#utility.yul\":31817:31826 */\n dup4\n /* \"#utility.yul\":31813:31831 */\n add\n /* \"#utility.yul\":31806:31854 */\n mstore\n /* \"#utility.yul\":31871:32002 */\n tag_546\n /* \"#utility.yul\":31997:32001 */\n dup2\n /* \"#utility.yul\":31871:32002 */\n tag_257\n jump\t// in\n tag_546:\n /* \"#utility.yul\":31863:32002 */\n swap1\n pop\n /* \"#utility.yul\":32012:32084 */\n tag_547\n /* \"#utility.yul\":32080:32082 */\n 0x60\n /* \"#utility.yul\":32069:32078 */\n dup4\n /* \"#utility.yul\":32065:32083 */\n add\n /* \"#utility.yul\":32056:32062 */\n dup6\n /* \"#utility.yul\":32012:32084 */\n tag_255\n jump\t// in\n tag_547:\n /* \"#utility.yul\":32094:32167 */\n tag_548\n /* \"#utility.yul\":32162:32165 */\n 0x80\n /* \"#utility.yul\":32151:32160 */\n dup4\n /* \"#utility.yul\":32147:32166 */\n add\n /* \"#utility.yul\":32138:32144 */\n dup5\n /* \"#utility.yul\":32094:32167 */\n tag_255\n jump\t// in\n tag_548:\n /* \"#utility.yul\":31234:32174 */\n swap6\n swap5\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":32180:32298 */\n tag_267:\n /* \"#utility.yul\":32267:32291 */\n tag_550\n /* \"#utility.yul\":32285:32290 */\n dup2\n /* \"#utility.yul\":32267:32291 */\n tag_244\n jump\t// in\n tag_550:\n /* \"#utility.yul\":32262:32265 */\n dup3\n /* \"#utility.yul\":32255:32292 */\n mstore\n /* \"#utility.yul\":32180:32298 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":32304:33244 */\n tag_202:\n /* \"#utility.yul\":32596:32600 */\n 0x00\n /* \"#utility.yul\":32634:32637 */\n 0xa0\n /* \"#utility.yul\":32623:32632 */\n dup3\n /* \"#utility.yul\":32619:32638 */\n add\n /* \"#utility.yul\":32611:32638 */\n swap1\n pop\n /* \"#utility.yul\":32648:32713 */\n tag_552\n /* \"#utility.yul\":32710:32711 */\n 0x00\n /* \"#utility.yul\":32699:32708 */\n dup4\n /* \"#utility.yul\":32695:32712 */\n add\n /* \"#utility.yul\":32686:32692 */\n dup8\n /* \"#utility.yul\":32648:32713 */\n tag_247\n jump\t// in\n tag_552:\n /* \"#utility.yul\":32760:32769 */\n dup2\n /* \"#utility.yul\":32754:32758 */\n dup2\n /* \"#utility.yul\":32750:32770 */\n sub\n /* \"#utility.yul\":32745:32747 */\n 0x20\n /* \"#utility.yul\":32734:32743 */\n dup4\n /* \"#utility.yul\":32730:32748 */\n add\n /* \"#utility.yul\":32723:32771 */\n mstore\n /* \"#utility.yul\":32788:32866 */\n tag_553\n /* \"#utility.yul\":32861:32865 */\n dup2\n /* \"#utility.yul\":32852:32858 */\n dup7\n /* \"#utility.yul\":32788:32866 */\n tag_251\n jump\t// in\n tag_553:\n /* \"#utility.yul\":32780:32866 */\n swap1\n pop\n /* \"#utility.yul\":32913:32922 */\n dup2\n /* \"#utility.yul\":32907:32911 */\n dup2\n /* \"#utility.yul\":32903:32923 */\n sub\n /* \"#utility.yul\":32898:32900 */\n 0x40\n /* \"#utility.yul\":32887:32896 */\n dup4\n /* \"#utility.yul\":32883:32901 */\n add\n /* \"#utility.yul\":32876:32924 */\n mstore\n /* \"#utility.yul\":32941:33072 */\n tag_554\n /* \"#utility.yul\":33067:33071 */\n dup2\n /* \"#utility.yul\":32941:33072 */\n tag_261\n jump\t// in\n tag_554:\n /* \"#utility.yul\":32933:33072 */\n swap1\n pop\n /* \"#utility.yul\":33082:33154 */\n tag_555\n /* \"#utility.yul\":33150:33152 */\n 0x60\n /* \"#utility.yul\":33139:33148 */\n dup4\n /* \"#utility.yul\":33135:33153 */\n add\n /* \"#utility.yul\":33126:33132 */\n dup6\n /* \"#utility.yul\":33082:33154 */\n tag_267\n jump\t// in\n tag_555:\n /* \"#utility.yul\":33164:33237 */\n tag_556\n /* \"#utility.yul\":33232:33235 */\n 0x80\n /* \"#utility.yul\":33221:33230 */\n dup4\n /* \"#utility.yul\":33217:33236 */\n add\n /* \"#utility.yul\":33208:33214 */\n dup5\n /* \"#utility.yul\":33164:33237 */\n tag_267\n jump\t// in\n tag_556:\n /* \"#utility.yul\":32304:33244 */\n swap6\n swap5\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":33250:34190 */\n tag_205:\n /* \"#utility.yul\":33542:33546 */\n 0x00\n /* \"#utility.yul\":33580:33583 */\n 0xa0\n /* \"#utility.yul\":33569:33578 */\n dup3\n /* \"#utility.yul\":33565:33584 */\n add\n /* \"#utility.yul\":33557:33584 */\n swap1\n pop\n /* \"#utility.yul\":33594:33659 */\n tag_558\n /* \"#utility.yul\":33656:33657 */\n 0x00\n /* \"#utility.yul\":33645:33654 */\n dup4\n /* \"#utility.yul\":33641:33658 */\n add\n /* \"#utility.yul\":33632:33638 */\n dup8\n /* \"#utility.yul\":33594:33659 */\n tag_247\n jump\t// in\n tag_558:\n /* \"#utility.yul\":33706:33715 */\n dup2\n /* \"#utility.yul\":33700:33704 */\n dup2\n /* \"#utility.yul\":33696:33716 */\n sub\n /* \"#utility.yul\":33691:33693 */\n 0x20\n /* \"#utility.yul\":33680:33689 */\n dup4\n /* \"#utility.yul\":33676:33694 */\n add\n /* \"#utility.yul\":33669:33717 */\n mstore\n /* \"#utility.yul\":33734:33812 */\n tag_559\n /* \"#utility.yul\":33807:33811 */\n dup2\n /* \"#utility.yul\":33798:33804 */\n dup7\n /* \"#utility.yul\":33734:33812 */\n tag_251\n jump\t// in\n tag_559:\n /* \"#utility.yul\":33726:33812 */\n swap1\n pop\n /* \"#utility.yul\":33859:33868 */\n dup2\n /* \"#utility.yul\":33853:33857 */\n dup2\n /* \"#utility.yul\":33849:33869 */\n sub\n /* \"#utility.yul\":33844:33846 */\n 0x40\n /* \"#utility.yul\":33833:33842 */\n dup4\n /* \"#utility.yul\":33829:33847 */\n add\n /* \"#utility.yul\":33822:33870 */\n mstore\n /* \"#utility.yul\":33887:34018 */\n tag_560\n /* \"#utility.yul\":34013:34017 */\n dup2\n /* \"#utility.yul\":33887:34018 */\n tag_266\n jump\t// in\n tag_560:\n /* \"#utility.yul\":33879:34018 */\n swap1\n pop\n /* \"#utility.yul\":34028:34100 */\n tag_561\n /* \"#utility.yul\":34096:34098 */\n 0x60\n /* \"#utility.yul\":34085:34094 */\n dup4\n /* \"#utility.yul\":34081:34099 */\n add\n /* \"#utility.yul\":34072:34078 */\n dup6\n /* \"#utility.yul\":34028:34100 */\n tag_267\n jump\t// in\n tag_561:\n /* \"#utility.yul\":34110:34183 */\n tag_562\n /* \"#utility.yul\":34178:34181 */\n 0x80\n /* \"#utility.yul\":34167:34176 */\n dup4\n /* \"#utility.yul\":34163:34182 */\n add\n /* \"#utility.yul\":34154:34160 */\n dup5\n /* \"#utility.yul\":34110:34183 */\n tag_267\n jump\t// in\n tag_562:\n /* \"#utility.yul\":33250:34190 */\n swap6\n swap5\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":34196:35318 */\n tag_210:\n /* \"#utility.yul\":34528:34532 */\n 0x00\n /* \"#utility.yul\":34566:34569 */\n 0xa0\n /* \"#utility.yul\":34555:34564 */\n dup3\n /* \"#utility.yul\":34551:34570 */\n add\n /* \"#utility.yul\":34543:34570 */\n swap1\n pop\n /* \"#utility.yul\":34580:34645 */\n tag_564\n /* \"#utility.yul\":34642:34643 */\n 0x00\n /* \"#utility.yul\":34631:34640 */\n dup4\n /* \"#utility.yul\":34627:34644 */\n add\n /* \"#utility.yul\":34618:34624 */\n dup8\n /* \"#utility.yul\":34580:34645 */\n tag_247\n jump\t// in\n tag_564:\n /* \"#utility.yul\":34692:34701 */\n dup2\n /* \"#utility.yul\":34686:34690 */\n dup2\n /* \"#utility.yul\":34682:34702 */\n sub\n /* \"#utility.yul\":34677:34679 */\n 0x20\n /* \"#utility.yul\":34666:34675 */\n dup4\n /* \"#utility.yul\":34662:34680 */\n add\n /* \"#utility.yul\":34655:34703 */\n mstore\n /* \"#utility.yul\":34720:34798 */\n tag_565\n /* \"#utility.yul\":34793:34797 */\n dup2\n /* \"#utility.yul\":34784:34790 */\n dup7\n /* \"#utility.yul\":34720:34798 */\n tag_251\n jump\t// in\n tag_565:\n /* \"#utility.yul\":34712:34798 */\n swap1\n pop\n /* \"#utility.yul\":34845:34854 */\n dup2\n /* \"#utility.yul\":34839:34843 */\n dup2\n /* \"#utility.yul\":34835:34855 */\n sub\n /* \"#utility.yul\":34830:34832 */\n 0x40\n /* \"#utility.yul\":34819:34828 */\n dup4\n /* \"#utility.yul\":34815:34833 */\n add\n /* \"#utility.yul\":34808:34856 */\n mstore\n /* \"#utility.yul\":34873:35004 */\n tag_566\n /* \"#utility.yul\":34999:35003 */\n dup2\n /* \"#utility.yul\":34873:35004 */\n tag_266\n jump\t// in\n tag_566:\n /* \"#utility.yul\":34865:35004 */\n swap1\n pop\n /* \"#utility.yul\":35051:35060 */\n dup2\n /* \"#utility.yul\":35045:35049 */\n dup2\n /* \"#utility.yul\":35041:35061 */\n sub\n /* \"#utility.yul\":35036:35038 */\n 0x60\n /* \"#utility.yul\":35025:35034 */\n dup4\n /* \"#utility.yul\":35021:35039 */\n add\n /* \"#utility.yul\":35014:35062 */\n mstore\n /* \"#utility.yul\":35079:35157 */\n tag_567\n /* \"#utility.yul\":35152:35156 */\n dup2\n /* \"#utility.yul\":35143:35149 */\n dup6\n /* \"#utility.yul\":35079:35157 */\n tag_251\n jump\t// in\n tag_567:\n /* \"#utility.yul\":35071:35157 */\n swap1\n pop\n /* \"#utility.yul\":35205:35214 */\n dup2\n /* \"#utility.yul\":35199:35203 */\n dup2\n /* \"#utility.yul\":35195:35215 */\n sub\n /* \"#utility.yul\":35189:35192 */\n 0x80\n /* \"#utility.yul\":35178:35187 */\n dup4\n /* \"#utility.yul\":35174:35193 */\n add\n /* \"#utility.yul\":35167:35216 */\n mstore\n /* \"#utility.yul\":35233:35311 */\n tag_568\n /* \"#utility.yul\":35306:35310 */\n dup2\n /* \"#utility.yul\":35297:35303 */\n dup5\n /* \"#utility.yul\":35233:35311 */\n tag_251\n jump\t// in\n tag_568:\n /* \"#utility.yul\":35225:35311 */\n swap1\n pop\n /* \"#utility.yul\":34196:35318 */\n swap6\n swap5\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":35324:36264 */\n tag_213:\n /* \"#utility.yul\":35616:35620 */\n 0x00\n /* \"#utility.yul\":35654:35657 */\n 0xa0\n /* \"#utility.yul\":35643:35652 */\n dup3\n /* \"#utility.yul\":35639:35658 */\n add\n /* \"#utility.yul\":35631:35658 */\n swap1\n pop\n /* \"#utility.yul\":35668:35733 */\n tag_570\n /* \"#utility.yul\":35730:35731 */\n 0x00\n /* \"#utility.yul\":35719:35728 */\n dup4\n /* \"#utility.yul\":35715:35732 */\n add\n /* \"#utility.yul\":35706:35712 */\n dup8\n /* \"#utility.yul\":35668:35733 */\n tag_247\n jump\t// in\n tag_570:\n /* \"#utility.yul\":35780:35789 */\n dup2\n /* \"#utility.yul\":35774:35778 */\n dup2\n /* \"#utility.yul\":35770:35790 */\n sub\n /* \"#utility.yul\":35765:35767 */\n 0x20\n /* \"#utility.yul\":35754:35763 */\n dup4\n /* \"#utility.yul\":35750:35768 */\n add\n /* \"#utility.yul\":35743:35791 */\n mstore\n /* \"#utility.yul\":35808:35886 */\n tag_571\n /* \"#utility.yul\":35881:35885 */\n dup2\n /* \"#utility.yul\":35872:35878 */\n dup7\n /* \"#utility.yul\":35808:35886 */\n tag_251\n jump\t// in\n tag_571:\n /* \"#utility.yul\":35800:35886 */\n swap1\n pop\n /* \"#utility.yul\":35933:35942 */\n dup2\n /* \"#utility.yul\":35927:35931 */\n dup2\n /* \"#utility.yul\":35923:35943 */\n sub\n /* \"#utility.yul\":35918:35920 */\n 0x40\n /* \"#utility.yul\":35907:35916 */\n dup4\n /* \"#utility.yul\":35903:35921 */\n add\n /* \"#utility.yul\":35896:35944 */\n mstore\n /* \"#utility.yul\":35961:36092 */\n tag_572\n /* \"#utility.yul\":36087:36091 */\n dup2\n /* \"#utility.yul\":35961:36092 */\n tag_266\n jump\t// in\n tag_572:\n /* \"#utility.yul\":35953:36092 */\n swap1\n pop\n /* \"#utility.yul\":36102:36174 */\n tag_573\n /* \"#utility.yul\":36170:36172 */\n 0x60\n /* \"#utility.yul\":36159:36168 */\n dup4\n /* \"#utility.yul\":36155:36173 */\n add\n /* \"#utility.yul\":36146:36152 */\n dup6\n /* \"#utility.yul\":36102:36174 */\n tag_264\n jump\t// in\n tag_573:\n /* \"#utility.yul\":36184:36257 */\n tag_574\n /* \"#utility.yul\":36252:36255 */\n 0x80\n /* \"#utility.yul\":36241:36250 */\n dup4\n /* \"#utility.yul\":36237:36256 */\n add\n /* \"#utility.yul\":36228:36234 */\n dup5\n /* \"#utility.yul\":36184:36257 */\n tag_264\n jump\t// in\n tag_574:\n /* \"#utility.yul\":35324:36264 */\n swap6\n swap5\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":36270:37202 */\n tag_216:\n /* \"#utility.yul\":36558:36562 */\n 0x00\n /* \"#utility.yul\":36596:36599 */\n 0xa0\n /* \"#utility.yul\":36585:36594 */\n dup3\n /* \"#utility.yul\":36581:36600 */\n add\n /* \"#utility.yul\":36573:36600 */\n swap1\n pop\n /* \"#utility.yul\":36610:36675 */\n tag_576\n /* \"#utility.yul\":36672:36673 */\n 0x00\n /* \"#utility.yul\":36661:36670 */\n dup4\n /* \"#utility.yul\":36657:36674 */\n add\n /* \"#utility.yul\":36648:36654 */\n dup8\n /* \"#utility.yul\":36610:36675 */\n tag_247\n jump\t// in\n tag_576:\n /* \"#utility.yul\":36722:36731 */\n dup2\n /* \"#utility.yul\":36716:36720 */\n dup2\n /* \"#utility.yul\":36712:36732 */\n sub\n /* \"#utility.yul\":36707:36709 */\n 0x20\n /* \"#utility.yul\":36696:36705 */\n dup4\n /* \"#utility.yul\":36692:36710 */\n add\n /* \"#utility.yul\":36685:36733 */\n mstore\n /* \"#utility.yul\":36750:36828 */\n tag_577\n /* \"#utility.yul\":36823:36827 */\n dup2\n /* \"#utility.yul\":36814:36820 */\n dup7\n /* \"#utility.yul\":36750:36828 */\n tag_251\n jump\t// in\n tag_577:\n /* \"#utility.yul\":36742:36828 */\n swap1\n pop\n /* \"#utility.yul\":36875:36884 */\n dup2\n /* \"#utility.yul\":36869:36873 */\n dup2\n /* \"#utility.yul\":36865:36885 */\n sub\n /* \"#utility.yul\":36860:36862 */\n 0x40\n /* \"#utility.yul\":36849:36858 */\n dup4\n /* \"#utility.yul\":36845:36863 */\n add\n /* \"#utility.yul\":36838:36886 */\n mstore\n /* \"#utility.yul\":36903:37034 */\n tag_578\n /* \"#utility.yul\":37029:37033 */\n dup2\n /* \"#utility.yul\":36903:37034 */\n tag_266\n jump\t// in\n tag_578:\n /* \"#utility.yul\":36895:37034 */\n swap1\n pop\n /* \"#utility.yul\":37044:37114 */\n tag_579\n /* \"#utility.yul\":37110:37112 */\n 0x60\n /* \"#utility.yul\":37099:37108 */\n dup4\n /* \"#utility.yul\":37095:37113 */\n add\n /* \"#utility.yul\":37086:37092 */\n dup6\n /* \"#utility.yul\":37044:37114 */\n tag_254\n jump\t// in\n tag_579:\n /* \"#utility.yul\":37124:37195 */\n tag_580\n /* \"#utility.yul\":37190:37193 */\n 0x80\n /* \"#utility.yul\":37179:37188 */\n dup4\n /* \"#utility.yul\":37175:37194 */\n add\n /* \"#utility.yul\":37166:37172 */\n dup5\n /* \"#utility.yul\":37124:37195 */\n tag_254\n jump\t// in\n tag_580:\n /* \"#utility.yul\":36270:37202 */\n swap6\n swap5\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220eb3c3e714565a88c85b41853c8ace353beade100a6a8bb38cfebedfbeadd6c7564736f6c63430008120033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "611f0f610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106101415760003560e01c806377c6d463116100c2578063aea8895211610086578063aea88952146104d9578063b8f2853114610516578063bfba5dd614610553578063e8c2cb1614610590578063ea79dd79146105cd578063f5bae6b61461060a57610141565b806377c6d463146103a85780638c45cb97146103e55780639c0b433614610422578063a079f1a31461045f578063abcd79601461049c57610141565b806349f979391161010957806349f97939146102775780634e3e4035146102b4578063556fe562146102f1578063561015e21461032e578063767392b31461036b57610141565b80630897e4c71461014657806318211bfb1461018357806339df137f146101c057806344781a00146101fd57806344b7f2481461023a575b600080fd5b81801561015257600080fd5b5061016d60048036038101906101689190610f73565b610647565b60405161017a9190610ffd565b60405180910390f35b81801561018f57600080fd5b506101aa60048036038101906101a59190611018565b6106a4565b6040516101b79190610ffd565b60405180910390f35b8180156101cc57600080fd5b506101e760048036038101906101e291906110b3565b610701565b6040516101f49190610ffd565b60405180910390f35b81801561020957600080fd5b50610224600480360381019061021f919061110f565b610745565b6040516102319190610ffd565b60405180910390f35b81801561024657600080fd5b50610261600480360381019061025c919061117e565b610795565b60405161026e9190610ffd565b60405180910390f35b81801561028357600080fd5b5061029e600480360381019061029991906111ed565b6107e0565b6040516102ab9190610ffd565b60405180910390f35b8180156102c057600080fd5b506102db60048036038101906102d6919061117e565b610878565b6040516102e89190610ffd565b60405180910390f35b8180156102fd57600080fd5b50610318600480360381019061031391906112ca565b6108c4565b6040516103259190610ffd565b60405180910390f35b81801561033a57600080fd5b5061035560048036038101906103509190611339565b610910565b6040516103629190610ffd565b60405180910390f35b81801561037757600080fd5b50610392600480360381019061038d919061110f565b61095c565b60405161039f9190610ffd565b60405180910390f35b8180156103b457600080fd5b506103cf60048036038101906103ca9190610f73565b6109ab565b6040516103dc9190610ffd565b60405180910390f35b8180156103f157600080fd5b5061040c60048036038101906104079190611018565b610a08565b6040516104199190610ffd565b60405180910390f35b81801561042e57600080fd5b506104496004803603810190610444919061117e565b610a65565b6040516104569190610ffd565b60405180910390f35b81801561046b57600080fd5b5061048660048036038101906104819190611339565b610ab0565b6040516104939190610ffd565b60405180910390f35b8180156104a857600080fd5b506104c360048036038101906104be9190611339565b610afb565b6040516104d09190610ffd565b60405180910390f35b8180156104e557600080fd5b5061050060048036038101906104fb9190611339565b610b46565b60405161050d9190610ffd565b60405180910390f35b81801561052257600080fd5b5061053d60048036038101906105389190611406565b610b91565b60405161054a9190610ffd565b60405180910390f35b81801561055f57600080fd5b5061057a60048036038101906105759190611406565b610c09565b6040516105879190610ffd565b60405180910390f35b81801561059c57600080fd5b506105b760048036038101906105b291906111ed565b610c80565b6040516105c49190610ffd565b60405180910390f35b8180156105d957600080fd5b506105f460048036038101906105ef91906112ca565b610d17565b6040516106019190610ffd565b60405180910390f35b81801561061657600080fd5b50610631600480360381019061062c919061117e565b610d62565b60405161063e9190610ffd565b60405180910390f35b60008084121561065a5760009050610660565b82841190505b7f1aee88e0b11c6f778ee0be69b5a108735a20e3d68f5729c851f81e10fb0357e281838686604051610695949392919061156d565b60405180910390a19392505050565b6000808312156106b757600090506106bd565b82841090505b7f14bc841bf51d20c0dc7caa87b92cc8ffff7a0427ab3f16c1800f89f1cd14afe8818386866040516106f29493929190611618565b60405180910390a19392505050565b60008290507fbbf85d637d70ccacc5b8edb602351ba3dec7bc069d69235c3529ef3f453d01f181836040516107379291906116c3565b60405180910390a192915050565b6000821515841515141590507ff7b49aa0711ceec1ded951e7e1e0f5068e1b494431e8aafd4afd3c5fce1bcea5818386866040516107869493929190611752565b60405180910390a19392505050565b600082841290507f06c5fd13661d229189d43a6a38e86721af51ed7065a4b6f43da4bd8cd1b18151818386866040516107d194939291906117b1565b60405180910390a19392505050565b6000826040516020016107f3919061184c565b604051602081830303815290604052805190602001208460405160200161081a919061184c565b60405160208183030381529060405280519060200120141590507f772eb34cc47d8c18199f27c5bfdb20838544f0058ef8afdd2debec5f6edb455f818386866040516108699493929190611863565b60405180910390a19392505050565b60008284141590507f06c5fd13661d229189d43a6a38e86721af51ed7065a4b6f43da4bd8cd1b18151818386866040516108b594939291906118d0565b60405180910390a19392505050565b60008284141590507f80ccaff7f7d9b95ab49ddd43778ee01cfda842a6269bed42e4e37929bc57fd2881838686604051610901949392919061193e565b60405180910390a19392505050565b60008284141590507f968b7a5d7c5bcc2e8f9f583456a62c310b1b4e509906c1c1bb1a5aff86cc1e1a8183868660405161094d949392919061199d565b60405180910390a19392505050565b60008215158415151490507ff7b49aa0711ceec1ded951e7e1e0f5068e1b494431e8aafd4afd3c5fce1bcea58183868660405161099c9493929190611a48565b60405180910390a19392505050565b6000808412156109be57600190506109c4565b82841090505b7f1aee88e0b11c6f778ee0be69b5a108735a20e3d68f5729c851f81e10fb0357e2818386866040516109f99493929190611aa7565b60405180910390a19392505050565b600080831215610a1b5760019050610a21565b82841190505b7f14bc841bf51d20c0dc7caa87b92cc8ffff7a0427ab3f16c1800f89f1cd14afe881838686604051610a569493929190611b06565b60405180910390a19392505050565b600082841390507f06c5fd13661d229189d43a6a38e86721af51ed7065a4b6f43da4bd8cd1b1815181838686604051610aa19493929190611b65565b60405180910390a19392505050565b600082841190507f968b7a5d7c5bcc2e8f9f583456a62c310b1b4e509906c1c1bb1a5aff86cc1e1a81838686604051610aec9493929190611bc4565b60405180910390a19392505050565b600082841490507f968b7a5d7c5bcc2e8f9f583456a62c310b1b4e509906c1c1bb1a5aff86cc1e1a81838686604051610b379493929190611c23565b60405180910390a19392505050565b600082841090507f968b7a5d7c5bcc2e8f9f583456a62c310b1b4e509906c1c1bb1a5aff86cc1e1a81838686604051610b829493929190611c82565b60405180910390a19392505050565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141590507fac36fadfa7a97083276a489f3e00cb5d4fcd13bbfdb3a78a0014fd48d4b46d9b81838686604051610bfa9493929190611cf0565b60405180910390a19392505050565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161490507fac36fadfa7a97083276a489f3e00cb5d4fcd13bbfdb3a78a0014fd48d4b46d9b81838686604051610c719493929190611d4f565b60405180910390a19392505050565b600082604051602001610c93919061184c565b6040516020818303038152906040528051906020012084604051602001610cba919061184c565b604051602081830303815290604052805190602001201490507f772eb34cc47d8c18199f27c5bfdb20838544f0058ef8afdd2debec5f6edb455f81838686604051610d089493929190611dae565b60405180910390a19392505050565b600082841490507f80ccaff7f7d9b95ab49ddd43778ee01cfda842a6269bed42e4e37929bc57fd2881838686604051610d539493929190611e1b565b60405180910390a19392505050565b600082841490507f06c5fd13661d229189d43a6a38e86721af51ed7065a4b6f43da4bd8cd1b1815181838686604051610d9e9493929190611e7a565b60405180910390a19392505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b610dd481610dc1565b8114610ddf57600080fd5b50565b600081359050610df181610dcb565b92915050565b6000819050919050565b610e0a81610df7565b8114610e1557600080fd5b50565b600081359050610e2781610e01565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610e8082610e37565b810181811067ffffffffffffffff82111715610e9f57610e9e610e48565b5b80604052505050565b6000610eb2610dad565b9050610ebe8282610e77565b919050565b600067ffffffffffffffff821115610ede57610edd610e48565b5b610ee782610e37565b9050602081019050919050565b82818337600083830152505050565b6000610f16610f1184610ec3565b610ea8565b905082815260208101848484011115610f3257610f31610e32565b5b610f3d848285610ef4565b509392505050565b600082601f830112610f5a57610f59610e2d565b5b8135610f6a848260208601610f03565b91505092915050565b600080600060608486031215610f8c57610f8b610db7565b5b6000610f9a86828701610de2565b9350506020610fab86828701610e18565b925050604084013567ffffffffffffffff811115610fcc57610fcb610dbc565b5b610fd886828701610f45565b9150509250925092565b60008115159050919050565b610ff781610fe2565b82525050565b60006020820190506110126000830184610fee565b92915050565b60008060006060848603121561103157611030610db7565b5b600061103f86828701610e18565b935050602061105086828701610de2565b925050604084013567ffffffffffffffff81111561107157611070610dbc565b5b61107d86828701610f45565b9150509250925092565b61109081610fe2565b811461109b57600080fd5b50565b6000813590506110ad81611087565b92915050565b600080604083850312156110ca576110c9610db7565b5b60006110d88582860161109e565b925050602083013567ffffffffffffffff8111156110f9576110f8610dbc565b5b61110585828601610f45565b9150509250929050565b60008060006060848603121561112857611127610db7565b5b60006111368682870161109e565b93505060206111478682870161109e565b925050604084013567ffffffffffffffff81111561116857611167610dbc565b5b61117486828701610f45565b9150509250925092565b60008060006060848603121561119757611196610db7565b5b60006111a586828701610de2565b93505060206111b686828701610de2565b925050604084013567ffffffffffffffff8111156111d7576111d6610dbc565b5b6111e386828701610f45565b9150509250925092565b60008060006060848603121561120657611205610db7565b5b600084013567ffffffffffffffff81111561122457611223610dbc565b5b61123086828701610f45565b935050602084013567ffffffffffffffff81111561125157611250610dbc565b5b61125d86828701610f45565b925050604084013567ffffffffffffffff81111561127e5761127d610dbc565b5b61128a86828701610f45565b9150509250925092565b6000819050919050565b6112a781611294565b81146112b257600080fd5b50565b6000813590506112c48161129e565b92915050565b6000806000606084860312156112e3576112e2610db7565b5b60006112f1868287016112b5565b9350506020611302868287016112b5565b925050604084013567ffffffffffffffff81111561132357611322610dbc565b5b61132f86828701610f45565b9150509250925092565b60008060006060848603121561135257611351610db7565b5b600061136086828701610e18565b935050602061137186828701610e18565b925050604084013567ffffffffffffffff81111561139257611391610dbc565b5b61139e86828701610f45565b9150509250925092565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006113d3826113a8565b9050919050565b6113e3816113c8565b81146113ee57600080fd5b50565b600081359050611400816113da565b92915050565b60008060006060848603121561141f5761141e610db7565b5b600061142d868287016113f1565b935050602061143e868287016113f1565b925050604084013567ffffffffffffffff81111561145f5761145e610dbc565b5b61146b86828701610f45565b9150509250925092565b61147e81610fe2565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156114be5780820151818401526020810190506114a3565b60008484015250505050565b60006114d582611484565b6114df818561148f565b93506114ef8185602086016114a0565b6114f881610e37565b840191505092915050565b7f677265617465725468616e000000000000000000000000000000000000000000600082015250565b6000611539600b8361148f565b915061154482611503565b602082019050919050565b61155881610dc1565b82525050565b61156781610df7565b82525050565b600060a0820190506115826000830187611475565b818103602083015261159481866114ca565b905081810360408301526115a78161152c565b90506115b6606083018561154f565b6115c3608083018461155e565b95945050505050565b7f6c65737365725468616e00000000000000000000000000000000000000000000600082015250565b6000611602600a8361148f565b915061160d826115cc565b602082019050919050565b600060a08201905061162d6000830187611475565b818103602083015261163f81866114ca565b90508181036040830152611652816115f5565b9050611661606083018561155e565b61166e608083018461154f565b95945050505050565b7f6f6b000000000000000000000000000000000000000000000000000000000000600082015250565b60006116ad60028361148f565b91506116b882611677565b602082019050919050565b60006060820190506116d86000830185611475565b81810360208301526116ea81846114ca565b905081810360408301526116fd816116a0565b90509392505050565b7f6e6f74457175616c000000000000000000000000000000000000000000000000600082015250565b600061173c60088361148f565b915061174782611706565b602082019050919050565b600060a0820190506117676000830187611475565b818103602083015261177981866114ca565b9050818103604083015261178c8161172f565b905061179b6060830185611475565b6117a86080830184611475565b95945050505050565b600060a0820190506117c66000830187611475565b81810360208301526117d881866114ca565b905081810360408301526117eb816115f5565b90506117fa606083018561154f565b611807608083018461154f565b95945050505050565b600081905092915050565b600061182682611484565b6118308185611810565b93506118408185602086016114a0565b80840191505092915050565b6000611858828461181b565b915081905092915050565b600060a0820190506118786000830187611475565b818103602083015261188a81866114ca565b9050818103604083015261189d8161172f565b905081810360608301526118b181856114ca565b905081810360808301526118c581846114ca565b905095945050505050565b600060a0820190506118e56000830187611475565b81810360208301526118f781866114ca565b9050818103604083015261190a8161172f565b9050611919606083018561154f565b611926608083018461154f565b95945050505050565b61193881611294565b82525050565b600060a0820190506119536000830187611475565b818103602083015261196581866114ca565b905081810360408301526119788161172f565b9050611987606083018561192f565b611994608083018461192f565b95945050505050565b600060a0820190506119b26000830187611475565b81810360208301526119c481866114ca565b905081810360408301526119d78161172f565b90506119e6606083018561155e565b6119f3608083018461155e565b95945050505050565b7f657175616c000000000000000000000000000000000000000000000000000000600082015250565b6000611a3260058361148f565b9150611a3d826119fc565b602082019050919050565b600060a082019050611a5d6000830187611475565b8181036020830152611a6f81866114ca565b90508181036040830152611a8281611a25565b9050611a916060830185611475565b611a9e6080830184611475565b95945050505050565b600060a082019050611abc6000830187611475565b8181036020830152611ace81866114ca565b90508181036040830152611ae1816115f5565b9050611af0606083018561154f565b611afd608083018461155e565b95945050505050565b600060a082019050611b1b6000830187611475565b8181036020830152611b2d81866114ca565b90508181036040830152611b408161152c565b9050611b4f606083018561155e565b611b5c608083018461154f565b95945050505050565b600060a082019050611b7a6000830187611475565b8181036020830152611b8c81866114ca565b90508181036040830152611b9f8161152c565b9050611bae606083018561154f565b611bbb608083018461154f565b95945050505050565b600060a082019050611bd96000830187611475565b8181036020830152611beb81866114ca565b90508181036040830152611bfe8161152c565b9050611c0d606083018561155e565b611c1a608083018461155e565b95945050505050565b600060a082019050611c386000830187611475565b8181036020830152611c4a81866114ca565b90508181036040830152611c5d81611a25565b9050611c6c606083018561155e565b611c79608083018461155e565b95945050505050565b600060a082019050611c976000830187611475565b8181036020830152611ca981866114ca565b90508181036040830152611cbc816115f5565b9050611ccb606083018561155e565b611cd8608083018461155e565b95945050505050565b611cea816113c8565b82525050565b600060a082019050611d056000830187611475565b8181036020830152611d1781866114ca565b90508181036040830152611d2a8161172f565b9050611d396060830185611ce1565b611d466080830184611ce1565b95945050505050565b600060a082019050611d646000830187611475565b8181036020830152611d7681866114ca565b90508181036040830152611d8981611a25565b9050611d986060830185611ce1565b611da56080830184611ce1565b95945050505050565b600060a082019050611dc36000830187611475565b8181036020830152611dd581866114ca565b90508181036040830152611de881611a25565b90508181036060830152611dfc81856114ca565b90508181036080830152611e1081846114ca565b905095945050505050565b600060a082019050611e306000830187611475565b8181036020830152611e4281866114ca565b90508181036040830152611e5581611a25565b9050611e64606083018561192f565b611e71608083018461192f565b95945050505050565b600060a082019050611e8f6000830187611475565b8181036020830152611ea181866114ca565b90508181036040830152611eb481611a25565b9050611ec3606083018561154f565b611ed0608083018461154f565b9594505050505056fea2646970667358221220eb3c3e714565a88c85b41853c8ace353beade100a6a8bb38cfebedfbeadd6c7564736f6c63430008120033",
"opcodes": "PUSH2 0x1F0F PUSH2 0x53 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x46 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x141 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x77C6D463 GT PUSH2 0xC2 JUMPI DUP1 PUSH4 0xAEA88952 GT PUSH2 0x86 JUMPI DUP1 PUSH4 0xAEA88952 EQ PUSH2 0x4D9 JUMPI DUP1 PUSH4 0xB8F28531 EQ PUSH2 0x516 JUMPI DUP1 PUSH4 0xBFBA5DD6 EQ PUSH2 0x553 JUMPI DUP1 PUSH4 0xE8C2CB16 EQ PUSH2 0x590 JUMPI DUP1 PUSH4 0xEA79DD79 EQ PUSH2 0x5CD JUMPI DUP1 PUSH4 0xF5BAE6B6 EQ PUSH2 0x60A JUMPI PUSH2 0x141 JUMP JUMPDEST DUP1 PUSH4 0x77C6D463 EQ PUSH2 0x3A8 JUMPI DUP1 PUSH4 0x8C45CB97 EQ PUSH2 0x3E5 JUMPI DUP1 PUSH4 0x9C0B4336 EQ PUSH2 0x422 JUMPI DUP1 PUSH4 0xA079F1A3 EQ PUSH2 0x45F JUMPI DUP1 PUSH4 0xABCD7960 EQ PUSH2 0x49C JUMPI PUSH2 0x141 JUMP JUMPDEST DUP1 PUSH4 0x49F97939 GT PUSH2 0x109 JUMPI DUP1 PUSH4 0x49F97939 EQ PUSH2 0x277 JUMPI DUP1 PUSH4 0x4E3E4035 EQ PUSH2 0x2B4 JUMPI DUP1 PUSH4 0x556FE562 EQ PUSH2 0x2F1 JUMPI DUP1 PUSH4 0x561015E2 EQ PUSH2 0x32E JUMPI DUP1 PUSH4 0x767392B3 EQ PUSH2 0x36B JUMPI PUSH2 0x141 JUMP JUMPDEST DUP1 PUSH4 0x897E4C7 EQ PUSH2 0x146 JUMPI DUP1 PUSH4 0x18211BFB EQ PUSH2 0x183 JUMPI DUP1 PUSH4 0x39DF137F EQ PUSH2 0x1C0 JUMPI DUP1 PUSH4 0x44781A00 EQ PUSH2 0x1FD JUMPI DUP1 PUSH4 0x44B7F248 EQ PUSH2 0x23A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x152 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x168 SWAP2 SWAP1 PUSH2 0xF73 JUMP JUMPDEST PUSH2 0x647 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x17A SWAP2 SWAP1 PUSH2 0xFFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x18F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1AA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1A5 SWAP2 SWAP1 PUSH2 0x1018 JUMP JUMPDEST PUSH2 0x6A4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B7 SWAP2 SWAP1 PUSH2 0xFFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x1CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E2 SWAP2 SWAP1 PUSH2 0x10B3 JUMP JUMPDEST PUSH2 0x701 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F4 SWAP2 SWAP1 PUSH2 0xFFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x209 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x224 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x21F SWAP2 SWAP1 PUSH2 0x110F JUMP JUMPDEST PUSH2 0x745 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x231 SWAP2 SWAP1 PUSH2 0xFFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x246 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x261 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x25C SWAP2 SWAP1 PUSH2 0x117E JUMP JUMPDEST PUSH2 0x795 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x26E SWAP2 SWAP1 PUSH2 0xFFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x283 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x29E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x299 SWAP2 SWAP1 PUSH2 0x11ED JUMP JUMPDEST PUSH2 0x7E0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2AB SWAP2 SWAP1 PUSH2 0xFFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x2C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2DB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2D6 SWAP2 SWAP1 PUSH2 0x117E JUMP JUMPDEST PUSH2 0x878 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2E8 SWAP2 SWAP1 PUSH2 0xFFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x2FD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x318 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x313 SWAP2 SWAP1 PUSH2 0x12CA JUMP JUMPDEST PUSH2 0x8C4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x325 SWAP2 SWAP1 PUSH2 0xFFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x33A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x355 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x350 SWAP2 SWAP1 PUSH2 0x1339 JUMP JUMPDEST PUSH2 0x910 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x362 SWAP2 SWAP1 PUSH2 0xFFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x377 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x38D SWAP2 SWAP1 PUSH2 0x110F JUMP JUMPDEST PUSH2 0x95C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x39F SWAP2 SWAP1 PUSH2 0xFFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x3B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3CA SWAP2 SWAP1 PUSH2 0xF73 JUMP JUMPDEST PUSH2 0x9AB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3DC SWAP2 SWAP1 PUSH2 0xFFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x3F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x40C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x407 SWAP2 SWAP1 PUSH2 0x1018 JUMP JUMPDEST PUSH2 0xA08 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x419 SWAP2 SWAP1 PUSH2 0xFFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x42E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x449 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x444 SWAP2 SWAP1 PUSH2 0x117E JUMP JUMPDEST PUSH2 0xA65 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x456 SWAP2 SWAP1 PUSH2 0xFFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x46B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x486 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x481 SWAP2 SWAP1 PUSH2 0x1339 JUMP JUMPDEST PUSH2 0xAB0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x493 SWAP2 SWAP1 PUSH2 0xFFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x4A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4BE SWAP2 SWAP1 PUSH2 0x1339 JUMP JUMPDEST PUSH2 0xAFB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4D0 SWAP2 SWAP1 PUSH2 0xFFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x4E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x500 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4FB SWAP2 SWAP1 PUSH2 0x1339 JUMP JUMPDEST PUSH2 0xB46 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50D SWAP2 SWAP1 PUSH2 0xFFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x522 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x53D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x538 SWAP2 SWAP1 PUSH2 0x1406 JUMP JUMPDEST PUSH2 0xB91 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x54A SWAP2 SWAP1 PUSH2 0xFFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x55F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x57A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x575 SWAP2 SWAP1 PUSH2 0x1406 JUMP JUMPDEST PUSH2 0xC09 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x587 SWAP2 SWAP1 PUSH2 0xFFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x59C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5B7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B2 SWAP2 SWAP1 PUSH2 0x11ED JUMP JUMPDEST PUSH2 0xC80 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5C4 SWAP2 SWAP1 PUSH2 0xFFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x5D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5F4 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5EF SWAP2 SWAP1 PUSH2 0x12CA JUMP JUMPDEST PUSH2 0xD17 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x601 SWAP2 SWAP1 PUSH2 0xFFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x616 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x631 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x62C SWAP2 SWAP1 PUSH2 0x117E JUMP JUMPDEST PUSH2 0xD62 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x63E SWAP2 SWAP1 PUSH2 0xFFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 DUP5 SLT ISZERO PUSH2 0x65A JUMPI PUSH1 0x0 SWAP1 POP PUSH2 0x660 JUMP JUMPDEST DUP3 DUP5 GT SWAP1 POP JUMPDEST PUSH32 0x1AEE88E0B11C6F778EE0BE69B5A108735A20E3D68F5729C851F81E10FB0357E2 DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x695 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x156D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 SLT ISZERO PUSH2 0x6B7 JUMPI PUSH1 0x0 SWAP1 POP PUSH2 0x6BD JUMP JUMPDEST DUP3 DUP5 LT SWAP1 POP JUMPDEST PUSH32 0x14BC841BF51D20C0DC7CAA87B92CC8FFFF7A0427AB3F16C1800F89F1CD14AFE8 DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x6F2 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1618 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP PUSH32 0xBBF85D637D70CCACC5B8EDB602351BA3DEC7BC069D69235C3529EF3F453D01F1 DUP2 DUP4 PUSH1 0x40 MLOAD PUSH2 0x737 SWAP3 SWAP2 SWAP1 PUSH2 0x16C3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 ISZERO ISZERO DUP5 ISZERO ISZERO EQ ISZERO SWAP1 POP PUSH32 0xF7B49AA0711CEEC1DED951E7E1E0F5068E1B494431E8AAFD4AFD3C5FCE1BCEA5 DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x786 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1752 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP5 SLT SWAP1 POP PUSH32 0x6C5FD13661D229189D43A6A38E86721AF51ED7065A4B6F43DA4BD8CD1B18151 DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x7D1 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x17B1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x7F3 SWAP2 SWAP1 PUSH2 0x184C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x81A SWAP2 SWAP1 PUSH2 0x184C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ ISZERO SWAP1 POP PUSH32 0x772EB34CC47D8C18199F27C5BFDB20838544F0058EF8AFDD2DEBEC5F6EDB455F DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x869 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1863 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP5 EQ ISZERO SWAP1 POP PUSH32 0x6C5FD13661D229189D43A6A38E86721AF51ED7065A4B6F43DA4BD8CD1B18151 DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x8B5 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x18D0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP5 EQ ISZERO SWAP1 POP PUSH32 0x80CCAFF7F7D9B95AB49DDD43778EE01CFDA842A6269BED42E4E37929BC57FD28 DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x901 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x193E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP5 EQ ISZERO SWAP1 POP PUSH32 0x968B7A5D7C5BCC2E8F9F583456A62C310B1B4E509906C1C1BB1A5AFF86CC1E1A DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x94D SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x199D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 ISZERO ISZERO DUP5 ISZERO ISZERO EQ SWAP1 POP PUSH32 0xF7B49AA0711CEEC1DED951E7E1E0F5068E1B494431E8AAFD4AFD3C5FCE1BCEA5 DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x99C SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1A48 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 SLT ISZERO PUSH2 0x9BE JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0x9C4 JUMP JUMPDEST DUP3 DUP5 LT SWAP1 POP JUMPDEST PUSH32 0x1AEE88E0B11C6F778EE0BE69B5A108735A20E3D68F5729C851F81E10FB0357E2 DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x9F9 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1AA7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 SLT ISZERO PUSH2 0xA1B JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0xA21 JUMP JUMPDEST DUP3 DUP5 GT SWAP1 POP JUMPDEST PUSH32 0x14BC841BF51D20C0DC7CAA87B92CC8FFFF7A0427AB3F16C1800F89F1CD14AFE8 DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0xA56 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1B06 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP5 SGT SWAP1 POP PUSH32 0x6C5FD13661D229189D43A6A38E86721AF51ED7065A4B6F43DA4BD8CD1B18151 DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0xAA1 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1B65 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP5 GT SWAP1 POP PUSH32 0x968B7A5D7C5BCC2E8F9F583456A62C310B1B4E509906C1C1BB1A5AFF86CC1E1A DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0xAEC SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1BC4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP5 EQ SWAP1 POP PUSH32 0x968B7A5D7C5BCC2E8F9F583456A62C310B1B4E509906C1C1BB1A5AFF86CC1E1A DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0xB37 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1C23 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP5 LT SWAP1 POP PUSH32 0x968B7A5D7C5BCC2E8F9F583456A62C310B1B4E509906C1C1BB1A5AFF86CC1E1A DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0xB82 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1C82 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP PUSH32 0xAC36FADFA7A97083276A489F3E00CB5D4FCD13BBFDB3A78A0014FD48D4B46D9B DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0xBFA SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1CF0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP1 POP PUSH32 0xAC36FADFA7A97083276A489F3E00CB5D4FCD13BBFDB3A78A0014FD48D4B46D9B DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0xC71 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1D4F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xC93 SWAP2 SWAP1 PUSH2 0x184C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xCBA SWAP2 SWAP1 PUSH2 0x184C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ SWAP1 POP PUSH32 0x772EB34CC47D8C18199F27C5BFDB20838544F0058EF8AFDD2DEBEC5F6EDB455F DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0xD08 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1DAE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP5 EQ SWAP1 POP PUSH32 0x80CCAFF7F7D9B95AB49DDD43778EE01CFDA842A6269BED42E4E37929BC57FD28 DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0xD53 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1E1B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP5 EQ SWAP1 POP PUSH32 0x6C5FD13661D229189D43A6A38E86721AF51ED7065A4B6F43DA4BD8CD1B18151 DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0xD9E SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1E7A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDD4 DUP2 PUSH2 0xDC1 JUMP JUMPDEST DUP2 EQ PUSH2 0xDDF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xDF1 DUP2 PUSH2 0xDCB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE0A DUP2 PUSH2 0xDF7 JUMP JUMPDEST DUP2 EQ PUSH2 0xE15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE27 DUP2 PUSH2 0xE01 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xE80 DUP3 PUSH2 0xE37 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0xE9F JUMPI PUSH2 0xE9E PUSH2 0xE48 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xEB2 PUSH2 0xDAD JUMP JUMPDEST SWAP1 POP PUSH2 0xEBE DUP3 DUP3 PUSH2 0xE77 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xEDE JUMPI PUSH2 0xEDD PUSH2 0xE48 JUMP JUMPDEST JUMPDEST PUSH2 0xEE7 DUP3 PUSH2 0xE37 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF16 PUSH2 0xF11 DUP5 PUSH2 0xEC3 JUMP JUMPDEST PUSH2 0xEA8 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0xF32 JUMPI PUSH2 0xF31 PUSH2 0xE32 JUMP JUMPDEST JUMPDEST PUSH2 0xF3D DUP5 DUP3 DUP6 PUSH2 0xEF4 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xF5A JUMPI PUSH2 0xF59 PUSH2 0xE2D JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0xF6A DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0xF03 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xF8C JUMPI PUSH2 0xF8B PUSH2 0xDB7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xF9A DUP7 DUP3 DUP8 ADD PUSH2 0xDE2 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xFAB DUP7 DUP3 DUP8 ADD PUSH2 0xE18 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xFCC JUMPI PUSH2 0xFCB PUSH2 0xDBC JUMP JUMPDEST JUMPDEST PUSH2 0xFD8 DUP7 DUP3 DUP8 ADD PUSH2 0xF45 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xFF7 DUP2 PUSH2 0xFE2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1012 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xFEE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1031 JUMPI PUSH2 0x1030 PUSH2 0xDB7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x103F DUP7 DUP3 DUP8 ADD PUSH2 0xE18 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x1050 DUP7 DUP3 DUP8 ADD PUSH2 0xDE2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1071 JUMPI PUSH2 0x1070 PUSH2 0xDBC JUMP JUMPDEST JUMPDEST PUSH2 0x107D DUP7 DUP3 DUP8 ADD PUSH2 0xF45 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x1090 DUP2 PUSH2 0xFE2 JUMP JUMPDEST DUP2 EQ PUSH2 0x109B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x10AD DUP2 PUSH2 0x1087 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x10CA JUMPI PUSH2 0x10C9 PUSH2 0xDB7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x10D8 DUP6 DUP3 DUP7 ADD PUSH2 0x109E JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x10F9 JUMPI PUSH2 0x10F8 PUSH2 0xDBC JUMP JUMPDEST JUMPDEST PUSH2 0x1105 DUP6 DUP3 DUP7 ADD PUSH2 0xF45 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1128 JUMPI PUSH2 0x1127 PUSH2 0xDB7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1136 DUP7 DUP3 DUP8 ADD PUSH2 0x109E JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x1147 DUP7 DUP3 DUP8 ADD PUSH2 0x109E JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1168 JUMPI PUSH2 0x1167 PUSH2 0xDBC JUMP JUMPDEST JUMPDEST PUSH2 0x1174 DUP7 DUP3 DUP8 ADD PUSH2 0xF45 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1197 JUMPI PUSH2 0x1196 PUSH2 0xDB7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x11A5 DUP7 DUP3 DUP8 ADD PUSH2 0xDE2 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x11B6 DUP7 DUP3 DUP8 ADD PUSH2 0xDE2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x11D7 JUMPI PUSH2 0x11D6 PUSH2 0xDBC JUMP JUMPDEST JUMPDEST PUSH2 0x11E3 DUP7 DUP3 DUP8 ADD PUSH2 0xF45 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1206 JUMPI PUSH2 0x1205 PUSH2 0xDB7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1224 JUMPI PUSH2 0x1223 PUSH2 0xDBC JUMP JUMPDEST JUMPDEST PUSH2 0x1230 DUP7 DUP3 DUP8 ADD PUSH2 0xF45 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1251 JUMPI PUSH2 0x1250 PUSH2 0xDBC JUMP JUMPDEST JUMPDEST PUSH2 0x125D DUP7 DUP3 DUP8 ADD PUSH2 0xF45 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x127E JUMPI PUSH2 0x127D PUSH2 0xDBC JUMP JUMPDEST JUMPDEST PUSH2 0x128A DUP7 DUP3 DUP8 ADD PUSH2 0xF45 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x12A7 DUP2 PUSH2 0x1294 JUMP JUMPDEST DUP2 EQ PUSH2 0x12B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x12C4 DUP2 PUSH2 0x129E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x12E3 JUMPI PUSH2 0x12E2 PUSH2 0xDB7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x12F1 DUP7 DUP3 DUP8 ADD PUSH2 0x12B5 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x1302 DUP7 DUP3 DUP8 ADD PUSH2 0x12B5 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1323 JUMPI PUSH2 0x1322 PUSH2 0xDBC JUMP JUMPDEST JUMPDEST PUSH2 0x132F DUP7 DUP3 DUP8 ADD PUSH2 0xF45 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1352 JUMPI PUSH2 0x1351 PUSH2 0xDB7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1360 DUP7 DUP3 DUP8 ADD PUSH2 0xE18 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x1371 DUP7 DUP3 DUP8 ADD PUSH2 0xE18 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1392 JUMPI PUSH2 0x1391 PUSH2 0xDBC JUMP JUMPDEST JUMPDEST PUSH2 0x139E DUP7 DUP3 DUP8 ADD PUSH2 0xF45 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13D3 DUP3 PUSH2 0x13A8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x13E3 DUP2 PUSH2 0x13C8 JUMP JUMPDEST DUP2 EQ PUSH2 0x13EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1400 DUP2 PUSH2 0x13DA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x141F JUMPI PUSH2 0x141E PUSH2 0xDB7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x142D DUP7 DUP3 DUP8 ADD PUSH2 0x13F1 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x143E DUP7 DUP3 DUP8 ADD PUSH2 0x13F1 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x145F JUMPI PUSH2 0x145E PUSH2 0xDBC JUMP JUMPDEST JUMPDEST PUSH2 0x146B DUP7 DUP3 DUP8 ADD PUSH2 0xF45 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x147E DUP2 PUSH2 0xFE2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x14BE JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x14A3 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14D5 DUP3 PUSH2 0x1484 JUMP JUMPDEST PUSH2 0x14DF DUP2 DUP6 PUSH2 0x148F JUMP JUMPDEST SWAP4 POP PUSH2 0x14EF DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x14A0 JUMP JUMPDEST PUSH2 0x14F8 DUP2 PUSH2 0xE37 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x677265617465725468616E000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1539 PUSH1 0xB DUP4 PUSH2 0x148F JUMP JUMPDEST SWAP2 POP PUSH2 0x1544 DUP3 PUSH2 0x1503 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1558 DUP2 PUSH2 0xDC1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1567 DUP2 PUSH2 0xDF7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1582 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1475 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1594 DUP2 DUP7 PUSH2 0x14CA JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x15A7 DUP2 PUSH2 0x152C JUMP JUMPDEST SWAP1 POP PUSH2 0x15B6 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x154F JUMP JUMPDEST PUSH2 0x15C3 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x155E JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x6C65737365725468616E00000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1602 PUSH1 0xA DUP4 PUSH2 0x148F JUMP JUMPDEST SWAP2 POP PUSH2 0x160D DUP3 PUSH2 0x15CC JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x162D PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1475 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x163F DUP2 DUP7 PUSH2 0x14CA JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1652 DUP2 PUSH2 0x15F5 JUMP JUMPDEST SWAP1 POP PUSH2 0x1661 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x155E JUMP JUMPDEST PUSH2 0x166E PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x154F JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x6F6B000000000000000000000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16AD PUSH1 0x2 DUP4 PUSH2 0x148F JUMP JUMPDEST SWAP2 POP PUSH2 0x16B8 DUP3 PUSH2 0x1677 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x16D8 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1475 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x16EA DUP2 DUP5 PUSH2 0x14CA JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x16FD DUP2 PUSH2 0x16A0 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x6E6F74457175616C000000000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x173C PUSH1 0x8 DUP4 PUSH2 0x148F JUMP JUMPDEST SWAP2 POP PUSH2 0x1747 DUP3 PUSH2 0x1706 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1767 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1475 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1779 DUP2 DUP7 PUSH2 0x14CA JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x178C DUP2 PUSH2 0x172F JUMP JUMPDEST SWAP1 POP PUSH2 0x179B PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x1475 JUMP JUMPDEST PUSH2 0x17A8 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x1475 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x17C6 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1475 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x17D8 DUP2 DUP7 PUSH2 0x14CA JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x17EB DUP2 PUSH2 0x15F5 JUMP JUMPDEST SWAP1 POP PUSH2 0x17FA PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x154F JUMP JUMPDEST PUSH2 0x1807 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x154F JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1826 DUP3 PUSH2 0x1484 JUMP JUMPDEST PUSH2 0x1830 DUP2 DUP6 PUSH2 0x1810 JUMP JUMPDEST SWAP4 POP PUSH2 0x1840 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x14A0 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1858 DUP3 DUP5 PUSH2 0x181B JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1878 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1475 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x188A DUP2 DUP7 PUSH2 0x14CA JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x189D DUP2 PUSH2 0x172F JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x60 DUP4 ADD MSTORE PUSH2 0x18B1 DUP2 DUP6 PUSH2 0x14CA JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x18C5 DUP2 DUP5 PUSH2 0x14CA JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x18E5 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1475 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x18F7 DUP2 DUP7 PUSH2 0x14CA JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x190A DUP2 PUSH2 0x172F JUMP JUMPDEST SWAP1 POP PUSH2 0x1919 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x154F JUMP JUMPDEST PUSH2 0x1926 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x154F JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1938 DUP2 PUSH2 0x1294 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1953 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1475 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1965 DUP2 DUP7 PUSH2 0x14CA JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1978 DUP2 PUSH2 0x172F JUMP JUMPDEST SWAP1 POP PUSH2 0x1987 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x192F JUMP JUMPDEST PUSH2 0x1994 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x192F JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x19B2 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1475 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x19C4 DUP2 DUP7 PUSH2 0x14CA JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x19D7 DUP2 PUSH2 0x172F JUMP JUMPDEST SWAP1 POP PUSH2 0x19E6 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x155E JUMP JUMPDEST PUSH2 0x19F3 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x155E JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x657175616C000000000000000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A32 PUSH1 0x5 DUP4 PUSH2 0x148F JUMP JUMPDEST SWAP2 POP PUSH2 0x1A3D DUP3 PUSH2 0x19FC JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1A5D PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1475 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1A6F DUP2 DUP7 PUSH2 0x14CA JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1A82 DUP2 PUSH2 0x1A25 JUMP JUMPDEST SWAP1 POP PUSH2 0x1A91 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x1475 JUMP JUMPDEST PUSH2 0x1A9E PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x1475 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1ABC PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1475 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1ACE DUP2 DUP7 PUSH2 0x14CA JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1AE1 DUP2 PUSH2 0x15F5 JUMP JUMPDEST SWAP1 POP PUSH2 0x1AF0 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x154F JUMP JUMPDEST PUSH2 0x1AFD PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x155E JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1B1B PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1475 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1B2D DUP2 DUP7 PUSH2 0x14CA JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1B40 DUP2 PUSH2 0x152C JUMP JUMPDEST SWAP1 POP PUSH2 0x1B4F PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x155E JUMP JUMPDEST PUSH2 0x1B5C PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x154F JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1B7A PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1475 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1B8C DUP2 DUP7 PUSH2 0x14CA JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1B9F DUP2 PUSH2 0x152C JUMP JUMPDEST SWAP1 POP PUSH2 0x1BAE PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x154F JUMP JUMPDEST PUSH2 0x1BBB PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x154F JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1BD9 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1475 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1BEB DUP2 DUP7 PUSH2 0x14CA JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1BFE DUP2 PUSH2 0x152C JUMP JUMPDEST SWAP1 POP PUSH2 0x1C0D PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x155E JUMP JUMPDEST PUSH2 0x1C1A PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x155E JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1C38 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1475 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1C4A DUP2 DUP7 PUSH2 0x14CA JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1C5D DUP2 PUSH2 0x1A25 JUMP JUMPDEST SWAP1 POP PUSH2 0x1C6C PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x155E JUMP JUMPDEST PUSH2 0x1C79 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x155E JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1C97 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1475 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1CA9 DUP2 DUP7 PUSH2 0x14CA JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1CBC DUP2 PUSH2 0x15F5 JUMP JUMPDEST SWAP1 POP PUSH2 0x1CCB PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x155E JUMP JUMPDEST PUSH2 0x1CD8 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x155E JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1CEA DUP2 PUSH2 0x13C8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1D05 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1475 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1D17 DUP2 DUP7 PUSH2 0x14CA JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1D2A DUP2 PUSH2 0x172F JUMP JUMPDEST SWAP1 POP PUSH2 0x1D39 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x1CE1 JUMP JUMPDEST PUSH2 0x1D46 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x1CE1 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1D64 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1475 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1D76 DUP2 DUP7 PUSH2 0x14CA JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1D89 DUP2 PUSH2 0x1A25 JUMP JUMPDEST SWAP1 POP PUSH2 0x1D98 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x1CE1 JUMP JUMPDEST PUSH2 0x1DA5 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x1CE1 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1DC3 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1475 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1DD5 DUP2 DUP7 PUSH2 0x14CA JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1DE8 DUP2 PUSH2 0x1A25 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x60 DUP4 ADD MSTORE PUSH2 0x1DFC DUP2 DUP6 PUSH2 0x14CA JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x1E10 DUP2 DUP5 PUSH2 0x14CA JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1E30 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1475 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1E42 DUP2 DUP7 PUSH2 0x14CA JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1E55 DUP2 PUSH2 0x1A25 JUMP JUMPDEST SWAP1 POP PUSH2 0x1E64 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x192F JUMP JUMPDEST PUSH2 0x1E71 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x192F JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1E8F PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1475 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1EA1 DUP2 DUP7 PUSH2 0x14CA JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1EB4 DUP2 PUSH2 0x1A25 JUMP JUMPDEST SWAP1 POP PUSH2 0x1EC3 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x154F JUMP JUMPDEST PUSH2 0x1ED0 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x154F JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEB EXTCODECOPY RETURNDATACOPY PUSH18 0x4565A88C85B41853C8ACE353BEADE100A6A8 0xBB CODESIZE 0xCF 0xEB 0xED 0xFB 0xEA 0xDD PUSH13 0x7564736F6C6343000812003300 ",
"sourceMap": "71:6752:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@equal_285": {
"entryPoint": 2811,
"id": 285,
"parameterSlots": 3,
"returnSlots": 1
},
"@equal_312": {
"entryPoint": 3426,
"id": 312,
"parameterSlots": 3,
"returnSlots": 1
},
"@equal_339": {
"entryPoint": 2396,
"id": 339,
"parameterSlots": 3,
"returnSlots": 1
},
"@equal_366": {
"entryPoint": 3081,
"id": 366,
"parameterSlots": 3,
"returnSlots": 1
},
"@equal_393": {
"entryPoint": 3351,
"id": 393,
"parameterSlots": 3,
"returnSlots": 1
},
"@equal_430": {
"entryPoint": 3200,
"id": 430,
"parameterSlots": 3,
"returnSlots": 1
},
"@greaterThan_629": {
"entryPoint": 2736,
"id": 629,
"parameterSlots": 3,
"returnSlots": 1
},
"@greaterThan_656": {
"entryPoint": 2661,
"id": 656,
"parameterSlots": 3,
"returnSlots": 1
},
"@greaterThan_699": {
"entryPoint": 2568,
"id": 699,
"parameterSlots": 3,
"returnSlots": 1
},
"@greaterThan_742": {
"entryPoint": 1607,
"id": 742,
"parameterSlots": 3,
"returnSlots": 1
},
"@lesserThan_769": {
"entryPoint": 2886,
"id": 769,
"parameterSlots": 3,
"returnSlots": 1
},
"@lesserThan_796": {
"entryPoint": 1941,
"id": 796,
"parameterSlots": 3,
"returnSlots": 1
},
"@lesserThan_839": {
"entryPoint": 1700,
"id": 839,
"parameterSlots": 3,
"returnSlots": 1
},
"@lesserThan_882": {
"entryPoint": 2475,
"id": 882,
"parameterSlots": 3,
"returnSlots": 1
},
"@notEqual_457": {
"entryPoint": 2320,
"id": 457,
"parameterSlots": 3,
"returnSlots": 1
},
"@notEqual_484": {
"entryPoint": 2168,
"id": 484,
"parameterSlots": 3,
"returnSlots": 1
},
"@notEqual_511": {
"entryPoint": 1861,
"id": 511,
"parameterSlots": 3,
"returnSlots": 1
},
"@notEqual_538": {
"entryPoint": 2961,
"id": 538,
"parameterSlots": 3,
"returnSlots": 1
},
"@notEqual_565": {
"entryPoint": 2244,
"id": 565,
"parameterSlots": 3,
"returnSlots": 1
},
"@notEqual_602": {
"entryPoint": 2016,
"id": 602,
"parameterSlots": 3,
"returnSlots": 1
},
"@ok_258": {
"entryPoint": 1793,
"id": 258,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_available_length_t_string_memory_ptr": {
"entryPoint": 3843,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 5105,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bool": {
"entryPoint": 4254,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bytes32": {
"entryPoint": 4789,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_int256": {
"entryPoint": 3554,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_string_memory_ptr": {
"entryPoint": 3909,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 3608,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_addresst_string_memory_ptr": {
"entryPoint": 5126,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_boolt_boolt_string_memory_ptr": {
"entryPoint": 4367,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_boolt_string_memory_ptr": {
"entryPoint": 4275,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_bytes32t_bytes32t_string_memory_ptr": {
"entryPoint": 4810,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_int256t_int256t_string_memory_ptr": {
"entryPoint": 4478,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_int256t_uint256t_string_memory_ptr": {
"entryPoint": 3955,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptr": {
"entryPoint": 4589,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_uint256t_int256t_string_memory_ptr": {
"entryPoint": 4120,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_uint256t_uint256t_string_memory_ptr": {
"entryPoint": 4921,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 7393,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 5237,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bool_to_t_bool_fromStack_library": {
"entryPoint": 4078,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bytes32_to_t_bytes32_fromStack": {
"entryPoint": 6447,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_int256_to_t_int256_fromStack": {
"entryPoint": 5455,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5322,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack": {
"entryPoint": 6171,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_stringliteral_14502d3ab34ae28d404da8f6ec0501c6f295f66caa41e122cfa9b1291bc0f9e8_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5792,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_2602ee1ebf372b25bffbd066c8358edb7f611f67d29a83d531f51d21a4ab2e89_to_t_string_memory_ptr_fromStack": {
"entryPoint": 6693,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_50a97f23c5119bdada150dd747dad0c52d0fcca899436a501c98e865f82ff03f_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5420,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_6eacbbc162a376a1056ee46defb5ad8c0513de0d938dbfce38c05fc663a8556d_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5621,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_9221cc5593ebbd03a3c08e5d1bf5bfda46e44ce5d969a4cf46cd32ca4bbd45ce_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5935,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 5470,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": {
"entryPoint": 6220,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed": {
"entryPoint": 4093,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_14502d3ab34ae28d404da8f6ec0501c6f295f66caa41e122cfa9b1291bc0f9e8__to_t_bool_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 5827,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_2602ee1ebf372b25bffbd066c8358edb7f611f67d29a83d531f51d21a4ab2e89_t_address_t_address__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_address_t_address__fromStack_reversed": {
"entryPoint": 7503,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_2602ee1ebf372b25bffbd066c8358edb7f611f67d29a83d531f51d21a4ab2e89_t_bool_t_bool__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_bool__fromStack_reversed": {
"entryPoint": 6728,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_2602ee1ebf372b25bffbd066c8358edb7f611f67d29a83d531f51d21a4ab2e89_t_bytes32_t_bytes32__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_bytes32_t_bytes32__fromStack_reversed": {
"entryPoint": 7707,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_2602ee1ebf372b25bffbd066c8358edb7f611f67d29a83d531f51d21a4ab2e89_t_int256_t_int256__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_int256_t_int256__fromStack_reversed": {
"entryPoint": 7802,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_2602ee1ebf372b25bffbd066c8358edb7f611f67d29a83d531f51d21a4ab2e89_t_string_memory_ptr_t_string_memory_ptr__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 7598,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_2602ee1ebf372b25bffbd066c8358edb7f611f67d29a83d531f51d21a4ab2e89_t_uint256_t_uint256__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256__fromStack_reversed": {
"entryPoint": 7203,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_50a97f23c5119bdada150dd747dad0c52d0fcca899436a501c98e865f82ff03f_t_int256_t_int256__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_int256_t_int256__fromStack_reversed": {
"entryPoint": 7013,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_50a97f23c5119bdada150dd747dad0c52d0fcca899436a501c98e865f82ff03f_t_int256_t_uint256__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_int256_t_uint256__fromStack_reversed": {
"entryPoint": 5485,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_50a97f23c5119bdada150dd747dad0c52d0fcca899436a501c98e865f82ff03f_t_uint256_t_int256__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_int256__fromStack_reversed": {
"entryPoint": 6918,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_50a97f23c5119bdada150dd747dad0c52d0fcca899436a501c98e865f82ff03f_t_uint256_t_uint256__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256__fromStack_reversed": {
"entryPoint": 7108,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_6eacbbc162a376a1056ee46defb5ad8c0513de0d938dbfce38c05fc663a8556d_t_int256_t_int256__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_int256_t_int256__fromStack_reversed": {
"entryPoint": 6065,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_6eacbbc162a376a1056ee46defb5ad8c0513de0d938dbfce38c05fc663a8556d_t_int256_t_uint256__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_int256_t_uint256__fromStack_reversed": {
"entryPoint": 6823,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_6eacbbc162a376a1056ee46defb5ad8c0513de0d938dbfce38c05fc663a8556d_t_uint256_t_int256__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_int256__fromStack_reversed": {
"entryPoint": 5656,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_6eacbbc162a376a1056ee46defb5ad8c0513de0d938dbfce38c05fc663a8556d_t_uint256_t_uint256__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256__fromStack_reversed": {
"entryPoint": 7298,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_9221cc5593ebbd03a3c08e5d1bf5bfda46e44ce5d969a4cf46cd32ca4bbd45ce_t_address_t_address__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_address_t_address__fromStack_reversed": {
"entryPoint": 7408,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_9221cc5593ebbd03a3c08e5d1bf5bfda46e44ce5d969a4cf46cd32ca4bbd45ce_t_bool_t_bool__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_bool__fromStack_reversed": {
"entryPoint": 5970,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_9221cc5593ebbd03a3c08e5d1bf5bfda46e44ce5d969a4cf46cd32ca4bbd45ce_t_bytes32_t_bytes32__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_bytes32_t_bytes32__fromStack_reversed": {
"entryPoint": 6462,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_9221cc5593ebbd03a3c08e5d1bf5bfda46e44ce5d969a4cf46cd32ca4bbd45ce_t_int256_t_int256__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_int256_t_int256__fromStack_reversed": {
"entryPoint": 6352,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_9221cc5593ebbd03a3c08e5d1bf5bfda46e44ce5d969a4cf46cd32ca4bbd45ce_t_string_memory_ptr_t_string_memory_ptr__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 6243,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_9221cc5593ebbd03a3c08e5d1bf5bfda46e44ce5d969a4cf46cd32ca4bbd45ce_t_uint256_t_uint256__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256__fromStack_reversed": {
"entryPoint": 6557,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 3752,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 3501,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_string_memory_ptr": {
"entryPoint": 3779,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 5252,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 5263,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack": {
"entryPoint": 6160,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 5064,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 4066,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bytes32": {
"entryPoint": 4756,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_int256": {
"entryPoint": 3521,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 5032,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 3575,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_calldata_to_memory_with_cleanup": {
"entryPoint": 3828,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 5280,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"finalize_allocation": {
"entryPoint": 3703,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 3656,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 3629,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": {
"entryPoint": 3634,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 3516,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 3511,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 3639,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"store_literal_in_memory_14502d3ab34ae28d404da8f6ec0501c6f295f66caa41e122cfa9b1291bc0f9e8": {
"entryPoint": 5751,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_2602ee1ebf372b25bffbd066c8358edb7f611f67d29a83d531f51d21a4ab2e89": {
"entryPoint": 6652,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_50a97f23c5119bdada150dd747dad0c52d0fcca899436a501c98e865f82ff03f": {
"entryPoint": 5379,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_6eacbbc162a376a1056ee46defb5ad8c0513de0d938dbfce38c05fc663a8556d": {
"entryPoint": 5580,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_9221cc5593ebbd03a3c08e5d1bf5bfda46e44ce5d969a4cf46cd32ca4bbd45ce": {
"entryPoint": 5894,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 5082,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_bool": {
"entryPoint": 4231,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_bytes32": {
"entryPoint": 4766,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_int256": {
"entryPoint": 3531,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 3585,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:37205:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:4",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:4",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:4"
},
"nodeType": "YulFunctionCall",
"src": "67:9:4"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:4"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:4",
"type": ""
}
],
"src": "7:75:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:4"
},
"nodeType": "YulFunctionCall",
"src": "187:12:4"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:4"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:4"
},
"nodeType": "YulFunctionCall",
"src": "310:12:4"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:4"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "378:32:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "388:16:4",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "399:5:4"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "388:7:4"
}
]
}
]
},
"name": "cleanup_t_int256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "360:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "370:7:4",
"type": ""
}
],
"src": "334:76:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "458:78:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "514:16:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "523:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "526:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "516:6:4"
},
"nodeType": "YulFunctionCall",
"src": "516:12:4"
},
"nodeType": "YulExpressionStatement",
"src": "516:12:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "481:5:4"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "505:5:4"
}
],
"functionName": {
"name": "cleanup_t_int256",
"nodeType": "YulIdentifier",
"src": "488:16:4"
},
"nodeType": "YulFunctionCall",
"src": "488:23:4"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "478:2:4"
},
"nodeType": "YulFunctionCall",
"src": "478:34:4"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "471:6:4"
},
"nodeType": "YulFunctionCall",
"src": "471:42:4"
},
"nodeType": "YulIf",
"src": "468:62:4"
}
]
},
"name": "validator_revert_t_int256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "451:5:4",
"type": ""
}
],
"src": "416:120:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "593:86:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "603:29:4",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "625:6:4"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "612:12:4"
},
"nodeType": "YulFunctionCall",
"src": "612:20:4"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "603:5:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "667:5:4"
}
],
"functionName": {
"name": "validator_revert_t_int256",
"nodeType": "YulIdentifier",
"src": "641:25:4"
},
"nodeType": "YulFunctionCall",
"src": "641:32:4"
},
"nodeType": "YulExpressionStatement",
"src": "641:32:4"
}
]
},
"name": "abi_decode_t_int256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "571:6:4",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "579:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "587:5:4",
"type": ""
}
],
"src": "542:137:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "730:32:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "740:16:4",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "751:5:4"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "740:7:4"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "712:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "722:7:4",
"type": ""
}
],
"src": "685:77:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "811:79:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "868:16:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "877:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "880:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "870:6:4"
},
"nodeType": "YulFunctionCall",
"src": "870:12:4"
},
"nodeType": "YulExpressionStatement",
"src": "870:12:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "834:5:4"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "859:5:4"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "841:17:4"
},
"nodeType": "YulFunctionCall",
"src": "841:24:4"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "831:2:4"
},
"nodeType": "YulFunctionCall",
"src": "831:35:4"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "824:6:4"
},
"nodeType": "YulFunctionCall",
"src": "824:43:4"
},
"nodeType": "YulIf",
"src": "821:63:4"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "804:5:4",
"type": ""
}
],
"src": "768:122:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "948:87:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "958:29:4",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "980:6:4"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "967:12:4"
},
"nodeType": "YulFunctionCall",
"src": "967:20:4"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "958:5:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1023:5:4"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "996:26:4"
},
"nodeType": "YulFunctionCall",
"src": "996:33:4"
},
"nodeType": "YulExpressionStatement",
"src": "996:33:4"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "926:6:4",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "934:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "942:5:4",
"type": ""
}
],
"src": "896:139:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1130:28:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1147:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1150:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1140:6:4"
},
"nodeType": "YulFunctionCall",
"src": "1140:12:4"
},
"nodeType": "YulExpressionStatement",
"src": "1140:12:4"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "1041:117:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1253:28:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1270:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1273:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1263:6:4"
},
"nodeType": "YulFunctionCall",
"src": "1263:12:4"
},
"nodeType": "YulExpressionStatement",
"src": "1263:12:4"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulFunctionDefinition",
"src": "1164:117:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1335:54:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1345:38:4",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1363:5:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1370:2:4",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1359:3:4"
},
"nodeType": "YulFunctionCall",
"src": "1359:14:4"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1379:2:4",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "1375:3:4"
},
"nodeType": "YulFunctionCall",
"src": "1375:7:4"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1355:3:4"
},
"nodeType": "YulFunctionCall",
"src": "1355:28:4"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1345:6:4"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1318:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "1328:6:4",
"type": ""
}
],
"src": "1287:102:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1423:152:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1440:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1443:77:4",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1433:6:4"
},
"nodeType": "YulFunctionCall",
"src": "1433:88:4"
},
"nodeType": "YulExpressionStatement",
"src": "1433:88:4"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1537:1:4",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1540:4:4",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1530:6:4"
},
"nodeType": "YulFunctionCall",
"src": "1530:15:4"
},
"nodeType": "YulExpressionStatement",
"src": "1530:15:4"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1561:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1564:4:4",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1554:6:4"
},
"nodeType": "YulFunctionCall",
"src": "1554:15:4"
},
"nodeType": "YulExpressionStatement",
"src": "1554:15:4"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "1395:180:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1624:238:4",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1634:58:4",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1656:6:4"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "1686:4:4"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "1664:21:4"
},
"nodeType": "YulFunctionCall",
"src": "1664:27:4"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1652:3:4"
},
"nodeType": "YulFunctionCall",
"src": "1652:40:4"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "1638:10:4",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1803:22:4",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "1805:16:4"
},
"nodeType": "YulFunctionCall",
"src": "1805:18:4"
},
"nodeType": "YulExpressionStatement",
"src": "1805:18:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "1746:10:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1758:18:4",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1743:2:4"
},
"nodeType": "YulFunctionCall",
"src": "1743:34:4"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "1782:10:4"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1794:6:4"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1779:2:4"
},
"nodeType": "YulFunctionCall",
"src": "1779:22:4"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "1740:2:4"
},
"nodeType": "YulFunctionCall",
"src": "1740:62:4"
},
"nodeType": "YulIf",
"src": "1737:88:4"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1841:2:4",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "1845:10:4"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1834:6:4"
},
"nodeType": "YulFunctionCall",
"src": "1834:22:4"
},
"nodeType": "YulExpressionStatement",
"src": "1834:22:4"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1610:6:4",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "1618:4:4",
"type": ""
}
],
"src": "1581:281:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1909:88:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1919:30:4",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "1929:18:4"
},
"nodeType": "YulFunctionCall",
"src": "1929:20:4"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1919:6:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1978:6:4"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "1986:4:4"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "1958:19:4"
},
"nodeType": "YulFunctionCall",
"src": "1958:33:4"
},
"nodeType": "YulExpressionStatement",
"src": "1958:33:4"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "1893:4:4",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1902:6:4",
"type": ""
}
],
"src": "1868:129:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2070:241:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2175:22:4",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "2177:16:4"
},
"nodeType": "YulFunctionCall",
"src": "2177:18:4"
},
"nodeType": "YulExpressionStatement",
"src": "2177:18:4"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2147:6:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2155:18:4",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "Y
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