Skip to content

Instantly share code, notes, and snippets.

@fu1312
Created March 15, 2024 21:58
Show Gist options
  • Save fu1312/f9f23217365e5ca31386f66eb7a7f8c1 to your computer and use it in GitHub Desktop.
Save fu1312/f9f23217365e5ca31386f66eb7a7f8c1 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.19+commit.7dd6d404.js&optimize=false&runs=200&gist=
// SPDX-License-Identifier: MIT
pragma solidity >=0.4.22 <0.9.0;
library console {
address constant CONSOLE_ADDRESS =
0x000000000000000000636F6e736F6c652e6c6f67;
function _sendLogPayloadImplementation(bytes memory payload) internal view {
address consoleAddress = CONSOLE_ADDRESS;
/// @solidity memory-safe-assembly
assembly {
pop(
staticcall(
gas(),
consoleAddress,
add(payload, 32),
mload(payload),
0,
0
)
)
}
}
function _castToPure(
function(bytes memory) internal view fnIn
) internal pure returns (function(bytes memory) pure fnOut) {
assembly {
fnOut := fnIn
}
}
function _sendLogPayload(bytes memory payload) internal pure {
_castToPure(_sendLogPayloadImplementation)(payload);
}
function log() internal pure {
_sendLogPayload(abi.encodeWithSignature("log()"));
}
function logInt(int256 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(int256)", p0));
}
function logUint(uint256 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256)", p0));
}
function logString(string memory p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string)", p0));
}
function logBool(bool p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool)", p0));
}
function logAddress(address p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address)", p0));
}
function logBytes(bytes memory p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes)", p0));
}
function logBytes1(bytes1 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes1)", p0));
}
function logBytes2(bytes2 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes2)", p0));
}
function logBytes3(bytes3 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes3)", p0));
}
function logBytes4(bytes4 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes4)", p0));
}
function logBytes5(bytes5 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes5)", p0));
}
function logBytes6(bytes6 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes6)", p0));
}
function logBytes7(bytes7 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes7)", p0));
}
function logBytes8(bytes8 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes8)", p0));
}
function logBytes9(bytes9 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes9)", p0));
}
function logBytes10(bytes10 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes10)", p0));
}
function logBytes11(bytes11 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes11)", p0));
}
function logBytes12(bytes12 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes12)", p0));
}
function logBytes13(bytes13 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes13)", p0));
}
function logBytes14(bytes14 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes14)", p0));
}
function logBytes15(bytes15 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes15)", p0));
}
function logBytes16(bytes16 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes16)", p0));
}
function logBytes17(bytes17 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes17)", p0));
}
function logBytes18(bytes18 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes18)", p0));
}
function logBytes19(bytes19 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes19)", p0));
}
function logBytes20(bytes20 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes20)", p0));
}
function logBytes21(bytes21 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes21)", p0));
}
function logBytes22(bytes22 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes22)", p0));
}
function logBytes23(bytes23 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes23)", p0));
}
function logBytes24(bytes24 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes24)", p0));
}
function logBytes25(bytes25 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes25)", p0));
}
function logBytes26(bytes26 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes26)", p0));
}
function logBytes27(bytes27 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes27)", p0));
}
function logBytes28(bytes28 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes28)", p0));
}
function logBytes29(bytes29 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes29)", p0));
}
function logBytes30(bytes30 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes30)", p0));
}
function logBytes31(bytes31 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes31)", p0));
}
function logBytes32(bytes32 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes32)", p0));
}
function log(uint256 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256)", p0));
}
function log(string memory p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string)", p0));
}
function log(bool p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool)", p0));
}
function log(address p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address)", p0));
}
function log(uint256 p0, uint256 p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256)", p0, p1));
}
function log(uint256 p0, string memory p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string)", p0, p1));
}
function log(uint256 p0, bool p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool)", p0, p1));
}
function log(uint256 p0, address p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address)", p0, p1));
}
function log(string memory p0, uint256 p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256)", p0, p1));
}
function log(string memory p0, string memory p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string)", p0, p1));
}
function log(string memory p0, bool p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool)", p0, p1));
}
function log(string memory p0, address p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address)", p0, p1));
}
function log(bool p0, uint256 p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256)", p0, p1));
}
function log(bool p0, string memory p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string)", p0, p1));
}
function log(bool p0, bool p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool)", p0, p1));
}
function log(bool p0, address p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address)", p0, p1));
}
function log(address p0, uint256 p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256)", p0, p1));
}
function log(address p0, string memory p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string)", p0, p1));
}
function log(address p0, bool p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool)", p0, p1));
}
function log(address p0, address p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address)", p0, p1));
}
function log(uint256 p0, uint256 p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256)", p0, p1, p2));
}
function log(uint256 p0, uint256 p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string)", p0, p1, p2));
}
function log(uint256 p0, uint256 p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool)", p0, p1, p2));
}
function log(uint256 p0, uint256 p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address)", p0, p1, p2));
}
function log(uint256 p0, string memory p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256)", p0, p1, p2));
}
function log(uint256 p0, string memory p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,string)", p0, p1, p2));
}
function log(uint256 p0, string memory p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool)", p0, p1, p2));
}
function log(uint256 p0, string memory p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address)", p0, p1, p2));
}
function log(uint256 p0, bool p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256)", p0, p1, p2));
}
function log(uint256 p0, bool p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string)", p0, p1, p2));
}
function log(uint256 p0, bool p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool)", p0, p1, p2));
}
function log(uint256 p0, bool p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address)", p0, p1, p2));
}
function log(uint256 p0, address p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256)", p0, p1, p2));
}
function log(uint256 p0, address p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string)", p0, p1, p2));
}
function log(uint256 p0, address p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool)", p0, p1, p2));
}
function log(uint256 p0, address p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address)", p0, p1, p2));
}
function log(string memory p0, uint256 p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256)", p0, p1, p2));
}
function log(string memory p0, uint256 p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,string)", p0, p1, p2));
}
function log(string memory p0, uint256 p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool)", p0, p1, p2));
}
function log(string memory p0, uint256 p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,address)", p0, p1, p2));
}
function log(string memory p0, string memory p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,uint256)", p0, p1, p2));
}
function log(string memory p0, string memory p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,string)", p0, p1, p2));
}
function log(string memory p0, string memory p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,bool)", p0, p1, p2));
}
function log(string memory p0, string memory p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,address)", p0, p1, p2));
}
function log(string memory p0, bool p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256)", p0, p1, p2));
}
function log(string memory p0, bool p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,string)", p0, p1, p2));
}
function log(string memory p0, bool p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool)", p0, p1, p2));
}
function log(string memory p0, bool p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,address)", p0, p1, p2));
}
function log(string memory p0, address p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,uint256)", p0, p1, p2));
}
function log(string memory p0, address p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,string)", p0, p1, p2));
}
function log(string memory p0, address p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,bool)", p0, p1, p2));
}
function log(string memory p0, address p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,address)", p0, p1, p2));
}
function log(bool p0, uint256 p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256)", p0, p1, p2));
}
function log(bool p0, uint256 p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string)", p0, p1, p2));
}
function log(bool p0, uint256 p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool)", p0, p1, p2));
}
function log(bool p0, uint256 p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address)", p0, p1, p2));
}
function log(bool p0, string memory p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256)", p0, p1, p2));
}
function log(bool p0, string memory p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,string)", p0, p1, p2));
}
function log(bool p0, string memory p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool)", p0, p1, p2));
}
function log(bool p0, string memory p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,address)", p0, p1, p2));
}
function log(bool p0, bool p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256)", p0, p1, p2));
}
function log(bool p0, bool p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string)", p0, p1, p2));
}
function log(bool p0, bool p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool)", p0, p1, p2));
}
function log(bool p0, bool p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address)", p0, p1, p2));
}
function log(bool p0, address p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256)", p0, p1, p2));
}
function log(bool p0, address p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,string)", p0, p1, p2));
}
function log(bool p0, address p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool)", p0, p1, p2));
}
function log(bool p0, address p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,address)", p0, p1, p2));
}
function log(address p0, uint256 p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256)", p0, p1, p2));
}
function log(address p0, uint256 p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string)", p0, p1, p2));
}
function log(address p0, uint256 p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool)", p0, p1, p2));
}
function log(address p0, uint256 p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address)", p0, p1, p2));
}
function log(address p0, string memory p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,uint256)", p0, p1, p2));
}
function log(address p0, string memory p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,string)", p0, p1, p2));
}
function log(address p0, string memory p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,bool)", p0, p1, p2));
}
function log(address p0, string memory p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,address)", p0, p1, p2));
}
function log(address p0, bool p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256)", p0, p1, p2));
}
function log(address p0, bool p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,string)", p0, p1, p2));
}
function log(address p0, bool p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool)", p0, p1, p2));
}
function log(address p0, bool p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,address)", p0, p1, p2));
}
function log(address p0, address p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256)", p0, p1, p2));
}
function log(address p0, address p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,string)", p0, p1, p2));
}
function log(address p0, address p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,bool)", p0, p1, p2));
}
function log(address p0, address p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,address)", p0, p1, p2));
}
function log(uint256 p0, uint256 p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,string)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,address)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, string memory p2, uint256 p3) internal pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,string)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,address)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,string)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,address)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,string)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,address)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, uint256 p2, uint256 p3) internal pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,string)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, uint256 p2, address p3) internal pure {
_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 pure {
_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 pure {
_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 pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,string,address)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, bool p2, uint256 p3) internal pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,string)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,address)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, address p2, uint256 p3) internal pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,string)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,address)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,string)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,address)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, string memory p2, uint256 p3) internal pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,string)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,address)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,string)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,address)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,string)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,address)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,string)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,address)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, string memory p2, uint256 p3) internal pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,string)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,address)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,string)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,address)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,string)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,address)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, uint256 p2, uint256 p3) internal pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,string)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,bool)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, uint256 p2, address p3) internal pure {
_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 pure {
_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 pure {
_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 pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,string,address)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, bool p2, uint256 p3) internal pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,string)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,bool)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,address)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, address p2, uint256 p3) internal pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,string)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,bool)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, address p2, address p3) internal pure {
_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 pure {
_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 pure {
_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 pure {
_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 pure {
_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 pure {
_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 pure {
_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 pure {
_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 pure {
_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 pure {
_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 pure {
_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 pure {
_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 pure {
_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 pure {
_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 pure {
_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 pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,address,address)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, uint256 p2, uint256 p3) internal pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,string)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,bool)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, uint256 p2, address p3) internal pure {
_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 pure {
_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 pure {
_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 pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,string,address)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, bool p2, uint256 p3) internal pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,string)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,bool)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,address)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, address p2, uint256 p3) internal pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,address,string)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,address,bool)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,address,address)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, uint256 p2, uint256 p3) internal pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,string)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,bool)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, uint256 p2, address p3) internal pure {
_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 pure {
_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 pure {
_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 pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,string,address)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, bool p2, uint256 p3) internal pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,bool,string)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,bool,bool)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,bool,address)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, address p2, uint256 p3) internal pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,address,string)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,address,bool)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,address,address)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,uint256)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,string)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,bool)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,address)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, string memory p2, uint256 p3) internal pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,string)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,bool)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,address)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,uint256)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,string)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,bool)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,address)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,uint256)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,string)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,bool)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,address)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, uint256 p2, uint256 p3) internal pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,string)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,bool)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, uint256 p2, address p3) internal pure {
_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 pure {
_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 pure {
_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 pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,string,address)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, bool p2, uint256 p3) internal pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,string)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,bool)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,address)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, address p2, uint256 p3) internal pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,address,string)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,address,bool)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,address,address)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,uint256)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,string)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,bool)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,address)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, string memory p2, uint256 p3) internal pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,string)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,bool)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,address)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,uint256)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,string)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,bool)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,address)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,uint256)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,string)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,bool)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,address)", p0, p1, p2, p3));
}
function log(bool p0, address p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,uint256)", p0, p1, p2, p3));
}
function log(bool p0, address p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,string)", p0, p1, p2, p3));
}
function log(bool p0, address p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,bool)", p0, p1, p2, p3));
}
function log(bool p0, address p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,address)", p0, p1, p2, p3));
}
function log(bool p0, address p1, string memory p2, uint256 p3) internal pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,string,string)", p0, p1, p2, p3));
}
function log(bool p0, address p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,string,bool)", p0, p1, p2, p3));
}
function log(bool p0, address p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,string,address)", p0, p1, p2, p3));
}
function log(bool p0, address p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,uint256)", p0, p1, p2, p3));
}
function log(bool p0, address p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,string)", p0, p1, p2, p3));
}
function log(bool p0, address p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,bool)", p0, p1, p2, p3));
}
function log(bool p0, address p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,address)", p0, p1, p2, p3));
}
function log(bool p0, address p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,uint256)", p0, p1, p2, p3));
}
function log(bool p0, address p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,string)", p0, p1, p2, p3));
}
function log(bool p0, address p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,bool)", p0, p1, p2, p3));
}
function log(bool p0, address p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,address)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,uint256)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,string)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,bool)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,address)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, string memory p2, uint256 p3) internal pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,string)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,bool)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,address)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,uint256)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,string)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,bool)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,address)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,uint256)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,string)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,bool)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,address)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, uint256 p2, uint256 p3) internal pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,string)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,bool)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, uint256 p2, address p3) internal pure {
_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 pure {
_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 pure {
_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 pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,string,address)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, bool p2, uint256 p3) internal pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,bool,string)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,bool,bool)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,bool,address)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, address p2, uint256 p3) internal pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,address,string)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,address,bool)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,address,address)", p0, p1, p2, p3));
}
function log(address p0, bool p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,uint256)", p0, p1, p2, p3));
}
function log(address p0, bool p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,string)", p0, p1, p2, p3));
}
function log(address p0, bool p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,bool)", p0, p1, p2, p3));
}
function log(address p0, bool p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,address)", p0, p1, p2, p3));
}
function log(address p0, bool p1, string memory p2, uint256 p3) internal pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,string,string)", p0, p1, p2, p3));
}
function log(address p0, bool p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,string,bool)", p0, p1, p2, p3));
}
function log(address p0, bool p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,string,address)", p0, p1, p2, p3));
}
function log(address p0, bool p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,uint256)", p0, p1, p2, p3));
}
function log(address p0, bool p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,string)", p0, p1, p2, p3));
}
function log(address p0, bool p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,bool)", p0, p1, p2, p3));
}
function log(address p0, bool p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,address)", p0, p1, p2, p3));
}
function log(address p0, bool p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,uint256)", p0, p1, p2, p3));
}
function log(address p0, bool p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,string)", p0, p1, p2, p3));
}
function log(address p0, bool p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,bool)", p0, p1, p2, p3));
}
function log(address p0, bool p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,address)", p0, p1, p2, p3));
}
function log(address p0, address p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,uint256)", p0, p1, p2, p3));
}
function log(address p0, address p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,string)", p0, p1, p2, p3));
}
function log(address p0, address p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,bool)", p0, p1, p2, p3));
}
function log(address p0, address p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,address)", p0, p1, p2, p3));
}
function log(address p0, address p1, string memory p2, uint256 p3) internal pure {
_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 pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,string,string)", p0, p1, p2, p3));
}
function log(address p0, address p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,string,bool)", p0, p1, p2, p3));
}
function log(address p0, address p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,string,address)", p0, p1, p2, p3));
}
function log(address p0, address p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,uint256)", p0, p1, p2, p3));
}
function log(address p0, address p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,string)", p0, p1, p2, p3));
}
function log(address p0, address p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,bool)", p0, p1, p2, p3));
}
function log(address p0, address p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,address)", p0, p1, p2, p3));
}
function log(address p0, address p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,address,uint256)", p0, p1, p2, p3));
}
function log(address p0, address p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,address,string)", p0, p1, p2, p3));
}
function log(address p0, address p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,address,bool)", p0, p1, p2, p3));
}
function log(address p0, address p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,address,address)", p0, p1, p2, p3));
}
}
name: Running Mocha Chai Solidity Unit Tests
on: [push]
jobs:
run_sample_test_job:
runs-on: ubuntu-latest
name: A job to run mocha and chai tests for solidity on github actions CI
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Environment Setup
uses: actions/setup-node@v3
with:
node-version: 20.0.0
- name: Run Mocha Chai Unit Test Action
uses: EthereumRemix/[email protected]
with:
test-path: 'tests'
contract-path: 'contracts'
compiler-version: '0.8.7'
// evm-version: 'paris'
// optimize: true
// optimizer-runs: 200
// node-url: 'https://mainnet.infura.io/v3/08b2a484451e4635a28b3d8234f24332'
// block-number: 'latest'
// hard-fork: 'merge'
{
"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": {}
}
]
}
{
"db": {
"65e10e2c5b548a222b596e163b846343c6775cb30312ee5511c69b99d01d6982": "0xe7a120b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf684830f4240",
"937514b0e72ad8da6bb5e656f25334fb09e7018992ae794d5c237fbf27a5db15": "0xbbb89b605968f4df078f48bb4cd08473030d20e0781aa1e29ff4ef6da4998c79",
"f91062039c04853bd70373de89a2a8675a9663241981aac40970f59034ef3bf2": "0xf873a1205931b4ed56ace4c46b68524cb5bcbf4195f1bbaacbe5228fbd090546c88dd229b84ff84d0189056bc75e2d62e23940a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"ae64a81528d3d53e7a174851c4ddf9bb994029cc45d2d4fcf5394820f4dcc925": "0xf872a03931b4ed56ace4c46b68524cb5bcbf4195f1bbaacbe5228fbd090546c88dd229b84ff84d0189056bc75e2d62e23940a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"6a4fa5f340a4e465edfb020fadb23a680a32edc9ddb65620ccd193a9b35baa7d": "0xf871a03ea40a9004224e397238839b469142c546607ee7a8b114ded86182fceae00e35b84ef84c80881bc16d674ef5c6c0a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"ce15992ceb801fc3ace983acd9405d3a45816a50a517ac9337d32330a2621f1d": "0xf8518080808080a0ae64a81528d3d53e7a174851c4ddf9bb994029cc45d2d4fcf5394820f4dcc9258080808080a06a4fa5f340a4e465edfb020fadb23a680a32edc9ddb65620ccd193a9b35baa7d8080808080",
"a044b0f9ae70c1a5668931e47427304782314ce1da303ae50e3977e41f7f6312": "0xf872a03931b4ed56ace4c46b68524cb5bcbf4195f1bbaacbe5228fbd090546c88dd229b84ff84d0289056bc75e2d611875c0a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"f497467fd42c687c5e61198a5c10f0d4ff68b6f2bb0ee7f5535dfe681b4974db": "0xf8518080808080a0a044b0f9ae70c1a5668931e47427304782314ce1da303ae50e3977e41f7f63128080808080a06a4fa5f340a4e465edfb020fadb23a680a32edc9ddb65620ccd193a9b35baa7d8080808080",
"dee08373e6d17cdb4bd484e2bf4e4724be29f4c1c5c30140058b6d8cff550a85": "0xf871a03af97556eedd035d0c1b80182155e5f5148b950fe7547a1253e2e74d703b365eb84ef84c80881bc16d675091c380a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"035ac2ee6384b6d6ba6ac59d6bab0dcc0e7560c2c85923ae01bfb7ebc7cb5d3e": "0xf8718080808080a0a044b0f9ae70c1a5668931e47427304782314ce1da303ae50e3977e41f7f631280a0dee08373e6d17cdb4bd484e2bf4e4724be29f4c1c5c30140058b6d8cff550a85808080a06a4fa5f340a4e465edfb020fadb23a680a32edc9ddb65620ccd193a9b35baa7d8080808080",
"f39d675bfe5595f311b1a5753f874e24cba1d17a8279ad33287f87bd3e16cddd": "0xf871a03c76d49790cfa3f0c5e6fc28e31afd97efcab3ccef5b50ddc3276fdd9f50c730b84ef84c80881bc16d6760a9a300a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"1ee6858c592d1f16825beda290969aba54460ff1cfee7c56aa4a7c4fa5c94fac": "0xf8918080808080a0a044b0f9ae70c1a5668931e47427304782314ce1da303ae50e3977e41f7f6312a0f39d675bfe5595f311b1a5753f874e24cba1d17a8279ad33287f87bd3e16cddda0dee08373e6d17cdb4bd484e2bf4e4724be29f4c1c5c30140058b6d8cff550a85808080a06a4fa5f340a4e465edfb020fadb23a680a32edc9ddb65620ccd193a9b35baa7d8080808080",
"ac800237a2415ecfa8ae353aa898c350526f15289325ccbcb376a505b46fb5ec": "0xf872a03931b4ed56ace4c46b68524cb5bcbf4195f1bbaacbe5228fbd090546c88dd229b84ff84d0389056bc75e2d4f36d2c0a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"bbb89b605968f4df078f48bb4cd08473030d20e0781aa1e29ff4ef6da4998c79": "0xf8918080808080a0ac800237a2415ecfa8ae353aa898c350526f15289325ccbcb376a505b46fb5eca0f39d675bfe5595f311b1a5753f874e24cba1d17a8279ad33287f87bd3e16cddda0dee08373e6d17cdb4bd484e2bf4e4724be29f4c1c5c30140058b6d8cff550a85808080a06a4fa5f340a4e465edfb020fadb23a680a32edc9ddb65620ccd193a9b35baa7d8080808080"
},
"blocks": [
"0xf901fff901faa00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940e9281e9c6a0808672eaba6bd1220e144c9bb07aa00000000000000000000000000000000000000000000000000000000000000000a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000863f72e8e1ba2880837a1200808465f4bec180a00000000000000000000000000000000000000000000000000000000000000000880000000000000000c0c0",
"0xf91b7bf901faa0156ac6ab1c790320018b90d043172795ff6f76d87631420e6fe7d46e47d6baaba01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948945a1288dc78a6d8952a92c77aee6730b414778a00000000000000000000000000000000000000000000000000000000000000000a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000863f72e8e1ba2801832dc6c0808465f4bec480a00000000000000000000000000000000000000000000000000000000000000000880000000000000000f9197af919778001832dc6c08080b919296080604052620f4240600155348015610016575f80fd5b50335f60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f805f6101000a81548160ff02191690831515021790555060015460025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611869806100c05f395ff3fe608060405234801561000f575f80fd5b50600436106100cc575f3560e01c80633f4ba83a1161008a57806395d89b411161006457806395d89b41146101fe578063a9059cbb1461021c578063b187bd261461024c578063dd62ed3e1461026a576100cc565b80633f4ba83a146101ba57806370a08231146101c45780638456cb59146101f4576100cc565b80623f07fa146100d057806306fdde0314610100578063095ea7b31461011e57806318160ddd1461014e57806323b872dd1461016c578063313ce5671461019c575b5f80fd5b6100ea60048036038101906100e5919061116d565b61029a565b6040516100f791906111b2565b60405180910390f35b6101086102d2565b6040516101159190611255565b60405180910390f35b610138600480360381019061013391906112a8565b61030b565b60405161014591906111b2565b60405180910390f35b61015661050f565b60405161016391906112f5565b60405180910390f35b6101866004803603810190610181919061130e565b610515565b60405161019391906111b2565b60405180910390f35b6101a46109b9565b6040516101b19190611379565b60405180910390f35b6101c26109bd565b005b6101de60048036038101906101d9919061116d565b610ae9565b6040516101eb91906112f5565b60405180910390f35b6101fc610b2f565b005b610206610c5d565b6040516102139190611255565b60405180910390f35b610236600480360381019061023191906112a8565b610c96565b60405161024391906111b2565b60405180910390f35b610254610fbf565b60405161026191906111b2565b60405180910390f35b610284600480360381019061027f9190611392565b610fd3565b60405161029191906112f5565b60405180910390f35b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6040518060400160405280600981526020017f4a6f6e6e79436f696e000000000000000000000000000000000000000000000081525081565b5f8060159054906101000a900460ff161561035b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103529061141a565b60405180910390fd5b60015f60156101000a81548160ff0219169083151502179055505f8054906101000a900460ff16156103c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b990611482565b60405180910390fd5b6103cb8361029a565b61040a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610401906114ea565b60405180910390fd5b8160035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104e491906112f5565b60405180910390a3600190505f8060156101000a81548160ff02191690831515021790555092915050565b60015481565b5f8060159054906101000a900460ff1615610565576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055c9061141a565b60405180910390fd5b60015f60156101000a81548160ff0219169083151502179055505f8054906101000a900460ff16156105cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c390611482565b60405180910390fd5b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205482111561064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064390611552565b60405180910390fd5b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054821115610707576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fe906115ba565b60405180910390fd5b6107578260025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461105590919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506108238260035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461105590919063ffffffff16565b60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506108ef8260025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546110b290919063ffffffff16565b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161098d91906112f5565b60405180910390a3600190505f8060156101000a81548160ff0219169083151502179055509392505050565b5f81565b5f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4390611622565b60405180910390fd5b5f8054906101000a900460ff16610a98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8f9061168a565b60405180910390fd5b5f805f6101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051610adf91906116b7565b60405180910390a1565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb590611622565b60405180910390fd5b5f8054906101000a900460ff1615610c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0290611482565b60405180910390fd5b60015f806101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051610c5391906116b7565b60405180910390a1565b6040518060400160405280600381526020017f4a4e43000000000000000000000000000000000000000000000000000000000081525081565b5f8060159054906101000a900460ff1615610ce6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdd9061141a565b60405180910390fd5b60015f60156101000a81548160ff0219169083151502179055505f8054906101000a900460ff1615610d4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4490611482565b60405180910390fd5b610d568361029a565b610d95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8c906114ea565b60405180910390fd5b8160025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610e15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0c90611552565b60405180910390fd5b610e658260025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461105590919063ffffffff16565b60025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610ef68260025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546110b290919063ffffffff16565b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f9491906112f5565b60405180910390a3600190505f8060156101000a81548160ff02191690831515021790555092915050565b5f805f9054906101000a900460ff16905090565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f82821115611099576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110909061171a565b60405180910390fd5b5f82846110a69190611765565b90508091505092915050565b5f8082846110c09190611798565b905083811015611105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fc90611815565b60405180910390fd5b8091505092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61113c82611113565b9050919050565b61114c81611132565b8114611156575f80fd5b50565b5f8135905061116781611143565b92915050565b5f602082840312156111825761118161110f565b5b5f61118f84828501611159565b91505092915050565b5f8115159050919050565b6111ac81611198565b82525050565b5f6020820190506111c55f8301846111a3565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156112025780820151818401526020810190506111e7565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611227826111cb565b61123181856111d5565b93506112418185602086016111e5565b61124a8161120d565b840191505092915050565b5f6020820190508181035f83015261126d818461121d565b905092915050565b5f819050919050565b61128781611275565b8114611291575f80fd5b50565b5f813590506112a28161127e565b92915050565b5f80604083850312156112be576112bd61110f565b5b5f6112cb85828601611159565b92505060206112dc85828601611294565b9150509250929050565b6112ef81611275565b82525050565b5f6020820190506113085f8301846112e6565b92915050565b5f805f606084860312156113255761132461110f565b5b5f61133286828701611159565b935050602061134386828701611159565b925050604061135486828701611294565b9150509250925092565b5f60ff82169050919050565b6113738161135e565b82525050565b5f60208201905061138c5f83018461136a565b92915050565b5f80604083850312156113a8576113a761110f565b5b5f6113b585828601611159565b92505060206113c685828601611159565b9150509250929050565b7f5265656e7472616e742063616c6c0000000000000000000000000000000000005f82015250565b5f611404600e836111d5565b915061140f826113d0565b602082019050919050565b5f6020820190508181035f830152611431816113f8565b9050919050565b7f44657220436f6e747261637420697374207061757369657274000000000000005f82015250565b5f61146c6019836111d5565b915061147782611438565b602082019050919050565b5f6020820190508181035f83015261149981611460565b9050919050565b7f556e6775656c74696765204164726573736500000000000000000000000000005f82015250565b5f6114d46012836111d5565b91506114df826114a0565b602082019050919050565b5f6020820190508181035f830152611501816114c8565b9050919050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f61153c6014836111d5565b915061154782611508565b602082019050919050565b5f6020820190508181035f83015261156981611530565b9050919050565b7f496e73756666696369656e7420616c6c6f77616e6365000000000000000000005f82015250565b5f6115a46016836111d5565b91506115af82611570565b602082019050919050565b5f6020820190508181035f8301526115d181611598565b9050919050565b7f5369652073696e64206e69636874206465722042657369747a657200000000005f82015250565b5f61160c601b836111d5565b9150611617826115d8565b602082019050919050565b5f6020820190508181035f83015261163981611600565b9050919050565b7f44657220436f6e747261637420697374206e69636874207061757369657274005f82015250565b5f611674601f836111d5565b915061167f82611640565b602082019050919050565b5f6020820190508181035f8301526116a181611668565b9050919050565b6116b181611132565b82525050565b5f6020820190506116ca5f8301846116a8565b92915050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f7700005f82015250565b5f611704601e836111d5565b915061170f826116d0565b602082019050919050565b5f6020820190508181035f830152611731816116f8565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61176f82611275565b915061177a83611275565b925082820390508181111561179257611791611738565b5b92915050565b5f6117a282611275565b91506117ad83611275565b92508282019050808211156117c5576117c4611738565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6117ff601b836111d5565b915061180a826117cb565b602082019050919050565b5f6020820190508181035f83015261182c816117f3565b905091905056fea2646970667358221220432afdb1d147de74fbcfe084fafd13d7a27d8fdb2b093570f693b5bbaebf42d664736f6c6343000818003326a0c448f76759775472526358c83ab8607674ec7d1ac0dc95f8f48dc99b610e9d2da0740a67ea5b2bb5739837eb3ec93c9b050b7b3ad0eaf70dbfdeeee4d96660bdcbc0",
"0xf91b7df901fba0da5f91db726b1cff6146451fe8632fa87bd16c261f7cceaba198c9706a89f5f6a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d493479494d76e24f818426ae84aa404140e8d5f60e10e7ea00000000000000000000000000000000000000000000000000000000000000000a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000086405bbd86ca28028401c9c380808465f4bee080a00000000000000000000000000000000000000000000000000000000000000000880000000000000000f9197bf9197801018401c9c3808080b919296080604052620f4240600155348015610016575f80fd5b50335f60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f805f6101000a81548160ff02191690831515021790555060015460025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611869806100c05f395ff3fe608060405234801561000f575f80fd5b50600436106100cc575f3560e01c80633f4ba83a1161008a57806395d89b411161006457806395d89b41146101fe578063a9059cbb1461021c578063b187bd261461024c578063dd62ed3e1461026a576100cc565b80633f4ba83a146101ba57806370a08231146101c45780638456cb59146101f4576100cc565b80623f07fa146100d057806306fdde0314610100578063095ea7b31461011e57806318160ddd1461014e57806323b872dd1461016c578063313ce5671461019c575b5f80fd5b6100ea60048036038101906100e5919061116d565b61029a565b6040516100f791906111b2565b60405180910390f35b6101086102d2565b6040516101159190611255565b60405180910390f35b610138600480360381019061013391906112a8565b61030b565b60405161014591906111b2565b60405180910390f35b61015661050f565b60405161016391906112f5565b60405180910390f35b6101866004803603810190610181919061130e565b610515565b60405161019391906111b2565b60405180910390f35b6101a46109b9565b6040516101b19190611379565b60405180910390f35b6101c26109bd565b005b6101de60048036038101906101d9919061116d565b610ae9565b6040516101eb91906112f5565b60405180910390f35b6101fc610b2f565b005b610206610c5d565b6040516102139190611255565b60405180910390f35b610236600480360381019061023191906112a8565b610c96565b60405161024391906111b2565b60405180910390f35b610254610fbf565b60405161026191906111b2565b60405180910390f35b610284600480360381019061027f9190611392565b610fd3565b60405161029191906112f5565b60405180910390f35b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6040518060400160405280600981526020017f4a6f6e6e79436f696e000000000000000000000000000000000000000000000081525081565b5f8060159054906101000a900460ff161561035b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103529061141a565b60405180910390fd5b60015f60156101000a81548160ff0219169083151502179055505f8054906101000a900460ff16156103c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b990611482565b60405180910390fd5b6103cb8361029a565b61040a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610401906114ea565b60405180910390fd5b8160035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104e491906112f5565b60405180910390a3600190505f8060156101000a81548160ff02191690831515021790555092915050565b60015481565b5f8060159054906101000a900460ff1615610565576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055c9061141a565b60405180910390fd5b60015f60156101000a81548160ff0219169083151502179055505f8054906101000a900460ff16156105cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c390611482565b60405180910390fd5b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205482111561064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064390611552565b60405180910390fd5b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054821115610707576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fe906115ba565b60405180910390fd5b6107578260025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461105590919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506108238260035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461105590919063ffffffff16565b60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506108ef8260025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546110b290919063ffffffff16565b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161098d91906112f5565b60405180910390a3600190505f8060156101000a81548160ff0219169083151502179055509392505050565b5f81565b5f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4390611622565b60405180910390fd5b5f8054906101000a900460ff16610a98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8f9061168a565b60405180910390fd5b5f805f6101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051610adf91906116b7565b60405180910390a1565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb590611622565b60405180910390fd5b5f8054906101000a900460ff1615610c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0290611482565b60405180910390fd5b60015f806101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051610c5391906116b7565b60405180910390a1565b6040518060400160405280600381526020017f4a4e43000000000000000000000000000000000000000000000000000000000081525081565b5f8060159054906101000a900460ff1615610ce6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdd9061141a565b60405180910390fd5b60015f60156101000a81548160ff0219169083151502179055505f8054906101000a900460ff1615610d4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4490611482565b60405180910390fd5b610d568361029a565b610d95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8c906114ea565b60405180910390fd5b8160025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610e15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0c90611552565b60405180910390fd5b610e658260025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461105590919063ffffffff16565b60025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610ef68260025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546110b290919063ffffffff16565b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f9491906112f5565b60405180910390a3600190505f8060156101000a81548160ff02191690831515021790555092915050565b5f805f9054906101000a900460ff16905090565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f82821115611099576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110909061171a565b60405180910390fd5b5f82846110a69190611765565b90508091505092915050565b5f8082846110c09190611798565b905083811015611105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fc90611815565b60405180910390fd5b8091505092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61113c82611113565b9050919050565b61114c81611132565b8114611156575f80fd5b50565b5f8135905061116781611143565b92915050565b5f602082840312156111825761118161110f565b5b5f61118f84828501611159565b91505092915050565b5f8115159050919050565b6111ac81611198565b82525050565b5f6020820190506111c55f8301846111a3565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156112025780820151818401526020810190506111e7565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611227826111cb565b61123181856111d5565b93506112418185602086016111e5565b61124a8161120d565b840191505092915050565b5f6020820190508181035f83015261126d818461121d565b905092915050565b5f819050919050565b61128781611275565b8114611291575f80fd5b50565b5f813590506112a28161127e565b92915050565b5f80604083850312156112be576112bd61110f565b5b5f6112cb85828601611159565b92505060206112dc85828601611294565b9150509250929050565b6112ef81611275565b82525050565b5f6020820190506113085f8301846112e6565b92915050565b5f805f606084860312156113255761132461110f565b5b5f61133286828701611159565b935050602061134386828701611159565b925050604061135486828701611294565b9150509250925092565b5f60ff82169050919050565b6113738161135e565b82525050565b5f60208201905061138c5f83018461136a565b92915050565b5f80604083850312156113a8576113a761110f565b5b5f6113b585828601611159565b92505060206113c685828601611159565b9150509250929050565b7f5265656e7472616e742063616c6c0000000000000000000000000000000000005f82015250565b5f611404600e836111d5565b915061140f826113d0565b602082019050919050565b5f6020820190508181035f830152611431816113f8565b9050919050565b7f44657220436f6e747261637420697374207061757369657274000000000000005f82015250565b5f61146c6019836111d5565b915061147782611438565b602082019050919050565b5f6020820190508181035f83015261149981611460565b9050919050565b7f556e6775656c74696765204164726573736500000000000000000000000000005f82015250565b5f6114d46012836111d5565b91506114df826114a0565b602082019050919050565b5f6020820190508181035f830152611501816114c8565b9050919050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f61153c6014836111d5565b915061154782611508565b602082019050919050565b5f6020820190508181035f83015261156981611530565b9050919050565b7f496e73756666696369656e7420616c6c6f77616e6365000000000000000000005f82015250565b5f6115a46016836111d5565b91506115af82611570565b602082019050919050565b5f6020820190508181035f8301526115d181611598565b9050919050565b7f5369652073696e64206e69636874206465722042657369747a657200000000005f82015250565b5f61160c601b836111d5565b9150611617826115d8565b602082019050919050565b5f6020820190508181035f83015261163981611600565b9050919050565b7f44657220436f6e747261637420697374206e69636874207061757369657274005f82015250565b5f611674601f836111d5565b915061167f82611640565b602082019050919050565b5f6020820190508181035f8301526116a181611668565b9050919050565b6116b181611132565b82525050565b5f6020820190506116ca5f8301846116a8565b92915050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f7700005f82015250565b5f611704601e836111d5565b915061170f826116d0565b602082019050919050565b5f6020820190508181035f830152611731816116f8565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61176f82611275565b915061177a83611275565b925082820390508181111561179257611791611738565b5b92915050565b5f6117a282611275565b91506117ad83611275565b92508282019050808211156117c5576117c4611738565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6117ff601b836111d5565b915061180a826117cb565b602082019050919050565b5f6020820190508181035f83015261182c816117f3565b905091905056fea2646970667358221220432afdb1d147de74fbcfe084fafd13d7a27d8fdb2b093570f693b5bbaebf42d664736f6c6343000818003326a06530e19d75f4680937d365a6c4508bb8b2229c27ee57507df60cc91a15eb64cba02357bd95f32ba9654e7978b11b865bb3706ecdfedc9b0974f89e353b7e554d8fc0",
"0xf91b7df901fba00b7a485e5e0d18eaac52695f47f96b5e28926755b551080551eab013f5701640a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940e9281e9c6a0808672eaba6bd1220e144c9bb07aa00000000000000000000000000000000000000000000000000000000000000000a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000864144922bda28038411e1a300808465f4befa80a00000000000000000000000000000000000000000000000000000000000000000880000000000000000f9197bf9197802018411e1a3008080b919296080604052620f4240600155348015610016575f80fd5b50335f60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f805f6101000a81548160ff02191690831515021790555060015460025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611869806100c05f395ff3fe608060405234801561000f575f80fd5b50600436106100cc575f3560e01c80633f4ba83a1161008a57806395d89b411161006457806395d89b41146101fe578063a9059cbb1461021c578063b187bd261461024c578063dd62ed3e1461026a576100cc565b80633f4ba83a146101ba57806370a08231146101c45780638456cb59146101f4576100cc565b80623f07fa146100d057806306fdde0314610100578063095ea7b31461011e57806318160ddd1461014e57806323b872dd1461016c578063313ce5671461019c575b5f80fd5b6100ea60048036038101906100e5919061116d565b61029a565b6040516100f791906111b2565b60405180910390f35b6101086102d2565b6040516101159190611255565b60405180910390f35b610138600480360381019061013391906112a8565b61030b565b60405161014591906111b2565b60405180910390f35b61015661050f565b60405161016391906112f5565b60405180910390f35b6101866004803603810190610181919061130e565b610515565b60405161019391906111b2565b60405180910390f35b6101a46109b9565b6040516101b19190611379565b60405180910390f35b6101c26109bd565b005b6101de60048036038101906101d9919061116d565b610ae9565b6040516101eb91906112f5565b60405180910390f35b6101fc610b2f565b005b610206610c5d565b6040516102139190611255565b60405180910390f35b610236600480360381019061023191906112a8565b610c96565b60405161024391906111b2565b60405180910390f35b610254610fbf565b60405161026191906111b2565b60405180910390f35b610284600480360381019061027f9190611392565b610fd3565b60405161029191906112f5565b60405180910390f35b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6040518060400160405280600981526020017f4a6f6e6e79436f696e000000000000000000000000000000000000000000000081525081565b5f8060159054906101000a900460ff161561035b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103529061141a565b60405180910390fd5b60015f60156101000a81548160ff0219169083151502179055505f8054906101000a900460ff16156103c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b990611482565b60405180910390fd5b6103cb8361029a565b61040a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610401906114ea565b60405180910390fd5b8160035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104e491906112f5565b60405180910390a3600190505f8060156101000a81548160ff02191690831515021790555092915050565b60015481565b5f8060159054906101000a900460ff1615610565576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055c9061141a565b60405180910390fd5b60015f60156101000a81548160ff0219169083151502179055505f8054906101000a900460ff16156105cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c390611482565b60405180910390fd5b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205482111561064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064390611552565b60405180910390fd5b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054821115610707576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fe906115ba565b60405180910390fd5b6107578260025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461105590919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506108238260035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461105590919063ffffffff16565b60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506108ef8260025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546110b290919063ffffffff16565b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161098d91906112f5565b60405180910390a3600190505f8060156101000a81548160ff0219169083151502179055509392505050565b5f81565b5f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4390611622565b60405180910390fd5b5f8054906101000a900460ff16610a98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8f9061168a565b60405180910390fd5b5f805f6101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051610adf91906116b7565b60405180910390a1565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb590611622565b60405180910390fd5b5f8054906101000a900460ff1615610c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0290611482565b60405180910390fd5b60015f806101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051610c5391906116b7565b60405180910390a1565b6040518060400160405280600381526020017f4a4e43000000000000000000000000000000000000000000000000000000000081525081565b5f8060159054906101000a900460ff1615610ce6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdd9061141a565b60405180910390fd5b60015f60156101000a81548160ff0219169083151502179055505f8054906101000a900460ff1615610d4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4490611482565b60405180910390fd5b610d568361029a565b610d95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8c906114ea565b60405180910390fd5b8160025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610e15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0c90611552565b60405180910390fd5b610e658260025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461105590919063ffffffff16565b60025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610ef68260025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546110b290919063ffffffff16565b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f9491906112f5565b60405180910390a3600190505f8060156101000a81548160ff02191690831515021790555092915050565b5f805f9054906101000a900460ff16905090565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f82821115611099576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110909061171a565b60405180910390fd5b5f82846110a69190611765565b90508091505092915050565b5f8082846110c09190611798565b905083811015611105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fc90611815565b60405180910390fd5b8091505092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61113c82611113565b9050919050565b61114c81611132565b8114611156575f80fd5b50565b5f8135905061116781611143565b92915050565b5f602082840312156111825761118161110f565b5b5f61118f84828501611159565b91505092915050565b5f8115159050919050565b6111ac81611198565b82525050565b5f6020820190506111c55f8301846111a3565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156112025780820151818401526020810190506111e7565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611227826111cb565b61123181856111d5565b93506112418185602086016111e5565b61124a8161120d565b840191505092915050565b5f6020820190508181035f83015261126d818461121d565b905092915050565b5f819050919050565b61128781611275565b8114611291575f80fd5b50565b5f813590506112a28161127e565b92915050565b5f80604083850312156112be576112bd61110f565b5b5f6112cb85828601611159565b92505060206112dc85828601611294565b9150509250929050565b6112ef81611275565b82525050565b5f6020820190506113085f8301846112e6565b92915050565b5f805f606084860312156113255761132461110f565b5b5f61133286828701611159565b935050602061134386828701611159565b925050604061135486828701611294565b9150509250925092565b5f60ff82169050919050565b6113738161135e565b82525050565b5f60208201905061138c5f83018461136a565b92915050565b5f80604083850312156113a8576113a761110f565b5b5f6113b585828601611159565b92505060206113c685828601611159565b9150509250929050565b7f5265656e7472616e742063616c6c0000000000000000000000000000000000005f82015250565b5f611404600e836111d5565b915061140f826113d0565b602082019050919050565b5f6020820190508181035f830152611431816113f8565b9050919050565b7f44657220436f6e747261637420697374207061757369657274000000000000005f82015250565b5f61146c6019836111d5565b915061147782611438565b602082019050919050565b5f6020820190508181035f83015261149981611460565b9050919050565b7f556e6775656c74696765204164726573736500000000000000000000000000005f82015250565b5f6114d46012836111d5565b91506114df826114a0565b602082019050919050565b5f6020820190508181035f830152611501816114c8565b9050919050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f61153c6014836111d5565b915061154782611508565b602082019050919050565b5f6020820190508181035f83015261156981611530565b9050919050565b7f496e73756666696369656e7420616c6c6f77616e6365000000000000000000005f82015250565b5f6115a46016836111d5565b91506115af82611570565b602082019050919050565b5f6020820190508181035f8301526115d181611598565b9050919050565b7f5369652073696e64206e69636874206465722042657369747a657200000000005f82015250565b5f61160c601b836111d5565b9150611617826115d8565b602082019050919050565b5f6020820190508181035f83015261163981611600565b9050919050565b7f44657220436f6e747261637420697374206e69636874207061757369657274005f82015250565b5f611674601f836111d5565b915061167f82611640565b602082019050919050565b5f6020820190508181035f8301526116a181611668565b9050919050565b6116b181611132565b82525050565b5f6020820190506116ca5f8301846116a8565b92915050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f7700005f82015250565b5f611704601e836111d5565b915061170f826116d0565b602082019050919050565b5f6020820190508181035f830152611731816116f8565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61176f82611275565b915061177a83611275565b925082820390508181111561179257611791611738565b5b92915050565b5f6117a282611275565b91506117ad83611275565b92508282019050808211156117c5576117c4611738565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6117ff601b836111d5565b915061180a826117cb565b602082019050919050565b5f6020820190508181035f83015261182c816117f3565b905091905056fea2646970667358221220432afdb1d147de74fbcfe084fafd13d7a27d8fdb2b093570f693b5bbaebf42d664736f6c6343000818003326a072813b8be8aa0132b9f84f72bfd7d95fcabf71729f382ef5cc1c1923dc026c61a0082c815b57f8283bbcb1d0070818dab478a0aeba782024986ffb052f4b5dbf08c0"
],
"latestBlockNumber": "0x03"
}
{
"db": {
"65e10e2c5b548a222b596e163b846343c6775cb30312ee5511c69b99d01d6982": "0xe7a120b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf684830f4240",
"d4abfd3b8c53829c6f93b9ee3670d3ddd0f84953234cd601e37df89387775989": "0xe6a0310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf684830f4240",
"bc74cf3295e10ab71b1bae31cf0d0e3ac979913985b3023ff524339b6444f4b2": "0xf838a0390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56396955b38da6a701c568545dcfcb03fcb875f56beddc400",
"e3bf365369d2aaa2fee3b73d77969ab5aa880fa185890619bdcebb49efe0e6a4": "0xf8518080a0bc74cf3295e10ab71b1bae31cf0d0e3ac979913985b3023ff524339b6444f4b28080808080808080a0d4abfd3b8c53829c6f93b9ee3670d3ddd0f84953234cd601e37df893877759898080808080",
"f8aa87d973ecb958eb0b2d4bfedfdfef670ce36ec02a43e229c2bdf38b96e65c": "0xe6a03b58ee63f03fdd9026315e4e19b33e9e3a1669eac149bd83f094cdf399d491b884830f4240",
"5b20bd3e074a6b051ae6999b0fae4765506f3f18a6b8d5757ae1509da8a6cded": "0xf8718080a0bc74cf3295e10ab71b1bae31cf0d0e3ac979913985b3023ff524339b6444f4b2808080a0f8aa87d973ecb958eb0b2d4bfedfdfef670ce36ec02a43e229c2bdf38b96e65c80808080a0d4abfd3b8c53829c6f93b9ee3670d3ddd0f84953234cd601e37df893877759898080808080",
"630632e6878b5c43191f5c5500da040d38dc5691b288c9ed0e1a6441fe13f74929": "0x608060405234801561000f575f80fd5b50600436106100cc575f3560e01c80633f4ba83a1161008a57806395d89b411161006457806395d89b41146101fe578063a9059cbb1461021c578063b187bd261461024c578063dd62ed3e1461026a576100cc565b80633f4ba83a146101ba57806370a08231146101c45780638456cb59146101f4576100cc565b80623f07fa146100d057806306fdde0314610100578063095ea7b31461011e57806318160ddd1461014e57806323b872dd1461016c578063313ce5671461019c575b5f80fd5b6100ea60048036038101906100e5919061116d565b61029a565b6040516100f791906111b2565b60405180910390f35b6101086102d2565b6040516101159190611255565b60405180910390f35b610138600480360381019061013391906112a8565b61030b565b60405161014591906111b2565b60405180910390f35b61015661050f565b60405161016391906112f5565b60405180910390f35b6101866004803603810190610181919061130e565b610515565b60405161019391906111b2565b60405180910390f35b6101a46109b9565b6040516101b19190611379565b60405180910390f35b6101c26109bd565b005b6101de60048036038101906101d9919061116d565b610ae9565b6040516101eb91906112f5565b60405180910390f35b6101fc610b2f565b005b610206610c5d565b6040516102139190611255565b60405180910390f35b610236600480360381019061023191906112a8565b610c96565b60405161024391906111b2565b60405180910390f35b610254610fbf565b60405161026191906111b2565b60405180910390f35b610284600480360381019061027f9190611392565b610fd3565b60405161029191906112f5565b60405180910390f35b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6040518060400160405280600981526020017f4a6f6e6e79436f696e000000000000000000000000000000000000000000000081525081565b5f8060159054906101000a900460ff161561035b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103529061141a565b60405180910390fd5b60015f60156101000a81548160ff0219169083151502179055505f8054906101000a900460ff16156103c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b990611482565b60405180910390fd5b6103cb8361029a565b61040a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610401906114ea565b60405180910390fd5b8160035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104e491906112f5565b60405180910390a3600190505f8060156101000a81548160ff02191690831515021790555092915050565b60015481565b5f8060159054906101000a900460ff1615610565576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055c9061141a565b60405180910390fd5b60015f60156101000a81548160ff0219169083151502179055505f8054906101000a900460ff16156105cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c390611482565b60405180910390fd5b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205482111561064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064390611552565b60405180910390fd5b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054821115610707576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fe906115ba565b60405180910390fd5b6107578260025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461105590919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506108238260035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461105590919063ffffffff16565b60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506108ef8260025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546110b290919063ffffffff16565b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161098d91906112f5565b60405180910390a3600190505f8060156101000a81548160ff0219169083151502179055509392505050565b5f81565b5f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4390611622565b60405180910390fd5b5f8054906101000a900460ff16610a98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8f9061168a565b60405180910390fd5b5f805f6101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051610adf91906116b7565b60405180910390a1565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb590611622565b60405180910390fd5b5f8054906101000a900460ff1615610c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0290611482565b60405180910390fd5b60015f806101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051610c5391906116b7565b60405180910390a1565b6040518060400160405280600381526020017f4a4e43000000000000000000000000000000000000000000000000000000000081525081565b5f8060159054906101000a900460ff1615610ce6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdd9061141a565b60405180910390fd5b60015f60156101000a81548160ff0219169083151502179055505f8054906101000a900460ff1615610d4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4490611482565b60405180910390fd5b610d568361029a565b610d95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8c906114ea565b60405180910390fd5b8160025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610e15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0c90611552565b60405180910390fd5b610e658260025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461105590919063ffffffff16565b60025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610ef68260025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546110b290919063ffffffff16565b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f9491906112f5565b60405180910390a3600190505f8060156101000a81548160ff02191690831515021790555092915050565b5f805f9054906101000a900460ff16905090565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f82821115611099576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110909061171a565b60405180910390fd5b5f82846110a69190611765565b90508091505092915050565b5f8082846110c09190611798565b905083811015611105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fc90611815565b60405180910390fd5b8091505092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61113c82611113565b9050919050565b61114c81611132565b8114611156575f80fd5b50565b5f8135905061116781611143565b92915050565b5f602082840312156111825761118161110f565b5b5f61118f84828501611159565b91505092915050565b5f8115159050919050565b6111ac81611198565b82525050565b5f6020820190506111c55f8301846111a3565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156112025780820151818401526020810190506111e7565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611227826111cb565b61123181856111d5565b93506112418185602086016111e5565b61124a8161120d565b840191505092915050565b5f6020820190508181035f83015261126d818461121d565b905092915050565b5f819050919050565b61128781611275565b8114611291575f80fd5b50565b5f813590506112a28161127e565b92915050565b5f80604083850312156112be576112bd61110f565b5b5f6112cb85828601611159565b92505060206112dc85828601611294565b9150509250929050565b6112ef81611275565b82525050565b5f6020820190506113085f8301846112e6565b92915050565b5f805f606084860312156113255761132461110f565b5b5f61133286828701611159565b935050602061134386828701611159565b925050604061135486828701611294565b9150509250925092565b5f60ff82169050919050565b6113738161135e565b82525050565b5f60208201905061138c5f83018461136a565b92915050565b5f80604083850312156113a8576113a761110f565b5b5f6113b585828601611159565b92505060206113c685828601611159565b9150509250929050565b7f5265656e7472616e742063616c6c0000000000000000000000000000000000005f82015250565b5f611404600e836111d5565b915061140f826113d0565b602082019050919050565b5f6020820190508181035f830152611431816113f8565b9050919050565b7f44657220436f6e747261637420697374207061757369657274000000000000005f82015250565b5f61146c6019836111d5565b915061147782611438565b602082019050919050565b5f6020820190508181035f83015261149981611460565b9050919050565b7f556e6775656c74696765204164726573736500000000000000000000000000005f82015250565b5f6114d46012836111d5565b91506114df826114a0565b602082019050919050565b5f6020820190508181035f830152611501816114c8565b9050919050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f61153c6014836111d5565b915061154782611508565b602082019050919050565b5f6020820190508181035f83015261156981611530565b9050919050565b7f496e73756666696369656e7420616c6c6f77616e6365000000000000000000005f82015250565b5f6115a46016836111d5565b91506115af82611570565b602082019050919050565b5f6020820190508181035f8301526115d181611598565b9050919050565b7f5369652073696e64206e69636874206465722042657369747a657200000000005f82015250565b5f61160c601b836111d5565b9150611617826115d8565b602082019050919050565b5f6020820190508181035f83015261163981611600565b9050919050565b7f44657220436f6e747261637420697374206e69636874207061757369657274005f82015250565b5f611674601f836111d5565b915061167f82611640565b602082019050919050565b5f6020820190508181035f8301526116a181611668565b9050919050565b6116b181611132565b82525050565b5f6020820190506116ca5f8301846116a8565b92915050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f7700005f82015250565b5f611704601e836111d5565b915061170f826116d0565b602082019050919050565b5f6020820190508181035f830152611731816116f8565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61176f82611275565b915061177a83611275565b925082820390508181111561179257611791611738565b5b92915050565b5f6117a282611275565b91506117ad83611275565b92508282019050808211156117c5576117c4611738565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6117ff601b836111d5565b915061180a826117cb565b602082019050919050565b5f6020820190508181035f83015261182c816117f3565b905091905056fea2646970667358221220718ac12899ecf47a01f4e1e896bb0ebbd53a08d3a52833c727a4a250c435449c64736f6c63430008180033",
"ddeeb88f32e65fc723c8f711e4ee5d3313ce0845eac0f9b3dc1ec1a14391f7e0": "0xf873a1205931b4ed56ace4c46b68524cb5bcbf4195f1bbaacbe5228fbd090546c88dd229b84ff84d3789056bc75e2d62f99fd9a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"56fa9486b6007101c7cd7e1ed03785fd0be7fd0ee2de874afb9d8c544fe77868": "0xf872a03931b4ed56ace4c46b68524cb5bcbf4195f1bbaacbe5228fbd090546c88dd229b84ff84d3789056bc75e2d62f99fd9a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"e1b739ffd2060403be3b366d880b0541904c95e0ba89d5baf67cfb63c3fc9e80": "0xf869a033fb43fda745f4c23c328ed2f8690c0d922beca801a3e3f8dc9afc668df82b84b846f8440180a05b20bd3e074a6b051ae6999b0fae4765506f3f18a6b8d5757ae1509da8a6cdeda00632e6878b5c43191f5c5500da040d38dc5691b288c9ed0e1a6441fe13f74929",
"76e1853ac076c4366fc91753ca41ad3fa3473dcb0dadab495517dce9b2ba35ae": "0xf8518080808080a056fa9486b6007101c7cd7e1ed03785fd0be7fd0ee2de874afb9d8c544fe7786880808080a0e1b739ffd2060403be3b366d880b0541904c95e0ba89d5baf67cfb63c3fc9e80808080808080"
},
"blocks": [
"0xf9021cf90216a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940e9281e9c6a0808672eaba6bd1220e144c9bb07aa00000000000000000000000000000000000000000000000000000000000000000a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008080837a1200808465f4b5b480a0000000000000000000000000000000000000000000000000000000000000000088000000000000000007a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421c0c0c0",
"0xf91b9ff90216a0ebe78aa65583afe12f6d4ee70f9201e9ec5f8b9bba16e7d82b6841b7b7b9b1c7a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948945a1288dc78a6d8952a92c77aee6730b414778a00000000000000000000000000000000000000000000000000000000000000000a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080018319b990808465f4b67380a0000000000000000000000000000000000000000000000000000000000000000088000000000000000001a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421f91981b9197e02f9197a013601018319b9908080b919296080604052620f4240600155348015610016575f80fd5b50335f60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f805f6101000a81548160ff02191690831515021790555060015460025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611869806100c05f395ff3fe608060405234801561000f575f80fd5b50600436106100cc575f3560e01c80633f4ba83a1161008a57806395d89b411161006457806395d89b41146101fe578063a9059cbb1461021c578063b187bd261461024c578063dd62ed3e1461026a576100cc565b80633f4ba83a146101ba57806370a08231146101c45780638456cb59146101f4576100cc565b80623f07fa146100d057806306fdde0314610100578063095ea7b31461011e57806318160ddd1461014e57806323b872dd1461016c578063313ce5671461019c575b5f80fd5b6100ea60048036038101906100e5919061116d565b61029a565b6040516100f791906111b2565b60405180910390f35b6101086102d2565b6040516101159190611255565b60405180910390f35b610138600480360381019061013391906112a8565b61030b565b60405161014591906111b2565b60405180910390f35b61015661050f565b60405161016391906112f5565b60405180910390f35b6101866004803603810190610181919061130e565b610515565b60405161019391906111b2565b60405180910390f35b6101a46109b9565b6040516101b19190611379565b60405180910390f35b6101c26109bd565b005b6101de60048036038101906101d9919061116d565b610ae9565b6040516101eb91906112f5565b60405180910390f35b6101fc610b2f565b005b610206610c5d565b6040516102139190611255565b60405180910390f35b610236600480360381019061023191906112a8565b610c96565b60405161024391906111b2565b60405180910390f35b610254610fbf565b60405161026191906111b2565b60405180910390f35b610284600480360381019061027f9190611392565b610fd3565b60405161029191906112f5565b60405180910390f35b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6040518060400160405280600981526020017f4a6f6e6e79436f696e000000000000000000000000000000000000000000000081525081565b5f8060159054906101000a900460ff161561035b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103529061141a565b60405180910390fd5b60015f60156101000a81548160ff0219169083151502179055505f8054906101000a900460ff16156103c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b990611482565b60405180910390fd5b6103cb8361029a565b61040a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610401906114ea565b60405180910390fd5b8160035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104e491906112f5565b60405180910390a3600190505f8060156101000a81548160ff02191690831515021790555092915050565b60015481565b5f8060159054906101000a900460ff1615610565576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055c9061141a565b60405180910390fd5b60015f60156101000a81548160ff0219169083151502179055505f8054906101000a900460ff16156105cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c390611482565b60405180910390fd5b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205482111561064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064390611552565b60405180910390fd5b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054821115610707576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fe906115ba565b60405180910390fd5b6107578260025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461105590919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506108238260035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461105590919063ffffffff16565b60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506108ef8260025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546110b290919063ffffffff16565b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161098d91906112f5565b60405180910390a3600190505f8060156101000a81548160ff0219169083151502179055509392505050565b5f81565b5f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4390611622565b60405180910390fd5b5f8054906101000a900460ff16610a98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8f9061168a565b60405180910390fd5b5f805f6101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051610adf91906116b7565b60405180910390a1565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb590611622565b60405180910390fd5b5f8054906101000a900460ff1615610c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0290611482565b60405180910390fd5b60015f806101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051610c5391906116b7565b60405180910390a1565b6040518060400160405280600381526020017f4a4e43000000000000000000000000000000000000000000000000000000000081525081565b5f8060159054906101000a900460ff1615610ce6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdd9061141a565b60405180910390fd5b60015f60156101000a81548160ff0219169083151502179055505f8054906101000a900460ff1615610d4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4490611482565b60405180910390fd5b610d568361029a565b610d95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8c906114ea565b60405180910390fd5b8160025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610e15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0c90611552565b60405180910390fd5b610e658260025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461105590919063ffffffff16565b60025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610ef68260025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546110b290919063ffffffff16565b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f9491906112f5565b60405180910390a3600190505f8060156101000a81548160ff02191690831515021790555092915050565b5f805f9054906101000a900460ff16905090565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f82821115611099576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110909061171a565b60405180910390fd5b5f82846110a69190611765565b90508091505092915050565b5f8082846110c09190611798565b905083811015611105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fc90611815565b60405180910390fd5b8091505092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61113c82611113565b9050919050565b61114c81611132565b8114611156575f80fd5b50565b5f8135905061116781611143565b92915050565b5f602082840312156111825761118161110f565b5b5f61118f84828501611159565b91505092915050565b5f8115159050919050565b6111ac81611198565b82525050565b5f6020820190506111c55f8301846111a3565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156112025780820151818401526020810190506111e7565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611227826111cb565b61123181856111d5565b93506112418185602086016111e5565b61124a8161120d565b840191505092915050565b5f6020820190508181035f83015261126d818461121d565b905092915050565b5f819050919050565b61128781611275565b8114611291575f80fd5b50565b5f813590506112a28161127e565b92915050565b5f80604083850312156112be576112bd61110f565b5b5f6112cb85828601611159565b92505060206112dc85828601611294565b9150509250929050565b6112ef81611275565b82525050565b5f6020820190506113085f8301846112e6565b92915050565b5f805f606084860312156113255761132461110f565b5b5f61133286828701611159565b935050602061134386828701611159565b925050604061135486828701611294565b9150509250925092565b5f60ff82169050919050565b6113738161135e565b82525050565b5f60208201905061138c5f83018461136a565b92915050565b5f80604083850312156113a8576113a761110f565b5b5f6113b585828601611159565b92505060206113c685828601611159565b9150509250929050565b7f5265656e7472616e742063616c6c0000000000000000000000000000000000005f82015250565b5f611404600e836111d5565b915061140f826113d0565b602082019050919050565b5f6020820190508181035f830152611431816113f8565b9050919050565b7f44657220436f6e747261637420697374207061757369657274000000000000005f82015250565b5f61146c6019836111d5565b915061147782611438565b602082019050919050565b5f6020820190508181035f83015261149981611460565b9050919050565b7f556e6775656c74696765204164726573736500000000000000000000000000005f82015250565b5f6114d46012836111d5565b91506114df826114a0565b602082019050919050565b5f6020820190508181035f830152611501816114c8565b9050919050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f61153c6014836111d5565b915061154782611508565b602082019050919050565b5f6020820190508181035f83015261156981611530565b9050919050565b7f496e73756666696369656e7420616c6c6f77616e6365000000000000000000005f82015250565b5f6115a46016836111d5565b91506115af82611570565b602082019050919050565b5f6020820190508181035f8301526115d181611598565b9050919050565b7f5369652073696e64206e69636874206465722042657369747a657200000000005f82015250565b5f61160c601b836111d5565b9150611617826115d8565b602082019050919050565b5f6020820190508181035f83015261163981611600565b9050919050565b7f44657220436f6e747261637420697374206e69636874207061757369657274005f82015250565b5f611674601f836111d5565b915061167f82611640565b602082019050919050565b5f6020820190508181035f8301526116a181611668565b9050919050565b6116b181611132565b82525050565b5f6020820190506116ca5f8301846116a8565b92915050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f7700005f82015250565b5f611704601e836111d5565b915061170f826116d0565b602082019050919050565b5f6020820190508181035f830152611731816116f8565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61176f82611275565b915061177a83611275565b925082820390508181111561179257611791611738565b5b92915050565b5f6117a282611275565b91506117ad83611275565b92508282019050808211156117c5576117c4611738565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6117ff601b836111d5565b915061180a826117cb565b602082019050919050565b5f6020820190508181035f83015261182c816117f3565b905091905056fea2646970667358221220718ac12899ecf47a01f4e1e896bb0ebbd53a08d3a52833c727a4a250c435449c64736f6c63430008180033c001a0a07b3ddd1d282a8c8ac18e2a29757fe01dbe88a97bdf534fff691eaa827ef3a5a06005d59574c77322793cd9cc4a8c54ef55f32885bd4e8d016ae9b785d201fb35c0c0"
],
"latestBlockNumber": "0x01"
}
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.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract AddressValidator {
/**
* @dev Überprüft, ob die angegebene Adresse kein Null-Adresse ist.
* @param addr Die zu überprüfende Adresse.
* @return bool Wahr, wenn die Adresse gültig ist; andernfalls falsch.
*/
function isValidAddress(address addr) public pure returns (bool) {
return addr != address(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": {
"@_356": {
"entryPoint": null,
"id": 356,
"parameterSlots": 0,
"returnSlots": 0
},
"@_82": {
"entryPoint": null,
"id": 82,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052620f424060015534801561001757600080fd5b5033600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008060006101000a81548160ff021916908315150217905550600154600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118fd806100c86000396000f3fe608060405234801561001057600080fd5b50600436106100ce5760003560e01c80633f4ba83a1161008c57806395d89b411161006657806395d89b4114610201578063a9059cbb1461021f578063b187bd261461024f578063dd62ed3e1461026d576100ce565b80633f4ba83a146101bd57806370a08231146101c75780638456cb59146101f7576100ce565b80623f07fa146100d357806306fdde0314610103578063095ea7b31461012157806318160ddd1461015157806323b872dd1461016f578063313ce5671461019f575b600080fd5b6100ed60048036038101906100e891906111bb565b61029d565b6040516100fa9190611203565b60405180910390f35b61010b6102d6565b60405161011891906112ae565b60405180910390f35b61013b60048036038101906101369190611306565b61030f565b6040516101489190611203565b60405180910390f35b61015961051b565b6040516101669190611355565b60405180910390f35b61018960048036038101906101849190611370565b610521565b6040516101969190611203565b60405180910390f35b6101a76109df565b6040516101b491906113df565b60405180910390f35b6101c56109e4565b005b6101e160048036038101906101dc91906111bb565b610b14565b6040516101ee9190611355565b60405180910390f35b6101ff610b5d565b005b610209610c8e565b60405161021691906112ae565b60405180910390f35b61023960048036038101906102349190611306565b610cc7565b6040516102469190611203565b60405180910390f35b610257610ffe565b6040516102649190611203565b60405180910390f35b610287600480360381019061028291906113fa565b611014565b6040516102949190611355565b60405180910390f35b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6040518060400160405280600981526020017f4a6f6e6e79436f696e000000000000000000000000000000000000000000000081525081565b60008060159054906101000a900460ff1615610360576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035790611486565b60405180910390fd5b6001600060156101000a81548160ff02191690831515021790555060008054906101000a900460ff16156103c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c0906114f2565b60405180910390fd5b6103d28361029d565b610411576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104089061155e565b60405180910390fd5b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104ef9190611355565b60405180910390a36001905060008060156101000a81548160ff02191690831515021790555092915050565b60015481565b60008060159054906101000a900460ff1615610572576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056990611486565b60405180910390fd5b6001600060156101000a81548160ff02191690831515021790555060008054906101000a900460ff16156105db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d2906114f2565b60405180910390fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561065d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610654906115ca565b60405180910390fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561071c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071390611636565b60405180910390fd5b61076e82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461109b90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061084082600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461109b90919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061091282600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110fa90919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516109b29190611355565b60405180910390a36001905060008060156101000a81548160ff0219169083151502179055509392505050565b600081565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6b906116a2565b60405180910390fd5b60008054906101000a900460ff16610ac1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab89061170e565b60405180910390fd5b60008060006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051610b0a919061173d565b60405180910390a1565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be4906116a2565b60405180910390fd5b60008054906101000a900460ff1615610c3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c32906114f2565b60405180910390fd5b60016000806101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051610c84919061173d565b60405180910390a1565b6040518060400160405280600381526020017f4a4e43000000000000000000000000000000000000000000000000000000000081525081565b60008060159054906101000a900460ff1615610d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0f90611486565b60405180910390fd5b6001600060156101000a81548160ff02191690831515021790555060008054906101000a900460ff1615610d81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d78906114f2565b60405180910390fd5b610d8a8361029d565b610dc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc09061155e565b60405180910390fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e42906115ca565b60405180910390fd5b610e9d82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461109b90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f3282600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110fa90919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610fd29190611355565b60405180910390a36001905060008060156101000a81548160ff02191690831515021790555092915050565b60008060009054906101000a900460ff16905090565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211156110e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d7906117a4565b60405180910390fd5b600082846110ee91906117f3565b90508091505092915050565b60008082846111099190611827565b90508381101561114e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611145906118a7565b60405180910390fd5b8091505092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006111888261115d565b9050919050565b6111988161117d565b81146111a357600080fd5b50565b6000813590506111b58161118f565b92915050565b6000602082840312156111d1576111d0611158565b5b60006111df848285016111a6565b91505092915050565b60008115159050919050565b6111fd816111e8565b82525050565b600060208201905061121860008301846111f4565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561125857808201518184015260208101905061123d565b60008484015250505050565b6000601f19601f8301169050919050565b60006112808261121e565b61128a8185611229565b935061129a81856020860161123a565b6112a381611264565b840191505092915050565b600060208201905081810360008301526112c88184611275565b905092915050565b6000819050919050565b6112e3816112d0565b81146112ee57600080fd5b50565b600081359050611300816112da565b92915050565b6000806040838503121561131d5761131c611158565b5b600061132b858286016111a6565b925050602061133c858286016112f1565b9150509250929050565b61134f816112d0565b82525050565b600060208201905061136a6000830184611346565b92915050565b60008060006060848603121561138957611388611158565b5b6000611397868287016111a6565b93505060206113a8868287016111a6565b92505060406113b9868287016112f1565b9150509250925092565b600060ff82169050919050565b6113d9816113c3565b82525050565b60006020820190506113f460008301846113d0565b92915050565b6000806040838503121561141157611410611158565b5b600061141f858286016111a6565b9250506020611430858286016111a6565b9150509250929050565b7f5265656e7472616e742063616c6c000000000000000000000000000000000000600082015250565b6000611470600e83611229565b915061147b8261143a565b602082019050919050565b6000602082019050818103600083015261149f81611463565b9050919050565b7f44657220436f6e74726163742069737420706175736965727400000000000000600082015250565b60006114dc601983611229565b91506114e7826114a6565b602082019050919050565b6000602082019050818103600083015261150b816114cf565b9050919050565b7f556e6775656c7469676520416472657373650000000000000000000000000000600082015250565b6000611548601283611229565b915061155382611512565b602082019050919050565b600060208201905081810360008301526115778161153b565b9050919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b60006115b4601483611229565b91506115bf8261157e565b602082019050919050565b600060208201905081810360008301526115e3816115a7565b9050919050565b7f496e73756666696369656e7420616c6c6f77616e636500000000000000000000600082015250565b6000611620601683611229565b915061162b826115ea565b602082019050919050565b6000602082019050818103600083015261164f81611613565b9050919050565b7f5369652073696e64206e69636874206465722042657369747a65720000000000600082015250565b600061168c601b83611229565b915061169782611656565b602082019050919050565b600060208201905081810360008301526116bb8161167f565b9050919050565b7f44657220436f6e747261637420697374206e6963687420706175736965727400600082015250565b60006116f8601f83611229565b9150611703826116c2565b602082019050919050565b60006020820190508181036000830152611727816116eb565b9050919050565b6117378161117d565b82525050565b6000602082019050611752600083018461172e565b92915050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000600082015250565b600061178e601e83611229565b915061179982611758565b602082019050919050565b600060208201905081810360008301526117bd81611781565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006117fe826112d0565b9150611809836112d0565b9250828203905081811115611821576118206117c4565b5b92915050565b6000611832826112d0565b915061183d836112d0565b9250828201905080821115611855576118546117c4565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000611891601b83611229565b915061189c8261185b565b602082019050919050565b600060208201905081810360008301526118c081611884565b905091905056fea2646970667358221220cdc8da00a719827265180af2b4807642b46587f362b250e873a3ac59c8802c6964736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH3 0xF4240 PUSH1 0x1 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x17 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLER PUSH1 0x0 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x1 SLOAD PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x18FD DUP1 PUSH2 0xC8 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 0xCE JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3F4BA83A GT PUSH2 0x8C JUMPI DUP1 PUSH4 0x95D89B41 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x201 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x21F JUMPI DUP1 PUSH4 0xB187BD26 EQ PUSH2 0x24F JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x26D JUMPI PUSH2 0xCE JUMP JUMPDEST DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x1BD JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1C7 JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x1F7 JUMPI PUSH2 0xCE JUMP JUMPDEST DUP1 PUSH3 0x3F07FA EQ PUSH2 0xD3 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x103 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x121 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x151 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x16F JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x19F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xED PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE8 SWAP2 SWAP1 PUSH2 0x11BB JUMP JUMPDEST PUSH2 0x29D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFA SWAP2 SWAP1 PUSH2 0x1203 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x10B PUSH2 0x2D6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x118 SWAP2 SWAP1 PUSH2 0x12AE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x13B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x136 SWAP2 SWAP1 PUSH2 0x1306 JUMP JUMPDEST PUSH2 0x30F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x148 SWAP2 SWAP1 PUSH2 0x1203 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x159 PUSH2 0x51B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x166 SWAP2 SWAP1 PUSH2 0x1355 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x189 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x184 SWAP2 SWAP1 PUSH2 0x1370 JUMP JUMPDEST PUSH2 0x521 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x196 SWAP2 SWAP1 PUSH2 0x1203 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1A7 PUSH2 0x9DF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B4 SWAP2 SWAP1 PUSH2 0x13DF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1C5 PUSH2 0x9E4 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1E1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1DC SWAP2 SWAP1 PUSH2 0x11BB JUMP JUMPDEST PUSH2 0xB14 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1EE SWAP2 SWAP1 PUSH2 0x1355 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1FF PUSH2 0xB5D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x209 PUSH2 0xC8E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x216 SWAP2 SWAP1 PUSH2 0x12AE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x239 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x234 SWAP2 SWAP1 PUSH2 0x1306 JUMP JUMPDEST PUSH2 0xCC7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x246 SWAP2 SWAP1 PUSH2 0x1203 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x257 PUSH2 0xFFE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x264 SWAP2 SWAP1 PUSH2 0x1203 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x287 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x282 SWAP2 SWAP1 PUSH2 0x13FA JUMP JUMPDEST PUSH2 0x1014 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x294 SWAP2 SWAP1 PUSH2 0x1355 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x9 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4A6F6E6E79436F696E0000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x15 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x360 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x357 SWAP1 PUSH2 0x1486 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 PUSH1 0x15 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x3C9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3C0 SWAP1 PUSH2 0x14F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3D2 DUP4 PUSH2 0x29D JUMP JUMPDEST PUSH2 0x411 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x408 SWAP1 PUSH2 0x155E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x3 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 PUSH1 0x40 MLOAD PUSH2 0x4EF SWAP2 SWAP1 PUSH2 0x1355 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x15 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x15 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x572 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x569 SWAP1 PUSH2 0x1486 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 PUSH1 0x15 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x5DB JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5D2 SWAP1 PUSH2 0x14F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0x65D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x654 SWAP1 PUSH2 0x15CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0x71C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x713 SWAP1 PUSH2 0x1636 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x76E DUP3 PUSH1 0x2 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x109B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x840 DUP3 PUSH1 0x3 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x109B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x912 DUP3 PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x10FA SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0x9B2 SWAP2 SWAP1 PUSH2 0x1355 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x15 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xA74 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA6B SWAP1 PUSH2 0x16A2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0xAC1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xAB8 SWAP1 PUSH2 0x170E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA CALLER PUSH1 0x40 MLOAD PUSH2 0xB0A SWAP2 SWAP1 PUSH2 0x173D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xBED JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xBE4 SWAP1 PUSH2 0x16A2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xC3B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC32 SWAP1 PUSH2 0x14F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 CALLER PUSH1 0x40 MLOAD PUSH2 0xC84 SWAP2 SWAP1 PUSH2 0x173D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4A4E430000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x15 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xD18 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD0F SWAP1 PUSH2 0x1486 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 PUSH1 0x15 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xD81 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD78 SWAP1 PUSH2 0x14F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xD8A DUP4 PUSH2 0x29D JUMP JUMPDEST PUSH2 0xDC9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDC0 SWAP1 PUSH2 0x155E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO PUSH2 0xE4B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE42 SWAP1 PUSH2 0x15CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xE9D DUP3 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x109B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0xF32 DUP3 PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x10FA SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0xFD2 SWAP2 SWAP1 PUSH2 0x1355 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x15 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 GT ISZERO PUSH2 0x10E0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x10D7 SWAP1 PUSH2 0x17A4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP5 PUSH2 0x10EE SWAP2 SWAP1 PUSH2 0x17F3 JUMP JUMPDEST SWAP1 POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 PUSH2 0x1109 SWAP2 SWAP1 PUSH2 0x1827 JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x114E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1145 SWAP1 PUSH2 0x18A7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1188 DUP3 PUSH2 0x115D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1198 DUP2 PUSH2 0x117D JUMP JUMPDEST DUP2 EQ PUSH2 0x11A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x11B5 DUP2 PUSH2 0x118F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x11D1 JUMPI PUSH2 0x11D0 PUSH2 0x1158 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x11DF DUP5 DUP3 DUP6 ADD PUSH2 0x11A6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x11FD DUP2 PUSH2 0x11E8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1218 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x11F4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1258 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x123D JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1280 DUP3 PUSH2 0x121E JUMP JUMPDEST PUSH2 0x128A DUP2 DUP6 PUSH2 0x1229 JUMP JUMPDEST SWAP4 POP PUSH2 0x129A DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x123A JUMP JUMPDEST PUSH2 0x12A3 DUP2 PUSH2 0x1264 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12C8 DUP2 DUP5 PUSH2 0x1275 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x12E3 DUP2 PUSH2 0x12D0 JUMP JUMPDEST DUP2 EQ PUSH2 0x12EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1300 DUP2 PUSH2 0x12DA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x131D JUMPI PUSH2 0x131C PUSH2 0x1158 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x132B DUP6 DUP3 DUP7 ADD PUSH2 0x11A6 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x133C DUP6 DUP3 DUP7 ADD PUSH2 0x12F1 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x134F DUP2 PUSH2 0x12D0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x136A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1346 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1389 JUMPI PUSH2 0x1388 PUSH2 0x1158 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1397 DUP7 DUP3 DUP8 ADD PUSH2 0x11A6 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x13A8 DUP7 DUP3 DUP8 ADD PUSH2 0x11A6 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x13B9 DUP7 DUP3 DUP8 ADD PUSH2 0x12F1 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x13D9 DUP2 PUSH2 0x13C3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x13F4 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x13D0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1411 JUMPI PUSH2 0x1410 PUSH2 0x1158 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x141F DUP6 DUP3 DUP7 ADD PUSH2 0x11A6 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1430 DUP6 DUP3 DUP7 ADD PUSH2 0x11A6 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x5265656E7472616E742063616C6C000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1470 PUSH1 0xE DUP4 PUSH2 0x1229 JUMP JUMPDEST SWAP2 POP PUSH2 0x147B DUP3 PUSH2 0x143A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x149F DUP2 PUSH2 0x1463 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x44657220436F6E74726163742069737420706175736965727400000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14DC PUSH1 0x19 DUP4 PUSH2 0x1229 JUMP JUMPDEST SWAP2 POP PUSH2 0x14E7 DUP3 PUSH2 0x14A6 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x150B DUP2 PUSH2 0x14CF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x556E6775656C7469676520416472657373650000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1548 PUSH1 0x12 DUP4 PUSH2 0x1229 JUMP JUMPDEST SWAP2 POP PUSH2 0x1553 DUP3 PUSH2 0x1512 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1577 DUP2 PUSH2 0x153B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x496E73756666696369656E742062616C616E6365000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15B4 PUSH1 0x14 DUP4 PUSH2 0x1229 JUMP JUMPDEST SWAP2 POP PUSH2 0x15BF DUP3 PUSH2 0x157E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x15E3 DUP2 PUSH2 0x15A7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x496E73756666696369656E7420616C6C6F77616E636500000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1620 PUSH1 0x16 DUP4 PUSH2 0x1229 JUMP JUMPDEST SWAP2 POP PUSH2 0x162B DUP3 PUSH2 0x15EA JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x164F DUP2 PUSH2 0x1613 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x5369652073696E64206E69636874206465722042657369747A65720000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x168C PUSH1 0x1B DUP4 PUSH2 0x1229 JUMP JUMPDEST SWAP2 POP PUSH2 0x1697 DUP3 PUSH2 0x1656 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x16BB DUP2 PUSH2 0x167F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x44657220436F6E747261637420697374206E6963687420706175736965727400 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16F8 PUSH1 0x1F DUP4 PUSH2 0x1229 JUMP JUMPDEST SWAP2 POP PUSH2 0x1703 DUP3 PUSH2 0x16C2 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1727 DUP2 PUSH2 0x16EB JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1737 DUP2 PUSH2 0x117D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1752 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x172E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x536166654D6174683A207375627472616374696F6E206F766572666C6F770000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x178E PUSH1 0x1E DUP4 PUSH2 0x1229 JUMP JUMPDEST SWAP2 POP PUSH2 0x1799 DUP3 PUSH2 0x1758 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x17BD DUP2 PUSH2 0x1781 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x17FE DUP3 PUSH2 0x12D0 JUMP JUMPDEST SWAP2 POP PUSH2 0x1809 DUP4 PUSH2 0x12D0 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x1821 JUMPI PUSH2 0x1820 PUSH2 0x17C4 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1832 DUP3 PUSH2 0x12D0 JUMP JUMPDEST SWAP2 POP PUSH2 0x183D DUP4 PUSH2 0x12D0 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x1855 JUMPI PUSH2 0x1854 PUSH2 0x17C4 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x536166654D6174683A206164646974696F6E206F766572666C6F770000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1891 PUSH1 0x1B DUP4 PUSH2 0x1229 JUMP JUMPDEST SWAP2 POP PUSH2 0x189C DUP3 PUSH2 0x185B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x18C0 DUP2 PUSH2 0x1884 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xCD 0xC8 0xDA STOP 0xA7 NOT DUP3 PUSH19 0x65180AF2B4807642B46587F362B250E873A3AC MSIZE 0xC8 DUP1 0x2C PUSH10 0x64736F6C634300081300 CALLER ",
"sourceMap": "314:3017:1:-:0;;;705:7;676:36;;1212:65;;;;;;;;;;569:10:2;560:6;;:19;;;;;;;;;;;;;;;;;;599:5;589:7;;:15;;;;;;;;;;;;;;;;;;1259:11:1;;1236:8;:20;1245:10;1236:20;;;;;;;;;;;;;;;:34;;;;314:3017;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@add_450": {
"entryPoint": 4346,
"id": 450,
"parameterSlots": 2,
"returnSlots": 1
},
"@allowance_297": {
"entryPoint": 4116,
"id": 297,
"parameterSlots": 2,
"returnSlots": 1
},
"@approve_197": {
"entryPoint": 783,
"id": 197,
"parameterSlots": 2,
"returnSlots": 1
},
"@balanceOf_94": {
"entryPoint": 2836,
"id": 94,
"parameterSlots": 1,
"returnSlots": 1
},
"@decimals_42": {
"entryPoint": 2527,
"id": 42,
"parameterSlots": 0,
"returnSlots": 0
},
"@isPaused_398": {
"entryPoint": 4094,
"id": 398,
"parameterSlots": 0,
"returnSlots": 1
},
"@isValidAddress_17": {
"entryPoint": 669,
"id": 17,
"parameterSlots": 1,
"returnSlots": 1
},
"@name_36": {
"entryPoint": 726,
"id": 36,
"parameterSlots": 0,
"returnSlots": 0
},
"@pause_373": {
"entryPoint": 2909,
"id": 373,
"parameterSlots": 0,
"returnSlots": 0
},
"@sub_476": {
"entryPoint": 4251,
"id": 476,
"parameterSlots": 2,
"returnSlots": 1
},
"@symbol_39": {
"entryPoint": 3214,
"id": 39,
"parameterSlots": 0,
"returnSlots": 0
},
"@totalSupply_45": {
"entryPoint": 1307,
"id": 45,
"parameterSlots": 0,
"returnSlots": 0
},
"@transferFrom_281": {
"entryPoint": 1313,
"id": 281,
"parameterSlots": 3,
"returnSlots": 1
},
"@transfer_158": {
"entryPoint": 3271,
"id": 158,
"parameterSlots": 2,
"returnSlots": 1
},
"@unpause_390": {
"entryPoint": 2532,
"id": 390,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_t_address": {
"entryPoint": 4518,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 4849,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 4539,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_address": {
"entryPoint": 5114,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_addresst_addresst_uint256": {
"entryPoint": 4976,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_addresst_uint256": {
"entryPoint": 4870,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 5934,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 4596,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 4725,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a_to_t_string_memory_ptr_fromStack": {
"entryPoint": 6276,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_3bcc3856cb500d11876a7175203bec2d401f5a095d8084bdf674a07e7d8207fd_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5759,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5651,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5543,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862_to_t_string_memory_ptr_fromStack": {
"entryPoint": 6017,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_90d5e4130d6b4a3b3611ac85aa4099b61ca4c851ac271e6391ed11395cf43b8e_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5435,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_b958b17628fb24ecc7d6ab15f85e64e4b96569ce6bb6771328606ab81a75daeb_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5219,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_eb3864ac9c0e42a0d896ac4a9a9e19841835adca678fb992d18be42cb4232396_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5867,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_fa208c4a99845c7f61f605c0b3c0499a9bdde70775b25d84a8b36a36a9f1b9cb_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5327,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 4934,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint8_to_t_uint8_fromStack": {
"entryPoint": 5072,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 5949,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 4611,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 4782,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 6311,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_3bcc3856cb500d11876a7175203bec2d401f5a095d8084bdf674a07e7d8207fd__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 5794,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 5686,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 5578,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 6052,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_90d5e4130d6b4a3b3611ac85aa4099b61ca4c851ac271e6391ed11395cf43b8e__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 5470,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_b958b17628fb24ecc7d6ab15f85e64e4b96569ce6bb6771328606ab81a75daeb__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 5254,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_eb3864ac9c0e42a0d896ac4a9a9e19841835adca678fb992d18be42cb4232396__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 5902,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_fa208c4a99845c7f61f605c0b3c0499a9bdde70775b25d84a8b36a36a9f1b9cb__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 5362,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 4949,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed": {
"entryPoint": 5087,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 4638,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 4649,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 6183,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 6131,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 4477,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 4584,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 4445,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 4816,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint8": {
"entryPoint": 5059,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 4666,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"panic_error_0x11": {
"entryPoint": 6084,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 4440,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 4708,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"store_literal_in_memory_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a": {
"entryPoint": 6235,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_3bcc3856cb500d11876a7175203bec2d401f5a095d8084bdf674a07e7d8207fd": {
"entryPoint": 5718,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc": {
"entryPoint": 5610,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5": {
"entryPoint": 5502,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862": {
"entryPoint": 5976,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_90d5e4130d6b4a3b3611ac85aa4099b61ca4c851ac271e6391ed11395cf43b8e": {
"entryPoint": 5394,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_b958b17628fb24ecc7d6ab15f85e64e4b96569ce6bb6771328606ab81a75daeb": {
"entryPoint": 5178,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_eb3864ac9c0e42a0d896ac4a9a9e19841835adca678fb992d18be42cb4232396": {
"entryPoint": 5826,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_fa208c4a99845c7f61f605c0b3c0499a9bdde70775b25d84a8b36a36a9f1b9cb": {
"entryPoint": 5286,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 4495,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 4826,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:15391:5",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:5",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:5",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:5"
},
"nodeType": "YulFunctionCall",
"src": "67:9:5"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:5"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:5",
"type": ""
}
],
"src": "7:75:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:5",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:5",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:5"
},
"nodeType": "YulFunctionCall",
"src": "187:12:5"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:5"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:5",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:5",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:5"
},
"nodeType": "YulFunctionCall",
"src": "310:12:5"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:5"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:81:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:65:5",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "404:5:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "411:42:5",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "400:3:5"
},
"nodeType": "YulFunctionCall",
"src": "400:54:5"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:5"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:5",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:5",
"type": ""
}
],
"src": "334:126:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "511:51:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "521:35:5",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "550:5:5"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "532:17:5"
},
"nodeType": "YulFunctionCall",
"src": "532:24:5"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "521:7:5"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "493:5:5",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "503:7:5",
"type": ""
}
],
"src": "466:96:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "611:79:5",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "668:16:5",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "677:1:5",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "680:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "670:6:5"
},
"nodeType": "YulFunctionCall",
"src": "670:12:5"
},
"nodeType": "YulExpressionStatement",
"src": "670:12:5"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "634:5:5"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "659:5:5"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "641:17:5"
},
"nodeType": "YulFunctionCall",
"src": "641:24:5"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "631:2:5"
},
"nodeType": "YulFunctionCall",
"src": "631:35:5"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "624:6:5"
},
"nodeType": "YulFunctionCall",
"src": "624:43:5"
},
"nodeType": "YulIf",
"src": "621:63:5"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "604:5:5",
"type": ""
}
],
"src": "568:122:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "748:87:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "758:29:5",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "780:6:5"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "767:12:5"
},
"nodeType": "YulFunctionCall",
"src": "767:20:5"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "758:5:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "823:5:5"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "796:26:5"
},
"nodeType": "YulFunctionCall",
"src": "796:33:5"
},
"nodeType": "YulExpressionStatement",
"src": "796:33:5"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "726:6:5",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "734:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "742:5:5",
"type": ""
}
],
"src": "696:139:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "907:263:5",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "953:83:5",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "955:77:5"
},
"nodeType": "YulFunctionCall",
"src": "955:79:5"
},
"nodeType": "YulExpressionStatement",
"src": "955:79:5"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "928:7:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "937:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "924:3:5"
},
"nodeType": "YulFunctionCall",
"src": "924:23:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "949:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "920:3:5"
},
"nodeType": "YulFunctionCall",
"src": "920:32:5"
},
"nodeType": "YulIf",
"src": "917:119:5"
},
{
"nodeType": "YulBlock",
"src": "1046:117:5",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1061:15:5",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1075:1:5",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1065:6:5",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1090:63:5",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1125:9:5"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1136:6:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1121:3:5"
},
"nodeType": "YulFunctionCall",
"src": "1121:22:5"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1145:7:5"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "1100:20:5"
},
"nodeType": "YulFunctionCall",
"src": "1100:53:5"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1090:6:5"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "877:9:5",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "888:7:5",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "900:6:5",
"type": ""
}
],
"src": "841:329:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1218:48:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1228:32:5",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1253:5:5"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1246:6:5"
},
"nodeType": "YulFunctionCall",
"src": "1246:13:5"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1239:6:5"
},
"nodeType": "YulFunctionCall",
"src": "1239:21:5"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1228:7:5"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1200:5:5",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1210:7:5",
"type": ""
}
],
"src": "1176:90:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1331:50:5",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1348:3:5"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1368:5:5"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "1353:14:5"
},
"nodeType": "YulFunctionCall",
"src": "1353:21:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1341:6:5"
},
"nodeType": "YulFunctionCall",
"src": "1341:34:5"
},
"nodeType": "YulExpressionStatement",
"src": "1341:34:5"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1319:5:5",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1326:3:5",
"type": ""
}
],
"src": "1272:109:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1479:118:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1489:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1501:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1512:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1497:3:5"
},
"nodeType": "YulFunctionCall",
"src": "1497:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1489:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1563:6:5"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1576:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1587:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1572:3:5"
},
"nodeType": "YulFunctionCall",
"src": "1572:17:5"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulIdentifier",
"src": "1525:37:5"
},
"nodeType": "YulFunctionCall",
"src": "1525:65:5"
},
"nodeType": "YulExpressionStatement",
"src": "1525:65:5"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1451:9:5",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1463:6:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1474:4:5",
"type": ""
}
],
"src": "1387:210:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1662:40:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1673:22:5",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1689:5:5"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1683:5:5"
},
"nodeType": "YulFunctionCall",
"src": "1683:12:5"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1673:6:5"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1645:5:5",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1655:6:5",
"type": ""
}
],
"src": "1603:99:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1804:73:5",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1821:3:5"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1826:6:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1814:6:5"
},
"nodeType": "YulFunctionCall",
"src": "1814:19:5"
},
"nodeType": "YulExpressionStatement",
"src": "1814:19:5"
},
{
"nodeType": "YulAssignment",
"src": "1842:29:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1861:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1866:4:5",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1857:3:5"
},
"nodeType": "YulFunctionCall",
"src": "1857:14:5"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "1842:11:5"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1776:3:5",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1781:6:5",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "1792:11:5",
"type": ""
}
],
"src": "1708:169:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1945:184:5",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1955:10:5",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1964:1:5",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "1959:1:5",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2024:63:5",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2049:3:5"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2054:1:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2045:3:5"
},
"nodeType": "YulFunctionCall",
"src": "2045:11:5"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "2068:3:5"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2073:1:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2064:3:5"
},
"nodeType": "YulFunctionCall",
"src": "2064:11:5"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2058:5:5"
},
"nodeType": "YulFunctionCall",
"src": "2058:18:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2038:6:5"
},
"nodeType": "YulFunctionCall",
"src": "2038:39:5"
},
"nodeType": "YulExpressionStatement",
"src": "2038:39:5"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1985:1:5"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1988:6:5"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1982:2:5"
},
"nodeType": "YulFunctionCall",
"src": "1982:13:5"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "1996:19:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1998:15:5",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2007:1:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2010:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2003:3:5"
},
"nodeType": "YulFunctionCall",
"src": "2003:10:5"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1998:1:5"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "1978:3:5",
"statements": []
},
"src": "1974:113:5"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2107:3:5"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2112:6:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2103:3:5"
},
"nodeType": "YulFunctionCall",
"src": "2103:16:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2121:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2096:6:5"
},
"nodeType": "YulFunctionCall",
"src": "2096:27:5"
},
"nodeType": "YulExpressionStatement",
"src": "2096:27:5"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "1927:3:5",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "1932:3:5",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1937:6:5",
"type": ""
}
],
"src": "1883:246:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2183:54:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2193:38:5",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2211:5:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2218:2:5",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2207:3:5"
},
"nodeType": "YulFunctionCall",
"src": "2207:14:5"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2227:2:5",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "2223:3:5"
},
"nodeType": "YulFunctionCall",
"src": "2223:7:5"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2203:3:5"
},
"nodeType": "YulFunctionCall",
"src": "2203:28:5"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "2193:6:5"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2166:5:5",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "2176:6:5",
"type": ""
}
],
"src": "2135:102:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2335:285:5",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2345:53:5",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2392:5:5"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2359:32:5"
},
"nodeType": "YulFunctionCall",
"src": "2359:39:5"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2349:6:5",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2407:78:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2473:3:5"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2478:6:5"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2414:58:5"
},
"nodeType": "YulFunctionCall",
"src": "2414:71:5"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2407:3:5"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2533:5:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2540:4:5",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2529:3:5"
},
"nodeType": "YulFunctionCall",
"src": "2529:16:5"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2547:3:5"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2552:6:5"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulIdentifier",
"src": "2494:34:5"
},
"nodeType": "YulFunctionCall",
"src": "2494:65:5"
},
"nodeType": "YulExpressionStatement",
"src": "2494:65:5"
},
{
"nodeType": "YulAssignment",
"src": "2568:46:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2579:3:5"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2606:6:5"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2584:21:5"
},
"nodeType": "YulFunctionCall",
"src": "2584:29:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2575:3:5"
},
"nodeType": "YulFunctionCall",
"src": "2575:39:5"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2568:3:5"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2316:5:5",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2323:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2331:3:5",
"type": ""
}
],
"src": "2243:377:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2744:195:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2754:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2766:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2777:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2762:3:5"
},
"nodeType": "YulFunctionCall",
"src": "2762:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2754:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2801:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2812:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2797:3:5"
},
"nodeType": "YulFunctionCall",
"src": "2797:17:5"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2820:4:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2826:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2816:3:5"
},
"nodeType": "YulFunctionCall",
"src": "2816:20:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2790:6:5"
},
"nodeType": "YulFunctionCall",
"src": "2790:47:5"
},
"nodeType": "YulExpressionStatement",
"src": "2790:47:5"
},
{
"nodeType": "YulAssignment",
"src": "2846:86:5",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2918:6:5"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2927:4:5"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2854:63:5"
},
"nodeType": "YulFunctionCall",
"src": "2854:78:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2846:4:5"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2716:9:5",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2728:6:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2739:4:5",
"type": ""
}
],
"src": "2626:313:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2990:32:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3000:16:5",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "3011:5:5"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3000:7:5"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2972:5:5",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2982:7:5",
"type": ""
}
],
"src": "2945:77:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3071:79:5",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3128:16:5",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3137:1:5",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3140:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3130:6:5"
},
"nodeType": "YulFunctionCall",
"src": "3130:12:5"
},
"nodeType": "YulExpressionStatement",
"src": "3130:12:5"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3094:5:5"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3119:5:5"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3101:17:5"
},
"nodeType": "YulFunctionCall",
"src": "3101:24:5"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3091:2:5"
},
"nodeType": "YulFunctionCall",
"src": "3091:35:5"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3084:6:5"
},
"nodeType": "YulFunctionCall",
"src": "3084:43:5"
},
"nodeType": "YulIf",
"src": "3081:63:5"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3064:5:5",
"type": ""
}
],
"src": "3028:122:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3208:87:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3218:29:5",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3240:6:5"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "3227:12:5"
},
"nodeType": "YulFunctionCall",
"src": "3227:20:5"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3218:5:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3283:5:5"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "3256:26:5"
},
"nodeType": "YulFunctionCall",
"src": "3256:33:5"
},
"nodeType": "YulExpressionStatement",
"src": "3256:33:5"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3186:6:5",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3194:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3202:5:5",
"type": ""
}
],
"src": "3156:139:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3384:391:5",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3430:83:5",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "3432:77:5"
},
"nodeType": "YulFunctionCall",
"src": "3432:79:5"
},
"nodeType": "YulExpressionStatement",
"src": "3432:79:5"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3405:7:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3414:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3401:3:5"
},
"nodeType": "YulFunctionCall",
"src": "3401:23:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3426:2:5",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "3397:3:5"
},
"nodeType": "YulFunctionCall",
"src": "3397:32:5"
},
"nodeType": "YulIf",
"src": "3394:119:5"
},
{
"nodeType": "YulBlock",
"src": "3523:117:5",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3538:15:5",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3552:1:5",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3542:6:5",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3567:63:5",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3602:9:5"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3613:6:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3598:3:5"
},
"nodeType": "YulFunctionCall",
"src": "3598:22:5"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3622:7:5"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "3577:20:5"
},
"nodeType": "YulFunctionCall",
"src": "3577:53:5"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3567:6:5"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "3650:118:5",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3665:16:5",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3679:2:5",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3669:6:5",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3695:63:5",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3730:9:5"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3741:6:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3726:3:5"
},
"nodeType": "YulFunctionCall",
"src": "3726:22:5"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3750:7:5"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "3705:20:5"
},
"nodeType": "YulFunctionCall",
"src": "3705:53:5"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "3695:6:5"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3346:9:5",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "3357:7:5",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3369:6:5",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "3377:6:5",
"type": ""
}
],
"src": "3301:474:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3846:53:5",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3863:3:5"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3886:5:5"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3868:17:5"
},
"nodeType": "YulFunctionCall",
"src": "3868:24:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3856:6:5"
},
"nodeType": "YulFunctionCall",
"src": "3856:37:5"
},
"nodeType": "YulExpressionStatement",
"src": "3856:37:5"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3834:5:5",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3841:3:5",
"type": ""
}
],
"src": "3781:118:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4003:124:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4013:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4025:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4036:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4021:3:5"
},
"nodeType": "YulFunctionCall",
"src": "4021:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4013:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4093:6:5"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4106:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4117:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4102:3:5"
},
"nodeType": "YulFunctionCall",
"src": "4102:17:5"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "4049:43:5"
},
"nodeType": "YulFunctionCall",
"src": "4049:71:5"
},
"nodeType": "YulExpressionStatement",
"src": "4049:71:5"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3975:9:5",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3987:6:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3998:4:5",
"type": ""
}
],
"src": "3905:222:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4233:519:5",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4279:83:5",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "4281:77:5"
},
"nodeType": "YulFunctionCall",
"src": "4281:79:5"
},
"nodeType": "YulExpressionStatement",
"src": "4281:79:5"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4254:7:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4263:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4250:3:5"
},
"nodeType": "YulFunctionCall",
"src": "4250:23:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4275:2:5",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "4246:3:5"
},
"nodeType": "YulFunctionCall",
"src": "4246:32:5"
},
"nodeType": "YulIf",
"src": "4243:119:5"
},
{
"nodeType": "YulBlock",
"src": "4372:117:5",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4387:15:5",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4401:1:5",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4391:6:5",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4416:63:5",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4451:9:5"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4462:6:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4447:3:5"
},
"nodeType": "YulFunctionCall",
"src": "4447:22:5"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4471:7:5"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "4426:20:5"
},
"nodeType": "YulFunctionCall",
"src": "4426:53:5"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4416:6:5"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "4499:118:5",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4514:16:5",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4528:2:5",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4518:6:5",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4544:63:5",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4579:9:5"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4590:6:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4575:3:5"
},
"nodeType": "YulFunctionCall",
"src": "4575:22:5"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4599:7:5"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "4554:20:5"
},
"nodeType": "YulFunctionCall",
"src": "4554:53:5"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "4544:6:5"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "4627:118:5",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4642:16:5",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4656:2:5",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4646:6:5",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4672:63:5",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4707:9:5"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4718:6:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4703:3:5"
},
"nodeType": "YulFunctionCall",
"src": "4703:22:5"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4727:7:5"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "4682:20:5"
},
"nodeType": "YulFunctionCall",
"src": "4682:53:5"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "4672:6:5"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_addresst_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4187:9:5",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "4198:7:5",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4210:6:5",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "4218:6:5",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "4226:6:5",
"type": ""
}
],
"src": "4133:619:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4801:43:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4811:27:5",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4826:5:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4833:4:5",
"type": "",
"value": "0xff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4822:3:5"
},
"nodeType": "YulFunctionCall",
"src": "4822:16:5"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "4811:7:5"
}
]
}
]
},
"name": "cleanup_t_uint8",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4783:5:5",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "4793:7:5",
"type": ""
}
],
"src": "4758:86:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4911:51:5",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4928:3:5"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4949:5:5"
}
],
"functionName": {
"name": "cleanup_t_uint8",
"nodeType": "YulIdentifier",
"src": "4933:15:5"
},
"nodeType": "YulFunctionCall",
"src": "4933:22:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4921:6:5"
},
"nodeType": "YulFunctionCall",
"src": "4921:35:5"
},
"nodeType": "YulExpressionStatement",
"src": "4921:35:5"
}
]
},
"name": "abi_encode_t_uint8_to_t_uint8_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4899:5:5",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4906:3:5",
"type": ""
}
],
"src": "4850:112:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5062:120:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5072:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5084:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5095:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5080:3:5"
},
"nodeType": "YulFunctionCall",
"src": "5080:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5072:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5148:6:5"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5161:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5172:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5157:3:5"
},
"nodeType": "YulFunctionCall",
"src": "5157:17:5"
}
],
"functionName": {
"name": "abi_encode_t_uint8_to_t_uint8_fromStack",
"nodeType": "YulIdentifier",
"src": "5108:39:5"
},
"nodeType": "YulFunctionCall",
"src": "5108:67:5"
},
"nodeType": "YulExpressionStatement",
"src": "5108:67:5"
}
]
},
"name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5034:9:5",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5046:6:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5057:4:5",
"type": ""
}
],
"src": "4968:214:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5271:391:5",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "5317:83:5",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "5319:77:5"
},
"nodeType": "YulFunctionCall",
"src": "5319:79:5"
},
"nodeType": "YulExpressionStatement",
"src": "5319:79:5"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "5292:7:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5301:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "5288:3:5"
},
"nodeType": "YulFunctionCall",
"src": "5288:23:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5313:2:5",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "5284:3:5"
},
"nodeType": "YulFunctionCall",
"src": "5284:32:5"
},
"nodeType": "YulIf",
"src": "5281:119:5"
},
{
"nodeType": "YulBlock",
"src": "5410:117:5",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5425:15:5",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "5439:1:5",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "5429:6:5",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "5454:63:5",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5489:9:5"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5500:6:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5485:3:5"
},
"nodeType": "YulFunctionCall",
"src": "5485:22:5"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "5509:7:5"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "5464:20:5"
},
"nodeType": "YulFunctionCall",
"src": "5464:53:5"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5454:6:5"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "5537:118:5",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5552:16:5",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "5566:2:5",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "5556:6:5",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "5582:63:5",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5617:9:5"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5628:6:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5613:3:5"
},
"nodeType": "YulFunctionCall",
"src": "5613:22:5"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "5637:7:5"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "5592:20:5"
},
"nodeType": "YulFunctionCall",
"src": "5592:53:5"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "5582:6:5"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5233:9:5",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "5244:7:5",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5256:6:5",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "5264:6:5",
"type": ""
}
],
"src": "5188:474:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5774:58:5",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "5796:6:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5804:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5792:3:5"
},
"nodeType": "YulFunctionCall",
"src": "5792:14:5"
},
{
"hexValue": "5265656e7472616e742063616c6c",
"kind": "string",
"nodeType": "YulLiteral",
"src": "5808:16:5",
"type": "",
"value": "Reentrant call"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5785:6:5"
},
"nodeType": "YulFunctionCall",
"src": "5785:40:5"
},
"nodeType": "YulExpressionStatement",
"src": "5785:40:5"
}
]
},
"name": "store_literal_in_memory_b958b17628fb24ecc7d6ab15f85e64e4b96569ce6bb6771328606ab81a75daeb",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "5766:6:5",
"type": ""
}
],
"src": "5668:164:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5984:220:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5994:74:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6060:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6065:2:5",
"type": "",
"value": "14"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "6001:58:5"
},
"nodeType": "YulFunctionCall",
"src": "6001:67:5"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5994:3:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6166:3:5"
}
],
"functionName": {
"name": "store_literal_in_memory_b958b17628fb24ecc7d6ab15f85e64e4b96569ce6bb6771328606ab81a75daeb",
"nodeType": "YulIdentifier",
"src": "6077:88:5"
},
"nodeType": "YulFunctionCall",
"src": "6077:93:5"
},
"nodeType": "YulExpressionStatement",
"src": "6077:93:5"
},
{
"nodeType": "YulAssignment",
"src": "6179:19:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6190:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6195:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6186:3:5"
},
"nodeType": "YulFunctionCall",
"src": "6186:12:5"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "6179:3:5"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_b958b17628fb24ecc7d6ab15f85e64e4b96569ce6bb6771328606ab81a75daeb_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5972:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "5980:3:5",
"type": ""
}
],
"src": "5838:366:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6381:248:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6391:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6403:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6414:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6399:3:5"
},
"nodeType": "YulFunctionCall",
"src": "6399:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6391:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6438:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6449:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6434:3:5"
},
"nodeType": "YulFunctionCall",
"src": "6434:17:5"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6457:4:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6463:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6453:3:5"
},
"nodeType": "YulFunctionCall",
"src": "6453:20:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6427:6:5"
},
"nodeType": "YulFunctionCall",
"src": "6427:47:5"
},
"nodeType": "YulExpressionStatement",
"src": "6427:47:5"
},
{
"nodeType": "YulAssignment",
"src": "6483:139:5",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6617:4:5"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_b958b17628fb24ecc7d6ab15f85e64e4b96569ce6bb6771328606ab81a75daeb_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "6491:124:5"
},
"nodeType": "YulFunctionCall",
"src": "6491:131:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6483:4:5"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_b958b17628fb24ecc7d6ab15f85e64e4b96569ce6bb6771328606ab81a75daeb__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "6361:9:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "6376:4:5",
"type": ""
}
],
"src": "6210:419:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6741:69:5",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "6763:6:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6771:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6759:3:5"
},
"nodeType": "YulFunctionCall",
"src": "6759:14:5"
},
{
"hexValue": "44657220436f6e747261637420697374207061757369657274",
"kind": "string",
"nodeType": "YulLiteral",
"src": "6775:27:5",
"type": "",
"value": "Der Contract ist pausiert"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6752:6:5"
},
"nodeType": "YulFunctionCall",
"src": "6752:51:5"
},
"nodeType": "YulExpressionStatement",
"src": "6752:51:5"
}
]
},
"name": "store_literal_in_memory_fa208c4a99845c7f61f605c0b3c0499a9bdde70775b25d84a8b36a36a9f1b9cb",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "6733:6:5",
"type": ""
}
],
"src": "6635:175:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6962:220:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6972:74:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7038:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7043:2:5",
"type": "",
"value": "25"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "6979:58:5"
},
"nodeType": "YulFunctionCall",
"src": "6979:67:5"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6972:3:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7144:3:5"
}
],
"functionName": {
"name": "store_literal_in_memory_fa208c4a99845c7f61f605c0b3c0499a9bdde70775b25d84a8b36a36a9f1b9cb",
"nodeType": "YulIdentifier",
"src": "7055:88:5"
},
"nodeType": "YulFunctionCall",
"src": "7055:93:5"
},
"nodeType": "YulExpressionStatement",
"src": "7055:93:5"
},
{
"nodeType": "YulAssignment",
"src": "7157:19:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7168:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7173:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7164:3:5"
},
"nodeType": "YulFunctionCall",
"src": "7164:12:5"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "7157:3:5"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_fa208c4a99845c7f61f605c0b3c0499a9bdde70775b25d84a8b36a36a9f1b9cb_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "6950:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "6958:3:5",
"type": ""
}
],
"src": "6816:366:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7359:248:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7369:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7381:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7392:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7377:3:5"
},
"nodeType": "YulFunctionCall",
"src": "7377:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7369:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7416:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7427:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7412:3:5"
},
"nodeType": "YulFunctionCall",
"src": "7412:17:5"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7435:4:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7441:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "7431:3:5"
},
"nodeType": "YulFunctionCall",
"src": "7431:20:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7405:6:5"
},
"nodeType": "YulFunctionCall",
"src": "7405:47:5"
},
"nodeType": "YulExpressionStatement",
"src": "7405:47:5"
},
{
"nodeType": "YulAssignment",
"src": "7461:139:5",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7595:4:5"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_fa208c4a99845c7f61f605c0b3c0499a9bdde70775b25d84a8b36a36a9f1b9cb_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "7469:124:5"
},
"nodeType": "YulFunctionCall",
"src": "7469:131:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7461:4:5"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_fa208c4a99845c7f61f605c0b3c0499a9bdde70775b25d84a8b36a36a9f1b9cb__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "7339:9:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "7354:4:5",
"type": ""
}
],
"src": "7188:419:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7719:62:5",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7741:6:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7749:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7737:3:5"
},
"nodeType": "YulFunctionCall",
"src": "7737:14:5"
},
{
"hexValue": "556e6775656c746967652041647265737365",
"kind": "string",
"nodeType": "YulLiteral",
"src": "7753:20:5",
"type": "",
"value": "Ungueltige Adresse"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7730:6:5"
},
"nodeType": "YulFunctionCall",
"src": "7730:44:5"
},
"nodeType": "YulExpressionStatement",
"src": "7730:44:5"
}
]
},
"name": "store_literal_in_memory_90d5e4130d6b4a3b3611ac85aa4099b61ca4c851ac271e6391ed11395cf43b8e",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "7711:6:5",
"type": ""
}
],
"src": "7613:168:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7933:220:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7943:74:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8009:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8014:2:5",
"type": "",
"value": "18"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "7950:58:5"
},
"nodeType": "YulFunctionCall",
"src": "7950:67:5"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7943:3:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8115:3:5"
}
],
"functionName": {
"name": "store_literal_in_memory_90d5e4130d6b4a3b3611ac85aa4099b61ca4c851ac271e6391ed11395cf43b8e",
"nodeType": "YulIdentifier",
"src": "8026:88:5"
},
"nodeType": "YulFunctionCall",
"src": "8026:93:5"
},
"nodeType": "YulExpressionStatement",
"src": "8026:93:5"
},
{
"nodeType": "YulAssignment",
"src": "8128:19:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8139:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8144:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8135:3:5"
},
"nodeType": "YulFunctionCall",
"src": "8135:12:5"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "8128:3:5"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_90d5e4130d6b4a3b3611ac85aa4099b61ca4c851ac271e6391ed11395cf43b8e_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "7921:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "7929:3:5",
"type": ""
}
],
"src": "7787:366:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8330:248:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8340:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8352:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8363:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8348:3:5"
},
"nodeType": "YulFunctionCall",
"src": "8348:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8340:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8387:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8398:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8383:3:5"
},
"nodeType": "YulFunctionCall",
"src": "8383:17:5"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8406:4:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8412:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "8402:3:5"
},
"nodeType": "YulFunctionCall",
"src": "8402:20:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8376:6:5"
},
"nodeType": "YulFunctionCall",
"src": "8376:47:5"
},
"nodeType": "YulExpressionStatement",
"src": "8376:47:5"
},
{
"nodeType": "YulAssignment",
"src": "8432:139:5",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8566:4:5"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_90d5e4130d6b4a3b3611ac85aa4099b61ca4c851ac271e6391ed11395cf43b8e_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "8440:124:5"
},
"nodeType": "YulFunctionCall",
"src": "8440:131:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8432:4:5"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_90d5e4130d6b4a3b3611ac85aa4099b61ca4c851ac271e6391ed11395cf43b8e__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "8310:9:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "8325:4:5",
"type": ""
}
],
"src": "8159:419:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8690:64:5",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "8712:6:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8720:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8708:3:5"
},
"nodeType": "YulFunctionCall",
"src": "8708:14:5"
},
{
"hexValue": "496e73756666696369656e742062616c616e6365",
"kind": "string",
"nodeType": "YulLiteral",
"src": "8724:22:5",
"type": "",
"value": "Insufficient balance"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8701:6:5"
},
"nodeType": "YulFunctionCall",
"src": "8701:46:5"
},
"nodeType": "YulExpressionStatement",
"src": "8701:46:5"
}
]
},
"name": "store_literal_in_memory_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "8682:6:5",
"type": ""
}
],
"src": "8584:170:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8906:220:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8916:74:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8982:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8987:2:5",
"type": "",
"value": "20"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "8923:58:5"
},
"nodeType": "YulFunctionCall",
"src": "8923:67:5"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8916:3:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "9088:3:5"
}
],
"functionName": {
"name": "store_literal_in_memory_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5",
"nodeType": "YulIdentifier",
"src": "8999:88:5"
},
"nodeType": "YulFunctionCall",
"src": "8999:93:5"
},
"nodeType": "YulExpressionStatement",
"src": "8999:93:5"
},
{
"nodeType": "YulAssignment",
"src": "9101:19:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "9112:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9117:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9108:3:5"
},
"nodeType": "YulFunctionCall",
"src": "9108:12:5"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "9101:3:5"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "8894:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "8902:3:5",
"type": ""
}
],
"src": "8760:366:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9303:248:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9313:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "9325:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9336:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9321:3:5"
},
"nodeType": "YulFunctionCall",
"src": "9321:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "9313:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "9360:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9371:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9356:3:5"
},
"nodeType": "YulFunctionCall",
"src": "9356:17:5"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "9379:4:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "9385:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "9375:3:5"
},
"nodeType": "YulFunctionCall",
"src": "9375:20:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9349:6:5"
},
"nodeType": "YulFunctionCall",
"src": "9349:47:5"
},
"nodeType": "YulExpressionStatement",
"src": "9349:47:5"
},
{
"nodeType": "YulAssignment",
"src": "9405:139:5",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "9539:4:5"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "9413:124:5"
},
"nodeType": "YulFunctionCall",
"src": "9413:131:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "9405:4:5"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "9283:9:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "9298:4:5",
"type": ""
}
],
"src": "9132:419:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9663:66:5",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "9685:6:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9693:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9681:3:5"
},
"nodeType": "YulFunctionCall",
"src": "9681:14:5"
},
{
"hexValue": "496e73756666696369656e7420616c6c6f77616e6365",
"kind": "string",
"nodeType": "YulLiteral",
"src": "9697:24:5",
"type": "",
"value": "Insufficient allowance"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9674:6:5"
},
"nodeType": "YulFunctionCall",
"src": "9674:48:5"
},
"nodeType": "YulExpressionStatement",
"src": "9674:48:5"
}
]
},
"name": "store_literal_in_memory_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "9655:6:5",
"type": ""
}
],
"src": "9557:172:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9881:220:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9891:74:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "9957:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9962:2:5",
"type": "",
"value": "22"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "9898:58:5"
},
"nodeType": "YulFunctionCall",
"src": "9898:67:5"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "9891:3:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10063:3:5"
}
],
"functionName": {
"name": "store_literal_in_memory_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc",
"nodeType": "YulIdentifier",
"src": "9974:88:5"
},
"nodeType": "YulFunctionCall",
"src": "9974:93:5"
},
"nodeType": "YulExpressionStatement",
"src": "9974:93:5"
},
{
"nodeType": "YulAssignment",
"src": "10076:19:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10087:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10092:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10083:3:5"
},
"nodeType": "YulFunctionCall",
"src": "10083:12:5"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "10076:3:5"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "9869:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "9877:3:5",
"type": ""
}
],
"src": "9735:366:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10278:248:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "10288:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "10300:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10311:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10296:3:5"
},
"nodeType": "YulFunctionCall",
"src": "10296:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "10288:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "10335:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10346:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10331:3:5"
},
"nodeType": "YulFunctionCall",
"src": "10331:17:5"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "10354:4:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "10360:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "10350:3:5"
},
"nodeType": "YulFunctionCall",
"src": "10350:20:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "10324:6:5"
},
"nodeType": "YulFunctionCall",
"src": "10324:47:5"
},
"nodeType": "YulExpressionStatement",
"src": "10324:47:5"
},
{
"nodeType": "YulAssignment",
"src": "10380:139:5",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "10514:4:5"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "10388:124:5"
},
"nodeType": "YulFunctionCall",
"src": "10388:131:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "10380:4:5"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "10258:9:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "10273:4:5",
"type": ""
}
],
"src": "10107:419:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10638:71:5",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "10660:6:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10668:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10656:3:5"
},
"nodeType": "YulFunctionCall",
"src": "10656:14:5"
},
{
"hexValue": "5369652073696e64206e69636874206465722042657369747a6572",
"kind": "string",
"nodeType": "YulLiteral",
"src": "10672:29:5",
"type": "",
"value": "Sie sind nicht der Besitzer"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "10649:6:5"
},
"nodeType": "YulFunctionCall",
"src": "10649:53:5"
},
"nodeType": "YulExpressionStatement",
"src": "10649:53:5"
}
]
},
"name": "store_literal_in_memory_3bcc3856cb500d11876a7175203bec2d401f5a095d8084bdf674a07e7d8207fd",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "10630:6:5",
"type": ""
}
],
"src": "10532:177:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10861:220:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "10871:74:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10937:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10942:2:5",
"type": "",
"value": "27"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "10878:58:5"
},
"nodeType": "YulFunctionCall",
"src": "10878:67:5"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10871:3:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11043:3:5"
}
],
"functionName": {
"name": "store_literal_in_memory_3bcc3856cb500d11876a7175203bec2d401f5a095d8084bdf674a07e7d8207fd",
"nodeType": "YulIdentifier",
"src": "10954:88:5"
},
"nodeType": "YulFunctionCall",
"src": "10954:93:5"
},
"nodeType": "YulExpressionStatement",
"src": "10954:93:5"
},
{
"nodeType": "YulAssignment",
"src": "11056:19:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11067:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11072:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11063:3:5"
},
"nodeType": "YulFunctionCall",
"src": "11063:12:5"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "11056:3:5"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_3bcc3856cb500d11876a7175203bec2d401f5a095d8084bdf674a07e7d8207fd_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "10849:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "10857:3:5",
"type": ""
}
],
"src": "10715:366:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11258:248:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "11268:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "11280:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11291:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11276:3:5"
},
"nodeType": "YulFunctionCall",
"src": "11276:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "11268:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "11315:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11326:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11311:3:5"
},
"nodeType": "YulFunctionCall",
"src": "11311:17:5"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "11334:4:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "11340:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "11330:3:5"
},
"nodeType": "YulFunctionCall",
"src": "11330:20:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "11304:6:5"
},
"nodeType": "YulFunctionCall",
"src": "11304:47:5"
},
"nodeType": "YulExpressionStatement",
"src": "11304:47:5"
},
{
"nodeType": "YulAssignment",
"src": "11360:139:5",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "11494:4:5"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_3bcc3856cb500d11876a7175203bec2d401f5a095d8084bdf674a07e7d8207fd_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "11368:124:5"
},
"nodeType": "YulFunctionCall",
"src": "11368:131:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "11360:4:5"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_3bcc3856cb500d11876a7175203bec2d401f5a095d8084bdf674a07e7d8207fd__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "11238:9:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "11253:4:5",
"type": ""
}
],
"src": "11087:419:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11618:75:5",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "11640:6:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11648:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11636:3:5"
},
"nodeType": "YulFunctionCall",
"src": "11636:14:5"
},
{
"hexValue": "44657220436f6e747261637420697374206e69636874207061757369657274",
"kind": "string",
"nodeType": "YulLiteral",
"src": "11652:33:5",
"type": "",
"value": "Der Contract ist nicht pausiert"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "11629:6:5"
},
"nodeType": "YulFunctionCall",
"src": "11629:57:5"
},
"nodeType": "YulExpressionStatement",
"src": "11629:57:5"
}
]
},
"name": "store_literal_in_memory_eb3864ac9c0e42a0d896ac4a9a9e19841835adca678fb992d18be42cb4232396",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "11610:6:5",
"type": ""
}
],
"src": "11512:181:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11845:220:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "11855:74:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11921:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11926:2:5",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "11862:58:5"
},
"nodeType": "YulFunctionCall",
"src": "11862:67:5"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11855:3:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "12027:3:5"
}
],
"functionName": {
"name": "store_literal_in_memory_eb3864ac9c0e42a0d896ac4a9a9e19841835adca678fb992d18be42cb4232396",
"nodeType": "YulIdentifier",
"src": "11938:88:5"
},
"nodeType": "YulFunctionCall",
"src": "11938:93:5"
},
"nodeType": "YulExpressionStatement",
"src": "11938:93:5"
},
{
"nodeType": "YulAssignment",
"src": "12040:19:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "12051:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12056:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12047:3:5"
},
"nodeType": "YulFunctionCall",
"src": "12047:12:5"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "12040:3:5"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_eb3864ac9c0e42a0d896ac4a9a9e19841835adca678fb992d18be42cb4232396_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "11833:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "11841:3:5",
"type": ""
}
],
"src": "11699:366:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12242:248:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "12252:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12264:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12275:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12260:3:5"
},
"nodeType": "YulFunctionCall",
"src": "12260:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12252:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12299:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12310:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12295:3:5"
},
"nodeType": "YulFunctionCall",
"src": "12295:17:5"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12318:4:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12324:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "12314:3:5"
},
"nodeType": "YulFunctionCall",
"src": "12314:20:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "12288:6:5"
},
"nodeType": "YulFunctionCall",
"src": "12288:47:5"
},
"nodeType": "YulExpressionStatement",
"src": "12288:47:5"
},
{
"nodeType": "YulAssignment",
"src": "12344:139:5",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12478:4:5"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_eb3864ac9c0e42a0d896ac4a9a9e19841835adca678fb992d18be42cb4232396_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "12352:124:5"
},
"nodeType": "YulFunctionCall",
"src": "12352:131:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12344:4:5"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_eb3864ac9c0e42a0d896ac4a9a9e19841835adca678fb992d18be42cb4232396__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "12222:9:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "12237:4:5",
"type": ""
}
],
"src": "12071:419:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12561:53:5",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "12578:3:5"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "12601:5:5"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "12583:17:5"
},
"nodeType": "YulFunctionCall",
"src": "12583:24:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "12571:6:5"
},
"nodeType": "YulFunctionCall",
"src": "12571:37:5"
},
"nodeType": "YulExpressionStatement",
"src": "12571:37:5"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "12549:5:5",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "12556:3:5",
"type": ""
}
],
"src": "12496:118:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12718:124:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "12728:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12740:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12751:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12736:3:5"
},
"nodeType": "YulFunctionCall",
"src": "12736:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12728:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "12808:6:5"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12821:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12832:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12817:3:5"
},
"nodeType": "YulFunctionCall",
"src": "12817:17:5"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "12764:43:5"
},
"nodeType": "YulFunctionCall",
"src": "12764:71:5"
},
"nodeType": "YulExpressionStatement",
"src": "12764:71:5"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "12690:9:5",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "12702:6:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "12713:4:5",
"type": ""
}
],
"src": "12620:222:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12954:74:5",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "12976:6:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12984:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12972:3:5"
},
"nodeType": "YulFunctionCall",
"src": "12972:14:5"
},
{
"hexValue": "536166654d6174683a207375627472616374696f6e206f766572666c6f77",
"kind": "string",
"nodeType": "YulLiteral",
"src": "12988:32:5",
"type": "",
"value": "SafeMath: subtraction overflow"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "12965:6:5"
},
"nodeType": "YulFunctionCall",
"src": "12965:56:5"
},
"nodeType": "YulExpressionStatement",
"src": "12965:56:5"
}
]
},
"name": "store_literal_in_memory_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "12946:6:5",
"type": ""
}
],
"src": "12848:180:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "13180:220:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "13190:74:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13256:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13261:2:5",
"type": "",
"value": "30"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "13197:58:5"
},
"nodeType": "YulFunctionCall",
"src": "13197:67:5"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13190:3:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13362:3:5"
}
],
"functionName": {
"name": "store_literal_in_memory_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862",
"nodeType": "YulIdentifier",
"src": "13273:88:5"
},
"nodeType": "YulFunctionCall",
"src": "13273:93:5"
},
"nodeType": "YulExpressionStatement",
"src": "13273:93:5"
},
{
"nodeType": "YulAssignment",
"src": "13375:19:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13386:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13391:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13382:3:5"
},
"nodeType": "YulFunctionCall",
"src": "13382:12:5"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "13375:3:5"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "13168:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "13176:3:5",
"type": ""
}
],
"src": "13034:366:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "13577:248:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "13587:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "13599:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13610:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13595:3:5"
},
"nodeType": "YulFunctionCall",
"src": "13595:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13587:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "13634:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13645:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13630:3:5"
},
"nodeType": "YulFunctionCall",
"src": "13630:17:5"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13653:4:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "13659:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "13649:3:5"
},
"nodeType": "YulFunctionCall",
"src": "13649:20:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "13623:6:5"
},
"nodeType": "YulFunctionCall",
"src": "13623:47:5"
},
"nodeType": "YulExpressionStatement",
"src": "13623:47:5"
},
{
"nodeType": "YulAssignment",
"src": "13679:139:5",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13813:4:5"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "13687:124:5"
},
"nodeType": "YulFunctionCall",
"src": "13687:131:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13679:4:5"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "13557:9:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "13572:4:5",
"type": ""
}
],
"src": "13406:419:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "13859:152:5",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13876:1:5",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13879:77:5",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "13869:6:5"
},
"nodeType": "YulFunctionCall",
"src": "13869:88:5"
},
"nodeType": "YulExpressionStatement",
"src": "13869:88:5"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13973:1:5",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13976:4:5",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "13966:6:5"
},
"nodeType": "YulFunctionCall",
"src": "13966:15:5"
},
"nodeType": "YulExpressionStatement",
"src": "13966:15:5"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13997:1:5",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14000:4:5",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "13990:6:5"
},
"nodeType": "YulFunctionCall",
"src": "13990:15:5"
},
"nodeType": "YulExpressionStatement",
"src": "13990:15:5"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "13831:180:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "14062:149:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "14072:25:5",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "14095:1:5"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "14077:17:5"
},
"nodeType": "YulFunctionCall",
"src": "14077:20:5"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "14072:1:5"
}
]
},
{
"nodeType": "YulAssignment",
"src": "14106:25:5",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "14129:1:5"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "14111:17:5"
},
"nodeType": "YulFunctionCall",
"src": "14111:20:5"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "14106:1:5"
}
]
},
{
"nodeType": "YulAssignment",
"src": "14140:17:5",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "14152:1:5"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "14155:1:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "14148:3:5"
},
"nodeType": "YulFunctionCall",
"src": "14148:9:5"
},
"variableNames": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "14140:4:5"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "14182:22:5",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "14184:16:5"
},
"nodeType": "YulFunctionCall",
"src": "14184:18:5"
},
"nodeType": "YulExpressionStatement",
"src": "14184:18:5"
}
]
},
"condition": {
"arguments": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "14173:4:5"
},
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "14179:1:5"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "14170:2:5"
},
"nodeType": "YulFunctionCall",
"src": "14170:11:5"
},
"nodeType": "YulIf",
"src": "14167:37:5"
}
]
},
"name": "checked_sub_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "14048:1:5",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "14051:1:5",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nodeType": "YulTypedName",
"src": "14057:4:5",
"type": ""
}
],
"src": "14017:194:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "14261:147:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "14271:25:5",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "14294:1:5"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "14276:17:5"
},
"nodeType": "YulFunctionCall",
"src": "14276:20:5"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "14271:1:5"
}
]
},
{
"nodeType": "YulAssignment",
"src": "14305:25:5",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "14328:1:5"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "14310:17:5"
},
"nodeType": "YulFunctionCall",
"src": "14310:20:5"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "14305:1:5"
}
]
},
{
"nodeType": "YulAssignment",
"src": "14339:16:5",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "14350:1:5"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "14353:1:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "14346:3:5"
},
"nodeType": "YulFunctionCall",
"src": "14346:9:5"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "14339:3:5"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "14379:22:5",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "14381:16:5"
},
"nodeType": "YulFunctionCall",
"src": "14381:18:5"
},
"nodeType": "YulExpressionStatement",
"src": "14381:18:5"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "14371:1:5"
},
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "14374:3:5"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "14368:2:5"
},
"nodeType": "YulFunctionCall",
"src": "14368:10:5"
},
"nodeType": "YulIf",
"src": "14365:36:5"
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "14248:1:5",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "14251:1:5",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "14257:3:5",
"type": ""
}
],
"src": "14217:191:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "14520:71:5",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "14542:6:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14550:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "14538:3:5"
},
"nodeType": "YulFunctionCall",
"src": "14538:14:5"
},
{
"hexValue": "536166654d6174683a206164646974696f6e206f766572666c6f77",
"kind": "string",
"nodeType": "YulLiteral",
"src": "14554:29:5",
"type": "",
"value": "SafeMath: addition overflow"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "14531:6:5"
},
"nodeType": "YulFunctionCall",
"src": "14531:53:5"
},
"nodeType": "YulExpressionStatement",
"src": "14531:53:5"
}
]
},
"name": "store_literal_in_memory_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "14512:6:5",
"type": ""
}
],
"src": "14414:177:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "14743:220:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "14753:74:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "14819:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14824:2:5",
"type": "",
"value": "27"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "14760:58:5"
},
"nodeType": "YulFunctionCall",
"src": "14760:67:5"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "14753:3:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "14925:3:5"
}
],
"functionName": {
"name": "store_literal_in_memory_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a",
"nodeType": "YulIdentifier",
"src": "14836:88:5"
},
"nodeType": "YulFunctionCall",
"src": "14836:93:5"
},
"nodeType": "YulExpressionStatement",
"src": "14836:93:5"
},
{
"nodeType": "YulAssignment",
"src": "14938:19:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "14949:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14954:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "14945:3:5"
},
"nodeType": "YulFunctionCall",
"src": "14945:12:5"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "14938:3:5"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "14731:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "14739:3:5",
"type": ""
}
],
"src": "14597:366:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "15140:248:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "15150:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "15162:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15173:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "15158:3:5"
},
"nodeType": "YulFunctionCall",
"src": "15158:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "15150:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "15197:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15208:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "15193:3:5"
},
"nodeType": "YulFunctionCall",
"src": "15193:17:5"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "15216:4:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "15222:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "15212:3:5"
},
"nodeType": "YulFunctionCall",
"src": "15212:20:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "15186:6:5"
},
"nodeType": "YulFunctionCall",
"src": "15186:47:5"
},
"nodeType": "YulExpressionStatement",
"src": "15186:47:5"
},
{
"nodeType": "YulAssignment",
"src": "15242:139:5",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "15376:4:5"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "15250:124:5"
},
"nodeType": "YulFunctionCall",
"src": "15250:131:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "15242:4:5"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "15120:9:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "15135:4:5",
"type": ""
}
],
"src": "14969:419:5"
}
]
},
"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_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function store_literal_in_memory_b958b17628fb24ecc7d6ab15f85e64e4b96569ce6bb6771328606ab81a75daeb(memPtr) {\n\n mstore(add(memPtr, 0), \"Reentrant call\")\n\n }\n\n function abi_encode_t_stringliteral_b958b17628fb24ecc7d6ab15f85e64e4b96569ce6bb6771328606ab81a75daeb_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 14)\n store_literal_in_memory_b958b17628fb24ecc7d6ab15f85e64e4b96569ce6bb6771328606ab81a75daeb(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_b958b17628fb24ecc7d6ab15f85e64e4b96569ce6bb6771328606ab81a75daeb__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b958b17628fb24ecc7d6ab15f85e64e4b96569ce6bb6771328606ab81a75daeb_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_fa208c4a99845c7f61f605c0b3c0499a9bdde70775b25d84a8b36a36a9f1b9cb(memPtr) {\n\n mstore(add(memPtr, 0), \"Der Contract ist pausiert\")\n\n }\n\n function abi_encode_t_stringliteral_fa208c4a99845c7f61f605c0b3c0499a9bdde70775b25d84a8b36a36a9f1b9cb_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_fa208c4a99845c7f61f605c0b3c0499a9bdde70775b25d84a8b36a36a9f1b9cb(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_fa208c4a99845c7f61f605c0b3c0499a9bdde70775b25d84a8b36a36a9f1b9cb__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_fa208c4a99845c7f61f605c0b3c0499a9bdde70775b25d84a8b36a36a9f1b9cb_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_90d5e4130d6b4a3b3611ac85aa4099b61ca4c851ac271e6391ed11395cf43b8e(memPtr) {\n\n mstore(add(memPtr, 0), \"Ungueltige Adresse\")\n\n }\n\n function abi_encode_t_stringliteral_90d5e4130d6b4a3b3611ac85aa4099b61ca4c851ac271e6391ed11395cf43b8e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 18)\n store_literal_in_memory_90d5e4130d6b4a3b3611ac85aa4099b61ca4c851ac271e6391ed11395cf43b8e(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_90d5e4130d6b4a3b3611ac85aa4099b61ca4c851ac271e6391ed11395cf43b8e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_90d5e4130d6b4a3b3611ac85aa4099b61ca4c851ac271e6391ed11395cf43b8e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5(memPtr) {\n\n mstore(add(memPtr, 0), \"Insufficient balance\")\n\n }\n\n function abi_encode_t_stringliteral_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 20)\n store_literal_in_memory_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc(memPtr) {\n\n mstore(add(memPtr, 0), \"Insufficient allowance\")\n\n }\n\n function abi_encode_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_3bcc3856cb500d11876a7175203bec2d401f5a095d8084bdf674a07e7d8207fd(memPtr) {\n\n mstore(add(memPtr, 0), \"Sie sind nicht der Besitzer\")\n\n }\n\n function abi_encode_t_stringliteral_3bcc3856cb500d11876a7175203bec2d401f5a095d8084bdf674a07e7d8207fd_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 27)\n store_literal_in_memory_3bcc3856cb500d11876a7175203bec2d401f5a095d8084bdf674a07e7d8207fd(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_3bcc3856cb500d11876a7175203bec2d401f5a095d8084bdf674a07e7d8207fd__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_3bcc3856cb500d11876a7175203bec2d401f5a095d8084bdf674a07e7d8207fd_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_eb3864ac9c0e42a0d896ac4a9a9e19841835adca678fb992d18be42cb4232396(memPtr) {\n\n mstore(add(memPtr, 0), \"Der Contract ist nicht pausiert\")\n\n }\n\n function abi_encode_t_stringliteral_eb3864ac9c0e42a0d896ac4a9a9e19841835adca678fb992d18be42cb4232396_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n store_literal_in_memory_eb3864ac9c0e42a0d896ac4a9a9e19841835adca678fb992d18be42cb4232396(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_eb3864ac9c0e42a0d896ac4a9a9e19841835adca678fb992d18be42cb4232396__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_eb3864ac9c0e42a0d896ac4a9a9e19841835adca678fb992d18be42cb4232396_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function store_literal_in_memory_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862(memPtr) {\n\n mstore(add(memPtr, 0), \"SafeMath: subtraction overflow\")\n\n }\n\n function abi_encode_t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 30)\n store_literal_in_memory_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n function store_literal_in_memory_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a(memPtr) {\n\n mstore(add(memPtr, 0), \"SafeMath: addition overflow\")\n\n }\n\n function abi_encode_t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 27)\n store_literal_in_memory_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n",
"id": 5,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100ce5760003560e01c80633f4ba83a1161008c57806395d89b411161006657806395d89b4114610201578063a9059cbb1461021f578063b187bd261461024f578063dd62ed3e1461026d576100ce565b80633f4ba83a146101bd57806370a08231146101c75780638456cb59146101f7576100ce565b80623f07fa146100d357806306fdde0314610103578063095ea7b31461012157806318160ddd1461015157806323b872dd1461016f578063313ce5671461019f575b600080fd5b6100ed60048036038101906100e891906111bb565b61029d565b6040516100fa9190611203565b60405180910390f35b61010b6102d6565b60405161011891906112ae565b60405180910390f35b61013b60048036038101906101369190611306565b61030f565b6040516101489190611203565b60405180910390f35b61015961051b565b6040516101669190611355565b60405180910390f35b61018960048036038101906101849190611370565b610521565b6040516101969190611203565b60405180910390f35b6101a76109df565b6040516101b491906113df565b60405180910390f35b6101c56109e4565b005b6101e160048036038101906101dc91906111bb565b610b14565b6040516101ee9190611355565b60405180910390f35b6101ff610b5d565b005b610209610c8e565b60405161021691906112ae565b60405180910390f35b61023960048036038101906102349190611306565b610cc7565b6040516102469190611203565b60405180910390f35b610257610ffe565b6040516102649190611203565b60405180910390f35b610287600480360381019061028291906113fa565b611014565b6040516102949190611355565b60405180910390f35b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6040518060400160405280600981526020017f4a6f6e6e79436f696e000000000000000000000000000000000000000000000081525081565b60008060159054906101000a900460ff1615610360576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035790611486565b60405180910390fd5b6001600060156101000a81548160ff02191690831515021790555060008054906101000a900460ff16156103c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c0906114f2565b60405180910390fd5b6103d28361029d565b610411576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104089061155e565b60405180910390fd5b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104ef9190611355565b60405180910390a36001905060008060156101000a81548160ff02191690831515021790555092915050565b60015481565b60008060159054906101000a900460ff1615610572576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056990611486565b60405180910390fd5b6001600060156101000a81548160ff02191690831515021790555060008054906101000a900460ff16156105db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d2906114f2565b60405180910390fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561065d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610654906115ca565b60405180910390fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561071c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071390611636565b60405180910390fd5b61076e82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461109b90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061084082600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461109b90919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061091282600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110fa90919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516109b29190611355565b60405180910390a36001905060008060156101000a81548160ff0219169083151502179055509392505050565b600081565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6b906116a2565b60405180910390fd5b60008054906101000a900460ff16610ac1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab89061170e565b60405180910390fd5b60008060006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051610b0a919061173d565b60405180910390a1565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be4906116a2565b60405180910390fd5b60008054906101000a900460ff1615610c3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c32906114f2565b60405180910390fd5b60016000806101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051610c84919061173d565b60405180910390a1565b6040518060400160405280600381526020017f4a4e43000000000000000000000000000000000000000000000000000000000081525081565b60008060159054906101000a900460ff1615610d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0f90611486565b60405180910390fd5b6001600060156101000a81548160ff02191690831515021790555060008054906101000a900460ff1615610d81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d78906114f2565b60405180910390fd5b610d8a8361029d565b610dc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc09061155e565b60405180910390fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e42906115ca565b60405180910390fd5b610e9d82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461109b90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f3282600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110fa90919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610fd29190611355565b60405180910390a36001905060008060156101000a81548160ff02191690831515021790555092915050565b60008060009054906101000a900460ff16905090565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211156110e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d7906117a4565b60405180910390fd5b600082846110ee91906117f3565b90508091505092915050565b60008082846111099190611827565b90508381101561114e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611145906118a7565b60405180910390fd5b8091505092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006111888261115d565b9050919050565b6111988161117d565b81146111a357600080fd5b50565b6000813590506111b58161118f565b92915050565b6000602082840312156111d1576111d0611158565b5b60006111df848285016111a6565b91505092915050565b60008115159050919050565b6111fd816111e8565b82525050565b600060208201905061121860008301846111f4565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561125857808201518184015260208101905061123d565b60008484015250505050565b6000601f19601f8301169050919050565b60006112808261121e565b61128a8185611229565b935061129a81856020860161123a565b6112a381611264565b840191505092915050565b600060208201905081810360008301526112c88184611275565b905092915050565b6000819050919050565b6112e3816112d0565b81146112ee57600080fd5b50565b600081359050611300816112da565b92915050565b6000806040838503121561131d5761131c611158565b5b600061132b858286016111a6565b925050602061133c858286016112f1565b9150509250929050565b61134f816112d0565b82525050565b600060208201905061136a6000830184611346565b92915050565b60008060006060848603121561138957611388611158565b5b6000611397868287016111a6565b93505060206113a8868287016111a6565b92505060406113b9868287016112f1565b9150509250925092565b600060ff82169050919050565b6113d9816113c3565b82525050565b60006020820190506113f460008301846113d0565b92915050565b6000806040838503121561141157611410611158565b5b600061141f858286016111a6565b9250506020611430858286016111a6565b9150509250929050565b7f5265656e7472616e742063616c6c000000000000000000000000000000000000600082015250565b6000611470600e83611229565b915061147b8261143a565b602082019050919050565b6000602082019050818103600083015261149f81611463565b9050919050565b7f44657220436f6e74726163742069737420706175736965727400000000000000600082015250565b60006114dc601983611229565b91506114e7826114a6565b602082019050919050565b6000602082019050818103600083015261150b816114cf565b9050919050565b7f556e6775656c7469676520416472657373650000000000000000000000000000600082015250565b6000611548601283611229565b915061155382611512565b602082019050919050565b600060208201905081810360008301526115778161153b565b9050919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b60006115b4601483611229565b91506115bf8261157e565b602082019050919050565b600060208201905081810360008301526115e3816115a7565b9050919050565b7f496e73756666696369656e7420616c6c6f77616e636500000000000000000000600082015250565b6000611620601683611229565b915061162b826115ea565b602082019050919050565b6000602082019050818103600083015261164f81611613565b9050919050565b7f5369652073696e64206e69636874206465722042657369747a65720000000000600082015250565b600061168c601b83611229565b915061169782611656565b602082019050919050565b600060208201905081810360008301526116bb8161167f565b9050919050565b7f44657220436f6e747261637420697374206e6963687420706175736965727400600082015250565b60006116f8601f83611229565b9150611703826116c2565b602082019050919050565b60006020820190508181036000830152611727816116eb565b9050919050565b6117378161117d565b82525050565b6000602082019050611752600083018461172e565b92915050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000600082015250565b600061178e601e83611229565b915061179982611758565b602082019050919050565b600060208201905081810360008301526117bd81611781565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006117fe826112d0565b9150611809836112d0565b9250828203905081811115611821576118206117c4565b5b92915050565b6000611832826112d0565b915061183d836112d0565b9250828201905080821115611855576118546117c4565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000611891601b83611229565b915061189c8261185b565b602082019050919050565b600060208201905081810360008301526118c081611884565b905091905056fea2646970667358221220cdc8da00a719827265180af2b4807642b46587f362b250e873a3ac59c8802c6964736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xCE JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3F4BA83A GT PUSH2 0x8C JUMPI DUP1 PUSH4 0x95D89B41 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x201 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x21F JUMPI DUP1 PUSH4 0xB187BD26 EQ PUSH2 0x24F JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x26D JUMPI PUSH2 0xCE JUMP JUMPDEST DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x1BD JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1C7 JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x1F7 JUMPI PUSH2 0xCE JUMP JUMPDEST DUP1 PUSH3 0x3F07FA EQ PUSH2 0xD3 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x103 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x121 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x151 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x16F JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x19F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xED PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE8 SWAP2 SWAP1 PUSH2 0x11BB JUMP JUMPDEST PUSH2 0x29D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFA SWAP2 SWAP1 PUSH2 0x1203 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x10B PUSH2 0x2D6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x118 SWAP2 SWAP1 PUSH2 0x12AE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x13B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x136 SWAP2 SWAP1 PUSH2 0x1306 JUMP JUMPDEST PUSH2 0x30F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x148 SWAP2 SWAP1 PUSH2 0x1203 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x159 PUSH2 0x51B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x166 SWAP2 SWAP1 PUSH2 0x1355 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x189 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x184 SWAP2 SWAP1 PUSH2 0x1370 JUMP JUMPDEST PUSH2 0x521 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x196 SWAP2 SWAP1 PUSH2 0x1203 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1A7 PUSH2 0x9DF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B4 SWAP2 SWAP1 PUSH2 0x13DF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1C5 PUSH2 0x9E4 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1E1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1DC SWAP2 SWAP1 PUSH2 0x11BB JUMP JUMPDEST PUSH2 0xB14 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1EE SWAP2 SWAP1 PUSH2 0x1355 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1FF PUSH2 0xB5D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x209 PUSH2 0xC8E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x216 SWAP2 SWAP1 PUSH2 0x12AE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x239 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x234 SWAP2 SWAP1 PUSH2 0x1306 JUMP JUMPDEST PUSH2 0xCC7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x246 SWAP2 SWAP1 PUSH2 0x1203 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x257 PUSH2 0xFFE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x264 SWAP2 SWAP1 PUSH2 0x1203 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x287 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x282 SWAP2 SWAP1 PUSH2 0x13FA JUMP JUMPDEST PUSH2 0x1014 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x294 SWAP2 SWAP1 PUSH2 0x1355 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x9 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4A6F6E6E79436F696E0000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x15 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x360 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x357 SWAP1 PUSH2 0x1486 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 PUSH1 0x15 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x3C9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3C0 SWAP1 PUSH2 0x14F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3D2 DUP4 PUSH2 0x29D JUMP JUMPDEST PUSH2 0x411 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x408 SWAP1 PUSH2 0x155E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x3 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 PUSH1 0x40 MLOAD PUSH2 0x4EF SWAP2 SWAP1 PUSH2 0x1355 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x15 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x15 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x572 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x569 SWAP1 PUSH2 0x1486 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 PUSH1 0x15 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x5DB JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5D2 SWAP1 PUSH2 0x14F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0x65D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x654 SWAP1 PUSH2 0x15CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0x71C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x713 SWAP1 PUSH2 0x1636 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x76E DUP3 PUSH1 0x2 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x109B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x840 DUP3 PUSH1 0x3 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x109B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x912 DUP3 PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x10FA SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0x9B2 SWAP2 SWAP1 PUSH2 0x1355 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x15 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xA74 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA6B SWAP1 PUSH2 0x16A2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0xAC1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xAB8 SWAP1 PUSH2 0x170E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA CALLER PUSH1 0x40 MLOAD PUSH2 0xB0A SWAP2 SWAP1 PUSH2 0x173D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xBED JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xBE4 SWAP1 PUSH2 0x16A2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xC3B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC32 SWAP1 PUSH2 0x14F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 CALLER PUSH1 0x40 MLOAD PUSH2 0xC84 SWAP2 SWAP1 PUSH2 0x173D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4A4E430000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x15 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xD18 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD0F SWAP1 PUSH2 0x1486 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 PUSH1 0x15 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xD81 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD78 SWAP1 PUSH2 0x14F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xD8A DUP4 PUSH2 0x29D JUMP JUMPDEST PUSH2 0xDC9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDC0 SWAP1 PUSH2 0x155E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO PUSH2 0xE4B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE42 SWAP1 PUSH2 0x15CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xE9D DUP3 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x109B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0xF32 DUP3 PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x10FA SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0xFD2 SWAP2 SWAP1 PUSH2 0x1355 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x15 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 GT ISZERO PUSH2 0x10E0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x10D7 SWAP1 PUSH2 0x17A4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP5 PUSH2 0x10EE SWAP2 SWAP1 PUSH2 0x17F3 JUMP JUMPDEST SWAP1 POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 PUSH2 0x1109 SWAP2 SWAP1 PUSH2 0x1827 JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x114E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1145 SWAP1 PUSH2 0x18A7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1188 DUP3 PUSH2 0x115D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1198 DUP2 PUSH2 0x117D JUMP JUMPDEST DUP2 EQ PUSH2 0x11A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x11B5 DUP2 PUSH2 0x118F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x11D1 JUMPI PUSH2 0x11D0 PUSH2 0x1158 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x11DF DUP5 DUP3 DUP6 ADD PUSH2 0x11A6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x11FD DUP2 PUSH2 0x11E8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1218 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x11F4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1258 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x123D JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1280 DUP3 PUSH2 0x121E JUMP JUMPDEST PUSH2 0x128A DUP2 DUP6 PUSH2 0x1229 JUMP JUMPDEST SWAP4 POP PUSH2 0x129A DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x123A JUMP JUMPDEST PUSH2 0x12A3 DUP2 PUSH2 0x1264 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12C8 DUP2 DUP5 PUSH2 0x1275 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x12E3 DUP2 PUSH2 0x12D0 JUMP JUMPDEST DUP2 EQ PUSH2 0x12EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1300 DUP2 PUSH2 0x12DA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x131D JUMPI PUSH2 0x131C PUSH2 0x1158 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x132B DUP6 DUP3 DUP7 ADD PUSH2 0x11A6 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x133C DUP6 DUP3 DUP7 ADD PUSH2 0x12F1 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x134F DUP2 PUSH2 0x12D0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x136A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1346 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1389 JUMPI PUSH2 0x1388 PUSH2 0x1158 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1397 DUP7 DUP3 DUP8 ADD PUSH2 0x11A6 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x13A8 DUP7 DUP3 DUP8 ADD PUSH2 0x11A6 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x13B9 DUP7 DUP3 DUP8 ADD PUSH2 0x12F1 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x13D9 DUP2 PUSH2 0x13C3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x13F4 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x13D0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1411 JUMPI PUSH2 0x1410 PUSH2 0x1158 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x141F DUP6 DUP3 DUP7 ADD PUSH2 0x11A6 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1430 DUP6 DUP3 DUP7 ADD PUSH2 0x11A6 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x5265656E7472616E742063616C6C000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1470 PUSH1 0xE DUP4 PUSH2 0x1229 JUMP JUMPDEST SWAP2 POP PUSH2 0x147B DUP3 PUSH2 0x143A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x149F DUP2 PUSH2 0x1463 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x44657220436F6E74726163742069737420706175736965727400000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14DC PUSH1 0x19 DUP4 PUSH2 0x1229 JUMP JUMPDEST SWAP2 POP PUSH2 0x14E7 DUP3 PUSH2 0x14A6 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x150B DUP2 PUSH2 0x14CF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x556E6775656C7469676520416472657373650000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1548 PUSH1 0x12 DUP4 PUSH2 0x1229 JUMP JUMPDEST SWAP2 POP PUSH2 0x1553 DUP3 PUSH2 0x1512 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1577 DUP2 PUSH2 0x153B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x496E73756666696369656E742062616C616E6365000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15B4 PUSH1 0x14 DUP4 PUSH2 0x1229 JUMP JUMPDEST SWAP2 POP PUSH2 0x15BF DUP3 PUSH2 0x157E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x15E3 DUP2 PUSH2 0x15A7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x496E73756666696369656E7420616C6C6F77616E636500000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1620 PUSH1 0x16 DUP4 PUSH2 0x1229 JUMP JUMPDEST SWAP2 POP PUSH2 0x162B DUP3 PUSH2 0x15EA JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x164F DUP2 PUSH2 0x1613 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x5369652073696E64206E69636874206465722042657369747A65720000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x168C PUSH1 0x1B DUP4 PUSH2 0x1229 JUMP JUMPDEST SWAP2 POP PUSH2 0x1697 DUP3 PUSH2 0x1656 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x16BB DUP2 PUSH2 0x167F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x44657220436F6E747261637420697374206E6963687420706175736965727400 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16F8 PUSH1 0x1F DUP4 PUSH2 0x1229 JUMP JUMPDEST SWAP2 POP PUSH2 0x1703 DUP3 PUSH2 0x16C2 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1727 DUP2 PUSH2 0x16EB JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1737 DUP2 PUSH2 0x117D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1752 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x172E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x536166654D6174683A207375627472616374696F6E206F766572666C6F770000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x178E PUSH1 0x1E DUP4 PUSH2 0x1229 JUMP JUMPDEST SWAP2 POP PUSH2 0x1799 DUP3 PUSH2 0x1758 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x17BD DUP2 PUSH2 0x1781 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x17FE DUP3 PUSH2 0x12D0 JUMP JUMPDEST SWAP2 POP PUSH2 0x1809 DUP4 PUSH2 0x12D0 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x1821 JUMPI PUSH2 0x1820 PUSH2 0x17C4 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1832 DUP3 PUSH2 0x12D0 JUMP JUMPDEST SWAP2 POP PUSH2 0x183D DUP4 PUSH2 0x12D0 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x1855 JUMPI PUSH2 0x1854 PUSH2 0x17C4 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x536166654D6174683A206164646974696F6E206F766572666C6F770000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1891 PUSH1 0x1B DUP4 PUSH2 0x1229 JUMP JUMPDEST SWAP2 POP PUSH2 0x189C DUP3 PUSH2 0x185B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x18C0 DUP2 PUSH2 0x1884 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xCD 0xC8 0xDA STOP 0xA7 NOT DUP3 PUSH19 0x65180AF2B4807642B46587F362B250E873A3AC MSIZE 0xC8 DUP1 0x2C PUSH10 0x64736F6C634300081300 CALLER ",
"sourceMap": "314:3017:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;305:107:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;546:41:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2128:302;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;676:36;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2578:535;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;636:34;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;735:114:2;;;:::i;:::-;;1339:113:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;617:112:2;;;:::i;:::-;;593:37:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1568:429;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;855:78:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3186:142:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;305:107:0;364:4;403:1;387:18;;:4;:18;;;;380:25;;305:107;;;:::o;546:41:1:-;;;;;;;;;;;;;;;;;;;:::o;2128:302::-;2222:12;159:8:3;;;;;;;;;;;158:9;150:36;;;;;;;;;;;;:::i;:::-;;;;;;;;;207:4;196:8;;:15;;;;;;;;;;;;;;;;;;368:7:2::1;::::0;::::1;;;;;;;;367:8;359:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2254:24:1::2;2269:8;2254:14;:24::i;:::-;2246:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;2343:6;2311:7;:19;2319:10;2311:19;;;;;;;;;;;;;;;:29;2331:8;2311:29;;;;;;;;;;;;;;;:38;;;;2385:8;2364:38;;2373:10;2364:38;;;2395:6;2364:38;;;;;;:::i;:::-;;;;;;;;2419:4;2412:11;;243:5:3::0;232:8;;:16;;;;;;;;;;;;;;;;;;2128:302:1;;;;:::o;676:36::-;;;;:::o;2578:535::-;2687:12;159:8:3;;;;;;;;;;;158:9;150:36;;;;;;;;;;;;:::i;:::-;;;;;;;;;207:4;196:8;;:15;;;;;;;;;;;;;;;;;;368:7:2::1;::::0;::::1;;;;;;;;367:8;359:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2729:8:1::2;:15;2738:5;2729:15;;;;;;;;;;;;;;;;2719:6;:25;;2711:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;2797:7;:14;2805:5;2797:14;;;;;;;;;;;;;;;:26;2812:10;2797:26;;;;;;;;;;;;;;;;2787:6;:36;;2779:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;2887:27;2907:6;2887:8;:15;2896:5;2887:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;2869:8;:15;2878:5;2869:15;;;;;;;;;;;;;;;:45;;;;2953:38;2984:6;2953:7;:14;2961:5;2953:14;;;;;;;;;;;;;;;:26;2968:10;2953:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;2924:7;:14;2932:5;2924:14;;;;;;;;;;;;;;;:26;2939:10;2924:26;;;;;;;;;;;;;;;:67;;;;3017:25;3035:6;3017:8;:13;3026:3;3017:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;3001:8;:13;3010:3;3001:13;;;;;;;;;;;;;;;:41;;;;3073:3;3057:28;;3066:5;3057:28;;;3078:6;3057:28;;;;;;:::i;:::-;;;;;;;;3102:4;3095:11;;243:5:3::0;232:8;;:16;;;;;;;;;;;;;;;;;;2578:535:1;;;;;:::o;636:34::-;669:1;636:34;:::o;735:114:2:-;262:6;;;;;;;;;;;248:20;;:10;:20;;;240:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;469:7:::1;::::0;::::1;;;;;;;;461:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;802:5:::2;792:7:::0;::::2;:15;;;;;;;;;;;;;;;;;;822:20;831:10;822:20;;;;;;:::i;:::-;;;;;;;;735:114::o:0;1339:113:1:-;1395:15;1429:8;:16;1438:6;1429:16;;;;;;;;;;;;;;;;1422:23;;1339:113;;;:::o;617:112:2:-;262:6;;;;;;;;;;;248:20;;:10;:20;;;240:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;368:7:::1;::::0;::::1;;;;;;;;367:8;359:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;685:4:::2;675:7;::::0;:14:::2;;;;;;;;;;;;;;;;;;704:18;711:10;704:18;;;;;;:::i;:::-;;;;;;;;617:112::o:0;593:37:1:-;;;;;;;;;;;;;;;;;;;:::o;1568:429::-;1658:12;159:8:3;;;;;;;;;;;158:9;150:36;;;;;;;;;;;;:::i;:::-;;;;;;;;;207:4;196:8;;:15;;;;;;;;;;;;;;;;;;368:7:2::1;::::0;::::1;;;;;;;;367:8;359:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1690:19:1::2;1705:3;1690:14;:19::i;:::-;1682:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;1774:6;1750:8;:20;1759:10;1750:20;;;;;;;;;;;;;;;;:30;;1742:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1838:32;1863:6;1838:8;:20;1847:10;1838:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;1815:8;:20;1824:10;1815:20;;;;;;;;;;;;;;;:55;;;;1896:25;1914:6;1896:8;:13;1905:3;1896:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1880:8;:13;1889:3;1880:13;;;;;;;;;;;;;;;:41;;;;1957:3;1936:33;;1945:10;1936:33;;;1962:6;1936:33;;;;;;:::i;:::-;;;;;;;;1986:4;1979:11;;243:5:3::0;232:8;;:16;;;;;;;;;;;;;;;;;;1568:429:1;;;;:::o;855:78:2:-;896:4;919:7;;;;;;;;;;;912:14;;855:78;:::o;3186:142:1:-;3260:17;3296:7;:15;3304:6;3296:15;;;;;;;;;;;;;;;:25;3312:8;3296:25;;;;;;;;;;;;;;;;3289:32;;3186:142;;;;:::o;571:179:4:-;629:7;661:1;656;:6;;648:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;707:9;723:1;719;:5;;;;:::i;:::-;707:17;;742:1;735:8;;;571:179;;;;:::o;232:176::-;290:7;309:9;325:1;321;:5;;;;:::i;:::-;309:17;;349:1;344;:6;;336:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;400:1;393:8;;;232:176;;;;:::o;88:117:5:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:90::-;1210:7;1253:5;1246:13;1239:21;1228:32;;1176:90;;;:::o;1272:109::-;1353:21;1368:5;1353:21;:::i;:::-;1348:3;1341:34;1272:109;;:::o;1387:210::-;1474:4;1512:2;1501:9;1497:18;1489:26;;1525:65;1587:1;1576:9;1572:17;1563:6;1525:65;:::i;:::-;1387:210;;;;:::o;1603:99::-;1655:6;1689:5;1683:12;1673:22;;1603:99;;;:::o;1708:169::-;1792:11;1826:6;1821:3;1814:19;1866:4;1861:3;1857:14;1842:29;;1708:169;;;;:::o;1883:246::-;1964:1;1974:113;1988:6;1985:1;1982:13;1974:113;;;2073:1;2068:3;2064:11;2058:18;2054:1;2049:3;2045:11;2038:39;2010:2;2007:1;2003:10;1998:15;;1974:113;;;2121:1;2112:6;2107:3;2103:16;2096:27;1945:184;1883:246;;;:::o;2135:102::-;2176:6;2227:2;2223:7;2218:2;2211:5;2207:14;2203:28;2193:38;;2135:102;;;:::o;2243:377::-;2331:3;2359:39;2392:5;2359:39;:::i;:::-;2414:71;2478:6;2473:3;2414:71;:::i;:::-;2407:78;;2494:65;2552:6;2547:3;2540:4;2533:5;2529:16;2494:65;:::i;:::-;2584:29;2606:6;2584:29;:::i;:::-;2579:3;2575:39;2568:46;;2335:285;2243:377;;;;:::o;2626:313::-;2739:4;2777:2;2766:9;2762:18;2754:26;;2826:9;2820:4;2816:20;2812:1;2801:9;2797:17;2790:47;2854:78;2927:4;2918:6;2854:78;:::i;:::-;2846:86;;2626:313;;;;:::o;2945:77::-;2982:7;3011:5;3000:16;;2945:77;;;:::o;3028:122::-;3101:24;3119:5;3101:24;:::i;:::-;3094:5;3091:35;3081:63;;3140:1;3137;3130:12;3081:63;3028:122;:::o;3156:139::-;3202:5;3240:6;3227:20;3218:29;;3256:33;3283:5;3256:33;:::i;:::-;3156:139;;;;:::o;3301:474::-;3369:6;3377;3426:2;3414:9;3405:7;3401:23;3397:32;3394:119;;;3432:79;;:::i;:::-;3394:119;3552:1;3577:53;3622:7;3613:6;3602:9;3598:22;3577:53;:::i;:::-;3567:63;;3523:117;3679:2;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3650:118;3301:474;;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:474::-;5256:6;5264;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5566:2;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5537:118;5188:474;;;;;:::o;5668:164::-;5808:16;5804:1;5796:6;5792:14;5785:40;5668:164;:::o;5838:366::-;5980:3;6001:67;6065:2;6060:3;6001:67;:::i;:::-;5994:74;;6077:93;6166:3;6077:93;:::i;:::-;6195:2;6190:3;6186:12;6179:19;;5838:366;;;:::o;6210:419::-;6376:4;6414:2;6403:9;6399:18;6391:26;;6463:9;6457:4;6453:20;6449:1;6438:9;6434:17;6427:47;6491:131;6617:4;6491:131;:::i;:::-;6483:139;;6210:419;;;:::o;6635:175::-;6775:27;6771:1;6763:6;6759:14;6752:51;6635:175;:::o;6816:366::-;6958:3;6979:67;7043:2;7038:3;6979:67;:::i;:::-;6972:74;;7055:93;7144:3;7055:93;:::i;:::-;7173:2;7168:3;7164:12;7157:19;;6816:366;;;:::o;7188:419::-;7354:4;7392:2;7381:9;7377:18;7369:26;;7441:9;7435:4;7431:20;7427:1;7416:9;7412:17;7405:47;7469:131;7595:4;7469:131;:::i;:::-;7461:139;;7188:419;;;:::o;7613:168::-;7753:20;7749:1;7741:6;7737:14;7730:44;7613:168;:::o;7787:366::-;7929:3;7950:67;8014:2;8009:3;7950:67;:::i;:::-;7943:74;;8026:93;8115:3;8026:93;:::i;:::-;8144:2;8139:3;8135:12;8128:19;;7787:366;;;:::o;8159:419::-;8325:4;8363:2;8352:9;8348:18;8340:26;;8412:9;8406:4;8402:20;8398:1;8387:9;8383:17;8376:47;8440:131;8566:4;8440:131;:::i;:::-;8432:139;;8159:419;;;:::o;8584:170::-;8724:22;8720:1;8712:6;8708:14;8701:46;8584:170;:::o;8760:366::-;8902:3;8923:67;8987:2;8982:3;8923:67;:::i;:::-;8916:74;;8999:93;9088:3;8999:93;:::i;:::-;9117:2;9112:3;9108:12;9101:19;;8760:366;;;:::o;9132:419::-;9298:4;9336:2;9325:9;9321:18;9313:26;;9385:9;9379:4;9375:20;9371:1;9360:9;9356:17;9349:47;9413:131;9539:4;9413:131;:::i;:::-;9405:139;;9132:419;;;:::o;9557:172::-;9697:24;9693:1;9685:6;9681:14;9674:48;9557:172;:::o;9735:366::-;9877:3;9898:67;9962:2;9957:3;9898:67;:::i;:::-;9891:74;;9974:93;10063:3;9974:93;:::i;:::-;10092:2;10087:3;10083:12;10076:19;;9735:366;;;:::o;10107:419::-;10273:4;10311:2;10300:9;10296:18;10288:26;;10360:9;10354:4;10350:20;10346:1;10335:9;10331:17;10324:47;10388:131;10514:4;10388:131;:::i;:::-;10380:139;;10107:419;;;:::o;10532:177::-;10672:29;10668:1;10660:6;10656:14;10649:53;10532:177;:::o;10715:366::-;10857:3;10878:67;10942:2;10937:3;10878:67;:::i;:::-;10871:74;;10954:93;11043:3;10954:93;:::i;:::-;11072:2;11067:3;11063:12;11056:19;;10715:366;;;:::o;11087:419::-;11253:4;11291:2;11280:9;11276:18;11268:26;;11340:9;11334:4;11330:20;11326:1;11315:9;11311:17;11304:47;11368:131;11494:4;11368:131;:::i;:::-;11360:139;;11087:419;;;:::o;11512:181::-;11652:33;11648:1;11640:6;11636:14;11629:57;11512:181;:::o;11699:366::-;11841:3;11862:67;11926:2;11921:3;11862:67;:::i;:::-;11855:74;;11938:93;12027:3;11938:93;:::i;:::-;12056:2;12051:3;12047:12;12040:19;;11699:366;;;:::o;12071:419::-;12237:4;12275:2;12264:9;12260:18;12252:26;;12324:9;12318:4;12314:20;12310:1;12299:9;12295:17;12288:47;12352:131;12478:4;12352:131;:::i;:::-;12344:139;;12071:419;;;:::o;12496:118::-;12583:24;12601:5;12583:24;:::i;:::-;12578:3;12571:37;12496:118;;:::o;12620:222::-;12713:4;12751:2;12740:9;12736:18;12728:26;;12764:71;12832:1;12821:9;12817:17;12808:6;12764:71;:::i;:::-;12620:222;;;;:::o;12848:180::-;12988:32;12984:1;12976:6;12972:14;12965:56;12848:180;:::o;13034:366::-;13176:3;13197:67;13261:2;13256:3;13197:67;:::i;:::-;13190:74;;13273:93;13362:3;13273:93;:::i;:::-;13391:2;13386:3;13382:12;13375:19;;13034:366;;;:::o;13406:419::-;13572:4;13610:2;13599:9;13595:18;13587:26;;13659:9;13653:4;13649:20;13645:1;13634:9;13630:17;13623:47;13687:131;13813:4;13687:131;:::i;:::-;13679:139;;13406:419;;;:::o;13831:180::-;13879:77;13876:1;13869:88;13976:4;13973:1;13966:15;14000:4;13997:1;13990:15;14017:194;14057:4;14077:20;14095:1;14077:20;:::i;:::-;14072:25;;14111:20;14129:1;14111:20;:::i;:::-;14106:25;;14155:1;14152;14148:9;14140:17;;14179:1;14173:4;14170:11;14167:37;;;14184:18;;:::i;:::-;14167:37;14017:194;;;;:::o;14217:191::-;14257:3;14276:20;14294:1;14276:20;:::i;:::-;14271:25;;14310:20;14328:1;14310:20;:::i;:::-;14305:25;;14353:1;14350;14346:9;14339:16;;14374:3;14371:1;14368:10;14365:36;;;14381:18;;:::i;:::-;14365:36;14217:191;;;;:::o;14414:177::-;14554:29;14550:1;14542:6;14538:14;14531:53;14414:177;:::o;14597:366::-;14739:3;14760:67;14824:2;14819:3;14760:67;:::i;:::-;14753:74;;14836:93;14925:3;14836:93;:::i;:::-;14954:2;14949:3;14945:12;14938:19;;14597:366;;;:::o;14969:419::-;15135:4;15173:2;15162:9;15158:18;15150:26;;15222:9;15216:4;15212:20;15208:1;15197:9;15193:17;15186:47;15250:131;15376:4;15250:131;:::i;:::-;15242:139;;14969:419;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "1279400",
"executionCost": "96321",
"totalCost": "1375721"
},
"external": {
"allowance(address,address)": "infinite",
"approve(address,uint256)": "infinite",
"balanceOf(address)": "2886",
"decimals()": "446",
"isPaused()": "2545",
"isValidAddress(address)": "679",
"name()": "infinite",
"pause()": "30090",
"symbol()": "infinite",
"totalSupply()": "2496",
"transfer(address,uint256)": "infinite",
"transferFrom(address,address,uint256)": "infinite",
"unpause()": "30043"
}
},
"methodIdentifiers": {
"allowance(address,address)": "dd62ed3e",
"approve(address,uint256)": "095ea7b3",
"balanceOf(address)": "70a08231",
"decimals()": "313ce567",
"isPaused()": "b187bd26",
"isValidAddress(address)": "003f07fa",
"name()": "06fdde03",
"pause()": "8456cb59",
"symbol()": "95d89b41",
"totalSupply()": "18160ddd",
"transfer(address,uint256)": "a9059cbb",
"transferFrom(address,address,uint256)": "23b872dd",
"unpause()": "3f4ba83a"
}
},
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Paused",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Unpaused",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"internalType": "address",
"name": "_spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "remaining",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "isPaused",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "addr",
"type": "address"
}
],
"name": "isValidAddress",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "unpause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.19+commit.7dd6d404"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Paused",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Unpaused",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"internalType": "address",
"name": "_spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "remaining",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "isPaused",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "addr",
"type": "address"
}
],
"name": "isValidAddress",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "unpause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {
"isValidAddress(address)": {
"details": "Überprüft, ob die angegebene Adresse kein Null-Adresse ist.",
"params": {
"addr": "Die zu überprüfende Adresse."
},
"returns": {
"_0": "bool Wahr, wenn die Adresse gültig ist; andernfalls falsch."
}
}
},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/JonnyCoin.sol": "JonnyCoin"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/AddressValidator.sol": {
"keccak256": "0x6321546b1fd9e37d9d1db8f36f9dcb9485e1d1a278967728285411901f4cb4ed",
"license": "MIT",
"urls": [
"bzz-raw://aa9da7ddc8eb2922abe9f2839cd73b1820ff9239dd4dc07189818dca6a1a4d55",
"dweb:/ipfs/QmWG7WhGRJz1d2soaMTdpvqbFwH38bPiDEmXrSNNgj53bf"
]
},
"contracts/JonnyCoin.sol": {
"keccak256": "0xd48a98f44bf68dd8f54b4cea82ac78b9f9b9db2b03c86fcb94af6f080988f4c1",
"license": "MIT",
"urls": [
"bzz-raw://4bb48575ee1cc8eb398e5a4d3297eafe39adb0b39767e3c39e957957702f5d9e",
"dweb:/ipfs/QmYxpGicfVFwbBo7XjynCwHRTHTiZmGiinBizbQWvroWPm"
]
},
"contracts/Pausable.sol": {
"keccak256": "0x8a9e41ab73c456147fe539eb8a0da8c509c7fdaa654e8dd0f5db9ff4c3d16451",
"license": "MIT",
"urls": [
"bzz-raw://a366159968cf2217c3ad39f19e468b2eb4d05e353b233aea47722854110ab07a",
"dweb:/ipfs/QmYtQpHysHibakKAsjzeRPpZRPApvNAWD21Vkb46QDw9Gx"
]
},
"contracts/ReentrancyGuard.sol": {
"keccak256": "0xe51e0d589428527dea86627e93d1df3beb4e3f9af7b1161f1291914414c6bcde",
"license": "MIT",
"urls": [
"bzz-raw://c49d668ad4310eef4f1ce95fd6a80adf4f41b786988d6b38a69c602b2e3e5098",
"dweb:/ipfs/QmWXSzELKJknst9rszQXzsZ3GSBEtGsdoDrFeWwvokuuba"
]
},
"contracts/SafeMath.sol": {
"keccak256": "0xc2d7d7547aba0c5d2b07bb4dcf76bb1551ea754e1593d03dbe41e316d7a860ba",
"license": "MIT",
"urls": [
"bzz-raw://267ffab5a817b4b8ea553e70cc28da0d0829fa9f75d784450811de3615799d61",
"dweb:/ipfs/QmTyJ67Vmk3ocgtR33qj6ZqfLupHPnFgwpNK7cPRiPiCCA"
]
}
},
"version": 1
}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
// Importieren der externen Bibliotheken und Verträge
import "./SafeMath.sol";
import "./Pausable.sol";
import "./ReentrancyGuard.sol";
import "./AddressValidator.sol";
// Der JonnyCoin-Vertrag, der von Pausable, ReentrancyGuard und AddressValidator erbt
contract JonnyCoin is Pausable, ReentrancyGuard, AddressValidator {
// Verwendung der SafeMath-Bibliothek für sichere mathematische Operationen
using SafeMath for uint256;
// Öffentliche Konstanten für den Token
string public constant name = "JonnyCoin";
string public constant symbol = "JNC";
uint8 public constant decimals = 0;
uint256 public totalSupply = 1000000;
// Speicherung der Token-Balancen und der erlaubten Ausgaben
mapping(address => uint256) balances;
mapping(address => mapping(address => uint256)) allowed;
// Ereignisse, die bei erfolgreichen Transaktionen und Genehmigungen ausgelöst werden
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
// Konstruktor, der den gesamten Token-Vorrat dem Ersteller zuweist
constructor() {
balances[msg.sender] = totalSupply;
}
// Funktion, um die Balance eines Kontos abzufragen
function balanceOf(address _owner) public view returns (uint256 balance) {
return balances[_owner];
}
// Funktion, um Token zu übertragen, unter Anwendung des whenNotPaused-Modifiers und des ReentrancyGuard
function transfer(address _to, uint256 _value) public nonReentrant whenNotPaused returns (bool success) {
require(isValidAddress(_to), "Ungueltige Adresse");
require(balances[msg.sender] >= _value, "Insufficient balance");
balances[msg.sender] = balances[msg.sender].sub(_value);
balances[_to] = balances[_to].add(_value);
emit Transfer(msg.sender, _to, _value);
return true;
}
// Funktion, um eine Ausgabegenehmigung zu erteilen, unter Anwendung des whenNotPaused-Modifiers und des ReentrancyGuard
function approve(address _spender, uint256 _value) public nonReentrant whenNotPaused returns (bool success) {
require(isValidAddress(_spender), "Ungueltige Adresse");
allowed[msg.sender][_spender] = _value;
emit Approval(msg.sender, _spender, _value);
return true;
}
// Funktion, um Token im Auftrag eines anderen Kontos zu übertragen, unter Anwendung des whenNotPaused-Modifiers und des ReentrancyGuard
function transferFrom(address _from, address _to, uint256 _value) public nonReentrant whenNotPaused returns (bool success) {
require(_value <= balances[_from], "Insufficient balance");
require(_value <= allowed[_from][msg.sender], "Insufficient allowance");
balances[_from] = balances[_from].sub(_value);
allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
balances[_to] = balances[_to].add(_value);
emit Transfer(_from, _to, _value);
return true;
}
// Funktion, um die verbleibende Ausgabegenehmigung abzufragen
function allowance(address _owner, address _spender) public view returns (uint256 remaining) {
return allowed[_owner][_spender];
}
}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract Pausable {
bool private _paused;
address private _owner;
event Paused(address account);
event Unpaused(address account);
modifier onlyOwner() {
require(msg.sender == _owner, "Sie sind nicht der Besitzer");
_;
}
modifier whenNotPaused() {
require(!_paused, "Der Contract ist pausiert");
_;
}
modifier whenPaused() {
require(_paused, "Der Contract ist nicht pausiert");
_;
}
constructor() {
_owner = msg.sender;
_paused = false;
}
function pause() public onlyOwner whenNotPaused {
_paused = true;
emit Paused(msg.sender);
}
function unpause() public onlyOwner whenPaused {
_paused = false;
emit Unpaused(msg.sender);
}
function isPaused() public view returns (bool) {
return _paused;
}
}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract ReentrancyGuard {
bool private _entered;
modifier nonReentrant() {
require(!_entered, "Reentrant call");
_entered = true;
_;
_entered = false;
}
}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
library SafeMath {
/**
* @dev Addiert zwei Zahlen und gibt das Ergebnis zurück.
* Wirft einen Overflow-Fehler, wenn die Operation nicht sicher ist.
*/
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
/**
* @dev Subtrahiert zwei Zahlen und gibt das Ergebnis zurück.
* Wirft einen Underflow-Fehler, wenn die Operation nicht sicher ist.
*/
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
require(b <= a, "SafeMath: subtraction overflow");
uint256 c = a - b;
return c;
}
/**
* @dev Multipliziert zwei Zahlen und gibt das Ergebnis zurück.
* Wirft einen Overflow-Fehler, wenn die Operation nicht sicher ist.
*/
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
// Optimierung für den Fall, dass eine der Zahlen 0 ist
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
/**
* @dev Dividiert zwei Zahlen und gibt das Ergebnis zurück.
* Wirft einen Fehler, wenn die Division durch 0 erfolgt.
*/
function div(uint256 a, uint256 b) internal pure returns (uint256) {
require(b > 0, "SafeMath: division by zero");
uint256 c = a / b;
return c;
}
/**
* @dev Dividiert zwei Zahlen und gibt den Rest zurück.
* Wirft einen Fehler, wenn die Division durch 0 erfolgt.
*/
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
require(b != 0, "SafeMath: modulo by zero");
return a % b;
}
}
This file has been truncated, but you can view the full file.
{
"id": "70b502776c96ed9d3ff5d7521ae12ead",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.19",
"solcLongVersion": "0.8.19+commit.7dd6d404",
"input": {
"language": "Solidity",
"sources": {
"contracts/JonnyCoin.sol": {
"content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\n// Importieren der externen Bibliotheken und Verträge\nimport \"./SafeMath.sol\";\nimport \"./Pausable.sol\";\nimport \"./ReentrancyGuard.sol\";\nimport \"./AddressValidator.sol\";\n\n// Der JonnyCoin-Vertrag, der von Pausable, ReentrancyGuard und AddressValidator erbt\ncontract JonnyCoin is Pausable, ReentrancyGuard, AddressValidator {\n // Verwendung der SafeMath-Bibliothek für sichere mathematische Operationen\n using SafeMath for uint256;\n\n // Öffentliche Konstanten für den Token\n string public constant name = \"JonnyCoin\";\n string public constant symbol = \"JNC\";\n uint8 public constant decimals = 0;\n uint256 public totalSupply = 1000000;\n\n // Speicherung der Token-Balancen und der erlaubten Ausgaben\n mapping(address => uint256) balances;\n mapping(address => mapping(address => uint256)) allowed;\n\n // Ereignisse, die bei erfolgreichen Transaktionen und Genehmigungen ausgelöst werden\n event Transfer(address indexed from, address indexed to, uint256 value);\n event Approval(address indexed owner, address indexed spender, uint256 value);\n\n // Konstruktor, der den gesamten Token-Vorrat dem Ersteller zuweist\n constructor() {\n balances[msg.sender] = totalSupply;\n }\n\n // Funktion, um die Balance eines Kontos abzufragen\n function balanceOf(address _owner) public view returns (uint256 balance) {\n return balances[_owner];\n }\n\n // Funktion, um Token zu übertragen, unter Anwendung des whenNotPaused-Modifiers und des ReentrancyGuard\n function transfer(address _to, uint256 _value) public nonReentrant whenNotPaused returns (bool success) {\n require(isValidAddress(_to), \"Ungueltige Adresse\");\n require(balances[msg.sender] >= _value, \"Insufficient balance\");\n balances[msg.sender] = balances[msg.sender].sub(_value);\n balances[_to] = balances[_to].add(_value);\n emit Transfer(msg.sender, _to, _value);\n return true;\n }\n\n // Funktion, um eine Ausgabegenehmigung zu erteilen, unter Anwendung des whenNotPaused-Modifiers und des ReentrancyGuard\n function approve(address _spender, uint256 _value) public nonReentrant whenNotPaused returns (bool success) {\n require(isValidAddress(_spender), \"Ungueltige Adresse\");\n allowed[msg.sender][_spender] = _value;\n emit Approval(msg.sender, _spender, _value);\n return true;\n }\n\n // Funktion, um Token im Auftrag eines anderen Kontos zu übertragen, unter Anwendung des whenNotPaused-Modifiers und des ReentrancyGuard\n function transferFrom(address _from, address _to, uint256 _value) public nonReentrant whenNotPaused returns (bool success) {\n require(_value <= balances[_from], \"Insufficient balance\");\n require(_value <= allowed[_from][msg.sender], \"Insufficient allowance\");\n \n balances[_from] = balances[_from].sub(_value);\n allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);\n balances[_to] = balances[_to].add(_value);\n emit Transfer(_from, _to, _value);\n return true;\n }\n\n // Funktion, um die verbleibende Ausgabegenehmigung abzufragen\n function allowance(address _owner, address _spender) public view returns (uint256 remaining) {\n return allowed[_owner][_spender];\n }\n\n}\n"
},
"contracts/AddressValidator.sol": {
"content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ncontract AddressValidator {\n /**\n * @dev Überprüft, ob die angegebene Adresse kein Null-Adresse ist.\n * @param addr Die zu überprüfende Adresse.\n * @return bool Wahr, wenn die Adresse gültig ist; andernfalls falsch.\n */\n function isValidAddress(address addr) public pure returns (bool) {\n return addr != address(0);\n }\n}\n"
},
"contracts/ReentrancyGuard.sol": {
"content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ncontract ReentrancyGuard {\n bool private _entered;\n\n modifier nonReentrant() {\n require(!_entered, \"Reentrant call\");\n _entered = true;\n _;\n _entered = false;\n }\n}\n"
},
"contracts/Pausable.sol": {
"content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ncontract Pausable {\n bool private _paused;\n address private _owner;\n\n event Paused(address account);\n event Unpaused(address account);\n\n modifier onlyOwner() {\n require(msg.sender == _owner, \"Sie sind nicht der Besitzer\");\n _;\n }\n\n modifier whenNotPaused() {\n require(!_paused, \"Der Contract ist pausiert\");\n _;\n }\n\n modifier whenPaused() {\n require(_paused, \"Der Contract ist nicht pausiert\");\n _;\n }\n\n constructor() {\n _owner = msg.sender;\n _paused = false;\n }\n\n function pause() public onlyOwner whenNotPaused {\n _paused = true;\n emit Paused(msg.sender);\n }\n\n function unpause() public onlyOwner whenPaused {\n _paused = false;\n emit Unpaused(msg.sender);\n }\n\n function isPaused() public view returns (bool) {\n return _paused;\n }\n}\n"
},
"contracts/SafeMath.sol": {
"content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nlibrary SafeMath {\n /**\n * @dev Addiert zwei Zahlen und gibt das Ergebnis zurück.\n * Wirft einen Overflow-Fehler, wenn die Operation nicht sicher ist.\n */\n function add(uint256 a, uint256 b) internal pure returns (uint256) {\n uint256 c = a + b;\n require(c >= a, \"SafeMath: addition overflow\");\n\n return c;\n }\n\n /**\n * @dev Subtrahiert zwei Zahlen und gibt das Ergebnis zurück.\n * Wirft einen Underflow-Fehler, wenn die Operation nicht sicher ist.\n */\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n require(b <= a, \"SafeMath: subtraction overflow\");\n uint256 c = a - b;\n\n return c;\n }\n\n /**\n * @dev Multipliziert zwei Zahlen und gibt das Ergebnis zurück.\n * Wirft einen Overflow-Fehler, wenn die Operation nicht sicher ist.\n */\n function mul(uint256 a, uint256 b) internal pure returns (uint256) {\n // Optimierung für den Fall, dass eine der Zahlen 0 ist\n if (a == 0) {\n return 0;\n }\n\n uint256 c = a * b;\n require(c / a == b, \"SafeMath: multiplication overflow\");\n\n return c;\n }\n\n /**\n * @dev Dividiert zwei Zahlen und gibt das Ergebnis zurück.\n * Wirft einen Fehler, wenn die Division durch 0 erfolgt.\n */\n function div(uint256 a, uint256 b) internal pure returns (uint256) {\n require(b > 0, \"SafeMath: division by zero\");\n uint256 c = a / b;\n\n return c;\n }\n\n /**\n * @dev Dividiert zwei Zahlen und gibt den Rest zurück.\n * Wirft einen Fehler, wenn die Division durch 0 erfolgt.\n */\n function mod(uint256 a, uint256 b) internal pure returns (uint256) {\n require(b != 0, \"SafeMath: modulo by zero\");\n return 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"
]
}
},
"remappings": []
}
},
"output": {
"contracts": {
"contracts/AddressValidator.sol": {
"AddressValidator": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "addr",
"type": "address"
}
],
"name": "isValidAddress",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {
"isValidAddress(address)": {
"details": "Überprüft, ob die angegebene Adresse kein Null-Adresse ist.",
"params": {
"addr": "Die zu überprüfende Adresse."
},
"returns": {
"_0": "bool Wahr, wenn die Adresse gültig ist; andernfalls falsch."
}
}
},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/AddressValidator.sol\":57:414 contract AddressValidator {... */\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/AddressValidator.sol\":57:414 contract AddressValidator {... */\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 0x3f07fa\n eq\n tag_3\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/AddressValidator.sol\":305:412 function isValidAddress(address addr) public pure returns (bool) {... */\n tag_3:\n tag_4\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_5\n swap2\n swap1\n tag_6\n jump\t// in\n tag_5:\n tag_7\n jump\t// in\n tag_4:\n mload(0x40)\n tag_8\n swap2\n swap1\n tag_9\n jump\t// in\n tag_8:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n tag_7:\n /* \"contracts/AddressValidator.sol\":364:368 bool */\n 0x00\n /* \"contracts/AddressValidator.sol\":403:404 0 */\n dup1\n /* \"contracts/AddressValidator.sol\":387:405 addr != address(0) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/AddressValidator.sol\":387:391 addr */\n dup3\n /* \"contracts/AddressValidator.sol\":387:405 addr != address(0) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n iszero\n /* \"contracts/AddressValidator.sol\":380:405 return addr != address(0) */\n swap1\n pop\n /* \"contracts/AddressValidator.sol\":305:412 function isValidAddress(address addr) public pure returns (bool) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":88:205 */\n tag_12:\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:460 */\n tag_14:\n /* \"#utility.yul\":371:378 */\n 0x00\n /* \"#utility.yul\":411:453 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":404:409 */\n dup3\n /* \"#utility.yul\":400:454 */\n and\n /* \"#utility.yul\":389:454 */\n swap1\n pop\n /* \"#utility.yul\":334:460 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":466:562 */\n tag_15:\n /* \"#utility.yul\":503:510 */\n 0x00\n /* \"#utility.yul\":532:556 */\n tag_26\n /* \"#utility.yul\":550:555 */\n dup3\n /* \"#utility.yul\":532:556 */\n tag_14\n jump\t// in\n tag_26:\n /* \"#utility.yul\":521:556 */\n swap1\n pop\n /* \"#utility.yul\":466:562 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":568:690 */\n tag_16:\n /* \"#utility.yul\":641:665 */\n tag_28\n /* \"#utility.yul\":659:664 */\n dup2\n /* \"#utility.yul\":641:665 */\n tag_15\n jump\t// in\n tag_28:\n /* \"#utility.yul\":634:639 */\n dup2\n /* \"#utility.yul\":631:666 */\n eq\n /* \"#utility.yul\":621:684 */\n tag_29\n jumpi\n /* \"#utility.yul\":680:681 */\n 0x00\n /* \"#utility.yul\":677:678 */\n dup1\n /* \"#utility.yul\":670:682 */\n revert\n /* \"#utility.yul\":621:684 */\n tag_29:\n /* \"#utility.yul\":568:690 */\n pop\n jump\t// out\n /* \"#utility.yul\":696:835 */\n tag_17:\n /* \"#utility.yul\":742:747 */\n 0x00\n /* \"#utility.yul\":780:786 */\n dup2\n /* \"#utility.yul\":767:787 */\n calldataload\n /* \"#utility.yul\":758:787 */\n swap1\n pop\n /* \"#utility.yul\":796:829 */\n tag_31\n /* \"#utility.yul\":823:828 */\n dup2\n /* \"#utility.yul\":796:829 */\n tag_16\n jump\t// in\n tag_31:\n /* \"#utility.yul\":696:835 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":841:1170 */\n tag_6:\n /* \"#utility.yul\":900:906 */\n 0x00\n /* \"#utility.yul\":949:951 */\n 0x20\n /* \"#utility.yul\":937:946 */\n dup3\n /* \"#utility.yul\":928:935 */\n dup5\n /* \"#utility.yul\":924:947 */\n sub\n /* \"#utility.yul\":920:952 */\n slt\n /* \"#utility.yul\":917:1036 */\n iszero\n tag_33\n jumpi\n /* \"#utility.yul\":955:1034 */\n tag_34\n tag_12\n jump\t// in\n tag_34:\n /* \"#utility.yul\":917:1036 */\n tag_33:\n /* \"#utility.yul\":1075:1076 */\n 0x00\n /* \"#utility.yul\":1100:1153 */\n tag_35\n /* \"#utility.yul\":1145:1152 */\n dup5\n /* \"#utility.yul\":1136:1142 */\n dup3\n /* \"#utility.yul\":1125:1134 */\n dup6\n /* \"#utility.yul\":1121:1143 */\n add\n /* \"#utility.yul\":1100:1153 */\n tag_17\n jump\t// in\n tag_35:\n /* \"#utility.yul\":1090:1153 */\n swap2\n pop\n /* \"#utility.yul\":1046:1163 */\n pop\n /* \"#utility.yul\":841:1170 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1176:1266 */\n tag_18:\n /* \"#utility.yul\":1210:1217 */\n 0x00\n /* \"#utility.yul\":1253:1258 */\n dup2\n /* \"#utility.yul\":1246:1259 */\n iszero\n /* \"#utility.yul\":1239:1260 */\n iszero\n /* \"#utility.yul\":1228:1260 */\n swap1\n pop\n /* \"#utility.yul\":1176:1266 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1272:1381 */\n tag_19:\n /* \"#utility.yul\":1353:1374 */\n tag_38\n /* \"#utility.yul\":1368:1373 */\n dup2\n /* \"#utility.yul\":1353:1374 */\n tag_18\n jump\t// in\n tag_38:\n /* \"#utility.yul\":1348:1351 */\n dup3\n /* \"#utility.yul\":1341:1375 */\n mstore\n /* \"#utility.yul\":1272:1381 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1387:1597 */\n tag_9:\n /* \"#utility.yul\":1474:1478 */\n 0x00\n /* \"#utility.yul\":1512:1514 */\n 0x20\n /* \"#utility.yul\":1501:1510 */\n dup3\n /* \"#utility.yul\":1497:1515 */\n add\n /* \"#utility.yul\":1489:1515 */\n swap1\n pop\n /* \"#utility.yul\":1525:1590 */\n tag_40\n /* \"#utility.yul\":1587:1588 */\n 0x00\n /* \"#utility.yul\":1576:1585 */\n dup4\n /* \"#utility.yul\":1572:1589 */\n add\n /* \"#utility.yul\":1563:1569 */\n dup5\n /* \"#utility.yul\":1525:1590 */\n tag_19\n jump\t// in\n tag_40:\n /* \"#utility.yul\":1387:1597 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220db84c75f81b60eb03e2b6f8d087b4d7ff383297bc0423ceeebde9ffd1101dfd664736f6c63430008130033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50610194806100206000396000f3fe608060405234801561001057600080fd5b506004361061002a5760003560e01c80623f07fa1461002f575b600080fd5b610049600480360381019061004491906100fb565b61005f565b6040516100569190610143565b60405180910390f35b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100c88261009d565b9050919050565b6100d8816100bd565b81146100e357600080fd5b50565b6000813590506100f5816100cf565b92915050565b60006020828403121561011157610110610098565b5b600061011f848285016100e6565b91505092915050565b60008115159050919050565b61013d81610128565b82525050565b60006020820190506101586000830184610134565b9291505056fea2646970667358221220db84c75f81b60eb03e2b6f8d087b4d7ff383297bc0423ceeebde9ffd1101dfd664736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x194 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 0x2A JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x3F07FA EQ PUSH2 0x2F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x49 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x44 SWAP2 SWAP1 PUSH2 0xFB JUMP JUMPDEST PUSH2 0x5F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x56 SWAP2 SWAP1 PUSH2 0x143 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC8 DUP3 PUSH2 0x9D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD8 DUP2 PUSH2 0xBD JUMP JUMPDEST DUP2 EQ PUSH2 0xE3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF5 DUP2 PUSH2 0xCF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x111 JUMPI PUSH2 0x110 PUSH2 0x98 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x11F DUP5 DUP3 DUP6 ADD PUSH2 0xE6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x13D DUP2 PUSH2 0x128 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x158 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x134 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDB DUP5 0xC7 0x5F DUP2 0xB6 0xE 0xB0 RETURNDATACOPY 0x2B PUSH16 0x8D087B4D7FF383297BC0423CEEEBDE9F REVERT GT ADD 0xDF 0xD6 PUSH5 0x736F6C6343 STOP ADDMOD SGT STOP CALLER ",
"sourceMap": "57:357:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@isValidAddress_17": {
"entryPoint": 95,
"id": 17,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 230,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 251,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 308,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 323,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 189,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 296,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 157,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 152,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 207,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1600:5",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:5",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:5",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:5"
},
"nodeType": "YulFunctionCall",
"src": "67:9:5"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:5"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:5",
"type": ""
}
],
"src": "7:75:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:5",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:5",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:5"
},
"nodeType": "YulFunctionCall",
"src": "187:12:5"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:5"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:5",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:5",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:5"
},
"nodeType": "YulFunctionCall",
"src": "310:12:5"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:5"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:81:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:65:5",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "404:5:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "411:42:5",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "400:3:5"
},
"nodeType": "YulFunctionCall",
"src": "400:54:5"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:5"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:5",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:5",
"type": ""
}
],
"src": "334:126:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "511:51:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "521:35:5",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "550:5:5"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "532:17:5"
},
"nodeType": "YulFunctionCall",
"src": "532:24:5"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "521:7:5"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "493:5:5",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "503:7:5",
"type": ""
}
],
"src": "466:96:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "611:79:5",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "668:16:5",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "677:1:5",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "680:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "670:6:5"
},
"nodeType": "YulFunctionCall",
"src": "670:12:5"
},
"nodeType": "YulExpressionStatement",
"src": "670:12:5"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "634:5:5"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "659:5:5"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "641:17:5"
},
"nodeType": "YulFunctionCall",
"src": "641:24:5"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "631:2:5"
},
"nodeType": "YulFunctionCall",
"src": "631:35:5"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "624:6:5"
},
"nodeType": "YulFunctionCall",
"src": "624:43:5"
},
"nodeType": "YulIf",
"src": "621:63:5"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "604:5:5",
"type": ""
}
],
"src": "568:122:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "748:87:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "758:29:5",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "780:6:5"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "767:12:5"
},
"nodeType": "YulFunctionCall",
"src": "767:20:5"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "758:5:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "823:5:5"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "796:26:5"
},
"nodeType": "YulFunctionCall",
"src": "796:33:5"
},
"nodeType": "YulExpressionStatement",
"src": "796:33:5"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "726:6:5",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "734:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "742:5:5",
"type": ""
}
],
"src": "696:139:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "907:263:5",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "953:83:5",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "955:77:5"
},
"nodeType": "YulFunctionCall",
"src": "955:79:5"
},
"nodeType": "YulExpressionStatement",
"src": "955:79:5"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "928:7:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "937:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "924:3:5"
},
"nodeType": "YulFunctionCall",
"src": "924:23:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "949:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "920:3:5"
},
"nodeType": "YulFunctionCall",
"src": "920:32:5"
},
"nodeType": "YulIf",
"src": "917:119:5"
},
{
"nodeType": "YulBlock",
"src": "1046:117:5",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1061:15:5",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1075:1:5",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1065:6:5",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1090:63:5",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1125:9:5"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1136:6:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1121:3:5"
},
"nodeType": "YulFunctionCall",
"src": "1121:22:5"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1145:7:5"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "1100:20:5"
},
"nodeType": "YulFunctionCall",
"src": "1100:53:5"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1090:6:5"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "877:9:5",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "888:7:5",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "900:6:5",
"type": ""
}
],
"src": "841:329:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1218:48:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1228:32:5",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1253:5:5"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1246:6:5"
},
"nodeType": "YulFunctionCall",
"src": "1246:13:5"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1239:6:5"
},
"nodeType": "YulFunctionCall",
"src": "1239:21:5"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1228:7:5"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1200:5:5",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1210:7:5",
"type": ""
}
],
"src": "1176:90:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1331:50:5",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1348:3:5"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1368:5:5"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "1353:14:5"
},
"nodeType": "YulFunctionCall",
"src": "1353:21:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1341:6:5"
},
"nodeType": "YulFunctionCall",
"src": "1341:34:5"
},
"nodeType": "YulExpressionStatement",
"src": "1341:34:5"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1319:5:5",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1326:3:5",
"type": ""
}
],
"src": "1272:109:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1479:118:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1489:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1501:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1512:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1497:3:5"
},
"nodeType": "YulFunctionCall",
"src": "1497:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1489:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1563:6:5"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1576:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1587:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1572:3:5"
},
"nodeType": "YulFunctionCall",
"src": "1572:17:5"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulIdentifier",
"src": "1525:37:5"
},
"nodeType": "YulFunctionCall",
"src": "1525:65:5"
},
"nodeType": "YulExpressionStatement",
"src": "1525:65:5"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1451:9:5",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1463:6:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1474:4:5",
"type": ""
}
],
"src": "1387:210:5"
}
]
},
"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_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n}\n",
"id": 5,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061002a5760003560e01c80623f07fa1461002f575b600080fd5b610049600480360381019061004491906100fb565b61005f565b6040516100569190610143565b60405180910390f35b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100c88261009d565b9050919050565b6100d8816100bd565b81146100e357600080fd5b50565b6000813590506100f5816100cf565b92915050565b60006020828403121561011157610110610098565b5b600061011f848285016100e6565b91505092915050565b60008115159050919050565b61013d81610128565b82525050565b60006020820190506101586000830184610134565b9291505056fea2646970667358221220db84c75f81b60eb03e2b6f8d087b4d7ff383297bc0423ceeebde9ffd1101dfd664736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2A JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x3F07FA EQ PUSH2 0x2F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x49 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x44 SWAP2 SWAP1 PUSH2 0xFB JUMP JUMPDEST PUSH2 0x5F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x56 SWAP2 SWAP1 PUSH2 0x143 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC8 DUP3 PUSH2 0x9D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD8 DUP2 PUSH2 0xBD JUMP JUMPDEST DUP2 EQ PUSH2 0xE3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF5 DUP2 PUSH2 0xCF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x111 JUMPI PUSH2 0x110 PUSH2 0x98 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x11F DUP5 DUP3 DUP6 ADD PUSH2 0xE6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x13D DUP2 PUSH2 0x128 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x158 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x134 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDB DUP5 0xC7 0x5F DUP2 0xB6 0xE 0xB0 RETURNDATACOPY 0x2B PUSH16 0x8D087B4D7FF383297BC0423CEEEBDE9F REVERT GT ADD 0xDF 0xD6 PUSH5 0x736F6C6343 STOP ADDMOD SGT STOP CALLER ",
"sourceMap": "57:357:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;305:107;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;364:4;403:1;387:18;;:4;:18;;;;380:25;;305:107;;;:::o;88:117:5:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:90::-;1210:7;1253:5;1246:13;1239:21;1228:32;;1176:90;;;:::o;1272:109::-;1353:21;1368:5;1353:21;:::i;:::-;1348:3;1341:34;1272:109;;:::o;1387:210::-;1474:4;1512:2;1501:9;1497:18;1489:26;;1525:65;1587:1;1576:9;1572:17;1563:6;1525:65;:::i;:::-;1387:210;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "80800",
"executionCost": "129",
"totalCost": "80929"
},
"external": {
"isValidAddress(address)": "656"
}
},
"legacyAssembly": {
".code": [
{
"begin": 57,
"end": 414,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 57,
"end": 414,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 57,
"end": 414,
"name": "MSTORE",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "DUP1",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "ISZERO",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 57,
"end": 414,
"name": "JUMPI",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 57,
"end": 414,
"name": "DUP1",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "REVERT",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 57,
"end": 414,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "POP",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 57,
"end": 414,
"name": "DUP1",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 57,
"end": 414,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 57,
"end": 414,
"name": "CODECOPY",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 57,
"end": 414,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a2646970667358221220db84c75f81b60eb03e2b6f8d087b4d7ff383297bc0423ceeebde9ffd1101dfd664736f6c63430008130033",
".code": [
{
"begin": 57,
"end": 414,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 57,
"end": 414,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 57,
"end": 414,
"name": "MSTORE",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "DUP1",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "ISZERO",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 57,
"end": 414,
"name": "JUMPI",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 57,
"end": 414,
"name": "DUP1",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "REVERT",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 57,
"end": 414,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "POP",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 57,
"end": 414,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "LT",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 57,
"end": 414,
"name": "JUMPI",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 57,
"end": 414,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 57,
"end": 414,
"name": "SHR",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "DUP1",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "PUSH",
"source": 0,
"value": "3F07FA"
},
{
"begin": 57,
"end": 414,
"name": "EQ",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 57,
"end": 414,
"name": "JUMPI",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 57,
"end": 414,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 57,
"end": 414,
"name": "DUP1",
"source": 0
},
{
"begin": 57,
"end": 414,
"name": "REVERT",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 305,
"end": 412,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 305,
"end": 412,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 305,
"end": 412,
"name": "DUP1",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "SUB",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "DUP2",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "ADD",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "SWAP1",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 305,
"end": 412,
"name": "SWAP2",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "SWAP1",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 305,
"end": 412,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 305,
"end": 412,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 305,
"end": 412,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 305,
"end": 412,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 305,
"end": 412,
"name": "MLOAD",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 305,
"end": 412,
"name": "SWAP2",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "SWAP1",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 305,
"end": 412,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "tag",
"source": 0,
"value": "8"
},
{
"begin": 305,
"end": 412,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 305,
"end": 412,
"name": "MLOAD",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "DUP1",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "SWAP2",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "SUB",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "SWAP1",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "RETURN",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 305,
"end": 412,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 364,
"end": 368,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 403,
"end": 404,
"name": "DUP1",
"source": 0
},
{
"begin": 387,
"end": 405,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 387,
"end": 405,
"name": "AND",
"source": 0
},
{
"begin": 387,
"end": 391,
"name": "DUP3",
"source": 0
},
{
"begin": 387,
"end": 405,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 387,
"end": 405,
"name": "AND",
"source": 0
},
{
"begin": 387,
"end": 405,
"name": "EQ",
"source": 0
},
{
"begin": 387,
"end": 405,
"name": "ISZERO",
"source": 0
},
{
"begin": 380,
"end": 405,
"name": "SWAP1",
"source": 0
},
{
"begin": 380,
"end": 405,
"name": "POP",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "SWAP2",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "SWAP1",
"source": 0
},
{
"begin": 305,
"end": 412,
"name": "POP",
"source": 0
},
{
"begin": 305,
"end": 412,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 88,
"end": 205,
"name": "tag",
"source": 5,
"value": "12"
},
{
"begin": 88,
"end": 205,
"name": "JUMPDEST",
"source": 5
},
{
"begin": 197,
"end": 198,
"name": "PUSH",
"source": 5,
"value": "0"
},
{
"begin": 194,
"end": 195,
"name": "DUP1",
"source": 5
},
{
"begin": 187,
"end": 199,
"name": "REVERT",
"source": 5
},
{
"begin": 334,
"end": 460,
"name": "tag",
"source": 5,
"value": "14"
},
{
"begin": 334,
"end": 460,
"name": "JUMPDEST",
"source": 5
},
{
"begin": 371,
"end": 378,
"name": "PUSH",
"source": 5,
"value": "0"
},
{
"begin": 411,
"end": 453,
"name": "PUSH",
"source": 5,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 404,
"end": 409,
"name": "DUP3",
"source": 5
},
{
"begin": 400,
"end": 454,
"name": "AND",
"source": 5
},
{
"begin": 389,
"end": 454,
"name": "SWAP1",
"source": 5
},
{
"begin": 389,
"end": 454,
"name": "POP",
"source": 5
},
{
"begin": 334,
"end": 460,
"name": "SWAP2",
"source": 5
},
{
"begin": 334,
"end": 460,
"name": "SWAP1",
"source": 5
},
{
"begin": 334,
"end": 460,
"name": "POP",
"source": 5
},
{
"begin": 334,
"end": 460,
"jumpType": "[out]",
"name": "JUMP",
"source": 5
},
{
"begin": 466,
"end": 562,
"name": "tag",
"source": 5,
"value": "15"
},
{
"begin": 466,
"end": 562,
"name": "JUMPDEST",
"source": 5
},
{
"begin": 503,
"end": 510,
"name": "PUSH",
"source": 5,
"value": "0"
},
{
"begin": 532,
"end": 556,
"name": "PUSH [tag]",
"source": 5,
"value": "26"
},
{
"begin": 550,
"end": 555,
"name": "DUP3",
"source": 5
},
{
"begin": 532,
"end": 556,
"name": "PUSH [tag]",
"source": 5,
"value": "14"
},
{
"begin": 532,
"end": 556,
"jumpType": "[in]",
"name": "JUMP",
"source": 5
},
{
"begin": 532,
"end": 556,
"name": "tag",
"source": 5,
"value": "26"
},
{
"begin": 532,
"end": 556,
"name": "JUMPDEST",
"source": 5
},
{
"begin": 521,
"end": 556,
"name": "SWAP1",
"source": 5
},
{
"begin": 521,
"end": 556,
"name": "POP",
"source": 5
},
{
"begin": 466,
"end": 562,
"name": "SWAP2",
"source": 5
},
{
"begin": 466,
"end": 562,
"name": "SWAP1",
"source": 5
},
{
"begin": 466,
"end": 562,
"name": "POP",
"source": 5
},
{
"begin": 466,
"end": 562,
"jumpType": "[out]",
"name": "JUMP",
"source": 5
},
{
"begin": 568,
"end": 690,
"name": "tag",
"source": 5,
"value": "16"
},
{
"begin": 568,
"end": 690,
"name": "JUMPDEST",
"source": 5
},
{
"begin": 641,
"end": 665,
"name": "PUSH [tag]",
"source": 5,
"value": "28"
},
{
"begin": 659,
"end": 664,
"name": "DUP2",
"source": 5
},
{
"begin": 641,
"end": 665,
"name": "PUSH [tag]",
"source": 5,
"value": "15"
},
{
"begin": 641,
"end": 665,
"jumpType": "[in]",
"name": "JUMP",
"source": 5
},
{
"begin": 641,
"end": 665,
"name": "tag",
"source": 5,
"value": "28"
},
{
"begin": 641,
"end": 665,
"name": "JUMPDEST",
"source": 5
},
{
"begin": 634,
"end": 639,
"name": "DUP2",
"source": 5
},
{
"begin": 631,
"end": 666,
"name": "EQ",
"source": 5
},
{
"begin": 621,
"end": 684,
"name": "PUSH [tag]",
"source": 5,
"value": "29"
},
{
"begin": 621,
"end": 684,
"name": "JUMPI",
"source": 5
},
{
"begin": 680,
"end": 681,
"name": "PUSH",
"source": 5,
"value": "0"
},
{
"begin": 677,
"end": 678,
"name": "DUP1",
"source": 5
},
{
"begin": 670,
"end": 682,
"name": "REVERT",
"source": 5
},
{
"begin": 621,
"end": 684,
"name": "tag",
"source": 5,
"value": "29"
},
{
"begin": 621,
"end": 684,
"name": "JUMPDEST",
"source": 5
},
{
"begin": 568,
"end": 690,
"name": "POP",
"source": 5
},
{
"begin": 568,
"end": 690,
"jumpType": "[out]",
"name": "JUMP",
"source": 5
},
{
"begin": 696,
"end": 835,
"name": "tag",
"source": 5,
"value": "17"
},
{
"begin": 696,
"end": 835,
"name": "JUMPDEST",
"source": 5
},
{
"begin": 742,
"end": 747,
"name": "PUSH",
"source": 5,
"value": "0"
},
{
"begin": 780,
"end": 786,
"name": "DUP2",
"source": 5
},
{
"begin": 767,
"end": 787,
"name": "CALLDATALOAD",
"source": 5
},
{
"begin": 758,
"end": 787,
"name": "SWAP1",
"source": 5
},
{
"begin": 758,
"end": 787,
"name": "POP",
"source": 5
},
{
"begin": 796,
"end": 829,
"name": "PUSH [tag]",
"source": 5,
"value": "31"
},
{
"begin": 823,
"end": 828,
"name": "DUP2",
"source": 5
},
{
"begin": 796,
"end": 829,
"name": "PUSH [tag]",
"source": 5,
"value": "16"
},
{
"begin": 796,
"end": 829,
"jumpType": "[in]",
"name": "JUMP",
"source": 5
},
{
"begin": 796,
"end": 829,
"name": "tag",
"source": 5,
"value": "31"
},
{
"begin": 796,
"end": 829,
"name": "JUMPDEST",
"source": 5
},
{
"begin": 696,
"end": 835,
"name": "SWAP3",
"source": 5
},
{
"begin": 696,
"end": 835,
"name": "SWAP2",
"source": 5
},
{
"begin": 696,
"end": 835,
"name": "POP",
"source": 5
},
{
"begin": 696,
"end": 835,
"name": "POP",
"source": 5
},
{
"begin": 696,
"end": 835,
"jumpType": "[out]",
"name": "JUMP",
"source": 5
},
{
"begin": 841,
"end": 1170,
"name": "tag",
"source": 5,
"value": "6"
},
{
"begin": 841,
"end": 1170,
"name": "JUMPDEST",
"source": 5
},
{
"begin": 900,
"end": 906,
"name": "PUSH",
"source": 5,
"value": "0"
},
{
"begin": 949,
"end": 951,
"name": "PUSH",
"source": 5,
"value": "20"
},
{
"begin": 937,
"end": 946,
"name": "DUP3",
"source": 5
},
{
"begin": 928,
"end": 935,
"name": "DUP5",
"source": 5
},
{
"begin": 924,
"end": 947,
"name": "SUB",
"source": 5
},
{
"begin": 920,
"end": 952,
"name": "SLT",
"source": 5
},
{
"begin": 917,
"end": 1036,
"name": "ISZERO",
"source": 5
},
{
"begin": 917,
"end": 1036,
"name": "PUSH [tag]",
"source": 5,
"value": "33"
},
{
"begin": 917,
"end": 1036,
"name": "JUMPI",
"source": 5
},
{
"begin": 955,
"end": 1034,
"name": "PUSH [tag]",
"source": 5,
"value": "34"
},
{
"begin": 955,
"end": 1034,
"name": "PUSH [tag]",
"source": 5,
"value": "12"
},
{
"begin": 955,
"end": 1034,
"jumpType": "[in]",
"name": "JUMP",
"source": 5
},
{
"begin": 955,
"end": 1034,
"name": "tag",
"source": 5,
"value": "34"
},
{
"begin": 955,
"end": 1034,
"name": "JUMPDEST",
"source": 5
},
{
"begin": 917,
"end": 1036,
"name": "tag",
"source": 5,
"value": "33"
},
{
"begin": 917,
"end": 1036,
"name": "JUMPDEST",
"source": 5
},
{
"begin": 1075,
"end": 1076,
"name": "PUSH",
"source": 5,
"value": "0"
},
{
"begin": 1100,
"end": 1153,
"name": "PUSH [tag]",
"source": 5,
"value": "35"
},
{
"begin": 1145,
"end": 1152,
"name": "DUP5",
"source": 5
},
{
"begin": 1136,
"end": 1142,
"name": "DUP3",
"source": 5
},
{
"begin": 1125,
"end": 1134,
"name": "DUP6",
"source": 5
},
{
"begin": 1121,
"end": 1143,
"name": "ADD",
"source": 5
},
{
"begin": 1100,
"end": 1153,
"name": "PUSH [tag]",
"source": 5,
"value": "17"
},
{
"begin": 1100,
"end": 1153,
"jumpType": "[in]",
"name": "JUMP",
"source": 5
},
{
"begin": 1100,
"end": 1153,
"name": "tag",
"source": 5,
"value": "35"
},
{
"begin": 1100,
"end": 1153,
"name": "JUMPDEST",
"source": 5
},
{
"begin": 1090,
"end": 1153,
"name": "SWAP2",
"source": 5
},
{
"begin": 1090,
"end": 1153,
"name": "POP",
"source": 5
},
{
"begin": 1046,
"end": 1163,
"name": "POP",
"source": 5
},
{
"begin": 841,
"end": 1170,
"name": "SWAP3",
"source": 5
},
{
"begin": 841,
"end": 1170,
"name": "SWAP2",
"source": 5
},
{
"begin": 841,
"end": 1170,
"name": "POP",
"source": 5
},
{
"begin": 841,
"end": 1170,
"name": "POP",
"source": 5
},
{
"begin": 841,
"end": 1170,
"jumpType": "[out]",
"name": "JUMP",
"source": 5
},
{
"begin": 1176,
"end": 1266,
"name": "tag",
"source": 5,
"value": "18"
},
{
"begin": 1176,
"end": 1266,
"name": "JUMPDEST",
"source": 5
},
{
"begin": 1210,
"end": 1217,
"name": "PUSH",
"source": 5,
"value": "0"
},
{
"begin": 1253,
"end": 1258,
"name": "DUP2",
"source": 5
},
{
"begin": 1246,
"end": 1259,
"name": "ISZERO",
"source": 5
},
{
"begin": 1239,
"end": 1260,
"name": "ISZERO",
"source": 5
},
{
"begin": 1228,
"end": 1260,
"name": "SWAP1",
"source": 5
},
{
"begin": 1228,
"end": 1260,
"name": "POP",
"source": 5
},
{
"begin": 1176,
"end": 1266,
"name": "SWAP2",
"source": 5
},
{
"begin": 1176,
"end": 1266,
"name": "SWAP1",
"source": 5
},
{
"begin": 1176,
"end": 1266,
"name": "POP",
"source": 5
},
{
"begin": 1176,
"end": 1266,
"jumpType": "[out]",
"name": "JUMP",
"source": 5
},
{
"begin": 1272,
"end": 1381,
"name": "tag",
"source": 5,
"value": "19"
},
{
"begin": 1272,
"end": 1381,
"name": "JUMPDEST",
"source": 5
},
{
"begin": 1353,
"end": 1374,
"name": "PUSH [tag]",
"source": 5,
"value": "38"
},
{
"begin": 1368,
"end": 1373,
"name": "DUP2",
"source": 5
},
{
"begin": 1353,
"end": 1374,
"name": "PUSH [tag]",
"source": 5,
"value": "18"
},
{
"begin": 1353,
"end": 1374,
"jumpType": "[in]",
"name": "JUMP",
"source": 5
},
{
"begin": 1353,
"end": 1374,
"name": "tag",
"source": 5,
"value": "38"
},
{
"begin": 1353,
"end": 1374,
"name": "JUMPDEST",
"source": 5
},
{
"begin": 1348,
"end": 1351,
"name": "DUP3",
"source": 5
},
{
"begin": 1341,
"end": 1375,
"name": "MSTORE",
"source": 5
},
{
"begin": 1272,
"end": 1381,
"name": "POP",
"source": 5
},
{
"begin": 1272,
"end": 1381,
"name": "POP",
"source": 5
},
{
"begin": 1272,
"end": 1381,
"jumpType": "[out]",
"name": "JUMP",
"source": 5
},
{
"begin": 1387,
"end": 1597,
"name": "tag",
"source": 5,
"value": "9"
},
{
"begin": 1387,
"end": 1597,
"name": "JUMPDEST",
"source": 5
},
{
"begin": 1474,
"end": 1478,
"name": "PUSH",
"source": 5,
"value": "0"
},
{
"begin": 1512,
"end": 1514,
"name": "PUSH",
"source": 5,
"value": "20"
},
{
"begin": 1501,
"end": 1510,
"name": "DUP3",
"source": 5
},
{
"begin": 1497,
"end": 1515,
"name": "ADD",
"source": 5
},
{
"begin": 1489,
"end": 1515,
"name": "SWAP1",
"source": 5
},
{
"begin": 1489,
"end": 1515,
"name": "POP",
"source": 5
},
{
"begin": 1525,
"end": 1590,
"name": "PUSH [tag]",
"source": 5,
"value": "40"
},
{
"begin": 1587,
"end": 1588,
"name": "PUSH",
"source": 5,
"value": "0"
},
{
"begin": 1576,
"end": 1585,
"name": "DUP4",
"source": 5
},
{
"begin": 1572,
"end": 1589,
"name": "ADD",
"source": 5
},
{
"begin": 1563,
"end": 1569,
"name": "DUP5",
"source": 5
},
{
"begin": 1525,
"end": 1590,
"name": "PUSH [tag]",
"source": 5,
"value": "19"
},
{
"begin": 1525,
"end": 1590,
"jumpType": "[in]",
"name": "JUMP",
"source": 5
},
{
"begin": 1525,
"end": 1590,
"name": "tag",
"source": 5,
"value": "40"
},
{
"begin": 1525,
"end": 1590,
"name": "JUMPDEST",
"source": 5
},
{
"begin": 1387,
"end": 1597,
"name": "SWAP3",
"source": 5
},
{
"begin": 1387,
"end": 1597,
"name": "SWAP2",
"source": 5
},
{
"begin": 1387,
"end": 1597,
"name": "POP",
"source": 5
},
{
"begin": 1387,
"end": 1597,
"name": "POP",
"source": 5
},
{
"begin": 1387,
"end": 1597,
"jumpType": "[out]",
"name": "JUMP",
"source": 5
}
]
}
},
"sourceList": [
"contracts/AddressValidator.sol",
"contracts/JonnyCoin.sol",
"contracts/Pausable.sol",
"contracts/ReentrancyGuard.sol",
"contracts/SafeMath.sol",
"#utility.yul"
]
},
"methodIdentifiers": {
"isValidAddress(address)": "003f07fa"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"isValidAddress\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"isValidAddress(address)\":{\"details\":\"\\u00dcberpr\\u00fcft, ob die angegebene Adresse kein Null-Adresse ist.\",\"params\":{\"addr\":\"Die zu \\u00fcberpr\\u00fcfende Adresse.\"},\"returns\":{\"_0\":\"bool Wahr, wenn die Adresse g\\u00fcltig ist; andernfalls falsch.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/AddressValidator.sol\":\"AddressValidator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/AddressValidator.sol\":{\"keccak256\":\"0x6321546b1fd9e37d9d1db8f36f9dcb9485e1d1a278967728285411901f4cb4ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aa9da7ddc8eb2922abe9f2839cd73b1820ff9239dd4dc07189818dca6a1a4d55\",\"dweb:/ipfs/QmWG7WhGRJz1d2soaMTdpvqbFwH38bPiDEmXrSNNgj53bf\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
},
"contracts/JonnyCoin.sol": {
"JonnyCoin": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Paused",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Unpaused",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"internalType": "address",
"name": "_spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "remaining",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "isPaused",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "addr",
"type": "address"
}
],
"name": "isValidAddress",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "unpause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {
"isValidAddress(address)": {
"details": "Überprüft, ob die angegebene Adresse kein Null-Adresse ist.",
"params": {
"addr": "Die zu überprüfende Adresse."
},
"returns": {
"_0": "bool Wahr, wenn die Adresse gültig ist; andernfalls falsch."
}
}
},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/JonnyCoin.sol\":314:3331 contract JonnyCoin is Pausable, ReentrancyGuard, AddressValidator {... */\n mstore(0x40, 0x80)\n /* \"contracts/JonnyCoin.sol\":705:712 1000000 */\n 0x0f4240\n /* \"contracts/JonnyCoin.sol\":676:712 uint256 public totalSupply = 1000000 */\n 0x01\n sstore\n /* \"contracts/JonnyCoin.sol\":1212:1277 constructor() {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n /* \"contracts/Pausable.sol\":569:579 msg.sender */\n caller\n /* \"contracts/Pausable.sol\":560:566 _owner */\n 0x00\n 0x01\n /* \"contracts/Pausable.sol\":560:579 _owner = msg.sender */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/Pausable.sol\":599:604 false */\n 0x00\n /* \"contracts/Pausable.sol\":589:596 _paused */\n dup1\n 0x00\n /* \"contracts/Pausable.sol\":589:604 _paused = false */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xff\n mul\n not\n and\n swap1\n dup4\n iszero\n iszero\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/JonnyCoin.sol\":1259:1270 totalSupply */\n sload(0x01)\n /* \"contracts/JonnyCoin.sol\":1236:1244 balances */\n 0x02\n /* \"contracts/JonnyCoin.sol\":1236:1256 balances[msg.sender] */\n 0x00\n /* \"contracts/JonnyCoin.sol\":1245:1255 msg.sender */\n caller\n /* \"contracts/JonnyCoin.sol\":1236:1256 balances[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/JonnyCoin.sol\":1236:1270 balances[msg.sender] = totalSupply */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/JonnyCoin.sol\":314:3331 contract JonnyCoin is Pausable, ReentrancyGuard, AddressValidator {... */\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/JonnyCoin.sol\":314:3331 contract JonnyCoin is Pausable, ReentrancyGuard, AddressValidator {... */\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 0x3f4ba83a\n gt\n tag_16\n jumpi\n dup1\n 0x95d89b41\n gt\n tag_17\n jumpi\n dup1\n 0x95d89b41\n eq\n tag_12\n jumpi\n dup1\n 0xa9059cbb\n eq\n tag_13\n jumpi\n dup1\n 0xb187bd26\n eq\n tag_14\n jumpi\n dup1\n 0xdd62ed3e\n eq\n tag_15\n jumpi\n jump(tag_2)\n tag_17:\n dup1\n 0x3f4ba83a\n eq\n tag_9\n jumpi\n dup1\n 0x70a08231\n eq\n tag_10\n jumpi\n dup1\n 0x8456cb59\n eq\n tag_11\n jumpi\n jump(tag_2)\n tag_16:\n dup1\n 0x3f07fa\n eq\n tag_3\n jumpi\n dup1\n 0x06fdde03\n eq\n tag_4\n jumpi\n dup1\n 0x095ea7b3\n eq\n tag_5\n jumpi\n dup1\n 0x18160ddd\n eq\n tag_6\n jumpi\n dup1\n 0x23b872dd\n eq\n tag_7\n jumpi\n dup1\n 0x313ce567\n eq\n tag_8\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/AddressValidator.sol\":305:412 function isValidAddress(address addr) public pure returns (bool) {... */\n tag_3:\n tag_18\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_19\n swap2\n swap1\n tag_20\n jump\t// in\n tag_19:\n tag_21\n jump\t// in\n tag_18:\n mload(0x40)\n tag_22\n swap2\n swap1\n tag_23\n jump\t// in\n tag_22:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/JonnyCoin.sol\":546:587 string public constant name = \"JonnyCoin\" */\n tag_4:\n tag_24\n tag_25\n jump\t// in\n tag_24:\n mload(0x40)\n tag_26\n swap2\n swap1\n tag_27\n jump\t// in\n tag_26:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/JonnyCoin.sol\":2128:2430 function approve(address _spender, uint256 _value) public nonReentrant whenNotPaused returns (bool success) {... */\n tag_5:\n tag_28\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_29\n swap2\n swap1\n tag_30\n jump\t// in\n tag_29:\n tag_31\n jump\t// in\n tag_28:\n mload(0x40)\n tag_32\n swap2\n swap1\n tag_23\n jump\t// in\n tag_32:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/JonnyCoin.sol\":676:712 uint256 public totalSupply = 1000000 */\n tag_6:\n tag_33\n tag_34\n jump\t// in\n tag_33:\n mload(0x40)\n tag_35\n swap2\n swap1\n tag_36\n jump\t// in\n tag_35:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/JonnyCoin.sol\":2578:3113 function transferFrom(address _from, address _to, uint256 _value) public nonReentrant whenNotPaused returns (bool success) {... */\n tag_7:\n tag_37\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_38\n swap2\n swap1\n tag_39\n jump\t// in\n tag_38:\n tag_40\n jump\t// in\n tag_37:\n mload(0x40)\n tag_41\n swap2\n swap1\n tag_23\n jump\t// in\n tag_41:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/JonnyCoin.sol\":636:670 uint8 public constant decimals = 0 */\n tag_8:\n tag_42\n tag_43\n jump\t// in\n tag_42:\n mload(0x40)\n tag_44\n swap2\n swap1\n tag_45\n jump\t// in\n tag_44:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/Pausable.sol\":735:849 function unpause() public onlyOwner whenPaused {... */\n tag_9:\n tag_46\n tag_47\n jump\t// in\n tag_46:\n stop\n /* \"contracts/JonnyCoin.sol\":1339:1452 function balanceOf(address _owner) public view returns (uint256 balance) {... */\n tag_10:\n tag_48\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_49\n swap2\n swap1\n tag_20\n jump\t// in\n tag_49:\n tag_50\n jump\t// in\n tag_48:\n mload(0x40)\n tag_51\n swap2\n swap1\n tag_36\n jump\t// in\n tag_51:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/Pausable.sol\":617:729 function pause() public onlyOwner whenNotPaused {... */\n tag_11:\n tag_52\n tag_53\n jump\t// in\n tag_52:\n stop\n /* \"contracts/JonnyCoin.sol\":593:630 string public constant symbol = \"JNC\" */\n tag_12:\n tag_54\n tag_55\n jump\t// in\n tag_54:\n mload(0x40)\n tag_56\n swap2\n swap1\n tag_27\n jump\t// in\n tag_56:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/JonnyCoin.sol\":1568:1997 function transfer(address _to, uint256 _value) public nonReentrant whenNotPaused returns (bool success) {... */\n tag_13:\n tag_57\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_58\n swap2\n swap1\n tag_30\n jump\t// in\n tag_58:\n tag_59\n jump\t// in\n tag_57:\n mload(0x40)\n tag_60\n swap2\n swap1\n tag_23\n jump\t// in\n tag_60:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/Pausable.sol\":855:933 function isPaused() public view returns (bool) {... */\n tag_14:\n tag_61\n tag_62\n jump\t// in\n tag_61:\n mload(0x40)\n tag_63\n swap2\n swap1\n tag_23\n jump\t// in\n tag_63:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/JonnyCoin.sol\":3186:3328 function allowance(address _owner, address _spender) public view returns (uint256 remaining) {... */\n tag_15:\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_66\n jump\t// in\n tag_65:\n tag_67\n jump\t// in\n tag_64:\n mload(0x40)\n tag_68\n swap2\n swap1\n tag_36\n jump\t// in\n tag_68:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/AddressValidator.sol\":305:412 function isValidAddress(address addr) public pure returns (bool) {... */\n tag_21:\n /* \"contracts/AddressValidator.sol\":364:368 bool */\n 0x00\n /* \"contracts/AddressValidator.sol\":403:404 0 */\n dup1\n /* \"contracts/AddressValidator.sol\":387:405 addr != address(0) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/AddressValidator.sol\":387:391 addr */\n dup3\n /* \"contracts/AddressValidator.sol\":387:405 addr != address(0) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n iszero\n /* \"contracts/AddressValidator.sol\":380:405 return addr != address(0) */\n swap1\n pop\n /* \"contracts/AddressValidator.sol\":305:412 function isValidAddress(address addr) public pure returns (bool) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"contracts/JonnyCoin.sol\":546:587 string public constant name = \"JonnyCoin\" */\n tag_25:\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x09\n dup2\n mstore\n 0x20\n add\n 0x4a6f6e6e79436f696e0000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n jump\t// out\n /* \"contracts/JonnyCoin.sol\":2128:2430 function approve(address _spender, uint256 _value) public nonReentrant whenNotPaused returns (bool success) {... */\n tag_31:\n /* \"contracts/JonnyCoin.sol\":2222:2234 bool success */\n 0x00\n /* \"contracts/ReentrancyGuard.sol\":159:167 _entered */\n dup1\n 0x15\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xff\n and\n /* \"contracts/ReentrancyGuard.sol\":158:167 !_entered */\n iszero\n /* \"contracts/ReentrancyGuard.sol\":150:186 require(!_entered, \"Reentrant call\") */\n tag_71\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_72\n swap1\n tag_73\n jump\t// in\n tag_72:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_71:\n /* \"contracts/ReentrancyGuard.sol\":207:211 true */\n 0x01\n /* \"contracts/ReentrancyGuard.sol\":196:204 _entered */\n 0x00\n 0x15\n /* \"contracts/ReentrancyGuard.sol\":196:211 _entered = true */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xff\n mul\n not\n and\n swap1\n dup4\n iszero\n iszero\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/Pausable.sol\":368:375 _paused */\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xff\n and\n /* \"contracts/Pausable.sol\":367:375 !_paused */\n iszero\n /* \"contracts/Pausable.sol\":359:405 require(!_paused, \"Der Contract ist pausiert\") */\n tag_75\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_76\n swap1\n tag_77\n jump\t// in\n tag_76:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_75:\n /* \"contracts/JonnyCoin.sol\":2254:2278 isValidAddress(_spender) */\n tag_79\n /* \"contracts/JonnyCoin.sol\":2269:2277 _spender */\n dup4\n /* \"contracts/JonnyCoin.sol\":2254:2268 isValidAddress */\n tag_21\n /* \"contracts/JonnyCoin.sol\":2254:2278 isValidAddress(_spender) */\n jump\t// in\n tag_79:\n /* \"contracts/JonnyCoin.sol\":2246:2301 require(isValidAddress(_spender), \"Ungueltige Adresse\") */\n tag_80\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_81\n swap1\n tag_82\n jump\t// in\n tag_81:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_80:\n /* \"contracts/JonnyCoin.sol\":2343:2349 _value */\n dup2\n /* \"contracts/JonnyCoin.sol\":2311:2318 allowed */\n 0x03\n /* \"contracts/JonnyCoin.sol\":2311:2330 allowed[msg.sender] */\n 0x00\n /* \"contracts/JonnyCoin.sol\":2319:2329 msg.sender */\n caller\n /* \"contracts/JonnyCoin.sol\":2311:2330 allowed[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/JonnyCoin.sol\":2311:2340 allowed[msg.sender][_spender] */\n 0x00\n /* \"contracts/JonnyCoin.sol\":2331:2339 _spender */\n dup6\n /* \"contracts/JonnyCoin.sol\":2311:2340 allowed[msg.sender][_spender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/JonnyCoin.sol\":2311:2349 allowed[msg.sender][_spender] = _value */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/JonnyCoin.sol\":2385:2393 _spender */\n dup3\n /* \"contracts/JonnyCoin.sol\":2364:2402 Approval(msg.sender, _spender, _value) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/JonnyCoin.sol\":2373:2383 msg.sender */\n caller\n /* \"contracts/JonnyCoin.sol\":2364:2402 Approval(msg.sender, _spender, _value) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925\n /* \"contracts/JonnyCoin.sol\":2395:2401 _value */\n dup5\n /* \"contracts/JonnyCoin.sol\":2364:2402 Approval(msg.sender, _spender, _value) */\n mload(0x40)\n tag_83\n swap2\n swap1\n tag_36\n jump\t// in\n tag_83:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log3\n /* \"contracts/JonnyCoin.sol\":2419:2423 true */\n 0x01\n /* \"contracts/JonnyCoin.sol\":2412:2423 return true */\n swap1\n pop\n /* \"contracts/ReentrancyGuard.sol\":243:248 false */\n 0x00\n /* \"contracts/ReentrancyGuard.sol\":232:240 _entered */\n dup1\n 0x15\n /* \"contracts/ReentrancyGuard.sol\":232:248 _entered = false */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xff\n mul\n not\n and\n swap1\n dup4\n iszero\n iszero\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/JonnyCoin.sol\":2128:2430 function approve(address _spender, uint256 _value) public nonReentrant whenNotPaused returns (bool success) {... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"contracts/JonnyCoin.sol\":676:712 uint256 public totalSupply = 1000000 */\n tag_34:\n sload(0x01)\n dup2\n jump\t// out\n /* \"contracts/JonnyCoin.sol\":2578:3113 function transferFrom(address _from, address _to, uint256 _value) public nonReentrant whenNotPaused returns (bool success) {... */\n tag_40:\n /* \"contracts/JonnyCoin.sol\":2687:2699 bool success */\n 0x00\n /* \"contracts/ReentrancyGuard.sol\":159:167 _entered */\n dup1\n 0x15\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xff\n and\n /* \"contracts/ReentrancyGuard.sol\":158:167 !_entered */\n iszero\n /* \"contracts/ReentrancyGuard.sol\":150:186 require(!_entered, \"Reentrant call\") */\n tag_85\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_86\n swap1\n tag_73\n jump\t// in\n tag_86:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_85:\n /* \"contracts/ReentrancyGuard.sol\":207:211 true */\n 0x01\n /* \"contracts/ReentrancyGuard.sol\":196:204 _entered */\n 0x00\n 0x15\n /* \"contracts/ReentrancyGuard.sol\":196:211 _entered = true */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xff\n mul\n not\n and\n swap1\n dup4\n iszero\n iszero\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/Pausable.sol\":368:375 _paused */\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xff\n and\n /* \"contracts/Pausable.sol\":367:375 !_paused */\n iszero\n /* \"contracts/Pausable.sol\":359:405 require(!_paused, \"Der Contract ist pausiert\") */\n tag_88\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_89\n swap1\n tag_77\n jump\t// in\n tag_89:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_88:\n /* \"contracts/JonnyCoin.sol\":2729:2737 balances */\n 0x02\n /* \"contracts/JonnyCoin.sol\":2729:2744 balances[_from] */\n 0x00\n /* \"contracts/JonnyCoin.sol\":2738:2743 _from */\n dup6\n /* \"contracts/JonnyCoin.sol\":2729:2744 balances[_from] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contracts/JonnyCoin.sol\":2719:2725 _value */\n dup3\n /* \"contracts/JonnyCoin.sol\":2719:2744 _value <= balances[_from] */\n gt\n iszero\n /* \"contracts/JonnyCoin.sol\":2711:2769 require(_value <= balances[_from], \"Insufficient balance\") */\n tag_91\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_92\n swap1\n tag_93\n jump\t// in\n tag_92:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_91:\n /* \"contracts/JonnyCoin.sol\":2797:2804 allowed */\n 0x03\n /* \"contracts/JonnyCoin.sol\":2797:2811 allowed[_from] */\n 0x00\n /* \"contracts/JonnyCoin.sol\":2805:2810 _from */\n dup6\n /* \"contracts/JonnyCoin.sol\":2797:2811 allowed[_from] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/JonnyCoin.sol\":2797:2823 allowed[_from][msg.sender] */\n 0x00\n /* \"contracts/JonnyCoin.sol\":2812:2822 msg.sender */\n caller\n /* \"contracts/JonnyCoin.sol\":2797:2823 allowed[_from][msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contracts/JonnyCoin.sol\":2787:2793 _value */\n dup3\n /* \"contracts/JonnyCoin.sol\":2787:2823 _value <= allowed[_from][msg.sender] */\n gt\n iszero\n /* \"contracts/JonnyCoin.sol\":2779:2850 require(_value <= allowed[_from][msg.sender], \"Insufficient allowance\") */\n tag_94\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_95\n swap1\n tag_96\n jump\t// in\n tag_95:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_94:\n /* \"contracts/JonnyCoin.sol\":2887:2914 balances[_from].sub(_value) */\n tag_97\n /* \"contracts/JonnyCoin.sol\":2907:2913 _value */\n dup3\n /* \"contracts/JonnyCoin.sol\":2887:2895 balances */\n 0x02\n /* \"contracts/JonnyCoin.sol\":2887:2902 balances[_from] */\n 0x00\n /* \"contracts/JonnyCoin.sol\":2896:2901 _from */\n dup8\n /* \"contracts/JonnyCoin.sol\":2887:2902 balances[_from] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contracts/JonnyCoin.sol\":2887:2906 balances[_from].sub */\n tag_98\n swap1\n /* \"contracts/JonnyCoin.sol\":2887:2914 balances[_from].sub(_value) */\n swap2\n swap1\n 0xffffffff\n and\n jump\t// in\n tag_97:\n /* \"contracts/JonnyCoin.sol\":2869:2877 balances */\n 0x02\n /* \"contracts/JonnyCoin.sol\":2869:2884 balances[_from] */\n 0x00\n /* \"contracts/JonnyCoin.sol\":2878:2883 _from */\n dup7\n /* \"contracts/JonnyCoin.sol\":2869:2884 balances[_from] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/JonnyCoin.sol\":2869:2914 balances[_from] = balances[_from].sub(_value) */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/JonnyCoin.sol\":2953:2991 allowed[_from][msg.sender].sub(_value) */\n tag_99\n /* \"contracts/JonnyCoin.sol\":2984:2990 _value */\n dup3\n /* \"contracts/JonnyCoin.sol\":2953:2960 allowed */\n 0x03\n /* \"contracts/JonnyCoin.sol\":2953:2967 allowed[_from] */\n 0x00\n /* \"contracts/JonnyCoin.sol\":2961:2966 _from */\n dup8\n /* \"contracts/JonnyCoin.sol\":2953:2967 allowed[_from] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/JonnyCoin.sol\":2953:2979 allowed[_from][msg.sender] */\n 0x00\n /* \"contracts/JonnyCoin.sol\":2968:2978 msg.sender */\n caller\n /* \"contracts/JonnyCoin.sol\":2953:2979 allowed[_from][msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contracts/JonnyCoin.sol\":2953:2983 allowed[_from][msg.sender].sub */\n tag_98\n swap1\n /* \"contracts/JonnyCoin.sol\":2953:2991 allowed[_from][msg.sender].sub(_value) */\n swap2\n swap1\n 0xffffffff\n and\n jump\t// in\n tag_99:\n /* \"contracts/JonnyCoin.sol\":2924:2931 allowed */\n 0x03\n /* \"contracts/JonnyCoin.sol\":2924:2938 allowed[_from] */\n 0x00\n /* \"contracts/JonnyCoin.sol\":2932:2937 _from */\n dup7\n /* \"contracts/JonnyCoin.sol\":2924:2938 allowed[_from] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/JonnyCoin.sol\":2924:2950 allowed[_from][msg.sender] */\n 0x00\n /* \"contracts/JonnyCoin.sol\":2939:2949 msg.sender */\n caller\n /* \"contracts/JonnyCoin.sol\":2924:2950 allowed[_from][msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/JonnyCoin.sol\":2924:2991 allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value) */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/JonnyCoin.sol\":3017:3042 balances[_to].add(_value) */\n tag_100\n /* \"contracts/JonnyCoin.sol\":3035:3041 _value */\n dup3\n /* \"contracts/JonnyCoin.sol\":3017:3025 balances */\n 0x02\n /* \"contracts/JonnyCoin.sol\":3017:3030 balances[_to] */\n 0x00\n /* \"contracts/JonnyCoin.sol\":3026:3029 _to */\n dup7\n /* \"contracts/JonnyCoin.sol\":3017:3030 balances[_to] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contracts/JonnyCoin.sol\":3017:3034 balances[_to].add */\n tag_101\n swap1\n /* \"contracts/JonnyCoin.sol\":3017:3042 balances[_to].add(_value) */\n swap2\n swap1\n 0xffffffff\n and\n jump\t// in\n tag_100:\n /* \"contracts/JonnyCoin.sol\":3001:3009 balances */\n 0x02\n /* \"contracts/JonnyCoin.sol\":3001:3014 balances[_to] */\n 0x00\n /* \"contracts/JonnyCoin.sol\":3010:3013 _to */\n dup6\n /* \"contracts/JonnyCoin.sol\":3001:3014 balances[_to] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/JonnyCoin.sol\":3001:3042 balances[_to] = balances[_to].add(_value) */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/JonnyCoin.sol\":3073:3076 _to */\n dup3\n /* \"contracts/JonnyCoin.sol\":3057:3085 Transfer(_from, _to, _value) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/JonnyCoin.sol\":3066:3071 _from */\n dup5\n /* \"contracts/JonnyCoin.sol\":3057:3085 Transfer(_from, _to, _value) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\n /* \"contracts/JonnyCoin.sol\":3078:3084 _value */\n dup5\n /* \"contracts/JonnyCoin.sol\":3057:3085 Transfer(_from, _to, _value) */\n mload(0x40)\n tag_102\n swap2\n swap1\n tag_36\n jump\t// in\n tag_102:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log3\n /* \"contracts/JonnyCoin.sol\":3102:3106 true */\n 0x01\n /* \"contracts/JonnyCoin.sol\":3095:3106 return true */\n swap1\n pop\n /* \"contracts/ReentrancyGuard.sol\":243:248 false */\n 0x00\n /* \"contracts/ReentrancyGuard.sol\":232:240 _entered */\n dup1\n 0x15\n /* \"contracts/ReentrancyGuard.sol\":232:248 _entered = false */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xff\n mul\n not\n and\n swap1\n dup4\n iszero\n iszero\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/JonnyCoin.sol\":2578:3113 function transferFrom(address _from, address _to, uint256 _value) public nonReentrant whenNotPaused returns (bool success) {... */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"contracts/JonnyCoin.sol\":636:670 uint8 public constant decimals = 0 */\n tag_43:\n /* \"contracts/JonnyCoin.sol\":669:670 0 */\n 0x00\n /* \"contracts/JonnyCoin.sol\":636:670 uint8 public constant decimals = 0 */\n dup2\n jump\t// out\n /* \"contracts/Pausable.sol\":735:849 function unpause() public onlyOwner whenPaused {... */\n tag_47:\n /* \"contracts/Pausable.sol\":262:268 _owner */\n 0x00\n 0x01\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/Pausable.sol\":248:268 msg.sender == _owner */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/Pausable.sol\":248:258 msg.sender */\n caller\n /* \"contracts/Pausable.sol\":248:268 msg.sender == _owner */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"contracts/Pausable.sol\":240:300 require(msg.sender == _owner, \"Sie sind nicht der Besitzer\") */\n tag_104\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_105\n swap1\n tag_106\n jump\t// in\n tag_105:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_104:\n /* \"contracts/Pausable.sol\":469:476 _paused */\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xff\n and\n /* \"contracts/Pausable.sol\":461:512 require(_paused, \"Der Contract ist nicht pausiert\") */\n tag_108\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_109\n swap1\n tag_110\n jump\t// in\n tag_109:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_108:\n /* \"contracts/Pausable.sol\":802:807 false */\n 0x00\n /* \"contracts/Pausable.sol\":792:799 _paused */\n dup1\n 0x00\n /* \"contracts/Pausable.sol\":792:807 _paused = false */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xff\n mul\n not\n and\n swap1\n dup4\n iszero\n iszero\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/Pausable.sol\":822:842 Unpaused(msg.sender) */\n 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa\n /* \"contracts/Pausable.sol\":831:841 msg.sender */\n caller\n /* \"contracts/Pausable.sol\":822:842 Unpaused(msg.sender) */\n mload(0x40)\n tag_112\n swap2\n swap1\n tag_113\n jump\t// in\n tag_112:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"contracts/Pausable.sol\":735:849 function unpause() public onlyOwner whenPaused {... */\n jump\t// out\n /* \"contracts/JonnyCoin.sol\":1339:1452 function balanceOf(address _owner) public view returns (uint256 balance) {... */\n tag_50:\n /* \"contracts/JonnyCoin.sol\":1395:1410 uint256 balance */\n 0x00\n /* \"contracts/JonnyCoin.sol\":1429:1437 balances */\n 0x02\n /* \"contracts/JonnyCoin.sol\":1429:1445 balances[_owner] */\n 0x00\n /* \"contracts/JonnyCoin.sol\":1438:1444 _owner */\n dup4\n /* \"contracts/JonnyCoin.sol\":1429:1445 balances[_owner] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contracts/JonnyCoin.sol\":1422:1445 return balances[_owner] */\n swap1\n pop\n /* \"contracts/JonnyCoin.sol\":1339:1452 function balanceOf(address _owner) public view returns (uint256 balance) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"contracts/Pausable.sol\":617:729 function pause() public onlyOwner whenNotPaused {... */\n tag_53:\n /* \"contracts/Pausable.sol\":262:268 _owner */\n 0x00\n 0x01\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/Pausable.sol\":248:268 msg.sender == _owner */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/Pausable.sol\":248:258 msg.sender */\n caller\n /* \"contracts/Pausable.sol\":248:268 msg.sender == _owner */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"contracts/Pausable.sol\":240:300 require(msg.sender == _owner, \"Sie sind nicht der Besitzer\") */\n tag_116\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_117\n swap1\n tag_106\n jump\t// in\n tag_117:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_116:\n /* \"contracts/Pausable.sol\":368:375 _paused */\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xff\n and\n /* \"contracts/Pausable.sol\":367:375 !_paused */\n iszero\n /* \"contracts/Pausable.sol\":359:405 require(!_paused, \"Der Contract ist pausiert\") */\n tag_119\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_120\n swap1\n tag_77\n jump\t// in\n tag_120:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_119:\n /* \"contracts/Pausable.sol\":685:689 true */\n 0x01\n /* \"contracts/Pausable.sol\":675:682 _paused */\n 0x00\n dup1\n /* \"contracts/Pausable.sol\":675:689 _paused = true */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xff\n mul\n not\n and\n swap1\n dup4\n iszero\n iszero\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/Pausable.sol\":704:722 Paused(msg.sender) */\n 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258\n /* \"contracts/Pausable.sol\":711:721 msg.sender */\n caller\n /* \"contracts/Pausable.sol\":704:722 Paused(msg.sender) */\n mload(0x40)\n tag_122\n swap2\n swap1\n tag_113\n jump\t// in\n tag_122:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"contracts/Pausable.sol\":617:729 function pause() public onlyOwner whenNotPaused {... */\n jump\t// out\n /* \"contracts/JonnyCoin.sol\":593:630 string public constant symbol = \"JNC\" */\n tag_55:\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x03\n dup2\n mstore\n 0x20\n add\n 0x4a4e430000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n jump\t// out\n /* \"contracts/JonnyCoin.sol\":1568:1997 function transfer(address _to, uint256 _value) public nonReentrant whenNotPaused returns (bool success) {... */\n tag_59:\n /* \"contracts/JonnyCoin.sol\":1658:1670 bool success */\n 0x00\n /* \"contracts/ReentrancyGuard.sol\":159:167 _entered */\n dup1\n 0x15\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xff\n and\n /* \"contracts/ReentrancyGuard.sol\":158:167 !_entered */\n iszero\n /* \"contracts/ReentrancyGuard.sol\":150:186 require(!_entered, \"Reentrant call\") */\n tag_124\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_125\n swap1\n tag_73\n jump\t// in\n tag_125:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_124:\n /* \"contracts/ReentrancyGuard.sol\":207:211 true */\n 0x01\n /* \"contracts/ReentrancyGuard.sol\":196:204 _entered */\n 0x00\n 0x15\n /* \"contracts/ReentrancyGuard.sol\":196:211 _entered = true */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xff\n mul\n not\n and\n swap1\n dup4\n iszero\n iszero\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/Pausable.sol\":368:375 _paused */\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xff\n and\n /* \"contracts/Pausable.sol\":367:375 !_paused */\n iszero\n /* \"contracts/Pausable.sol\":359:405 require(!_paused, \"Der Contract ist pausiert\") */\n tag_127\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_128\n swap1\n tag_77\n jump\t// in\n tag_128:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_127:\n /* \"contracts/JonnyCoin.sol\":1690:1709 isValidAddress(_to) */\n tag_130\n /* \"contracts/JonnyCoin.sol\":1705:1708 _to */\n dup4\n /* \"contracts/JonnyCoin.sol\":1690:1704 isValidAddress */\n tag_21\n /* \"contracts/JonnyCoin.sol\":1690:1709 isValidAddress(_to) */\n jump\t// in\n tag_130:\n /* \"contracts/JonnyCoin.sol\":1682:1732 require(isValidAddress(_to), \"Ungueltige Adresse\") */\n tag_131\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_132\n swap1\n tag_82\n jump\t// in\n tag_132:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_131:\n /* \"contracts/JonnyCoin.sol\":1774:1780 _value */\n dup2\n /* \"contracts/JonnyCoin.sol\":1750:1758 balances */\n 0x02\n /* \"contracts/JonnyCoin.sol\":1750:1770 balances[msg.sender] */\n 0x00\n /* \"contracts/JonnyCoin.sol\":1759:1769 msg.sender */\n caller\n /* \"contracts/JonnyCoin.sol\":1750:1770 balances[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contracts/JonnyCoin.sol\":1750:1780 balances[msg.sender] >= _value */\n lt\n iszero\n /* \"contracts/JonnyCoin.sol\":1742:1805 require(balances[msg.sender] >= _value, \"Insufficient balance\") */\n tag_133\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_134\n swap1\n tag_93\n jump\t// in\n tag_134:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_133:\n /* \"contracts/JonnyCoin.sol\":1838:1870 balances[msg.sender].sub(_value) */\n tag_135\n /* \"contracts/JonnyCoin.sol\":1863:1869 _value */\n dup3\n /* \"contracts/JonnyCoin.sol\":1838:1846 balances */\n 0x02\n /* \"contracts/JonnyCoin.sol\":1838:1858 balances[msg.sender] */\n 0x00\n /* \"contracts/JonnyCoin.sol\":1847:1857 msg.sender */\n caller\n /* \"contracts/JonnyCoin.sol\":1838:1858 balances[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contracts/JonnyCoin.sol\":1838:1862 balances[msg.sender].sub */\n tag_98\n swap1\n /* \"contracts/JonnyCoin.sol\":1838:1870 balances[msg.sender].sub(_value) */\n swap2\n swap1\n 0xffffffff\n and\n jump\t// in\n tag_135:\n /* \"contracts/JonnyCoin.sol\":1815:1823 balances */\n 0x02\n /* \"contracts/JonnyCoin.sol\":1815:1835 balances[msg.sender] */\n 0x00\n /* \"contracts/JonnyCoin.sol\":1824:1834 msg.sender */\n caller\n /* \"contracts/JonnyCoin.sol\":1815:1835 balances[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/JonnyCoin.sol\":1815:1870 balances[msg.sender] = balances[msg.sender].sub(_value) */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/JonnyCoin.sol\":1896:1921 balances[_to].add(_value) */\n tag_136\n /* \"contracts/JonnyCoin.sol\":1914:1920 _value */\n dup3\n /* \"contracts/JonnyCoin.sol\":1896:1904 balances */\n 0x02\n /* \"contracts/JonnyCoin.sol\":1896:1909 balances[_to] */\n 0x00\n /* \"contracts/JonnyCoin.sol\":1905:1908 _to */\n dup7\n /* \"contracts/JonnyCoin.sol\":1896:1909 balances[_to] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contracts/JonnyCoin.sol\":1896:1913 balances[_to].add */\n tag_101\n swap1\n /* \"contracts/JonnyCoin.sol\":1896:1921 balances[_to].add(_value) */\n swap2\n swap1\n 0xffffffff\n and\n jump\t// in\n tag_136:\n /* \"contracts/JonnyCoin.sol\":1880:1888 balances */\n 0x02\n /* \"contracts/JonnyCoin.sol\":1880:1893 balances[_to] */\n 0x00\n /* \"contracts/JonnyCoin.sol\":1889:1892 _to */\n dup6\n /* \"contracts/JonnyCoin.sol\":1880:1893 balances[_to] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/JonnyCoin.sol\":1880:1921 balances[_to] = balances[_to].add(_value) */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/JonnyCoin.sol\":1957:1960 _to */\n dup3\n /* \"contracts/JonnyCoin.sol\":1936:1969 Transfer(msg.sender, _to, _value) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/JonnyCoin.sol\":1945:1955 msg.sender */\n caller\n /* \"contracts/JonnyCoin.sol\":1936:1969 Transfer(msg.sender, _to, _value) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\n /* \"contracts/JonnyCoin.sol\":1962:1968 _value */\n dup5\n /* \"contracts/JonnyCoin.sol\":1936:1969 Transfer(msg.sender, _to, _value) */\n mload(0x40)\n tag_137\n swap2\n swap1\n tag_36\n jump\t// in\n tag_137:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log3\n /* \"contracts/JonnyCoin.sol\":1986:1990 true */\n 0x01\n /* \"contracts/JonnyCoin.sol\":1979:1990 return true */\n swap1\n pop\n /* \"contracts/ReentrancyGuard.sol\":243:248 false */\n 0x00\n /* \"contracts/ReentrancyGuard.sol\":232:240 _entered */\n dup1\n 0x15\n /* \"contracts/ReentrancyGuard.sol\":232:248 _entered = false */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xff\n mul\n not\n and\n swap1\n dup4\n iszero\n iszero\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/JonnyCoin.sol\":1568:1997 function transfer(address _to, uint256 _value) public nonReentrant whenNotPaused returns (bool success) {... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"contracts/Pausable.sol\":855:933 function isPaused() public view returns (bool) {... */\n tag_62:\n /* \"contracts/Pausable.sol\":896:900 bool */\n 0x00\n /* \"contracts/Pausable.sol\":919:926 _paused */\n dup1\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xff\n and\n /* \"contracts/Pausable.sol\":912:926 return _paused */\n swap1\n pop\n /* \"contracts/Pausable.sol\":855:933 function isPaused() public view returns (bool) {... */\n swap1\n jump\t// out\n /* \"contracts/JonnyCoin.sol\":3186:3328 function allowance(address _owner, address _spender) public view returns (uint256 remaining) {... */\n tag_67:\n /* \"contracts/JonnyCoin.sol\":3260:3277 uint256 remaining */\n 0x00\n /* \"contracts/JonnyCoin.sol\":3296:3303 allowed */\n 0x03\n /* \"contracts/JonnyCoin.sol\":3296:3311 allowed[_owner] */\n 0x00\n /* \"contracts/JonnyCoin.sol\":3304:3310 _owner */\n dup5\n /* \"contracts/JonnyCoin.sol\":3296:3311 allowed[_owner] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/JonnyCoin.sol\":3296:3321 allowed[_owner][_spender] */\n 0x00\n /* \"contracts/JonnyCoin.sol\":3312:3320 _spender */\n dup4\n /* \"contracts/JonnyCoin.sol\":3296:3321 allowed[_owner][_spender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contracts/JonnyCoin.sol\":3289:3321 return allowed[_owner][_spender] */\n swap1\n pop\n /* \"contracts/JonnyCoin.sol\":3186:3328 function allowance(address _owner, address _spender) public view returns (uint256 remaining) {... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"contracts/SafeMath.sol\":571:750 function sub(uint256 a, uint256 b) internal pure returns (uint256) {... */\n tag_98:\n /* \"contracts/SafeMath.sol\":629:636 uint256 */\n 0x00\n /* \"contracts/SafeMath.sol\":661:662 a */\n dup3\n /* \"contracts/SafeMath.sol\":656:657 b */\n dup3\n /* \"contracts/SafeMath.sol\":656:662 b <= a */\n gt\n iszero\n /* \"contracts/SafeMath.sol\":648:697 require(b <= a, \"SafeMath: subtraction overflow\") */\n tag_141\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_142\n swap1\n tag_143\n jump\t// in\n tag_142:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_141:\n /* \"contracts/SafeMath.sol\":707:716 uint256 c */\n 0x00\n /* \"contracts/SafeMath.sol\":723:724 b */\n dup3\n /* \"contracts/SafeMath.sol\":719:720 a */\n dup5\n /* \"contracts/SafeMath.sol\":719:724 a - b */\n tag_144\n swap2\n swap1\n tag_145\n jump\t// in\n tag_144:\n /* \"contracts/SafeMath.sol\":707:724 uint256 c = a - b */\n swap1\n pop\n /* \"contracts/SafeMath.sol\":742:743 c */\n dup1\n /* \"contracts/SafeMath.sol\":735:743 return c */\n swap2\n pop\n pop\n /* \"contracts/SafeMath.sol\":571:750 function sub(uint256 a, uint256 b) internal pure returns (uint256) {... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"contracts/SafeMath.sol\":232:408 function add(uint256 a, uint256 b) internal pure returns (uint256) {... */\n tag_101:\n /* \"contracts/SafeMath.sol\":290:297 uint256 */\n 0x00\n /* \"contracts/SafeMath.sol\":309:318 uint256 c */\n dup1\n /* \"contracts/SafeMath.sol\":325:326 b */\n dup3\n /* \"contracts/SafeMath.sol\":321:322 a */\n dup5\n /* \"contracts/SafeMath.sol\":321:326 a + b */\n tag_147\n swap2\n swap1\n tag_148\n jump\t// in\n tag_147:\n /* \"contracts/SafeMath.sol\":309:326 uint256 c = a + b */\n swap1\n pop\n /* \"contracts/SafeMath.sol\":349:350 a */\n dup4\n /* \"contracts/SafeMath.sol\":344:345 c */\n dup2\n /* \"contracts/SafeMath.sol\":344:350 c >= a */\n lt\n iszero\n /* \"contracts/SafeMath.sol\":336:382 require(c >= a, \"SafeMath: addition overflow\") */\n tag_149\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_150\n swap1\n tag_151\n jump\t// in\n tag_150:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_149:\n /* \"contracts/SafeMath.sol\":400:401 c */\n dup1\n /* \"contracts/SafeMath.sol\":393:401 return c */\n swap2\n pop\n pop\n /* \"contracts/SafeMath.sol\":232:408 function add(uint256 a, uint256 b) internal pure returns (uint256) {... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":88:205 */\n tag_153:\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:460 */\n tag_155:\n /* \"#utility.yul\":371:378 */\n 0x00\n /* \"#utility.yul\":411:453 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":404:409 */\n dup3\n /* \"#utility.yul\":400:454 */\n and\n /* \"#utility.yul\":389:454 */\n swap1\n pop\n /* \"#utility.yul\":334:460 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":466:562 */\n tag_156:\n /* \"#utility.yul\":503:510 */\n 0x00\n /* \"#utility.yul\":532:556 */\n tag_198\n /* \"#utility.yul\":550:555 */\n dup3\n /* \"#utility.yul\":532:556 */\n tag_155\n jump\t// in\n tag_198:\n /* \"#utility.yul\":521:556 */\n swap1\n pop\n /* \"#utility.yul\":466:562 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":568:690 */\n tag_157:\n /* \"#utility.yul\":641:665 */\n tag_200\n /* \"#utility.yul\":659:664 */\n dup2\n /* \"#utility.yul\":641:665 */\n tag_156\n jump\t// in\n tag_200:\n /* \"#utility.yul\":634:639 */\n dup2\n /* \"#utility.yul\":631:666 */\n eq\n /* \"#utility.yul\":621:684 */\n tag_201\n jumpi\n /* \"#utility.yul\":680:681 */\n 0x00\n /* \"#utility.yul\":677:678 */\n dup1\n /* \"#utility.yul\":670:682 */\n revert\n /* \"#utility.yul\":621:684 */\n tag_201:\n /* \"#utility.yul\":568:690 */\n pop\n jump\t// out\n /* \"#utility.yul\":696:835 */\n tag_158:\n /* \"#utility.yul\":742:747 */\n 0x00\n /* \"#utility.yul\":780:786 */\n dup2\n /* \"#utility.yul\":767:787 */\n calldataload\n /* \"#utility.yul\":758:787 */\n swap1\n pop\n /* \"#utility.yul\":796:829 */\n tag_203\n /* \"#utility.yul\":823:828 */\n dup2\n /* \"#utility.yul\":796:829 */\n tag_157\n jump\t// in\n tag_203:\n /* \"#utility.yul\":696:835 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":841:1170 */\n tag_20:\n /* \"#utility.yul\":900:906 */\n 0x00\n /* \"#utility.yul\":949:951 */\n 0x20\n /* \"#utility.yul\":937:946 */\n dup3\n /* \"#utility.yul\":928:935 */\n dup5\n /* \"#utility.yul\":924:947 */\n sub\n /* \"#utility.yul\":920:952 */\n slt\n /* \"#utility.yul\":917:1036 */\n iszero\n tag_205\n jumpi\n /* \"#utility.yul\":955:1034 */\n tag_206\n tag_153\n jump\t// in\n tag_206:\n /* \"#utility.yul\":917:1036 */\n tag_205:\n /* \"#utility.yul\":1075:1076 */\n 0x00\n /* \"#utility.yul\":1100:1153 */\n tag_207\n /* \"#utility.yul\":1145:1152 */\n dup5\n /* \"#utility.yul\":1136:1142 */\n dup3\n /* \"#utility.yul\":1125:1134 */\n dup6\n /* \"#utility.yul\":1121:1143 */\n add\n /* \"#utility.yul\":1100:1153 */\n tag_158\n jump\t// in\n tag_207:\n /* \"#utility.yul\":1090:1153 */\n swap2\n pop\n /* \"#utility.yul\":1046:1163 */\n pop\n /* \"#utility.yul\":841:1170 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1176:1266 */\n tag_159:\n /* \"#utility.yul\":1210:1217 */\n 0x00\n /* \"#utility.yul\":1253:1258 */\n dup2\n /* \"#utility.yul\":1246:1259 */\n iszero\n /* \"#utility.yul\":1239:1260 */\n iszero\n /* \"#utility.yul\":1228:1260 */\n swap1\n pop\n /* \"#utility.yul\":1176:1266 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1272:1381 */\n tag_160:\n /* \"#utility.yul\":1353:1374 */\n tag_210\n /* \"#utility.yul\":1368:1373 */\n dup2\n /* \"#utility.yul\":1353:1374 */\n tag_159\n jump\t// in\n tag_210:\n /* \"#utility.yul\":1348:1351 */\n dup3\n /* \"#utility.yul\":1341:1375 */\n mstore\n /* \"#utility.yul\":1272:1381 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1387:1597 */\n tag_23:\n /* \"#utility.yul\":1474:1478 */\n 0x00\n /* \"#utility.yul\":1512:1514 */\n 0x20\n /* \"#utility.yul\":1501:1510 */\n dup3\n /* \"#utility.yul\":1497:1515 */\n add\n /* \"#utility.yul\":1489:1515 */\n swap1\n pop\n /* \"#utility.yul\":1525:1590 */\n tag_212\n /* \"#utility.yul\":1587:1588 */\n 0x00\n /* \"#utility.yul\":1576:1585 */\n dup4\n /* \"#utility.yul\":1572:1589 */\n add\n /* \"#utility.yul\":1563:1569 */\n dup5\n /* \"#utility.yul\":1525:1590 */\n tag_160\n jump\t// in\n tag_212:\n /* \"#utility.yul\":1387:1597 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1603:1702 */\n tag_161:\n /* \"#utility.yul\":1655:1661 */\n 0x00\n /* \"#utility.yul\":1689:1694 */\n dup2\n /* \"#utility.yul\":1683:1695 */\n mload\n /* \"#utility.yul\":1673:1695 */\n swap1\n pop\n /* \"#utility.yul\":1603:1702 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1708:1877 */\n tag_162:\n /* \"#utility.yul\":1792:1803 */\n 0x00\n /* \"#utility.yul\":1826:1832 */\n dup3\n /* \"#utility.yul\":1821:1824 */\n dup3\n /* \"#utility.yul\":1814:1833 */\n mstore\n /* \"#utility.yul\":1866:1870 */\n 0x20\n /* \"#utility.yul\":1861:1864 */\n dup3\n /* \"#utility.yul\":1857:1871 */\n add\n /* \"#utility.yul\":1842:1871 */\n swap1\n pop\n /* \"#utility.yul\":1708:1877 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1883:2129 */\n tag_163:\n /* \"#utility.yul\":1964:1965 */\n 0x00\n /* \"#utility.yul\":1974:2087 */\n tag_216:\n /* \"#utility.yul\":1988:1994 */\n dup4\n /* \"#utility.yul\":1985:1986 */\n dup2\n /* \"#utility.yul\":1982:1995 */\n lt\n /* \"#utility.yul\":1974:2087 */\n iszero\n tag_218\n jumpi\n /* \"#utility.yul\":2073:2074 */\n dup1\n /* \"#utility.yul\":2068:2071 */\n dup3\n /* \"#utility.yul\":2064:2075 */\n add\n /* \"#utility.yul\":2058:2076 */\n mload\n /* \"#utility.yul\":2054:2055 */\n dup2\n /* \"#utility.yul\":2049:2052 */\n dup5\n /* \"#utility.yul\":2045:2056 */\n add\n /* \"#utility.yul\":2038:2077 */\n mstore\n /* \"#utility.yul\":2010:2012 */\n 0x20\n /* \"#utility.yul\":2007:2008 */\n dup2\n /* \"#utility.yul\":2003:2013 */\n add\n /* \"#utility.yul\":1998:2013 */\n swap1\n pop\n /* \"#utility.yul\":1974:2087 */\n jump(tag_216)\n tag_218:\n /* \"#utility.yul\":2121:2122 */\n 0x00\n /* \"#utility.yul\":2112:2118 */\n dup5\n /* \"#utility.yul\":2107:2110 */\n dup5\n /* \"#utility.yul\":2103:2119 */\n add\n /* \"#utility.yul\":2096:2123 */\n mstore\n /* \"#utility.yul\":1945:2129 */\n pop\n /* \"#utility.yul\":1883:2129 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2135:2237 */\n tag_164:\n /* \"#utility.yul\":2176:2182 */\n 0x00\n /* \"#utility.yul\":2227:2229 */\n 0x1f\n /* \"#utility.yul\":2223:2230 */\n not\n /* \"#utility.yul\":2218:2220 */\n 0x1f\n /* \"#utility.yul\":2211:2216 */\n dup4\n /* \"#utility.yul\":2207:2221 */\n add\n /* \"#utility.yul\":2203:2231 */\n and\n /* \"#utility.yul\":2193:2231 */\n swap1\n pop\n /* \"#utility.yul\":2135:2237 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2243:2620 */\n tag_165:\n /* \"#utility.yul\":2331:2334 */\n 0x00\n /* \"#utility.yul\":2359:2398 */\n tag_221\n /* \"#utility.yul\":2392:2397 */\n dup3\n /* \"#utility.yul\":2359:2398 */\n tag_161\n jump\t// in\n tag_221:\n /* \"#utility.yul\":2414:2485 */\n tag_222\n /* \"#utility.yul\":2478:2484 */\n dup2\n /* \"#utility.yul\":2473:2476 */\n dup6\n /* \"#utility.yul\":2414:2485 */\n tag_162\n jump\t// in\n tag_222:\n /* \"#utility.yul\":2407:2485 */\n swap4\n pop\n /* \"#utility.yul\":2494:2559 */\n tag_223\n /* \"#utility.yul\":2552:2558 */\n dup2\n /* \"#utility.yul\":2547:2550 */\n dup6\n /* \"#utility.yul\":2540:2544 */\n 0x20\n /* \"#utility.yul\":2533:2538 */\n dup7\n /* \"#utility.yul\":2529:2545 */\n add\n /* \"#utility.yul\":2494:2559 */\n tag_163\n jump\t// in\n tag_223:\n /* \"#utility.yul\":2584:2613 */\n tag_224\n /* \"#utility.yul\":2606:2612 */\n dup2\n /* \"#utility.yul\":2584:2613 */\n tag_164\n jump\t// in\n tag_224:\n /* \"#utility.yul\":2579:2582 */\n dup5\n /* \"#utility.yul\":2575:2614 */\n add\n /* \"#utility.yul\":2568:2614 */\n swap2\n pop\n /* \"#utility.yul\":2335:2620 */\n pop\n /* \"#utility.yul\":2243:2620 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2626:2939 */\n tag_27:\n /* \"#utility.yul\":2739:2743 */\n 0x00\n /* \"#utility.yul\":2777:2779 */\n 0x20\n /* \"#utility.yul\":2766:2775 */\n dup3\n /* \"#utility.yul\":2762:2780 */\n add\n /* \"#utility.yul\":2754:2780 */\n swap1\n pop\n /* \"#utility.yul\":2826:2835 */\n dup2\n /* \"#utility.yul\":2820:2824 */\n dup2\n /* \"#utility.yul\":2816:2836 */\n sub\n /* \"#utility.yul\":2812:2813 */\n 0x00\n /* \"#utility.yul\":2801:2810 */\n dup4\n /* \"#utility.yul\":2797:2814 */\n add\n /* \"#utility.yul\":2790:2837 */\n mstore\n /* \"#utility.yul\":2854:2932 */\n tag_226\n /* \"#utility.yul\":2927:2931 */\n dup2\n /* \"#utility.yul\":2918:2924 */\n dup5\n /* \"#utility.yul\":2854:2932 */\n tag_165\n jump\t// in\n tag_226:\n /* \"#utility.yul\":2846:2932 */\n swap1\n pop\n /* \"#utility.yul\":2626:2939 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2945:3022 */\n tag_166:\n /* \"#utility.yul\":2982:2989 */\n 0x00\n /* \"#utility.yul\":3011:3016 */\n dup2\n /* \"#utility.yul\":3000:3016 */\n swap1\n pop\n /* \"#utility.yul\":2945:3022 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3028:3150 */\n tag_167:\n /* \"#utility.yul\":3101:3125 */\n tag_229\n /* \"#utility.yul\":3119:3124 */\n dup2\n /* \"#utility.yul\":3101:3125 */\n tag_166\n jump\t// in\n tag_229:\n /* \"#utility.yul\":3094:3099 */\n dup2\n /* \"#utility.yul\":3091:3126 */\n eq\n /* \"#utility.yul\":3081:3144 */\n tag_230\n jumpi\n /* \"#utility.yul\":3140:3141 */\n 0x00\n /* \"#utility.yul\":3137:3138 */\n dup1\n /* \"#utility.yul\":3130:3142 */\n revert\n /* \"#utility.yul\":3081:3144 */\n tag_230:\n /* \"#utility.yul\":3028:3150 */\n pop\n jump\t// out\n /* \"#utility.yul\":3156:3295 */\n tag_168:\n /* \"#utility.yul\":3202:3207 */\n 0x00\n /* \"#utility.yul\":3240:3246 */\n dup2\n /* \"#utility.yul\":3227:3247 */\n calldataload\n /* \"#utility.yul\":3218:3247 */\n swap1\n pop\n /* \"#utility.yul\":3256:3289 */\n tag_232\n /* \"#utility.yul\":3283:3288 */\n dup2\n /* \"#utility.yul\":3256:3289 */\n tag_167\n jump\t// in\n tag_232:\n /* \"#utility.yul\":3156:3295 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3301:3775 */\n tag_30:\n /* \"#utility.yul\":3369:3375 */\n 0x00\n /* \"#utility.yul\":3377:3383 */\n dup1\n /* \"#utility.yul\":3426:3428 */\n 0x40\n /* \"#utility.yul\":3414:3423 */\n dup4\n /* \"#utility.yul\":3405:3412 */\n dup6\n /* \"#utility.yul\":3401:3424 */\n sub\n /* \"#utility.yul\":3397:3429 */\n slt\n /* \"#utility.yul\":3394:3513 */\n iszero\n tag_234\n jumpi\n /* \"#utility.yul\":3432:3511 */\n tag_235\n tag_153\n jump\t// in\n tag_235:\n /* \"#utility.yul\":3394:3513 */\n tag_234:\n /* \"#utility.yul\":3552:3553 */\n 0x00\n /* \"#utility.yul\":3577:3630 */\n tag_236\n /* \"#utility.yul\":3622:3629 */\n dup6\n /* \"#utility.yul\":3613:3619 */\n dup3\n /* \"#utility.yul\":3602:3611 */\n dup7\n /* \"#utility.yul\":3598:3620 */\n add\n /* \"#utility.yul\":3577:3630 */\n tag_158\n jump\t// in\n tag_236:\n /* \"#utility.yul\":3567:3630 */\n swap3\n pop\n /* \"#utility.yul\":3523:3640 */\n pop\n /* \"#utility.yul\":3679:3681 */\n 0x20\n /* \"#utility.yul\":3705:3758 */\n tag_237\n /* \"#utility.yul\":3750:3757 */\n dup6\n /* \"#utility.yul\":3741:3747 */\n dup3\n /* \"#utility.yul\":3730:3739 */\n dup7\n /* \"#utility.yul\":3726:3748 */\n add\n /* \"#utility.yul\":3705:3758 */\n tag_168\n jump\t// in\n tag_237:\n /* \"#utility.yul\":3695:3758 */\n swap2\n pop\n /* \"#utility.yul\":3650:3768 */\n pop\n /* \"#utility.yul\":3301:3775 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3781:3899 */\n tag_169:\n /* \"#utility.yul\":3868:3892 */\n tag_239\n /* \"#utility.yul\":3886:3891 */\n dup2\n /* \"#utility.yul\":3868:3892 */\n tag_166\n jump\t// in\n tag_239:\n /* \"#utility.yul\":3863:3866 */\n dup3\n /* \"#utility.yul\":3856:3893 */\n mstore\n /* \"#utility.yul\":3781:3899 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3905:4127 */\n tag_36:\n /* \"#utility.yul\":3998:4002 */\n 0x00\n /* \"#utility.yul\":4036:4038 */\n 0x20\n /* \"#utility.yul\":4025:4034 */\n dup3\n /* \"#utility.yul\":4021:4039 */\n add\n /* \"#utility.yul\":4013:4039 */\n swap1\n pop\n /* \"#utility.yul\":4049:4120 */\n tag_241\n /* \"#utility.yul\":4117:4118 */\n 0x00\n /* \"#utility.yul\":4106:4115 */\n dup4\n /* \"#utility.yul\":4102:4119 */\n add\n /* \"#utility.yul\":4093:4099 */\n dup5\n /* \"#utility.yul\":4049:4120 */\n tag_169\n jump\t// in\n tag_241:\n /* \"#utility.yul\":3905:4127 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4133:4752 */\n tag_39:\n /* \"#utility.yul\":4210:4216 */\n 0x00\n /* \"#utility.yul\":4218:4224 */\n dup1\n /* \"#utility.yul\":4226:4232 */\n 0x00\n /* \"#utility.yul\":4275:4277 */\n 0x60\n /* \"#utility.yul\":4263:4272 */\n dup5\n /* \"#utility.yul\":4254:4261 */\n dup7\n /* \"#utility.yul\":4250:4273 */\n sub\n /* \"#utility.yul\":4246:4278 */\n slt\n /* \"#utility.yul\":4243:4362 */\n iszero\n tag_243\n jumpi\n /* \"#utility.yul\":4281:4360 */\n tag_244\n tag_153\n jump\t// in\n tag_244:\n /* \"#utility.yul\":4243:4362 */\n tag_243:\n /* \"#utility.yul\":4401:4402 */\n 0x00\n /* \"#utility.yul\":4426:4479 */\n tag_245\n /* \"#utility.yul\":4471:4478 */\n dup7\n /* \"#utility.yul\":4462:4468 */\n dup3\n /* \"#utility.yul\":4451:4460 */\n dup8\n /* \"#utility.yul\":4447:4469 */\n add\n /* \"#utility.yul\":4426:4479 */\n tag_158\n jump\t// in\n tag_245:\n /* \"#utility.yul\":4416:4479 */\n swap4\n pop\n /* \"#utility.yul\":4372:4489 */\n pop\n /* \"#utility.yul\":4528:4530 */\n 0x20\n /* \"#utility.yul\":4554:4607 */\n tag_246\n /* \"#utility.yul\":4599:4606 */\n dup7\n /* \"#utility.yul\":4590:4596 */\n dup3\n /* \"#utility.yul\":4579:4588 */\n dup8\n /* \"#utility.yul\":4575:4597 */\n add\n /* \"#utility.yul\":4554:4607 */\n tag_158\n jump\t// in\n tag_246:\n /* \"#utility.yul\":4544:4607 */\n swap3\n pop\n /* \"#utility.yul\":4499:4617 */\n pop\n /* \"#utility.yul\":4656:4658 */\n 0x40\n /* \"#utility.yul\":4682:4735 */\n tag_247\n /* \"#utility.yul\":4727:4734 */\n dup7\n /* \"#utility.yul\":4718:4724 */\n dup3\n /* \"#utility.yul\":4707:4716 */\n dup8\n /* \"#utility.yul\":4703:4725 */\n add\n /* \"#utility.yul\":4682:4735 */\n tag_168\n jump\t// in\n tag_247:\n /* \"#utility.yul\":4672:4735 */\n swap2\n pop\n /* \"#utility.yul\":4627:4745 */\n pop\n /* \"#utility.yul\":4133:4752 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"#utility.yul\":4758:4844 */\n tag_170:\n /* \"#utility.yul\":4793:4800 */\n 0x00\n /* \"#utility.yul\":4833:4837 */\n 0xff\n /* \"#utility.yul\":4826:4831 */\n dup3\n /* \"#utility.yul\":4822:4838 */\n and\n /* \"#utility.yul\":4811:4838 */\n swap1\n pop\n /* \"#utility.yul\":4758:4844 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4850:4962 */\n tag_171:\n /* \"#utility.yul\":4933:4955 */\n tag_250\n /* \"#utility.yul\":4949:4954 */\n dup2\n /* \"#utility.yul\":4933:4955 */\n tag_170\n jump\t// in\n tag_250:\n /* \"#utility.yul\":4928:4931 */\n dup3\n /* \"#utility.yul\":4921:4956 */\n mstore\n /* \"#utility.yul\":4850:4962 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4968:5182 */\n tag_45:\n /* \"#utility.yul\":5057:5061 */\n 0x00\n /* \"#utility.yul\":5095:5097 */\n 0x20\n /* \"#utility.yul\":5084:5093 */\n dup3\n /* \"#utility.yul\":5080:5098 */\n add\n /* \"#utility.yul\":5072:5098 */\n swap1\n pop\n /* \"#utility.yul\":5108:5175 */\n tag_252\n /* \"#utility.yul\":5172:5173 */\n 0x00\n /* \"#utility.yul\":5161:5170 */\n dup4\n /* \"#utility.yul\":5157:5174 */\n add\n /* \"#utility.yul\":5148:5154 */\n dup5\n /* \"#utility.yul\":5108:5175 */\n tag_171\n jump\t// in\n tag_252:\n /* \"#utility.yul\":4968:5182 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5188:5662 */\n tag_66:\n /* \"#utility.yul\":5256:5262 */\n 0x00\n /* \"#utility.yul\":5264:5270 */\n dup1\n /* \"#utility.yul\":5313:5315 */\n 0x40\n /* \"#utility.yul\":5301:5310 */\n dup4\n /* \"#utility.yul\":5292:5299 */\n dup6\n /* \"#utility.yul\":5288:5311 */\n sub\n /* \"#utility.yul\":5284:5316 */\n slt\n /* \"#utility.yul\":5281:5400 */\n iszero\n tag_254\n jumpi\n /* \"#utility.yul\":5319:5398 */\n tag_255\n tag_153\n jump\t// in\n tag_255:\n /* \"#utility.yul\":5281:5400 */\n tag_254:\n /* \"#utility.yul\":5439:5440 */\n 0x00\n /* \"#utility.yul\":5464:5517 */\n tag_256\n /* \"#utility.yul\":5509:5516 */\n dup6\n /* \"#utility.yul\":5500:5506 */\n dup3\n /* \"#utility.yul\":5489:5498 */\n dup7\n /* \"#utility.yul\":5485:5507 */\n add\n /* \"#utility.yul\":5464:5517 */\n tag_158\n jump\t// in\n tag_256:\n /* \"#utility.yul\":5454:5517 */\n swap3\n pop\n /* \"#utility.yul\":5410:5527 */\n pop\n /* \"#utility.yul\":5566:5568 */\n 0x20\n /* \"#utility.yul\":5592:5645 */\n tag_257\n /* \"#utility.yul\":5637:5644 */\n dup6\n /* \"#utility.yul\":5628:5634 */\n dup3\n /* \"#utility.yul\":5617:5626 */\n dup7\n /* \"#utility.yul\":5613:5635 */\n add\n /* \"#utility.yul\":5592:5645 */\n tag_158\n jump\t// in\n tag_257:\n /* \"#utility.yul\":5582:5645 */\n swap2\n pop\n /* \"#utility.yul\":5537:5655 */\n pop\n /* \"#utility.yul\":5188:5662 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5668:5832 */\n tag_172:\n /* \"#utility.yul\":5808:5824 */\n 0x5265656e7472616e742063616c6c000000000000000000000000000000000000\n /* \"#utility.yul\":5804:5805 */\n 0x00\n /* \"#utility.yul\":5796:5802 */\n dup3\n /* \"#utility.yul\":5792:5806 */\n add\n /* \"#utility.yul\":5785:5825 */\n mstore\n /* \"#utility.yul\":5668:5832 */\n pop\n jump\t// out\n /* \"#utility.yul\":5838:6204 */\n tag_173:\n /* \"#utility.yul\":5980:5983 */\n 0x00\n /* \"#utility.yul\":6001:6068 */\n tag_260\n /* \"#utility.yul\":6065:6067 */\n 0x0e\n /* \"#utility.yul\":6060:6063 */\n dup4\n /* \"#utility.yul\":6001:6068 */\n tag_162\n jump\t// in\n tag_260:\n /* \"#utility.yul\":5994:6068 */\n swap2\n pop\n /* \"#utility.yul\":6077:6170 */\n tag_261\n /* \"#utility.yul\":6166:6169 */\n dup3\n /* \"#utility.yul\":6077:6170 */\n tag_172\n jump\t// in\n tag_261:\n /* \"#utility.yul\":6195:6197 */\n 0x20\n /* \"#utility.yul\":6190:6193 */\n dup3\n /* \"#utility.yul\":6186:6198 */\n add\n /* \"#utility.yul\":6179:6198 */\n swap1\n pop\n /* \"#utility.yul\":5838:6204 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6210:6629 */\n tag_73:\n /* \"#utility.yul\":6376:6380 */\n 0x00\n /* \"#utility.yul\":6414:6416 */\n 0x20\n /* \"#utility.yul\":6403:6412 */\n dup3\n /* \"#utility.yul\":6399:6417 */\n add\n /* \"#utility.yul\":6391:6417 */\n swap1\n pop\n /* \"#utility.yul\":6463:6472 */\n dup2\n /* \"#utility.yul\":6457:6461 */\n dup2\n /* \"#utility.yul\":6453:6473 */\n sub\n /* \"#utility.yul\":6449:6450 */\n 0x00\n /* \"#utility.yul\":6438:6447 */\n dup4\n /* \"#utility.yul\":6434:6451 */\n add\n /* \"#utility.yul\":6427:6474 */\n mstore\n /* \"#utility.yul\":6491:6622 */\n tag_263\n /* \"#utility.yul\":6617:6621 */\n dup2\n /* \"#utility.yul\":6491:6622 */\n tag_173\n jump\t// in\n tag_263:\n /* \"#utility.yul\":6483:6622 */\n swap1\n pop\n /* \"#utility.yul\":6210:6629 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6635:6810 */\n tag_174:\n /* \"#utility.yul\":6775:6802 */\n 0x44657220436f6e74726163742069737420706175736965727400000000000000\n /* \"#utility.yul\":6771:6772 */\n 0x00\n /* \"#utility.yul\":6763:6769 */\n dup3\n /* \"#utility.yul\":6759:6773 */\n add\n /* \"#utility.yul\":6752:6803 */\n mstore\n /* \"#utility.yul\":6635:6810 */\n pop\n jump\t// out\n /* \"#utility.yul\":6816:7182 */\n tag_175:\n /* \"#utility.yul\":6958:6961 */\n 0x00\n /* \"#utility.yul\":6979:7046 */\n tag_266\n /* \"#utility.yul\":7043:7045 */\n 0x19\n /* \"#utility.yul\":7038:7041 */\n dup4\n /* \"#utility.yul\":6979:7046 */\n tag_162\n jump\t// in\n tag_266:\n /* \"#utility.yul\":6972:7046 */\n swap2\n pop\n /* \"#utility.yul\":7055:7148 */\n tag_267\n /* \"#utility.yul\":7144:7147 */\n dup3\n /* \"#utility.yul\":7055:7148 */\n tag_174\n jump\t// in\n tag_267:\n /* \"#utility.yul\":7173:7175 */\n 0x20\n /* \"#utility.yul\":7168:7171 */\n dup3\n /* \"#utility.yul\":7164:7176 */\n add\n /* \"#utility.yul\":7157:7176 */\n swap1\n pop\n /* \"#utility.yul\":6816:7182 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7188:7607 */\n tag_77:\n /* \"#utility.yul\":7354:7358 */\n 0x00\n /* \"#utility.yul\":7392:7394 */\n 0x20\n /* \"#utility.yul\":7381:7390 */\n dup3\n /* \"#utility.yul\":7377:7395 */\n add\n /* \"#utility.yul\":7369:7395 */\n swap1\n pop\n /* \"#utility.yul\":7441:7450 */\n dup2\n /* \"#utility.yul\":7435:7439 */\n dup2\n /* \"#utility.yul\":7431:7451 */\n sub\n /* \"#utility.yul\":7427:7428 */\n 0x00\n /* \"#utility.yul\":7416:7425 */\n dup4\n /* \"#utility.yul\":7412:7429 */\n add\n /* \"#utility.yul\":7405:7452 */\n mstore\n /* \"#utility.yul\":7469:7600 */\n tag_269\n /* \"#utility.yul\":7595:7599 */\n dup2\n /* \"#utility.yul\":7469:7600 */\n tag_175\n jump\t// in\n tag_269:\n /* \"#utility.yul\":7461:7600 */\n swap1\n pop\n /* \"#utility.yul\":7188:7607 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7613:7781 */\n tag_176:\n /* \"#utility.yul\":7753:7773 */\n 0x556e6775656c7469676520416472657373650000000000000000000000000000\n /* \"#utility.yul\":7749:7750 */\n 0x00\n /* \"#utility.yul\":7741:7747 */\n dup3\n /* \"#utility.yul\":7737:7751 */\n add\n /* \"#utility.yul\":7730:7774 */\n mstore\n /* \"#utility.yul\":7613:7781 */\n pop\n jump\t// out\n /* \"#utility.yul\":7787:8153 */\n tag_177:\n /* \"#utility.yul\":7929:7932 */\n 0x00\n /* \"#utility.yul\":7950:8017 */\n tag_272\n /* \"#utility.yul\":8014:8016 */\n 0x12\n /* \"#utility.yul\":8009:8012 */\n dup4\n /* \"#utility.yul\":7950:8017 */\n tag_162\n jump\t// in\n tag_272:\n /* \"#utility.yul\":7943:8017 */\n swap2\n pop\n /* \"#utility.yul\":8026:8119 */\n tag_273\n /* \"#utility.yul\":8115:8118 */\n dup3\n /* \"#utility.yul\":8026:8119 */\n tag_176\n jump\t// in\n tag_273:\n /* \"#utility.yul\":8144:8146 */\n 0x20\n /* \"#utility.yul\":8139:8142 */\n dup3\n /* \"#utility.yul\":8135:8147 */\n add\n /* \"#utility.yul\":8128:8147 */\n swap1\n pop\n /* \"#utility.yul\":7787:8153 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":8159:8578 */\n tag_82:\n /* \"#utility.yul\":8325:8329 */\n 0x00\n /* \"#utility.yul\":8363:8365 */\n 0x20\n /* \"#utility.yul\":8352:8361 */\n dup3\n /* \"#utility.yul\":8348:8366 */\n add\n /* \"#utility.yul\":8340:8366 */\n swap1\n pop\n /* \"#utility.yul\":8412:8421 */\n dup2\n /* \"#utility.yul\":8406:8410 */\n dup2\n /* \"#utility.yul\":8402:8422 */\n sub\n /* \"#utility.yul\":8398:8399 */\n 0x00\n /* \"#utility.yul\":8387:8396 */\n dup4\n /* \"#utility.yul\":8383:8400 */\n add\n /* \"#utility.yul\":8376:8423 */\n mstore\n /* \"#utility.yul\":8440:8571 */\n tag_275\n /* \"#utility.yul\":8566:8570 */\n dup2\n /* \"#utility.yul\":8440:8571 */\n tag_177\n jump\t// in\n tag_275:\n /* \"#utility.yul\":8432:8571 */\n swap1\n pop\n /* \"#utility.yul\":8159:8578 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":8584:8754 */\n tag_178:\n /* \"#utility.yul\":8724:8746 */\n 0x496e73756666696369656e742062616c616e6365000000000000000000000000\n /* \"#utility.yul\":8720:8721 */\n 0x00\n /* \"#utility.yul\":8712:8718 */\n dup3\n /* \"#utility.yul\":8708:8722 */\n add\n /* \"#utility.yul\":8701:8747 */\n mstore\n /* \"#utility.yul\":8584:8754 */\n pop\n jump\t// out\n /* \"#utility.yul\":8760:9126 */\n tag_179:\n /* \"#utility.yul\":8902:8905 */\n 0x00\n /* \"#utility.yul\":8923:8990 */\n tag_278\n /* \"#utility.yul\":8987:8989 */\n 0x14\n /* \"#utility.yul\":8982:8985 */\n dup4\n /* \"#utility.yul\":8923:8990 */\n tag_162\n jump\t// in\n tag_278:\n /* \"#utility.yul\":8916:8990 */\n swap2\n pop\n /* \"#utility.yul\":8999:9092 */\n tag_279\n /* \"#utility.yul\":9088:9091 */\n dup3\n /* \"#utility.yul\":8999:9092 */\n tag_178\n jump\t// in\n tag_279:\n /* \"#utility.yul\":9117:9119 */\n 0x20\n /* \"#utility.yul\":9112:9115 */\n dup3\n /* \"#utility.yul\":9108:9120 */\n add\n /* \"#utility.yul\":9101:9120 */\n swap1\n pop\n /* \"#utility.yul\":8760:9126 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":9132:9551 */\n tag_93:\n /* \"#utility.yul\":9298:9302 */\n 0x00\n /* \"#utility.yul\":9336:9338 */\n 0x20\n /* \"#utility.yul\":9325:9334 */\n dup3\n /* \"#utility.yul\":9321:9339 */\n add\n /* \"#utility.yul\":9313:9339 */\n swap1\n pop\n /* \"#utility.yul\":9385:9394 */\n dup2\n /* \"#utility.yul\":9379:9383 */\n dup2\n /* \"#utility.yul\":9375:9395 */\n sub\n /* \"#utility.yul\":9371:9372 */\n 0x00\n /* \"#utility.yul\":9360:9369 */\n dup4\n /* \"#utility.yul\":9356:9373 */\n add\n /* \"#utility.yul\":9349:9396 */\n mstore\n /* \"#utility.yul\":9413:9544 */\n tag_281\n /* \"#utility.yul\":9539:9543 */\n dup2\n /* \"#utility.yul\":9413:9544 */\n tag_179\n jump\t// in\n tag_281:\n /* \"#utility.yul\":9405:9544 */\n swap1\n pop\n /* \"#utility.yul\":9132:9551 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":9557:9729 */\n tag_180:\n /* \"#utility.yul\":9697:9721 */\n 0x496e73756666696369656e7420616c6c6f77616e636500000000000000000000\n /* \"#utility.yul\":9693:9694 */\n 0x00\n /* \"#utility.yul\":9685:9691 */\n dup3\n /* \"#utility.yul\":9681:9695 */\n add\n /* \"#utility.yul\":9674:9722 */\n mstore\n /* \"#utility.yul\":9557:9729 */\n pop\n jump\t// out\n /* \"#utility.yul\":9735:10101 */\n tag_181:\n /* \"#utility.yul\":9877:9880 */\n 0x00\n /* \"#utility.yul\":9898:9965 */\n tag_284\n /* \"#utility.yul\":9962:9964 */\n 0x16\n /* \"#utility.yul\":9957:9960 */\n dup4\n /* \"#utility.yul\":9898:9965 */\n tag_162\n jump\t// in\n tag_284:\n /* \"#utility.yul\":9891:9965 */\n swap2\n pop\n /* \"#utility.yul\":9974:10067 */\n tag_285\n /* \"#utility.yul\":10063:10066 */\n dup3\n /* \"#utility.yul\":9974:10067 */\n tag_180\n jump\t// in\n tag_285:\n /* \"#utility.yul\":10092:10094 */\n 0x20\n /* \"#utility.yul\":10087:10090 */\n dup3\n /* \"#utility.yul\":10083:10095 */\n add\n /* \"#utility.yul\":10076:10095 */\n swap1\n pop\n /* \"#utility.yul\":9735:10101 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":10107:10526 */\n tag_96:\n /* \"#utility.yul\":10273:10277 */\n 0x00\n /* \"#utility.yul\":10311:10313 */\n 0x20\n /* \"#utility.yul\":10300:10309 */\n dup3\n /* \"#utility.yul\":10296:10314 */\n add\n /* \"#utility.yul\":10288:10314 */\n swap1\n pop\n /* \"#utility.yul\":10360:10369 */\n dup2\n /* \"#utility.yul\":10354:10358 */\n dup2\n /* \"#utility.yul\":10350:10370 */\n sub\n /* \"#utility.yul\":10346:10347 */\n 0x00\n /* \"#utility.yul\":10335:10344 */\n dup4\n /* \"#utility.yul\":10331:10348 */\n add\n /* \"#utility.yul\":10324:10371 */\n mstore\n /* \"#utility.yul\":10388:10519 */\n tag_287\n /* \"#utility.yul\":10514:10518 */\n dup2\n /* \"#utility.yul\":10388:10519 */\n tag_181\n jump\t// in\n tag_287:\n /* \"#utility.yul\":10380:10519 */\n swap1\n pop\n /* \"#utility.yul\":10107:10526 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":10532:10709 */\n tag_182:\n /* \"#utility.yul\":10672:10701 */\n 0x5369652073696e64206e69636874206465722042657369747a65720000000000\n /* \"#utility.yul\":10668:10669 */\n 0x00\n /* \"#utility.yul\":10660:10666 */\n dup3\n /* \"#utility.yul\":10656:10670 */\n add\n /* \"#utility.yul\":10649:10702 */\n mstore\n /* \"#utility.yul\":10532:10709 */\n pop\n jump\t// out\n /* \"#utility.yul\":10715:11081 */\n tag_183:\n /* \"#utility.yul\":10857:10860 */\n 0x00\n /* \"#utility.yul\":10878:10945 */\n tag_290\n /* \"#utility.yul\":10942:10944 */\n 0x1b\n /* \"#utility.yul\":10937:10940 */\n dup4\n /* \"#utility.yul\":10878:10945 */\n tag_162\n jump\t// in\n tag_290:\n /* \"#utility.yul\":10871:10945 */\n swap2\n pop\n /* \"#utility.yul\":10954:11047 */\n tag_291\n /* \"#utility.yul\":11043:11046 */\n dup3\n /* \"#utility.yul\":10954:11047 */\n tag_182\n jump\t// in\n tag_291:\n /* \"#utility.yul\":11072:11074 */\n 0x20\n /* \"#utility.yul\":11067:11070 */\n dup3\n /* \"#utility.yul\":11063:11075 */\n add\n /* \"#utility.yul\":11056:11075 */\n swap1\n pop\n /* \"#utility.yul\":10715:11081 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":11087:11506 */\n tag_106:\n /* \"#utility.yul\":11253:11257 */\n 0x00\n /* \"#utility.yul\":11291:11293 */\n 0x20\n /* \"#utility.yul\":11280:11289 */\n dup3\n /* \"#utility.yul\":11276:11294 */\n add\n /* \"#utility.yul\":11268:11294 */\n swap1\n pop\n /* \"#utility.yul\":11340:11349 */\n dup2\n /* \"#utility.yul\":11334:11338 */\n dup2\n /* \"#utility.yul\":11330:11350 */\n sub\n /* \"#utility.yul\":11326:11327 */\n 0x00\n /* \"#utility.yul\":11315:11324 */\n dup4\n /* \"#utility.yul\":11311:11328 */\n add\n /* \"#utility.yul\":11304:11351 */\n mstore\n /* \"#utility.yul\":11368:11499 */\n tag_293\n /* \"#utility.yul\":11494:11498 */\n dup2\n /* \"#utility.yul\":11368:11499 */\n tag_183\n jump\t// in\n tag_293:\n /* \"#utility.yul\":11360:11499 */\n swap1\n pop\n /* \"#utility.yul\":11087:11506 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":11512:11693 */\n tag_184:\n /* \"#utility.yul\":11652:11685 */\n 0x44657220436f6e747261637420697374206e6963687420706175736965727400\n /* \"#utility.yul\":11648:11649 */\n 0x00\n /* \"#utility.yul\":11640:11646 */\n dup3\n /* \"#utility.yul\":11636:11650 */\n add\n /* \"#utility.yul\":11629:11686 */\n mstore\n /* \"#utility.yul\":11512:11693 */\n pop\n jump\t// out\n /* \"#utility.yul\":11699:12065 */\n tag_185:\n /* \"#utility.yul\":11841:11844 */\n 0x00\n /* \"#utility.yul\":11862:11929 */\n tag_296\n /* \"#utility.yul\":11926:11928 */\n 0x1f\n /* \"#utility.yul\":11921:11924 */\n dup4\n /* \"#utility.yul\":11862:11929 */\n tag_162\n jump\t// in\n tag_296:\n /* \"#utility.yul\":11855:11929 */\n swap2\n pop\n /* \"#utility.yul\":11938:12031 */\n tag_297\n /* \"#utility.yul\":12027:12030 */\n dup3\n /* \"#utility.yul\":11938:12031 */\n tag_184\n jump\t// in\n tag_297:\n /* \"#utility.yul\":12056:12058 */\n 0x20\n /* \"#utility.yul\":12051:12054 */\n dup3\n /* \"#utility.yul\":12047:12059 */\n add\n /* \"#utility.yul\":12040:12059 */\n swap1\n pop\n /* \"#utility.yul\":11699:12065 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":12071:12490 */\n tag_110:\n /* \"#utility.yul\":12237:12241 */\n 0x00\n /* \"#utility.yul\":12275:12277 */\n 0x20\n /* \"#utility.yul\":12264:12273 */\n dup3\n /* \"#utility.yul\":12260:12278 */\n add\n /* \"#utility.yul\":12252:12278 */\n swap1\n pop\n /* \"#utility.yul\":12324:12333 */\n dup2\n /* \"#utility.yul\":12318:12322 */\n dup2\n /* \"#utility.yul\":12314:12334 */\n sub\n /* \"#utility.yul\":12310:12311 */\n 0x00\n /* \"#utility.yul\":12299:12308 */\n dup4\n /* \"#utility.yul\":12295:12312 */\n add\n /* \"#utility.yul\":12288:12335 */\n mstore\n /* \"#utility.yul\":12352:12483 */\n tag_299\n /* \"#utility.yul\":12478:12482 */\n dup2\n /* \"#utility.yul\":12352:12483 */\n tag_185\n jump\t// in\n tag_299:\n /* \"#utility.yul\":12344:12483 */\n swap1\n pop\n /* \"#utility.yul\":12071:12490 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":12496:12614 */\n tag_186:\n /* \"#utility.yul\":12583:12607 */\n tag_301\n /* \"#utility.yul\":12601:12606 */\n dup2\n /* \"#utility.yul\":12583:12607 */\n tag_156\n jump\t// in\n tag_301:\n /* \"#utility.yul\":12578:12581 */\n dup3\n /* \"#utility.yul\":12571:12608 */\n mstore\n /* \"#utility.yul\":12496:12614 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":12620:12842 */\n tag_113:\n /* \"#utility.yul\":12713:12717 */\n 0x00\n /* \"#utility.yul\":12751:12753 */\n 0x20\n /* \"#utility.yul\":12740:12749 */\n dup3\n /* \"#utility.yul\":12736:12754 */\n add\n /* \"#utility.yul\":12728:12754 */\n swap1\n pop\n /* \"#utility.yul\":12764:12835 */\n tag_303\n /* \"#utility.yul\":12832:12833 */\n 0x00\n /* \"#utility.yul\":12821:12830 */\n dup4\n /* \"#utility.yul\":12817:12834 */\n add\n /* \"#utility.yul\":12808:12814 */\n dup5\n /* \"#utility.yul\":12764:12835 */\n tag_186\n jump\t// in\n tag_303:\n /* \"#utility.yul\":12620:12842 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":12848:13028 */\n tag_187:\n /* \"#utility.yul\":12988:13020 */\n 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000\n /* \"#utility.yul\":12984:12985 */\n 0x00\n /* \"#utility.yul\":12976:12982 */\n dup3\n /* \"#utility.yul\":12972:12986 */\n add\n /* \"#utility.yul\":12965:13021 */\n mstore\n /* \"#utility.yul\":12848:13028 */\n pop\n jump\t// out\n /* \"#utility.yul\":13034:13400 */\n tag_188:\n /* \"#utility.yul\":13176:13179 */\n 0x00\n /* \"#utility.yul\":13197:13264 */\n tag_306\n /* \"#utility.yul\":13261:13263 */\n 0x1e\n /* \"#utility.yul\":13256:13259 */\n dup4\n /* \"#utility.yul\":13197:13264 */\n tag_162\n jump\t// in\n tag_306:\n /* \"#utility.yul\":13190:13264 */\n swap2\n pop\n /* \"#utility.yul\":13273:13366 */\n tag_307\n /* \"#utility.yul\":13362:13365 */\n dup3\n /* \"#utility.yul\":13273:13366 */\n tag_187\n jump\t// in\n tag_307:\n /* \"#utility.yul\":13391:13393 */\n 0x20\n /* \"#utility.yul\":13386:13389 */\n dup3\n /* \"#utility.yul\":13382:13394 */\n add\n /* \"#utility.yul\":13375:13394 */\n swap1\n pop\n /* \"#utility.yul\":13034:13400 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":13406:13825 */\n tag_143:\n /* \"#utility.yul\":13572:13576 */\n 0x00\n /* \"#utility.yul\":13610:13612 */\n 0x20\n /* \"#utility.yul\":13599:13608 */\n dup3\n /* \"#utility.yul\":13595:13613 */\n add\n /* \"#utility.yul\":13587:13613 */\n swap1\n pop\n /* \"#utility.yul\":13659:13668 */\n dup2\n /* \"#utility.yul\":13653:13657 */\n dup2\n /* \"#utility.yul\":13649:13669 */\n sub\n /* \"#utility.yul\":13645:13646 */\n 0x00\n /* \"#utility.yul\":13634:13643 */\n dup4\n /* \"#utility.yul\":13630:13647 */\n add\n /* \"#utility.yul\":13623:13670 */\n mstore\n /* \"#utility.yul\":13687:13818 */\n tag_309\n /* \"#utility.yul\":13813:13817 */\n dup2\n /* \"#utility.yul\":13687:13818 */\n tag_188\n jump\t// in\n tag_309:\n /* \"#utility.yul\":13679:13818 */\n swap1\n pop\n /* \"#utility.yul\":13406:13825 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":13831:14011 */\n tag_189:\n /* \"#utility.yul\":13879:13956 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":13876:13877 */\n 0x00\n /* \"#utility.yul\":13869:13957 */\n mstore\n /* \"#utility.yul\":13976:13980 */\n 0x11\n /* \"#utility.yul\":13973:13974 */\n 0x04\n /* \"#utility.yul\":13966:13981 */\n mstore\n /* \"#utility.yul\":14000:14004 */\n 0x24\n /* \"#utility.yul\":13997:13998 */\n 0x00\n /* \"#utility.yul\":13990:14005 */\n revert\n /* \"#utility.yul\":14017:14211 */\n tag_145:\n /* \"#utility.yul\":14057:14061 */\n 0x00\n /* \"#utility.yul\":14077:14097 */\n tag_312\n /* \"#utility.yul\":14095:14096 */\n dup3\n /* \"#utility.yul\":14077:14097 */\n tag_166\n jump\t// in\n tag_312:\n /* \"#utility.yul\":14072:14097 */\n swap2\n pop\n /* \"#utility.yul\":14111:14131 */\n tag_313\n /* \"#utility.yul\":14129:14130 */\n dup4\n /* \"#utility.yul\":14111:14131 */\n tag_166\n jump\t// in\n tag_313:\n /* \"#utility.yul\":14106:14131 */\n swap3\n pop\n /* \"#utility.yul\":14155:14156 */\n dup3\n /* \"#utility.yul\":14152:14153 */\n dup3\n /* \"#utility.yul\":14148:14157 */\n sub\n /* \"#utility.yul\":14140:14157 */\n swap1\n pop\n /* \"#utility.yul\":14179:14180 */\n dup2\n /* \"#utility.yul\":14173:14177 */\n dup2\n /* \"#utility.yul\":14170:14181 */\n gt\n /* \"#utility.yul\":14167:14204 */\n iszero\n tag_314\n jumpi\n /* \"#utility.yul\":14184:14202 */\n tag_315\n tag_189\n jump\t// in\n tag_315:\n /* \"#utility.yul\":14167:14204 */\n tag_314:\n /* \"#utility.yul\":14017:14211 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":14217:14408 */\n tag_148:\n /* \"#utility.yul\":14257:14260 */\n 0x00\n /* \"#utility.yul\":14276:14296 */\n tag_317\n /* \"#utility.yul\":14294:14295 */\n dup3\n /* \"#utility.yul\":14276:14296 */\n tag_166\n jump\t// in\n tag_317:\n /* \"#utility.yul\":14271:14296 */\n swap2\n pop\n /* \"#utility.yul\":14310:14330 */\n tag_318\n /* \"#utility.yul\":14328:14329 */\n dup4\n /* \"#utility.yul\":14310:14330 */\n tag_166\n jump\t// in\n tag_318:\n /* \"#utility.yul\":14305:14330 */\n swap3\n pop\n /* \"#utility.yul\":14353:14354 */\n dup3\n /* \"#utility.yul\":14350:14351 */\n dup3\n /* \"#utility.yul\":14346:14355 */\n add\n /* \"#utility.yul\":14339:14355 */\n swap1\n pop\n /* \"#utility.yul\":14374:14377 */\n dup1\n /* \"#utility.yul\":14371:14372 */\n dup3\n /* \"#utility.yul\":14368:14378 */\n gt\n /* \"#utility.yul\":14365:14401 */\n iszero\n tag_319\n jumpi\n /* \"#utility.yul\":14381:14399 */\n tag_320\n tag_189\n jump\t// in\n tag_320:\n /* \"#utility.yul\":14365:14401 */\n tag_319:\n /* \"#utility.yul\":14217:14408 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":14414:14591 */\n tag_190:\n /* \"#utility.yul\":14554:14583 */\n 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000\n /* \"#utility.yul\":14550:14551 */\n 0x00\n /* \"#utility.yul\":14542:14548 */\n dup3\n /* \"#utility.yul\":14538:14552 */\n add\n /* \"#utility.yul\":14531:14584 */\n mstore\n /* \"#utility.yul\":14414:14591 */\n pop\n jump\t// out\n /* \"#utility.yul\":14597:14963 */\n tag_191:\n /* \"#utility.yul\":14739:14742 */\n 0x00\n /* \"#utility.yul\":14760:14827 */\n tag_323\n /* \"#utility.yul\":14824:14826 */\n 0x1b\n /* \"#utility.yul\":14819:14822 */\n dup4\n /* \"#utility.yul\":14760:14827 */\n tag_162\n jump\t// in\n tag_323:\n /* \"#utility.yul\":14753:14827 */\n swap2\n pop\n /* \"#utility.yul\":14836:14929 */\n tag_324\n /* \"#utility.yul\":14925:14928 */\n dup3\n /* \"#utility.yul\":14836:14929 */\n tag_190\n jump\t// in\n tag_324:\n /* \"#utility.yul\":14954:14956 */\n 0x20\n /* \"#utility.yul\":14949:14952 */\n dup3\n /* \"#utility.yul\":14945:14957 */\n add\n /* \"#utility.yul\":14938:14957 */\n swap1\n pop\n /* \"#utility.yul\":14597:14963 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":14969:15388 */\n tag_151:\n /* \"#utility.yul\":15135:15139 */\n 0x00\n /* \"#utility.yul\":15173:15175 */\n 0x20\n /* \"#utility.yul\":15162:15171 */\n dup3\n /* \"#utility.yul\":15158:15176 */\n add\n /* \"#utility.yul\":15150:15176 */\n swap1\n pop\n /* \"#utility.yul\":15222:15231 */\n dup2\n /* \"#utility.yul\":15216:15220 */\n dup2\n /* \"#utility.yul\":15212:15232 */\n sub\n /* \"#utility.yul\":15208:15209 */\n 0x00\n /* \"#utility.yul\":15197:15206 */\n dup4\n /* \"#utility.yul\":15193:15210 */\n add\n /* \"#utility.yul\":15186:15233 */\n mstore\n /* \"#utility.yul\":15250:15381 */\n tag_326\n /* \"#utility.yul\":15376:15380 */\n dup2\n /* \"#utility.yul\":15250:15381 */\n tag_191\n jump\t// in\n tag_326:\n /* \"#utility.yul\":15242:15381 */\n swap1\n pop\n /* \"#utility.yul\":14969:15388 */\n swap2\n swap1\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220cdc8da00a719827265180af2b4807642b46587f362b250e873a3ac59c8802c6964736f6c63430008130033\n}\n",
"bytecode": {
"functionDebugData": {
"@_356": {
"entryPoint": null,
"id": 356,
"parameterSlots": 0,
"returnSlots": 0
},
"@_82": {
"entryPoint": null,
"id": 82,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052620f424060015534801561001757600080fd5b5033600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008060006101000a81548160ff021916908315150217905550600154600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118fd806100c86000396000f3fe608060405234801561001057600080fd5b50600436106100ce5760003560e01c80633f4ba83a1161008c57806395d89b411161006657806395d89b4114610201578063a9059cbb1461021f578063b187bd261461024f578063dd62ed3e1461026d576100ce565b80633f4ba83a146101bd57806370a08231146101c75780638456cb59146101f7576100ce565b80623f07fa146100d357806306fdde0314610103578063095ea7b31461012157806318160ddd1461015157806323b872dd1461016f578063313ce5671461019f575b600080fd5b6100ed60048036038101906100e891906111bb565b61029d565b6040516100fa9190611203565b60405180910390f35b61010b6102d6565b60405161011891906112ae565b60405180910390f35b61013b60048036038101906101369190611306565b61030f565b6040516101489190611203565b60405180910390f35b61015961051b565b6040516101669190611355565b60405180910390f35b61018960048036038101906101849190611370565b610521565b6040516101969190611203565b60405180910390f35b6101a76109df565b6040516101b491906113df565b60405180910390f35b6101c56109e4565b005b6101e160048036038101906101dc91906111bb565b610b14565b6040516101ee9190611355565b60405180910390f35b6101ff610b5d565b005b610209610c8e565b60405161021691906112ae565b60405180910390f35b61023960048036038101906102349190611306565b610cc7565b6040516102469190611203565b60405180910390f35b610257610ffe565b6040516102649190611203565b60405180910390f35b610287600480360381019061028291906113fa565b611014565b6040516102949190611355565b60405180910390f35b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6040518060400160405280600981526020017f4a6f6e6e79436f696e000000000000000000000000000000000000000000000081525081565b60008060159054906101000a900460ff1615610360576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035790611486565b60405180910390fd5b6001600060156101000a81548160ff02191690831515021790555060008054906101000a900460ff16156103c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c0906114f2565b60405180910390fd5b6103d28361029d565b610411576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104089061155e565b60405180910390fd5b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104ef9190611355565b60405180910390a36001905060008060156101000a81548160ff02191690831515021790555092915050565b60015481565b60008060159054906101000a900460ff1615610572576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056990611486565b60405180910390fd5b6001600060156101000a81548160ff02191690831515021790555060008054906101000a900460ff16156105db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d2906114f2565b60405180910390fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561065d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610654906115ca565b60405180910390fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561071c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071390611636565b60405180910390fd5b61076e82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461109b90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061084082600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461109b90919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061091282600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110fa90919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516109b29190611355565b60405180910390a36001905060008060156101000a81548160ff0219169083151502179055509392505050565b600081565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6b906116a2565b60405180910390fd5b60008054906101000a900460ff16610ac1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab89061170e565b60405180910390fd5b60008060006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051610b0a919061173d565b60405180910390a1565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be4906116a2565b60405180910390fd5b60008054906101000a900460ff1615610c3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c32906114f2565b60405180910390fd5b60016000806101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051610c84919061173d565b60405180910390a1565b6040518060400160405280600381526020017f4a4e43000000000000000000000000000000000000000000000000000000000081525081565b60008060159054906101000a900460ff1615610d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0f90611486565b60405180910390fd5b6001600060156101000a81548160ff02191690831515021790555060008054906101000a900460ff1615610d81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d78906114f2565b60405180910390fd5b610d8a8361029d565b610dc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc09061155e565b60405180910390fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e42906115ca565b60405180910390fd5b610e9d82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461109b90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f3282600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110fa90919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610fd29190611355565b60405180910390a36001905060008060156101000a81548160ff02191690831515021790555092915050565b60008060009054906101000a900460ff16905090565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211156110e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d7906117a4565b60405180910390fd5b600082846110ee91906117f3565b90508091505092915050565b60008082846111099190611827565b90508381101561114e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611145906118a7565b60405180910390fd5b8091505092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006111888261115d565b9050919050565b6111988161117d565b81146111a357600080fd5b50565b6000813590506111b58161118f565b92915050565b6000602082840312156111d1576111d0611158565b5b60006111df848285016111a6565b91505092915050565b60008115159050919050565b6111fd816111e8565b82525050565b600060208201905061121860008301846111f4565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561125857808201518184015260208101905061123d565b60008484015250505050565b6000601f19601f8301169050919050565b60006112808261121e565b61128a8185611229565b935061129a81856020860161123a565b6112a381611264565b840191505092915050565b600060208201905081810360008301526112c88184611275565b905092915050565b6000819050919050565b6112e3816112d0565b81146112ee57600080fd5b50565b600081359050611300816112da565b92915050565b6000806040838503121561131d5761131c611158565b5b600061132b858286016111a6565b925050602061133c858286016112f1565b9150509250929050565b61134f816112d0565b82525050565b600060208201905061136a6000830184611346565b92915050565b60008060006060848603121561138957611388611158565b5b6000611397868287016111a6565b93505060206113a8868287016111a6565b92505060406113b9868287016112f1565b9150509250925092565b600060ff82169050919050565b6113d9816113c3565b82525050565b60006020820190506113f460008301846113d0565b92915050565b6000806040838503121561141157611410611158565b5b600061141f858286016111a6565b9250506020611430858286016111a6565b9150509250929050565b7f5265656e7472616e742063616c6c000000000000000000000000000000000000600082015250565b6000611470600e83611229565b915061147b8261143a565b602082019050919050565b6000602082019050818103600083015261149f81611463565b9050919050565b7f44657220436f6e74726163742069737420706175736965727400000000000000600082015250565b60006114dc601983611229565b91506114e7826114a6565b602082019050919050565b6000602082019050818103600083015261150b816114cf565b9050919050565b7f556e6775656c7469676520416472657373650000000000000000000000000000600082015250565b6000611548601283611229565b915061155382611512565b602082019050919050565b600060208201905081810360008301526115778161153b565b9050919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b60006115b4601483611229565b91506115bf8261157e565b602082019050919050565b600060208201905081810360008301526115e3816115a7565b9050919050565b7f496e73756666696369656e7420616c6c6f77616e636500000000000000000000600082015250565b6000611620601683611229565b915061162b826115ea565b602082019050919050565b6000602082019050818103600083015261164f81611613565b9050919050565b7f5369652073696e64206e69636874206465722042657369747a65720000000000600082015250565b600061168c601b83611229565b915061169782611656565b602082019050919050565b600060208201905081810360008301526116bb8161167f565b9050919050565b7f44657220436f6e747261637420697374206e6963687420706175736965727400600082015250565b60006116f8601f83611229565b9150611703826116c2565b602082019050919050565b60006020820190508181036000830152611727816116eb565b9050919050565b6117378161117d565b82525050565b6000602082019050611752600083018461172e565b92915050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000600082015250565b600061178e601e83611229565b915061179982611758565b602082019050919050565b600060208201905081810360008301526117bd81611781565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006117fe826112d0565b9150611809836112d0565b9250828203905081811115611821576118206117c4565b5b92915050565b6000611832826112d0565b915061183d836112d0565b9250828201905080821115611855576118546117c4565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000611891601b83611229565b915061189c8261185b565b602082019050919050565b600060208201905081810360008301526118c081611884565b905091905056fea2646970667358221220cdc8da00a719827265180af2b4807642b46587f362b250e873a3ac59c8802c6964736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH3 0xF4240 PUSH1 0x1 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x17 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLER PUSH1 0x0 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x1 SLOAD PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x18FD DUP1 PUSH2 0xC8 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 0xCE JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3F4BA83A GT PUSH2 0x8C JUMPI DUP1 PUSH4 0x95D89B41 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x201 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x21F JUMPI DUP1 PUSH4 0xB187BD26 EQ PUSH2 0x24F JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x26D JUMPI PUSH2 0xCE JUMP JUMPDEST DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x1BD JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1C7 JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x1F7 JUMPI PUSH2 0xCE JUMP JUMPDEST DUP1 PUSH3 0x3F07FA EQ PUSH2 0xD3 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x103 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x121 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x151 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x16F JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x19F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xED PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE8 SWAP2 SWAP1 PUSH2 0x11BB JUMP JUMPDEST PUSH2 0x29D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFA SWAP2 SWAP1 PUSH2 0x1203 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x10B PUSH2 0x2D6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x118 SWAP2 SWAP1 PUSH2 0x12AE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x13B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x136 SWAP2 SWAP1 PUSH2 0x1306 JUMP JUMPDEST PUSH2 0x30F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x148 SWAP2 SWAP1 PUSH2 0x1203 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x159 PUSH2 0x51B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x166 SWAP2 SWAP1 PUSH2 0x1355 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x189 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x184 SWAP2 SWAP1 PUSH2 0x1370 JUMP JUMPDEST PUSH2 0x521 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x196 SWAP2 SWAP1 PUSH2 0x1203 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1A7 PUSH2 0x9DF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B4 SWAP2 SWAP1 PUSH2 0x13DF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1C5 PUSH2 0x9E4 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1E1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1DC SWAP2 SWAP1 PUSH2 0x11BB JUMP JUMPDEST PUSH2 0xB14 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1EE SWAP2 SWAP1 PUSH2 0x1355 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1FF PUSH2 0xB5D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x209 PUSH2 0xC8E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x216 SWAP2 SWAP1 PUSH2 0x12AE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x239 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x234 SWAP2 SWAP1 PUSH2 0x1306 JUMP JUMPDEST PUSH2 0xCC7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x246 SWAP2 SWAP1 PUSH2 0x1203 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x257 PUSH2 0xFFE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x264 SWAP2 SWAP1 PUSH2 0x1203 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x287 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x282 SWAP2 SWAP1 PUSH2 0x13FA JUMP JUMPDEST PUSH2 0x1014 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x294 SWAP2 SWAP1 PUSH2 0x1355 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x9 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4A6F6E6E79436F696E0000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x15 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x360 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x357 SWAP1 PUSH2 0x1486 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 PUSH1 0x15 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x3C9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3C0 SWAP1 PUSH2 0x14F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3D2 DUP4 PUSH2 0x29D JUMP JUMPDEST PUSH2 0x411 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x408 SWAP1 PUSH2 0x155E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x3 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 PUSH1 0x40 MLOAD PUSH2 0x4EF SWAP2 SWAP1 PUSH2 0x1355 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x15 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x15 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x572 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x569 SWAP1 PUSH2 0x1486 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 PUSH1 0x15 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x5DB JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5D2 SWAP1 PUSH2 0x14F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0x65D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x654 SWAP1 PUSH2 0x15CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0x71C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x713 SWAP1 PUSH2 0x1636 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x76E DUP3 PUSH1 0x2 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x109B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x840 DUP3 PUSH1 0x3 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x109B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x912 DUP3 PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x10FA SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0x9B2 SWAP2 SWAP1 PUSH2 0x1355 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x15 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xA74 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA6B SWAP1 PUSH2 0x16A2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0xAC1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xAB8 SWAP1 PUSH2 0x170E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA CALLER PUSH1 0x40 MLOAD PUSH2 0xB0A SWAP2 SWAP1 PUSH2 0x173D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xBED JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xBE4 SWAP1 PUSH2 0x16A2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xC3B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC32 SWAP1 PUSH2 0x14F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 CALLER PUSH1 0x40 MLOAD PUSH2 0xC84 SWAP2 SWAP1 PUSH2 0x173D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4A4E430000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x15 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xD18 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD0F SWAP1 PUSH2 0x1486 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 PUSH1 0x15 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xD81 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD78 SWAP1 PUSH2 0x14F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xD8A DUP4 PUSH2 0x29D JUMP JUMPDEST PUSH2 0xDC9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDC0 SWAP1 PUSH2 0x155E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO PUSH2 0xE4B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE42 SWAP1 PUSH2 0x15CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xE9D DUP3 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x109B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0xF32 DUP3 PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x10FA SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0xFD2 SWAP2 SWAP1 PUSH2 0x1355 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x15 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 GT ISZERO PUSH2 0x10E0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x10D7 SWAP1 PUSH2 0x17A4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP5 PUSH2 0x10EE SWAP2 SWAP1 PUSH2 0x17F3 JUMP JUMPDEST SWAP1 POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 PUSH2 0x1109 SWAP2 SWAP1 PUSH2 0x1827 JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x114E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1145 SWAP1 PUSH2 0x18A7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1188 DUP3 PUSH2 0x115D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1198 DUP2 PUSH2 0x117D JUMP JUMPDEST DUP2 EQ PUSH2 0x11A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x11B5 DUP2 PUSH2 0x118F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x11D1 JUMPI PUSH2 0x11D0 PUSH2 0x1158 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x11DF DUP5 DUP3 DUP6 ADD PUSH2 0x11A6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x11FD DUP2 PUSH2 0x11E8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1218 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x11F4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1258 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x123D JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1280 DUP3 PUSH2 0x121E JUMP JUMPDEST PUSH2 0x128A DUP2 DUP6 PUSH2 0x1229 JUMP JUMPDEST SWAP4 POP PUSH2 0x129A DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x123A JUMP JUMPDEST PUSH2 0x12A3 DUP2 PUSH2 0x1264 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12C8 DUP2 DUP5 PUSH2 0x1275 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x12E3 DUP2 PUSH2 0x12D0 JUMP JUMPDEST DUP2 EQ PUSH2 0x12EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1300 DUP2 PUSH2 0x12DA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x131D JUMPI PUSH2 0x131C PUSH2 0x1158 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x132B DUP6 DUP3 DUP7 ADD PUSH2 0x11A6 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x133C DUP6 DUP3 DUP7 ADD PUSH2 0x12F1 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x134F DUP2 PUSH2 0x12D0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x136A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1346 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1389 JUMPI PUSH2 0x1388 PUSH2 0x1158 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1397 DUP7 DUP3 DUP8 ADD PUSH2 0x11A6 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x13A8 DUP7 DUP3 DUP8 ADD PUSH2 0x11A6 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x13B9 DUP7 DUP3 DUP8 ADD PUSH2 0x12F1 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x13D9 DUP2 PUSH2 0x13C3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x13F4 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x13D0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1411 JUMPI PUSH2 0x1410 PUSH2 0x1158 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x141F DUP6 DUP3 DUP7 ADD PUSH2 0x11A6 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1430 DUP6 DUP3 DUP7 ADD PUSH2 0x11A6 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x5265656E7472616E742063616C6C000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1470 PUSH1 0xE DUP4 PUSH2 0x1229 JUMP JUMPDEST SWAP2 POP PUSH2 0x147B DUP3 PUSH2 0x143A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x149F DUP2 PUSH2 0x1463 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x44657220436F6E74726163742069737420706175736965727400000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14DC PUSH1 0x19 DUP4 PUSH2 0x1229 JUMP JUMPDEST SWAP2 POP PUSH2 0x14E7 DUP3 PUSH2 0x14A6 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x150B DUP2 PUSH2 0x14CF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x556E6775656C7469676520416472657373650000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1548 PUSH1 0x12 DUP4 PUSH2 0x1229 JUMP JUMPDEST SWAP2 POP PUSH2 0x1553 DUP3 PUSH2 0x1512 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1577 DUP2 PUSH2 0x153B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x496E73756666696369656E742062616C616E6365000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15B4 PUSH1 0x14 DUP4 PUSH2 0x1229 JUMP JUMPDEST SWAP2 POP PUSH2 0x15BF DUP3 PUSH2 0x157E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x15E3 DUP2 PUSH2 0x15A7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x496E73756666696369656E7420616C6C6F77616E636500000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1620 PUSH1 0x16 DUP4 PUSH2 0x1229 JUMP JUMPDEST SWAP2 POP PUSH2 0x162B DUP3 PUSH2 0x15EA JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x164F DUP2 PUSH2 0x1613 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x5369652073696E64206E69636874206465722042657369747A65720000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x168C PUSH1 0x1B DUP4 PUSH2 0x1229 JUMP JUMPDEST SWAP2 POP PUSH2 0x1697 DUP3 PUSH2 0x1656 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x16BB DUP2 PUSH2 0x167F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x44657220436F6E747261637420697374206E6963687420706175736965727400 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16F8 PUSH1 0x1F DUP4 PUSH2 0x1229 JUMP JUMPDEST SWAP2 POP PUSH2 0x1703 DUP3 PUSH2 0x16C2 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1727 DUP2 PUSH2 0x16EB JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1737 DUP2 PUSH2 0x117D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1752 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x172E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x536166654D6174683A207375627472616374696F6E206F766572666C6F770000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x178E PUSH1 0x1E DUP4 PUSH2 0x1229 JUMP JUMPDEST SWAP2 POP PUSH2 0x1799 DUP3 PUSH2 0x1758 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x17BD DUP2 PUSH2 0x1781 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x17FE DUP3 PUSH2 0x12D0 JUMP JUMPDEST SWAP2 POP PUSH2 0x1809 DUP4 PUSH2 0x12D0 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x1821 JUMPI PUSH2 0x1820 PUSH2 0x17C4 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1832 DUP3 PUSH2 0x12D0 JUMP JUMPDEST SWAP2 POP PUSH2 0x183D DUP4 PUSH2 0x12D0 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x1855 JUMPI PUSH2 0x1854 PUSH2 0x17C4 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x536166654D6174683A206164646974696F6E206F766572666C6F770000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1891 PUSH1 0x1B DUP4 PUSH2 0x1229 JUMP JUMPDEST SWAP2 POP PUSH2 0x189C DUP3 PUSH2 0x185B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x18C0 DUP2 PUSH2 0x1884 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xCD 0xC8 0xDA STOP 0xA7 NOT DUP3 PUSH19 0x65180AF2B4807642B46587F362B250E873A3AC MSIZE 0xC8 DUP1 0x2C PUSH10 0x64736F6C634300081300 CALLER ",
"sourceMap": "314:3017:1:-:0;;;705:7;676:36;;1212:65;;;;;;;;;;569:10:2;560:6;;:19;;;;;;;;;;;;;;;;;;599:5;589:7;;:15;;;;;;;;;;;;;;;;;;1259:11:1;;1236:8;:20;1245:10;1236:20;;;;;;;;;;;;;;;:34;;;;314:3017;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@add_450": {
"entryPoint": 4346,
"id": 450,
"parameterSlots": 2,
"returnSlots": 1
},
"@allowance_297": {
"entryPoint": 4116,
"id": 297,
"parameterSlots": 2,
"returnSlots": 1
},
"@approve_197": {
"entryPoint": 783,
"id": 197,
"parameterSlots": 2,
"returnSlots": 1
},
"@balanceOf_94": {
"entryPoint": 2836,
"id": 94,
"parameterSlots": 1,
"returnSlots": 1
},
"@decimals_42": {
"entryPoint": 2527,
"id": 42,
"parameterSlots": 0,
"returnSlots": 0
},
"@isPaused_398": {
"entryPoint": 4094,
"id": 398,
"parameterSlots": 0,
"returnSlots": 1
},
"@isValidAddress_17": {
"entryPoint": 669,
"id": 17,
"parameterSlots": 1,
"returnSlots": 1
},
"@name_36": {
"entryPoint": 726,
"id": 36,
"parameterSlots": 0,
"returnSlots": 0
},
"@pause_373": {
"entryPoint": 2909,
"id": 373,
"parameterSlots": 0,
"returnSlots": 0
},
"@sub_476": {
"entryPoint": 4251,
"id": 476,
"parameterSlots": 2,
"returnSlots": 1
},
"@symbol_39": {
"entryPoint": 3214,
"id": 39,
"parameterSlots": 0,
"returnSlots": 0
},
"@totalSupply_45": {
"entryPoint": 1307,
"id": 45,
"parameterSlots": 0,
"returnSlots": 0
},
"@transferFrom_281": {
"entryPoint": 1313,
"id": 281,
"parameterSlots": 3,
"returnSlots": 1
},
"@transfer_158": {
"entryPoint": 3271,
"id": 158,
"parameterSlots": 2,
"returnSlots": 1
},
"@unpause_390": {
"entryPoint": 2532,
"id": 390,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_t_address": {
"entryPoint": 4518,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 4849,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 4539,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_address": {
"entryPoint": 5114,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_addresst_addresst_uint256": {
"entryPoint": 4976,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_addresst_uint256": {
"entryPoint": 4870,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 5934,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 4596,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 4725,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a_to_t_string_memory_ptr_fromStack": {
"entryPoint": 6276,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_3bcc3856cb500d11876a7175203bec2d401f5a095d8084bdf674a07e7d8207fd_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5759,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5651,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5543,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862_to_t_string_memory_ptr_fromStack": {
"entryPoint": 6017,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_90d5e4130d6b4a3b3611ac85aa4099b61ca4c851ac271e6391ed11395cf43b8e_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5435,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_b958b17628fb24ecc7d6ab15f85e64e4b96569ce6bb6771328606ab81a75daeb_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5219,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_eb3864ac9c0e42a0d896ac4a9a9e19841835adca678fb992d18be42cb4232396_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5867,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_fa208c4a99845c7f61f605c0b3c0499a9bdde70775b25d84a8b36a36a9f1b9cb_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5327,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 4934,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint8_to_t_uint8_fromStack": {
"entryPoint": 5072,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 5949,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 4611,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 4782,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 6311,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_3bcc3856cb500d11876a7175203bec2d401f5a095d8084bdf674a07e7d8207fd__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 5794,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 5686,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 5578,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 6052,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_90d5e4130d6b4a3b3611ac85aa4099b61ca4c851ac271e6391ed11395cf43b8e__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 5470,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_b958b17628fb24ecc7d6ab15f85e64e4b96569ce6bb6771328606ab81a75daeb__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 5254,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_eb3864ac9c0e42a0d896ac4a9a9e19841835adca678fb992d18be42cb4232396__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 5902,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_fa208c4a99845c7f61f605c0b3c0499a9bdde70775b25d84a8b36a36a9f1b9cb__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 5362,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 4949,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed": {
"entryPoint": 5087,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 4638,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 4649,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 6183,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 6131,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 4477,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 4584,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 4445,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 4816,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint8": {
"entryPoint": 5059,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 4666,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"panic_error_0x11": {
"entryPoint": 6084,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 4440,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 4708,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"store_literal_in_memory_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a": {
"entryPoint": 6235,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_3bcc3856cb500d11876a7175203bec2d401f5a095d8084bdf674a07e7d8207fd": {
"entryPoint": 5718,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc": {
"entryPoint": 5610,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5": {
"entryPoint": 5502,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862": {
"entryPoint": 5976,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_90d5e4130d6b4a3b3611ac85aa4099b61ca4c851ac271e6391ed11395cf43b8e": {
"entryPoint": 5394,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_b958b17628fb24ecc7d6ab15f85e64e4b96569ce6bb6771328606ab81a75daeb": {
"entryPoint": 5178,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_eb3864ac9c0e42a0d896ac4a9a9e19841835adca678fb992d18be42cb4232396": {
"entryPoint": 5826,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_fa208c4a99845c7f61f605c0b3c0499a9bdde70775b25d84a8b36a36a9f1b9cb": {
"entryPoint": 5286,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 4495,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 4826,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:15391:5",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:5",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:5",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:5"
},
"nodeType": "YulFunctionCall",
"src": "67:9:5"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:5"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:5",
"type": ""
}
],
"src": "7:75:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:5",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:5",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:5"
},
"nodeType": "YulFunctionCall",
"src": "187:12:5"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:5"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:5",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:5",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:5"
},
"nodeType": "YulFunctionCall",
"src": "310:12:5"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:5"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:81:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:65:5",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "404:5:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "411:42:5",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "400:3:5"
},
"nodeType": "YulFunctionCall",
"src": "400:54:5"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:5"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:5",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:5",
"type": ""
}
],
"src": "334:126:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "511:51:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "521:35:5",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "550:5:5"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "532:17:5"
},
"nodeType": "YulFunctionCall",
"src": "532:24:5"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "521:7:5"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "493:5:5",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "503:7:5",
"type": ""
}
],
"src": "466:96:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "611:79:5",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "668:16:5",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "677:1:5",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "680:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "670:6:5"
},
"nodeType": "YulFunctionCall",
"src": "670:12:5"
},
"nodeType": "YulExpressionStatement",
"src": "670:12:5"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "634:5:5"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "659:5:5"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "641:17:5"
},
"nodeType": "YulFunctionCall",
"src": "641:24:5"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "631:2:5"
},
"nodeType": "YulFunctionCall",
"src": "631:35:5"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "624:6:5"
},
"nodeType": "YulFunctionCall",
"src": "624:43:5"
},
"nodeType": "YulIf",
"src": "621:63:5"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "604:5:5",
"type": ""
}
],
"src": "568:122:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "748:87:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "758:29:5",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "780:6:5"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "767:12:5"
},
"nodeType": "YulFunctionCall",
"src": "767:20:5"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "758:5:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "823:5:5"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "796:26:5"
},
"nodeType": "YulFunctionCall",
"src": "796:33:5"
},
"nodeType": "YulExpressionStatement",
"src": "796:33:5"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "726:6:5",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "734:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "742:5:5",
"type": ""
}
],
"src": "696:139:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "907:263:5",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "953:83:5",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "955:77:5"
},
"nodeType": "YulFunctionCall",
"src": "955:79:5"
},
"nodeType": "YulExpressionStatement",
"src": "955:79:5"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "928:7:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "937:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "924:3:5"
},
"nodeType": "YulFunctionCall",
"src": "924:23:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "949:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "920:3:5"
},
"nodeType": "YulFunctionCall",
"src": "920:32:5"
},
"nodeType": "YulIf",
"src": "917:119:5"
},
{
"nodeType": "YulBlock",
"src": "1046:117:5",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1061:15:5",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1075:1:5",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1065:6:5",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1090:63:5",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1125:9:5"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1136:6:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1121:3:5"
},
"nodeType": "YulFunctionCall",
"src": "1121:22:5"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1145:7:5"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "1100:20:5"
},
"nodeType": "YulFunctionCall",
"src": "1100:53:5"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1090:6:5"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "877:9:5",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "888:7:5",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "900:6:5",
"type": ""
}
],
"src": "841:329:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1218:48:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1228:32:5",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1253:5:5"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1246:6:5"
},
"nodeType": "YulFunctionCall",
"src": "1246:13:5"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1239:6:5"
},
"nodeType": "YulFunctionCall",
"src": "1239:21:5"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1228:7:5"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1200:5:5",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1210:7:5",
"type": ""
}
],
"src": "1176:90:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1331:50:5",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1348:3:5"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1368:5:5"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "1353:14:5"
},
"nodeType": "YulFunctionCall",
"src": "1353:21:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1341:6:5"
},
"nodeType": "YulFunctionCall",
"src": "1341:34:5"
},
"nodeType": "YulExpressionStatement",
"src": "1341:34:5"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1319:5:5",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1326:3:5",
"type": ""
}
],
"src": "1272:109:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1479:118:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1489:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1501:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1512:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1497:3:5"
},
"nodeType": "YulFunctionCall",
"src": "1497:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1489:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1563:6:5"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1576:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1587:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1572:3:5"
},
"nodeType": "YulFunctionCall",
"src": "1572:17:5"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulIdentifier",
"src": "1525:37:5"
},
"nodeType": "YulFunctionCall",
"src": "1525:65:5"
},
"nodeType": "YulExpressionStatement",
"src": "1525:65:5"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1451:9:5",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1463:6:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1474:4:5",
"type": ""
}
],
"src": "1387:210:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1662:40:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1673:22:5",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1689:5:5"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1683:5:5"
},
"nodeType": "YulFunctionCall",
"src": "1683:12:5"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1673:6:5"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1645:5:5",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1655:6:5",
"type": ""
}
],
"src": "1603:99:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1804:73:5",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1821:3:5"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1826:6:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1814:6:5"
},
"nodeType": "YulFunctionCall",
"src": "1814:19:5"
},
"nodeType": "YulExpressionStatement",
"src": "1814:19:5"
},
{
"nodeType": "YulAssignment",
"src": "1842:29:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1861:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1866:4:5",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1857:3:5"
},
"nodeType": "YulFunctionCall",
"src": "1857:14:5"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "1842:11:5"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1776:3:5",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1781:6:5",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "1792:11:5",
"type": ""
}
],
"src": "1708:169:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1945:184:5",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1955:10:5",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1964:1:5",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "1959:1:5",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2024:63:5",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2049:3:5"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2054:1:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2045:3:5"
},
"nodeType": "YulFunctionCall",
"src": "2045:11:5"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "2068:3:5"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2073:1:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2064:3:5"
},
"nodeType": "YulFunctionCall",
"src": "2064:11:5"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2058:5:5"
},
"nodeType": "YulFunctionCall",
"src": "2058:18:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2038:6:5"
},
"nodeType": "YulFunctionCall",
"src": "2038:39:5"
},
"nodeType": "YulExpressionStatement",
"src": "2038:39:5"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1985:1:5"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1988:6:5"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1982:2:5"
},
"nodeType": "YulFunctionCall",
"src": "1982:13:5"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "1996:19:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1998:15:5",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2007:1:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2010:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2003:3:5"
},
"nodeType": "YulFunctionCall",
"src": "2003:10:5"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1998:1:5"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "1978:3:5",
"statements": []
},
"src": "1974:113:5"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2107:3:5"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2112:6:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2103:3:5"
},
"nodeType": "YulFunctionCall",
"src": "2103:16:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2121:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2096:6:5"
},
"nodeType": "YulFunctionCall",
"src": "2096:27:5"
},
"nodeType": "YulExpressionStatement",
"src": "2096:27:5"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "1927:3:5",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "1932:3:5",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1937:6:5",
"type": ""
}
],
"src": "1883:246:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2183:54:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2193:38:5",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2211:5:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2218:2:5",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2207:3:5"
},
"nodeType": "YulFunctionCall",
"src": "2207:14:5"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2227:2:5",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "2223:3:5"
},
"nodeType": "YulFunctionCall",
"src": "2223:7:5"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2203:3:5"
},
"nodeType": "YulFunctionCall",
"src": "2203:28:5"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "2193:6:5"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2166:5:5",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "2176:6:5",
"type": ""
}
],
"src": "2135:102:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2335:285:5",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2345:53:5",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2392:5:5"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2359:32:5"
},
"nodeType": "YulFunctionCall",
"src": "2359:39:5"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2349:6:5",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2407:78:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2473:3:5"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2478:6:5"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2414:58:5"
},
"nodeType": "YulFunctionCall",
"src": "2414:71:5"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2407:3:5"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2533:5:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2540:4:5",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2529:3:5"
},
"nodeType": "YulFunctionCall",
"src": "2529:16:5"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2547:3:5"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2552:6:5"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulIdentifier",
"src": "2494:34:5"
},
"nodeType": "YulFunctionCall",
"src": "2494:65:5"
},
"nodeType": "YulExpressionStatement",
"src": "2494:65:5"
},
{
"nodeType": "YulAssignment",
"src": "2568:46:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2579:3:5"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2606:6:5"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2584:21:5"
},
"nodeType": "YulFunctionCall",
"src": "2584:29:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2575:3:5"
},
"nodeType": "YulFunctionCall",
"src": "2575:39:5"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2568:3:5"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2316:5:5",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2323:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2331:3:5",
"type": ""
}
],
"src": "2243:377:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2744:195:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2754:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2766:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2777:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2762:3:5"
},
"nodeType": "YulFunctionCall",
"src": "2762:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2754:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2801:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2812:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2797:3:5"
},
"nodeType": "YulFunctionCall",
"src": "2797:17:5"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2820:4:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2826:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2816:3:5"
},
"nodeType": "YulFunctionCall",
"src": "2816:20:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2790:6:5"
},
"nodeType": "YulFunctionCall",
"src": "2790:47:5"
},
"nodeType": "YulExpressionStatement",
"src": "2790:47:5"
},
{
"nodeType": "YulAssignment",
"src": "2846:86:5",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2918:6:5"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2927:4:5"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2854:63:5"
},
"nodeType": "YulFunctionCall",
"src": "2854:78:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2846:4:5"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2716:9:5",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2728:6:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2739:4:5",
"type": ""
}
],
"src": "2626:313:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2990:32:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3000:16:5",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "3011:5:5"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3000:7:5"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2972:5:5",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2982:7:5",
"type": ""
}
],
"src": "2945:77:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3071:79:5",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3128:16:5",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3137:1:5",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3140:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3130:6:5"
},
"nodeType": "YulFunctionCall",
"src": "3130:12:5"
},
"nodeType": "YulExpressionStatement",
"src": "3130:12:5"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3094:5:5"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3119:5:5"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3101:17:5"
},
"nodeType": "YulFunctionCall",
"src": "3101:24:5"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3091:2:5"
},
"nodeType": "YulFunctionCall",
"src": "3091:35:5"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3084:6:5"
},
"nodeType": "YulFunctionCall",
"src": "3084:43:5"
},
"nodeType": "YulIf",
"src": "3081:63:5"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3064:5:5",
"type": ""
}
],
"src": "3028:122:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3208:87:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3218:29:5",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3240:6:5"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "3227:12:5"
},
"nodeType": "YulFunctionCall",
"src": "3227:20:5"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3218:5:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3283:5:5"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "3256:26:5"
},
"nodeType": "YulFunctionCall",
"src": "3256:33:5"
},
"nodeType": "YulExpressionStatement",
"src": "3256:33:5"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3186:6:5",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3194:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3202:5:5",
"type": ""
}
],
"src": "3156:139:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3384:391:5",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3430:83:5",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "3432:77:5"
},
"nodeType": "YulFunctionCall",
"src": "3432:79:5"
},
"nodeType": "YulExpressionStatement",
"src": "3432:79:5"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3405:7:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3414:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3401:3:5"
},
"nodeType": "YulFunctionCall",
"src": "3401:23:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3426:2:5",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "3397:3:5"
},
"nodeType": "YulFunctionCall",
"src": "3397:32:5"
},
"nodeType": "YulIf",
"src": "3394:119:5"
},
{
"nodeType": "YulBlock",
"src": "3523:117:5",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3538:15:5",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3552:1:5",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3542:6:5",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3567:63:5",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3602:9:5"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3613:6:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3598:3:5"
},
"nodeType": "YulFunctionCall",
"src": "3598:22:5"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3622:7:5"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "3577:20:5"
},
"nodeType": "YulFunctionCall",
"src": "3577:53:5"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3567:6:5"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "3650:118:5",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3665:16:5",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3679:2:5",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3669:6:5",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3695:63:5",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3730:9:5"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3741:6:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3726:3:5"
},
"nodeType": "YulFunctionCall",
"src": "3726:22:5"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3750:7:5"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "3705:20:5"
},
"nodeType": "YulFunctionCall",
"src": "3705:53:5"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "3695:6:5"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3346:9:5",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "3357:7:5",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3369:6:5",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "3377:6:5",
"type": ""
}
],
"src": "3301:474:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3846:53:5",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3863:3:5"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3886:5:5"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3868:17:5"
},
"nodeType": "YulFunctionCall",
"src": "3868:24:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3856:6:5"
},
"nodeType": "YulFunctionCall",
"src": "3856:37:5"
},
"nodeType": "YulExpressionStatement",
"src": "3856:37:5"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3834:5:5",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3841:3:5",
"type": ""
}
],
"src": "3781:118:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4003:124:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4013:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4025:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4036:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4021:3:5"
},
"nodeType": "YulFunctionCall",
"src": "4021:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4013:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4093:6:5"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4106:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4117:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4102:3:5"
},
"nodeType": "YulFunctionCall",
"src": "4102:17:5"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "4049:43:5"
},
"nodeType": "YulFunctionCall",
"src": "4049:71:5"
},
"nodeType": "YulExpressionStatement",
"src": "4049:71:5"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3975:9:5",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3987:6:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3998:4:5",
"type": ""
}
],
"src": "3905:222:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4233:519:5",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4279:83:5",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "4281:77:5"
},
"nodeType": "YulFunctionCall",
"src": "4281:79:5"
},
"nodeType": "YulExpressionStatement",
"src": "4281:79:5"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4254:7:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4263:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4250:3:5"
},
"nodeType": "YulFunctionCall",
"src": "4250:23:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4275:2:5",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "4246:3:5"
},
"nodeType": "YulFunctionCall",
"src": "4246:32:5"
},
"nodeType": "YulIf",
"src": "4243:119:5"
},
{
"nodeType": "YulBlock",
"src": "4372:117:5",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4387:15:5",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4401:1:5",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4391:6:5",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4416:63:5",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4451:9:5"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4462:6:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4447:3:5"
},
"nodeType": "YulFunctionCall",
"src": "4447:22:5"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4471:7:5"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "4426:20:5"
},
"nodeType": "YulFunctionCall",
"src": "4426:53:5"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4416:6:5"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "4499:118:5",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4514:16:5",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4528:2:5",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4518:6:5",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4544:63:5",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4579:9:5"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4590:6:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4575:3:5"
},
"nodeType": "YulFunctionCall",
"src": "4575:22:5"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4599:7:5"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "4554:20:5"
},
"nodeType": "YulFunctionCall",
"src": "4554:53:5"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "4544:6:5"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "4627:118:5",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4642:16:5",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4656:2:5",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4646:6:5",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4672:63:5",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4707:9:5"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4718:6:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4703:3:5"
},
"nodeType": "YulFunctionCall",
"src": "4703:22:5"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4727:7:5"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "4682:20:5"
},
"nodeType": "YulFunctionCall",
"src": "4682:53:5"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "4672:6:5"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_addresst_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4187:9:5",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "4198:7:5",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4210:6:5",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "4218:6:5",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "4226:6:5",
"type": ""
}
],
"src": "4133:619:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4801:43:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4811:27:5",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4826:5:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4833:4:5",
"type": "",
"value": "0xff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4822:3:5"
},
"nodeType": "YulFunctionCall",
"src": "4822:16:5"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "4811:7:5"
}
]
}
]
},
"name": "cleanup_t_uint8",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4783:5:5",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "4793:7:5",
"type": ""
}
],
"src": "4758:86:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4911:51:5",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4928:3:5"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4949:5:5"
}
],
"functionName": {
"name": "cleanup_t_uint8",
"nodeType": "YulIdentifier",
"src": "4933:15:5"
},
"nodeType": "YulFunctionCall",
"src": "4933:22:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4921:6:5"
},
"nodeType": "YulFunctionCall",
"src": "4921:35:5"
},
"nodeType": "YulExpressionStatement",
"src": "4921:35:5"
}
]
},
"name": "abi_encode_t_uint8_to_t_uint8_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4899:5:5",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4906:3:5",
"type": ""
}
],
"src": "4850:112:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5062:120:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5072:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5084:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5095:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5080:3:5"
},
"nodeType": "YulFunctionCall",
"src": "5080:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5072:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5148:6:5"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5161:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5172:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5157:3:5"
},
"nodeType": "YulFunctionCall",
"src": "5157:17:5"
}
],
"functionName": {
"name": "abi_encode_t_uint8_to_t_uint8_fromStack",
"nodeType": "YulIdentifier",
"src": "5108:39:5"
},
"nodeType": "YulFunctionCall",
"src": "5108:67:5"
},
"nodeType": "YulExpressionStatement",
"src": "5108:67:5"
}
]
},
"name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5034:9:5",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5046:6:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5057:4:5",
"type": ""
}
],
"src": "4968:214:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5271:391:5",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "5317:83:5",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "5319:77:5"
},
"nodeType": "YulFunctionCall",
"src": "5319:79:5"
},
"nodeType": "YulExpressionStatement",
"src": "5319:79:5"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "5292:7:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5301:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "5288:3:5"
},
"nodeType": "YulFunctionCall",
"src": "5288:23:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5313:2:5",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "5284:3:5"
},
"nodeType": "YulFunctionCall",
"src": "5284:32:5"
},
"nodeType": "YulIf",
"src": "5281:119:5"
},
{
"nodeType": "YulBlock",
"src": "5410:117:5",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5425:15:5",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "5439:1:5",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "5429:6:5",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "5454:63:5",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5489:9:5"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5500:6:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5485:3:5"
},
"nodeType": "YulFunctionCall",
"src": "5485:22:5"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "5509:7:5"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "5464:20:5"
},
"nodeType": "YulFunctionCall",
"src": "5464:53:5"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5454:6:5"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "5537:118:5",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5552:16:5",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "5566:2:5",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "5556:6:5",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "5582:63:5",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5617:9:5"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5628:6:5"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5613:3:5"
},
"nodeType": "YulFunctionCall",
"src": "5613:22:5"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "5637:7:5"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "5592:20:5"
},
"nodeType": "YulFunctionCall",
"src": "5592:53:5"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "5582:6:5"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5233:9:5",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "5244:7:5",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5256:6:5",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "5264:6:5",
"type": ""
}
],
"src": "5188:474:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5774:58:5",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "5796:6:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5804:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5792:3:5"
},
"nodeType": "YulFunctionCall",
"src": "5792:14:5"
},
{
"hexValue": "5265656e7472616e742063616c6c",
"kind": "string",
"nodeType": "YulLiteral",
"src": "5808:16:5",
"type": "",
"value": "Reentrant call"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5785:6:5"
},
"nodeType": "YulFunctionCall",
"src": "5785:40:5"
},
"nodeType": "YulExpressionStatement",
"src": "5785:40:5"
}
]
},
"name": "store_literal_in_memory_b958b17628fb24ecc7d6ab15f85e64e4b96569ce6bb6771328606ab81a75daeb",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "5766:6:5",
"type": ""
}
],
"src": "5668:164:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5984:220:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5994:74:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6060:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6065:2:5",
"type": "",
"value": "14"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "6001:58:5"
},
"nodeType": "YulFunctionCall",
"src": "6001:67:5"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5994:3:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6166:3:5"
}
],
"functionName": {
"name": "store_literal_in_memory_b958b17628fb24ecc7d6ab15f85e64e4b96569ce6bb6771328606ab81a75daeb",
"nodeType": "YulIdentifier",
"src": "6077:88:5"
},
"nodeType": "YulFunctionCall",
"src": "6077:93:5"
},
"nodeType": "YulExpressionStatement",
"src": "6077:93:5"
},
{
"nodeType": "YulAssignment",
"src": "6179:19:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6190:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6195:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6186:3:5"
},
"nodeType": "YulFunctionCall",
"src": "6186:12:5"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "6179:3:5"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_b958b17628fb24ecc7d6ab15f85e64e4b96569ce6bb6771328606ab81a75daeb_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5972:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "5980:3:5",
"type": ""
}
],
"src": "5838:366:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6381:248:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6391:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6403:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6414:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6399:3:5"
},
"nodeType": "YulFunctionCall",
"src": "6399:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6391:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6438:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6449:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6434:3:5"
},
"nodeType": "YulFunctionCall",
"src": "6434:17:5"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6457:4:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6463:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6453:3:5"
},
"nodeType": "YulFunctionCall",
"src": "6453:20:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6427:6:5"
},
"nodeType": "YulFunctionCall",
"src": "6427:47:5"
},
"nodeType": "YulExpressionStatement",
"src": "6427:47:5"
},
{
"nodeType": "YulAssignment",
"src": "6483:139:5",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6617:4:5"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_b958b17628fb24ecc7d6ab15f85e64e4b96569ce6bb6771328606ab81a75daeb_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "6491:124:5"
},
"nodeType": "YulFunctionCall",
"src": "6491:131:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6483:4:5"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_b958b17628fb24ecc7d6ab15f85e64e4b96569ce6bb6771328606ab81a75daeb__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "6361:9:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "6376:4:5",
"type": ""
}
],
"src": "6210:419:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6741:69:5",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "6763:6:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6771:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6759:3:5"
},
"nodeType": "YulFunctionCall",
"src": "6759:14:5"
},
{
"hexValue": "44657220436f6e747261637420697374207061757369657274",
"kind": "string",
"nodeType": "YulLiteral",
"src": "6775:27:5",
"type": "",
"value": "Der Contract ist pausiert"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6752:6:5"
},
"nodeType": "YulFunctionCall",
"src": "6752:51:5"
},
"nodeType": "YulExpressionStatement",
"src": "6752:51:5"
}
]
},
"name": "store_literal_in_memory_fa208c4a99845c7f61f605c0b3c0499a9bdde70775b25d84a8b36a36a9f1b9cb",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "6733:6:5",
"type": ""
}
],
"src": "6635:175:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6962:220:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6972:74:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7038:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7043:2:5",
"type": "",
"value": "25"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "6979:58:5"
},
"nodeType": "YulFunctionCall",
"src": "6979:67:5"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6972:3:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7144:3:5"
}
],
"functionName": {
"name": "store_literal_in_memory_fa208c4a99845c7f61f605c0b3c0499a9bdde70775b25d84a8b36a36a9f1b9cb",
"nodeType": "YulIdentifier",
"src": "7055:88:5"
},
"nodeType": "YulFunctionCall",
"src": "7055:93:5"
},
"nodeType": "YulExpressionStatement",
"src": "7055:93:5"
},
{
"nodeType": "YulAssignment",
"src": "7157:19:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7168:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7173:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7164:3:5"
},
"nodeType": "YulFunctionCall",
"src": "7164:12:5"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "7157:3:5"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_fa208c4a99845c7f61f605c0b3c0499a9bdde70775b25d84a8b36a36a9f1b9cb_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "6950:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "6958:3:5",
"type": ""
}
],
"src": "6816:366:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7359:248:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7369:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7381:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7392:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7377:3:5"
},
"nodeType": "YulFunctionCall",
"src": "7377:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7369:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7416:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7427:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7412:3:5"
},
"nodeType": "YulFunctionCall",
"src": "7412:17:5"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7435:4:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7441:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "7431:3:5"
},
"nodeType": "YulFunctionCall",
"src": "7431:20:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7405:6:5"
},
"nodeType": "YulFunctionCall",
"src": "7405:47:5"
},
"nodeType": "YulExpressionStatement",
"src": "7405:47:5"
},
{
"nodeType": "YulAssignment",
"src": "7461:139:5",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7595:4:5"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_fa208c4a99845c7f61f605c0b3c0499a9bdde70775b25d84a8b36a36a9f1b9cb_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "7469:124:5"
},
"nodeType": "YulFunctionCall",
"src": "7469:131:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7461:4:5"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_fa208c4a99845c7f61f605c0b3c0499a9bdde70775b25d84a8b36a36a9f1b9cb__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "7339:9:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "7354:4:5",
"type": ""
}
],
"src": "7188:419:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7719:62:5",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7741:6:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7749:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7737:3:5"
},
"nodeType": "YulFunctionCall",
"src": "7737:14:5"
},
{
"hexValue": "556e6775656c746967652041647265737365",
"kind": "string",
"nodeType": "YulLiteral",
"src": "7753:20:5",
"type": "",
"value": "Ungueltige Adresse"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7730:6:5"
},
"nodeType": "YulFunctionCall",
"src": "7730:44:5"
},
"nodeType": "YulExpressionStatement",
"src": "7730:44:5"
}
]
},
"name": "store_literal_in_memory_90d5e4130d6b4a3b3611ac85aa4099b61ca4c851ac271e6391ed11395cf43b8e",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "7711:6:5",
"type": ""
}
],
"src": "7613:168:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7933:220:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7943:74:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8009:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8014:2:5",
"type": "",
"value": "18"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "7950:58:5"
},
"nodeType": "YulFunctionCall",
"src": "7950:67:5"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7943:3:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8115:3:5"
}
],
"functionName": {
"name": "store_literal_in_memory_90d5e4130d6b4a3b3611ac85aa4099b61ca4c851ac271e6391ed11395cf43b8e",
"nodeType": "YulIdentifier",
"src": "8026:88:5"
},
"nodeType": "YulFunctionCall",
"src": "8026:93:5"
},
"nodeType": "YulExpressionStatement",
"src": "8026:93:5"
},
{
"nodeType": "YulAssignment",
"src": "8128:19:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8139:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8144:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8135:3:5"
},
"nodeType": "YulFunctionCall",
"src": "8135:12:5"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "8128:3:5"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_90d5e4130d6b4a3b3611ac85aa4099b61ca4c851ac271e6391ed11395cf43b8e_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "7921:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "7929:3:5",
"type": ""
}
],
"src": "7787:366:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8330:248:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8340:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8352:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8363:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8348:3:5"
},
"nodeType": "YulFunctionCall",
"src": "8348:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8340:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8387:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8398:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8383:3:5"
},
"nodeType": "YulFunctionCall",
"src": "8383:17:5"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8406:4:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8412:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "8402:3:5"
},
"nodeType": "YulFunctionCall",
"src": "8402:20:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8376:6:5"
},
"nodeType": "YulFunctionCall",
"src": "8376:47:5"
},
"nodeType": "YulExpressionStatement",
"src": "8376:47:5"
},
{
"nodeType": "YulAssignment",
"src": "8432:139:5",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8566:4:5"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_90d5e4130d6b4a3b3611ac85aa4099b61ca4c851ac271e6391ed11395cf43b8e_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "8440:124:5"
},
"nodeType": "YulFunctionCall",
"src": "8440:131:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8432:4:5"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_90d5e4130d6b4a3b3611ac85aa4099b61ca4c851ac271e6391ed11395cf43b8e__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "8310:9:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "8325:4:5",
"type": ""
}
],
"src": "8159:419:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8690:64:5",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "8712:6:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8720:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8708:3:5"
},
"nodeType": "YulFunctionCall",
"src": "8708:14:5"
},
{
"hexValue": "496e73756666696369656e742062616c616e6365",
"kind": "string",
"nodeType": "YulLiteral",
"src": "8724:22:5",
"type": "",
"value": "Insufficient balance"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8701:6:5"
},
"nodeType": "YulFunctionCall",
"src": "8701:46:5"
},
"nodeType": "YulExpressionStatement",
"src": "8701:46:5"
}
]
},
"name": "store_literal_in_memory_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "8682:6:5",
"type": ""
}
],
"src": "8584:170:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8906:220:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8916:74:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8982:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8987:2:5",
"type": "",
"value": "20"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "8923:58:5"
},
"nodeType": "YulFunctionCall",
"src": "8923:67:5"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8916:3:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "9088:3:5"
}
],
"functionName": {
"name": "store_literal_in_memory_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5",
"nodeType": "YulIdentifier",
"src": "8999:88:5"
},
"nodeType": "YulFunctionCall",
"src": "8999:93:5"
},
"nodeType": "YulExpressionStatement",
"src": "8999:93:5"
},
{
"nodeType": "YulAssignment",
"src": "9101:19:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "9112:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9117:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9108:3:5"
},
"nodeType": "YulFunctionCall",
"src": "9108:12:5"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "9101:3:5"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "8894:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "8902:3:5",
"type": ""
}
],
"src": "8760:366:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9303:248:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9313:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "9325:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9336:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9321:3:5"
},
"nodeType": "YulFunctionCall",
"src": "9321:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "9313:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "9360:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9371:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9356:3:5"
},
"nodeType": "YulFunctionCall",
"src": "9356:17:5"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "9379:4:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "9385:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "9375:3:5"
},
"nodeType": "YulFunctionCall",
"src": "9375:20:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9349:6:5"
},
"nodeType": "YulFunctionCall",
"src": "9349:47:5"
},
"nodeType": "YulExpressionStatement",
"src": "9349:47:5"
},
{
"nodeType": "YulAssignment",
"src": "9405:139:5",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "9539:4:5"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "9413:124:5"
},
"nodeType": "YulFunctionCall",
"src": "9413:131:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "9405:4:5"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "9283:9:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "9298:4:5",
"type": ""
}
],
"src": "9132:419:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9663:66:5",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "9685:6:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9693:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9681:3:5"
},
"nodeType": "YulFunctionCall",
"src": "9681:14:5"
},
{
"hexValue": "496e73756666696369656e7420616c6c6f77616e6365",
"kind": "string",
"nodeType": "YulLiteral",
"src": "9697:24:5",
"type": "",
"value": "Insufficient allowance"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9674:6:5"
},
"nodeType": "YulFunctionCall",
"src": "9674:48:5"
},
"nodeType": "YulExpressionStatement",
"src": "9674:48:5"
}
]
},
"name": "store_literal_in_memory_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "9655:6:5",
"type": ""
}
],
"src": "9557:172:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9881:220:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9891:74:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "9957:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9962:2:5",
"type": "",
"value": "22"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "9898:58:5"
},
"nodeType": "YulFunctionCall",
"src": "9898:67:5"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "9891:3:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10063:3:5"
}
],
"functionName": {
"name": "store_literal_in_memory_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc",
"nodeType": "YulIdentifier",
"src": "9974:88:5"
},
"nodeType": "YulFunctionCall",
"src": "9974:93:5"
},
"nodeType": "YulExpressionStatement",
"src": "9974:93:5"
},
{
"nodeType": "YulAssignment",
"src": "10076:19:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10087:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10092:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10083:3:5"
},
"nodeType": "YulFunctionCall",
"src": "10083:12:5"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "10076:3:5"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "9869:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "9877:3:5",
"type": ""
}
],
"src": "9735:366:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10278:248:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "10288:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "10300:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10311:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10296:3:5"
},
"nodeType": "YulFunctionCall",
"src": "10296:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "10288:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "10335:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10346:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10331:3:5"
},
"nodeType": "YulFunctionCall",
"src": "10331:17:5"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "10354:4:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "10360:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "10350:3:5"
},
"nodeType": "YulFunctionCall",
"src": "10350:20:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "10324:6:5"
},
"nodeType": "YulFunctionCall",
"src": "10324:47:5"
},
"nodeType": "YulExpressionStatement",
"src": "10324:47:5"
},
{
"nodeType": "YulAssignment",
"src": "10380:139:5",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "10514:4:5"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "10388:124:5"
},
"nodeType": "YulFunctionCall",
"src": "10388:131:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "10380:4:5"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "10258:9:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "10273:4:5",
"type": ""
}
],
"src": "10107:419:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10638:71:5",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "10660:6:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10668:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10656:3:5"
},
"nodeType": "YulFunctionCall",
"src": "10656:14:5"
},
{
"hexValue": "5369652073696e64206e69636874206465722042657369747a6572",
"kind": "string",
"nodeType": "YulLiteral",
"src": "10672:29:5",
"type": "",
"value": "Sie sind nicht der Besitzer"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "10649:6:5"
},
"nodeType": "YulFunctionCall",
"src": "10649:53:5"
},
"nodeType": "YulExpressionStatement",
"src": "10649:53:5"
}
]
},
"name": "store_literal_in_memory_3bcc3856cb500d11876a7175203bec2d401f5a095d8084bdf674a07e7d8207fd",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "10630:6:5",
"type": ""
}
],
"src": "10532:177:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10861:220:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "10871:74:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10937:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10942:2:5",
"type": "",
"value": "27"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "10878:58:5"
},
"nodeType": "YulFunctionCall",
"src": "10878:67:5"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10871:3:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11043:3:5"
}
],
"functionName": {
"name": "store_literal_in_memory_3bcc3856cb500d11876a7175203bec2d401f5a095d8084bdf674a07e7d8207fd",
"nodeType": "YulIdentifier",
"src": "10954:88:5"
},
"nodeType": "YulFunctionCall",
"src": "10954:93:5"
},
"nodeType": "YulExpressionStatement",
"src": "10954:93:5"
},
{
"nodeType": "YulAssignment",
"src": "11056:19:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11067:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11072:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11063:3:5"
},
"nodeType": "YulFunctionCall",
"src": "11063:12:5"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "11056:3:5"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_3bcc3856cb500d11876a7175203bec2d401f5a095d8084bdf674a07e7d8207fd_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "10849:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "10857:3:5",
"type": ""
}
],
"src": "10715:366:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11258:248:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "11268:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "11280:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11291:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11276:3:5"
},
"nodeType": "YulFunctionCall",
"src": "11276:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "11268:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "11315:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11326:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11311:3:5"
},
"nodeType": "YulFunctionCall",
"src": "11311:17:5"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "11334:4:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "11340:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "11330:3:5"
},
"nodeType": "YulFunctionCall",
"src": "11330:20:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "11304:6:5"
},
"nodeType": "YulFunctionCall",
"src": "11304:47:5"
},
"nodeType": "YulExpressionStatement",
"src": "11304:47:5"
},
{
"nodeType": "YulAssignment",
"src": "11360:139:5",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "11494:4:5"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_3bcc3856cb500d11876a7175203bec2d401f5a095d8084bdf674a07e7d8207fd_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "11368:124:5"
},
"nodeType": "YulFunctionCall",
"src": "11368:131:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "11360:4:5"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_3bcc3856cb500d11876a7175203bec2d401f5a095d8084bdf674a07e7d8207fd__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "11238:9:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "11253:4:5",
"type": ""
}
],
"src": "11087:419:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11618:75:5",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "11640:6:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11648:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11636:3:5"
},
"nodeType": "YulFunctionCall",
"src": "11636:14:5"
},
{
"hexValue": "44657220436f6e747261637420697374206e69636874207061757369657274",
"kind": "string",
"nodeType": "YulLiteral",
"src": "11652:33:5",
"type": "",
"value": "Der Contract ist nicht pausiert"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "11629:6:5"
},
"nodeType": "YulFunctionCall",
"src": "11629:57:5"
},
"nodeType": "YulExpressionStatement",
"src": "11629:57:5"
}
]
},
"name": "store_literal_in_memory_eb3864ac9c0e42a0d896ac4a9a9e19841835adca678fb992d18be42cb4232396",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "11610:6:5",
"type": ""
}
],
"src": "11512:181:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11845:220:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "11855:74:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11921:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11926:2:5",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "11862:58:5"
},
"nodeType": "YulFunctionCall",
"src": "11862:67:5"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11855:3:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "12027:3:5"
}
],
"functionName": {
"name": "store_literal_in_memory_eb3864ac9c0e42a0d896ac4a9a9e19841835adca678fb992d18be42cb4232396",
"nodeType": "YulIdentifier",
"src": "11938:88:5"
},
"nodeType": "YulFunctionCall",
"src": "11938:93:5"
},
"nodeType": "YulExpressionStatement",
"src": "11938:93:5"
},
{
"nodeType": "YulAssignment",
"src": "12040:19:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "12051:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12056:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12047:3:5"
},
"nodeType": "YulFunctionCall",
"src": "12047:12:5"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "12040:3:5"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_eb3864ac9c0e42a0d896ac4a9a9e19841835adca678fb992d18be42cb4232396_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "11833:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "11841:3:5",
"type": ""
}
],
"src": "11699:366:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12242:248:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "12252:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12264:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12275:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12260:3:5"
},
"nodeType": "YulFunctionCall",
"src": "12260:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12252:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12299:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12310:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12295:3:5"
},
"nodeType": "YulFunctionCall",
"src": "12295:17:5"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12318:4:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12324:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "12314:3:5"
},
"nodeType": "YulFunctionCall",
"src": "12314:20:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "12288:6:5"
},
"nodeType": "YulFunctionCall",
"src": "12288:47:5"
},
"nodeType": "YulExpressionStatement",
"src": "12288:47:5"
},
{
"nodeType": "YulAssignment",
"src": "12344:139:5",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12478:4:5"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_eb3864ac9c0e42a0d896ac4a9a9e19841835adca678fb992d18be42cb4232396_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "12352:124:5"
},
"nodeType": "YulFunctionCall",
"src": "12352:131:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12344:4:5"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_eb3864ac9c0e42a0d896ac4a9a9e19841835adca678fb992d18be42cb4232396__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "12222:9:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "12237:4:5",
"type": ""
}
],
"src": "12071:419:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12561:53:5",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "12578:3:5"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "12601:5:5"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "12583:17:5"
},
"nodeType": "YulFunctionCall",
"src": "12583:24:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "12571:6:5"
},
"nodeType": "YulFunctionCall",
"src": "12571:37:5"
},
"nodeType": "YulExpressionStatement",
"src": "12571:37:5"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "12549:5:5",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "12556:3:5",
"type": ""
}
],
"src": "12496:118:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12718:124:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "12728:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12740:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12751:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12736:3:5"
},
"nodeType": "YulFunctionCall",
"src": "12736:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12728:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "12808:6:5"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12821:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12832:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12817:3:5"
},
"nodeType": "YulFunctionCall",
"src": "12817:17:5"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "12764:43:5"
},
"nodeType": "YulFunctionCall",
"src": "12764:71:5"
},
"nodeType": "YulExpressionStatement",
"src": "12764:71:5"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "12690:9:5",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "12702:6:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "12713:4:5",
"type": ""
}
],
"src": "12620:222:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12954:74:5",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "12976:6:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12984:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12972:3:5"
},
"nodeType": "YulFunctionCall",
"src": "12972:14:5"
},
{
"hexValue": "536166654d6174683a207375627472616374696f6e206f766572666c6f77",
"kind": "string",
"nodeType": "YulLiteral",
"src": "12988:32:5",
"type": "",
"value": "SafeMath: subtraction overflow"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "12965:6:5"
},
"nodeType": "YulFunctionCall",
"src": "12965:56:5"
},
"nodeType": "YulExpressionStatement",
"src": "12965:56:5"
}
]
},
"name": "store_literal_in_memory_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "12946:6:5",
"type": ""
}
],
"src": "12848:180:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "13180:220:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "13190:74:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13256:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13261:2:5",
"type": "",
"value": "30"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "13197:58:5"
},
"nodeType": "YulFunctionCall",
"src": "13197:67:5"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13190:3:5"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13362:3:5"
}
],
"functionName": {
"name": "store_literal_in_memory_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862",
"nodeType": "YulIdentifier",
"src": "13273:88:5"
},
"nodeType": "YulFunctionCall",
"src": "13273:93:5"
},
"nodeType": "YulExpressionStatement",
"src": "13273:93:5"
},
{
"nodeType": "YulAssignment",
"src": "13375:19:5",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13386:3:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13391:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13382:3:5"
},
"nodeType": "YulFunctionCall",
"src": "13382:12:5"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "13375:3:5"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "13168:3:5",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "13176:3:5",
"type": ""
}
],
"src": "13034:366:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "13577:248:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "13587:26:5",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "13599:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13610:2:5",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13595:3:5"
},
"nodeType": "YulFunctionCall",
"src": "13595:18:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13587:4:5"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "13634:9:5"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13645:1:5",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13630:3:5"
},
"nodeType": "YulFunctionCall",
"src": "13630:17:5"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13653:4:5"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "13659:9:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "13649:3:5"
},
"nodeType": "YulFunctionCall",
"src": "13649:20:5"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "13623:6:5"
},
"nodeType": "YulFunctionCall",
"src": "13623:47:5"
},
"nodeType": "YulExpressionStatement",
"src": "13623:47:5"
},
{
"nodeType": "YulAssignment",
"src": "13679:139:5",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13813:4:5"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "13687:124:5"
},
"nodeType": "YulFunctionCall",
"src": "13687:131:5"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13679:4:5"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "13557:9:5",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "13572:4:5",
"type": ""
}
],
"src": "13406:419:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "13859:152:5",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13876:1:5",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13879:77:5",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "13869:6:5"
},
"nodeType": "YulFunctionCall",
"src": "13869:88:5"
},
"nodeType": "YulExpressionStatement",
"src": "13869:88:5"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13973:1:5",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13976:4:5",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "13966:6:5"
},
"nodeType": "YulFunctionCall",
"src": "13966:15:5"
},
"nodeType": "YulExpressionStatement",
"src": "13966:15:5"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13997:1:5",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14000:4:5",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "13990:6:5"
},
"nodeType": "YulFunctionCall",
"src": "13990:15:5"
},
"nodeType": "YulExpressionStatement",
"src": "13990:15:5"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "13831:180:5"
},
{
"body": {
"nodeType": "YulBlock",
"src": "14062:149:5",
"statements": [
{
"nodeType": "YulAssignment",
"src": "14072:25:5",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "14095:1:5"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "14077:17:5"
},
"nodeType": "YulFunctionCall",
"src": "14077:20:5"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "14072:1:5"
}
]
},
{
"nodeType": "YulAssignment",
"src": "14106:25:5",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "14129:1:5"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "14111:17:5"
},
"nodeType": "YulFunctionCall",
"src": "14111:20:5"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "14106:1:5"
}
]
},
{
"nodeType": "YulAssignment",
"src": "14140:17:5",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "14152:1:5"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "14155:1:5"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "14148:3:5"
},
"nodeType": "YulFunctionCall",
"src": "14148:9:5"
},
"variableNames": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "14140:4:5"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "14182:22:5",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "14184:16:5"
},
"nodeType": "YulFunctionCall",
"src": "14184:18:5"
},
"nodeType": "YulExpressionStatement",
"src": "14184:18:5"
}
]
},
"condition": {
"arguments": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "14173:4:5"
},
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "14179:1:5"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "14170:2:5"
},
"nodeType": "YulFunctionCall",
"src": "14170:11:5"
},
"nodeType": "YulIf",
"src": "14167:37:5"
}
View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

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