TW
Tripwire
Find contracts. Test them. Review real vulns.

Analysis Run

019ba9bd-3bd2-7165-b27e-350fe4b4d11c

complete
Chain ID
1
Address
Block Number
Created
Sat, Jan 10, 2026 9:08 PM
Review Summary

What survived the funnel

Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Untrusted DELEGATECALL target reachable
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
37912 artifact.fetch complete 1 / 3 3 months ago
37913 proxy.resolve complete 1 / 3 3 months ago
37914 tool.cast_disasm complete 1 / 3 3 months ago
37915 analysis.bundle complete 1 / 3 3 months ago
37916 capability.graph complete 1 / 3 3 months ago
37917 detector.run complete 1 / 3 3 months ago
37918 validation.fork complete 1 / 3 3 months ago
38152 report.consolidate complete 1 / 6 3 months ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no not_proxy
Implementation:
Verified Source: yes
Proxy evidence
{
    "status": "not_proxy"
}

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
1
No findings?
no
Summary
Found one medium issue where native-token allowance accounting for dex vault rebalances can be bypassed by a malicious protocol returning misleading values, enabling spending beyond configured limits.
View stdout
{"no_findings":false,"summary":"Found one medium issue where native-token allowance accounting for dex vault rebalances can be bypassed by a malicious protocol returning misleading values, enabling spending beyond configured limits.","findings":[{"severity":"medium","category":"other","title":"Dex vault rebalance can skip native allowance decrement based on protocol-supplied return values","exploit_scenario":"An authorized rebalancer calls `rebalanceDexVault` on a malicious or compromised vault. The vault consumes ETH sent via `value_` but returns `colAmount_ <= 0` and `debtAmount_ >= 0`, causing the allowance decrement block to be skipped. The same protocol can then be called repeatedly to spend additional ETH beyond its configured `nativeTokenAllowances[protocol_]`, effectively bypassing the allowance cap.","recommendation":"Always decrement the native allowance based on actual balance delta whenever `value_ > 0`, regardless of the returned `colAmount_`/`debtAmount_` signs. Alternatively, pre-decrement by `value_` like the other rebalance functions and refund any unused amount after the call.","evidence":"`rebalanceDexVault` only reduces `nativeTokenAllowances` inside a conditional that depends on `colAmount_`/`debtAmount_` returned by the external protocol, so a malicious protocol can avoid decrement while still consuming ETH.","locations":["contracts/reserve/main.sol:238","contracts/reserve/main.sol:250"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-qd9lvvmu
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019baa2e-1bd4-7ad3-a18d-5479514a9180
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.

Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.

Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.

Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers

thinking
**Preparing to audit AGENTS and bundle files**
exec
/bin/bash -lc ls in /tmp/codex-qd9lvvmu succeeded in 8ms:
AUDIT_BUNDLE.txt
codex-output-schema.json
contracts
@openzeppelin

thinking
**Locating AUDIT_BUNDLE**
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-qd9lvvmu succeeded in 6ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.

================================================================================
FILE: contracts/infiniteProxy/interfaces/iProxy.sol
================================================================================
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.21 <=0.8.29;

interface IProxy {
    function setAdmin(address newAdmin_) external;

    function setDummyImplementation(address newDummyImplementation_) external;

    function addImplementation(address implementation_, bytes4[] calldata sigs_) external;

    function removeImplementation(address implementation_) external;

    function getAdmin() external view returns (address);


thinking
**Checking for audit bundle files**
exec
/bin/bash -lc 'rg "''^FILE:" -n AUDIT_BUNDLE.txt' in /tmp/codex-qd9lvvmu succeeded in 20ms:
5:FILE: contracts/infiniteProxy/interfaces/iProxy.sol
31:FILE: contracts/libraries/errorTypes.sol
69:FILE: contracts/libraries/safeTransfer.sol
170:FILE: contracts/liquidity/adminModule/structs.sol
319:FILE: contracts/liquidity/interfaces/iLiquidity.sol
452:FILE: contracts/protocols/lending/interfaces/iFToken.sol
676:FILE: contracts/protocols/lending/interfaces/iLendingFactory.sol
744:FILE: contracts/protocols/lending/interfaces/iLendingRewardsRateModel.sol
773:FILE: contracts/protocols/lending/interfaces/permit2/iAllowanceTransfer.sol
953:FILE: contracts/protocols/vault/interfaces/iVault.sol
1053:FILE: contracts/protocols/vault/interfaces/iVaultT1.sol
1159:FILE: contracts/reserve/error.sol
1169:FILE: contracts/reserve/errorTypes.sol
1199:FILE: contracts/reserve/events.sol
1231:FILE: contracts/reserve/main.sol
1628:FILE: contracts/reserve/structs.sol
1646:FILE: contracts/reserve/variables.sol

thinking
**Inspecting main contract files**
exec
/bin/bash -lc "sed -n '1199,1628p' AUDIT_BUNDLE.txt" in /tmp/codex-qd9lvvmu succeeded in 10ms:
FILE: contracts/reserve/events.sol
================================================================================
// SPDX-License-Identifier: BUSL-1.1
pragma solidity 0.8.21;

abstract contract Events {
    /// @notice Emitted when an address is added or removed from the auths
    event LogUpdateAuth(address indexed auth, bool isAuth);

    /// @notice Emitted when an address is added or removed from the rebalancers
    event LogUpdateRebalancer(address indexed rebalancer, bool isRebalancer);

    /// @notice Emitted when a token is approved for use by a protocol
    event LogAllow(address indexed protocol, address indexed token, uint256 newAllowance, uint existingAllowance);

    /// @notice Emitted when a token is revoked for use by a protocol
    event LogRevoke(address indexed protocol, address indexed token);

    /// @notice Emitted when fToken is rebalanced
    event LogRebalanceFToken(address indexed protocol, uint amount);


thinking
**Analyzing reentrancy and allowance risks**

I'm carefully examining the contract’s external calls, especially in rebalanceDexVault, to spot potential reentrancy vulnerabilities tied to allowance accounting. I notice that allowance decrements depend on protocol return values, which a malicious protocol could manipulate to overspend ETH without reducing allowances. This could lead to multiple drains beyond set limits by an authorized rebalancer using a compromised protocol, representing a medium severity issue worth flagging.
thinking
**Reviewing token approval patterns and multisig withdrawals**

I'm evaluating how safeApprove handles tokens like USDT that require zeroing allowances first, noting it’s done correctly but could revert with non-standard tokens. I also consider privilege restrictions on functions like withdrawFunds and approve to assess reentrancy exposure. Finally, I plan to produce a JSON report with findings referencing approximate line numbers from the reserve main contract.
exec
/bin/bash -lc "nl -ba contracts/reserve/main.sol | sed -n '1,260p'" in /tmp/codex-qd9lvvmu succeeded in 14ms:
     1	// SPDX-License-Identifier: BUSL-1.1
     2	pragma solidity 0.8.21;
     3	
     4	import { UUPSUpgradeable } from "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol";
     5	import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
     6	import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
     7	import { EnumerableSet } from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
     8	
     9	import { IFTokenAdmin } from "../protocols/lending/interfaces/iFToken.sol";
    10	import { IFluidVaultT1 } from "../protocols/vault/interfaces/iVaultT1.sol";
    11	import { IFluidVault } from "../protocols/vault/interfaces/iVault.sol";
    12	import { SafeTransfer } from "../libraries/safeTransfer.sol";
    13	
    14	import { Variables } from "./variables.sol";
    15	import { Events } from "./events.sol";
    16	import { ErrorTypes } from "./errorTypes.sol";
    17	import { Error } from "./error.sol";
    18	
    19	abstract contract ReserveContractAuth is Variables, Error, Events {
    20	    using EnumerableSet for EnumerableSet.AddressSet;

thinking
**Requesting more lines**
exec
/bin/bash -lc "nl -ba contracts/reserve/main.sol | sed -n '260,520p'" in /tmp/codex-qd9lvvmu succeeded in 31ms:
   260	                nativeTokenAllowances[protocol_] -= usedBalance_;
   261	            }
   262	        }
   263	
   264	        emit LogRebalanceVault(protocol_, colAmount_, debtAmount_);
   265	    }
   266	
   267	    /// @notice calls `rebalanceFToken` multiple times
   268	    /// @dev don't need onlyRebalancer modifier as it is already checked in `rebalanceFToken` function
   269	    function rebalanceFTokens(address[] calldata protocols_, uint256[] calldata values_) external payable {
   270	        if (protocols_.length != values_.length) {
   271	            revert FluidReserveContractError(ErrorTypes.ReserveContract__InvalidInputLenghts);
   272	        }
   273	
   274	        for (uint256 i = 0; i < protocols_.length; i++) {
   275	            rebalanceFToken(protocols_[i], values_[i]);
   276	        }
   277	    }
   278	
   279	    /// @notice calls `rebalanceVault` multiple times

thinking
**Analyzing allowance and rebalancer risks**

I'm evaluating the implications of immutable addresses in an upgradeable proxy setup, focusing on native and ERC20 allowances tied to rebalancer calls. It seems the rebalancer can call any approved protocol, which may pose a medium-severity risk if a malicious protocol falsifies return values to bypass native allowance restrictions during vault rebalances. I'll summarize this as a finding, categorize it as "other," and prepare a JSON output highlighting the potential accounting invariant break and recommended safeguards.
codex
{"no_findings":false,"summary":"Found one medium issue where native-token allowance accounting for dex vault rebalances can be bypassed by a malicious protocol returning misleading values, enabling spending beyond configured limits.","findings":[{"severity":"medium","category":"other","title":"Dex vault rebalance can skip native allowance decrement based on protocol-supplied return values","exploit_scenario":"An authorized rebalancer calls `rebalanceDexVault` on a malicious or compromised vault. The vault consumes ETH sent via `value_` but returns `colAmount_ <= 0` and `debtAmount_ >= 0`, causing the allowance decrement block to be skipped. The same protocol can then be called repeatedly to spend additional ETH beyond its configured `nativeTokenAllowances[protocol_]`, effectively bypassing the allowance cap.","recommendation":"Always decrement the native allowance based on actual balance delta whenever `value_ > 0`, regardless of the returned `colAmount_`/`debtAmount_` signs. Alternatively, pre-decrement by `value_` like the other rebalance functions and refund any unused amount after the call.","evidence":"`rebalanceDexVault` only reduces `nativeTokenAllowances` inside a conditional that depends on `colAmount_`/`debtAmount_` returned by the external protocol, so a malicious protocol can avoid decrement while still consuming ETH.","locations":["contracts/reserve/main.sol:238","contracts/reserve/main.sol:250"]}]}
tokens used
34,322
Metadata
{
    "codex": {
        "ran_at": "2026-01-10T23:13:48.537265+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 33,
        "import_count": 35,
        "first_party_contracts_count": 17
    },
    "summary": "Found one medium issue where native-token allowance accounting for dex vault rebalances can be bypassed by a malicious protocol returning misleading values, enabling spending beyond configured limits.",
    "raw_final": {
        "summary": "Found one medium issue where native-token allowance accounting for dex vault rebalances can be bypassed by a malicious protocol returning misleading values, enabling spending beyond configured limits.",
        "findings": [
            {
                "title": "Dex vault rebalance can skip native allowance decrement based on protocol-supplied return values",
                "category": "other",
                "evidence": "`rebalanceDexVault` only reduces `nativeTokenAllowances` inside a conditional that depends on `colAmount_`/`debtAmount_` returned by the external protocol, so a malicious protocol can avoid decrement while still consuming ETH.",
                "severity": "medium",
                "locations": [
                    "contracts/reserve/main.sol:238",
                    "contracts/reserve/main.sol:250"
                ],
                "recommendation": "Always decrement the native allowance based on actual balance delta whenever `value_ > 0`, regardless of the returned `colAmount_`/`debtAmount_` signs. Alternatively, pre-decrement by `value_` like the other rebalance functions and refund any unused amount after the call.",
                "exploit_scenario": "An authorized rebalancer calls `rebalanceDexVault` on a malicious or compromised vault. The vault consumes ETH sent via `value_` but returns `colAmount_ <= 0` and `debtAmount_ >= 0`, causing the allowance decrement block to be skipped. The same protocol can then be called repeatedly to spend additional ETH beyond its configured `nativeTokenAllowances[protocol_]`, effectively bypassing the allowance cap."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
1
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
11
EXT*/BALANCE
4
Total opcodes
7708
Flags
delegatecall_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x01a5
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x4f1ef286
00000019: GT
0000001a: PUSH2 0x00e1
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0x8da5cb5b
00000024: GT
00000025: PUSH2 0x008a
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xe9c771b2
0000002f: GT
00000030: PUSH2 0x0064
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xe9c771b2
0000003a: EQ
0000003b: PUSH2 0x04b7
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xec1a9dd4
00000045: EQ
00000046: PUSH2 0x04d7
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xef33e9db
00000050: EQ
00000051: PUSH2 0x0504
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xf2fde38b
0000005b: EQ
0000005c: PUSH2 0x0526
0000005f: JUMPI
00000060: PUSH1 0x00
00000062: DUP1
00000063: REVERT
00000064: JUMPDEST
00000065: DUP1
00000066: PUSH4 0x8da5cb5b
0000006b: EQ
0000006c: PUSH2 0x042b
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0xc11b353c
00000076: EQ
00000077: PUSH2 0x0456
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xc8354898
00000081: EQ
00000082: PUSH2 0x0483
00000085: JUMPI
00000086: PUSH1 0x00
00000088: DUP1
00000089: REVERT
0000008a: JUMPDEST
0000008b: DUP1
0000008c: PUSH4 0x702b5175
00000091: GT
00000092: PUSH2 0x00bb
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0x702b5175
0000009c: EQ
0000009d: PUSH2 0x03c9
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0x715018a6
000000a7: EQ
000000a8: PUSH2 0x03e9
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0x801ca144
000000b2: EQ
000000b3: PUSH2 0x03fe
000000b6: JUMPI
000000b7: PUSH1 0x00
000000b9: DUP1
000000ba: REVERT
000000bb: JUMPDEST
000000bc: DUP1
000000bd: PUSH4 0x4f1ef286
000000c2: EQ
000000c3: PUSH2 0x0373
000000c6: JUMPI
000000c7: DUP1
000000c8: PUSH4 0x5274ac3f
000000cd: EQ
000000ce: PUSH2 0x0386
000000d1: JUMPI
000000d2: DUP1
000000d3: PUSH4 0x52d1902d
000000d8: EQ
000000d9: PUSH2 0x03a6
000000dc: JUMPI
000000dd: PUSH1 0x00
000000df: DUP1
000000e0: REVERT
000000e1: JUMPDEST
000000e2: DUP1
000000e3: PUSH4 0x2bb39399
000000e8: GT
000000e9: PUSH2 0x014e
000000ec: JUMPI
000000ed: DUP1
000000ee: PUSH4 0x392094fc
000000f3: GT
000000f4: PUSH2 0x0128
000000f7: JUMPI
000000f8: DUP1
000000f9: PUSH4 0x392094fc
000000fe: EQ
000000ff: PUSH2 0x02fd
00000102: JUMPI
00000103: DUP1
00000104: PUSH4 0x3ee1f1ea
00000109: EQ
0000010a: PUSH2 0x0310
0000010d: JUMPI
0000010e: DUP1
0000010f: PUSH4 0x432abd56
00000114: EQ
00000115: PUSH2 0x0330
00000118: JUMPI
00000119: DUP1
0000011a: PUSH4 0x467c9eff
0000011f: EQ
00000120: PUSH2 0x0343
00000123: JUMPI
00000124: PUSH1 0x00
00000126: DUP1
00000127: REVERT
00000128: JUMPDEST
00000129: DUP1
0000012a: PUSH4 0x2bb39399
0000012f: EQ
00000130: PUSH2 0x02b7
00000133: JUMPI
00000134: DUP1
00000135: PUSH4 0x3659cfe6
0000013a: EQ
0000013b: PUSH2 0x02ca
0000013e: JUMPI
0000013f: DUP1
00000140: PUSH4 0x386b8e6f
00000145: EQ
00000146: PUSH2 0x02ea
00000149: JUMPI
0000014a: PUSH1 0x00
0000014c: DUP1
0000014d: REVERT
0000014e: JUMPDEST
0000014f: DUP1
00000150: PUSH4 0x111a399b
00000155: GT
00000156: PUSH2 0x017f
00000159: JUMPI
0000015a: DUP1
0000015b: PUSH4 0x111a399b
00000160: EQ
00000161: PUSH2 0x0251
00000164: JUMPI
00000165: DUP1
00000166: PUSH4 0x13b14ebb
0000016b: EQ
0000016c: PUSH2 0x0264
0000016f: JUMPI
00000170: DUP1
00000171: PUSH4 0x2520e7ff
00000176: EQ
00000177: PUSH2 0x0277
0000017a: JUMPI
0000017b: PUSH1 0x00
0000017d: DUP1
0000017e: REVERT
0000017f: JUMPDEST
00000180: DUP1
00000181: PUSH4 0x03e80461
00000186: EQ
00000187: PUSH2 0x01b1
0000018a: JUMPI
0000018b: DUP1
0000018c: PUSH4 0x07604b1a
00000191: EQ
00000192: PUSH2 0x01d3
00000195: JUMPI
00000196: DUP1
00000197: PUSH4 0x0de30836
0000019c: EQ
0000019d: PUSH2 0x0231
000001a0: JUMPI
000001a1: PUSH1 0x00
000001a3: DUP1
000001a4: REVERT
000001a5: JUMPDEST
000001a6: CALLDATASIZE
000001a7: PUSH2 0x01ac
000001aa: JUMPI
000001ab: STOP
000001ac: JUMPDEST
000001ad: PUSH1 0x00
000001af: DUP1
000001b0: REVERT
000001b1: JUMPDEST
000001b2: CALLVALUE
000001b3: DUP1
000001b4: ISZERO
000001b5: PUSH2 0x01bd
000001b8: JUMPI
000001b9: PUSH1 0x00
000001bb: DUP1
000001bc: REVERT
000001bd: JUMPDEST
000001be: POP
000001bf: PUSH2 0x01d1
000001c2: PUSH2 0x01cc
000001c5: CALLDATASIZE
000001c6: PUSH1 0x04
000001c8: PUSH2 0x3754
000001cb: JUMP
000001cc: JUMPDEST
000001cd: PUSH2 0x0546
000001d0: JUMP
000001d1: JUMPDEST
000001d2: STOP
000001d3: JUMPDEST
000001d4: CALLVALUE
000001d5: DUP1
000001d6: ISZERO
000001d7: PUSH2 0x01df
000001da: JUMPI
000001db: PUSH1 0x00
000001dd: DUP1
000001de: REVERT
000001df: JUMPDEST
000001e0: POP
000001e1: PUSH2 0x0207
000001e4: PUSH32 0x00000000000000000000000028849d2b63fa8d361e5fc15cb8abb13019884d09
00000205: DUP2
00000206: JUMP
00000207: JUMPDEST
00000208: PUSH1 0x40
0000020a: MLOAD
0000020b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000220: SWAP1
00000221: SWAP2
00000222: AND
00000223: DUP2
00000224: MSTORE
00000225: PUSH1 0x20
00000227: ADD
00000228: JUMPDEST
00000229: PUSH1 0x40
0000022b: MLOAD
0000022c: DUP1
0000022d: SWAP2
0000022e: SUB
0000022f: SWAP1
00000230: RETURN
00000231: JUMPDEST
00000232: CALLVALUE
00000233: DUP1
00000234: ISZERO
00000235: PUSH2 0x023d
00000238: JUMPI
00000239: PUSH1 0x00
0000023b: DUP1
0000023c: REVERT
0000023d: JUMPDEST
0000023e: POP
0000023f: PUSH2 0x01d1
00000242: PUSH2 0x024c
00000245: CALLDATASIZE
00000246: PUSH1 0x04
00000248: PUSH2 0x37ea
0000024b: JUMP
0000024c: JUMPDEST
0000024d: PUSH2 0x0882
00000250: JUMP
00000251: JUMPDEST
00000252: PUSH2 0x01d1
00000255: PUSH2 0x025f
00000258: CALLDATASIZE
00000259: PUSH1 0x04
0000025b: PUSH2 0x3823
0000025e: JUMP
0000025f: JUMPDEST
00000260: PUSH2 0x09f1
00000263: JUMP
00000264: JUMPDEST
00000265: PUSH2 0x01d1
00000268: PUSH2 0x0272
0000026b: CALLDATASIZE
0000026c: PUSH1 0x04
0000026e: PUSH2 0x3823
00000271: JUMP
00000272: JUMPDEST
00000273: PUSH2 0x0dc7
00000276: JUMP
00000277: JUMPDEST
00000278: CALLVALUE
00000279: DUP1
0000027a: ISZERO
0000027b: PUSH2 0x0283
0000027e: JUMPI
0000027f: PUSH1 0x00
00000281: DUP1
00000282: REVERT
00000283: JUMPDEST
00000284: POP
00000285: PUSH2 0x02a7
00000288: PUSH2 0x0292
0000028b: CALLDATASIZE
0000028c: PUSH1 0x04
0000028e: PUSH2 0x384f
00000291: JUMP
00000292: JUMPDEST
00000293: PUSH1 0x65
00000295: PUSH1 0x20
00000297: MSTORE
00000298: PUSH1 0x00
0000029a: SWAP1
0000029b: DUP2
0000029c: MSTORE
0000029d: PUSH1 0x40
0000029f: SWAP1
000002a0: KECCAK256
000002a1: SLOAD
000002a2: PUSH1 0xff
000002a4: AND
000002a5: DUP2
000002a6: JUMP
000002a7: JUMPDEST
000002a8: PUSH1 0x40
000002aa: MLOAD
000002ab: SWAP1
000002ac: ISZERO
000002ad: ISZERO
000002ae: DUP2
000002af: MSTORE
000002b0: PUSH1 0x20
000002b2: ADD
000002b3: PUSH2 0x0228
000002b6: JUMP
000002b7: JUMPDEST
000002b8: PUSH2 0x01d1
000002bb: PUSH2 0x02c5
000002be: CALLDATASIZE
000002bf: PUSH1 0x04
000002c1: PUSH2 0x38bf
000002c4: JUMP
000002c5: JUMPDEST
000002c6: PUSH2 0x0f78
000002c9: JUMP
000002ca: JUMPDEST
000002cb: CALLVALUE
000002cc: DUP1
000002cd: ISZERO
000002ce: PUSH2 0x02d6
000002d1: JUMPI
000002d2: PUSH1 0x00
000002d4: DUP1
000002d5: REVERT
000002d6: JUMPDEST
000002d7: POP
000002d8: PUSH2 0x01d1
000002db: PUSH2 0x02e5
000002de: CALLDATASIZE
000002df: PUSH1 0x04
000002e1: PUSH2 0x384f
000002e4: JUMP
000002e5: JUMPDEST
000002e6: PUSH2 0x1022
000002e9: JUMP
000002ea: JUMPDEST
000002eb: PUSH2 0x01d1
000002ee: PUSH2 0x02f8
000002f1: CALLDATASIZE
000002f2: PUSH1 0x04
000002f4: PUSH2 0x392b
000002f7: JUMP
000002f8: JUMPDEST
000002f9: PUSH2 0x1227
000002fc: JUMP
000002fd: JUMPDEST
000002fe: PUSH2 0x01d1
00000301: PUSH2 0x030b
00000304: CALLDATASIZE
00000305: PUSH1 0x04
00000307: PUSH2 0x38bf
0000030a: JUMP
0000030b: JUMPDEST
0000030c: PUSH2 0x1490
0000030f: JUMP
00000310: JUMPDEST
00000311: CALLVALUE
00000312: DUP1
00000313: ISZERO
00000314: PUSH2 0x031c
00000317: JUMPI
00000318: PUSH1 0x00
0000031a: DUP1
0000031b: REVERT
0000031c: JUMPDEST
0000031d: POP
0000031e: PUSH2 0x01d1
00000321: PUSH2 0x032b
00000324: CALLDATASIZE
00000325: PUSH1 0x04
00000327: PUSH2 0x39ed
0000032a: JUMP
0000032b: JUMPDEST
0000032c: PUSH2 0x1533
0000032f: JUMP
00000330: JUMPDEST
00000331: PUSH2 0x01d1
00000334: PUSH2 0x033e
00000337: CALLDATASIZE
00000338: PUSH1 0x04
0000033a: PUSH2 0x3a9e
0000033d: JUMP
0000033e: JUMPDEST
0000033f: PUSH2 0x1870
00000342: JUMP
00000343: JUMPDEST
00000344: CALLVALUE
00000345: DUP1
00000346: ISZERO
00000347: PUSH2 0x034f
0000034a: JUMPI
0000034b: PUSH1 0x00
0000034d: DUP1
0000034e: REVERT
0000034f: JUMPDEST
00000350: POP
00000351: PUSH2 0x02a7
00000354: PUSH2 0x035e
00000357: CALLDATASIZE
00000358: PUSH1 0x04
0000035a: PUSH2 0x384f
0000035d: JUMP
0000035e: JUMPDEST
0000035f: PUSH1 0x66
00000361: PUSH1 0x20
00000363: MSTORE
00000364: PUSH1 0x00
00000366: SWAP1
00000367: DUP2
00000368: MSTORE
00000369: PUSH1 0x40
0000036b: SWAP1
0000036c: KECCAK256
0000036d: SLOAD
0000036e: PUSH1 0xff
00000370: AND
00000371: DUP2
00000372: JUMP
00000373: JUMPDEST
00000374: PUSH2 0x01d1
00000377: PUSH2 0x0381
0000037a: CALLDATASIZE
0000037b: PUSH1 0x04
0000037d: PUSH2 0x3be1
00000380: JUMP
00000381: JUMPDEST
00000382: PUSH2 0x19b4
00000385: JUMP
00000386: JUMPDEST
00000387: CALLVALUE
00000388: DUP1
00000389: ISZERO
0000038a: PUSH2 0x0392
0000038d: JUMPI
0000038e: PUSH1 0x00
00000390: DUP1
00000391: REVERT
00000392: JUMPDEST
00000393: POP
00000394: PUSH2 0x01d1
00000397: PUSH2 0x03a1
0000039a: CALLDATASIZE
0000039b: PUSH1 0x04
0000039d: PUSH2 0x3c45
000003a0: JUMP
000003a1: JUMPDEST
000003a2: PUSH2 0x1baa
000003a5: JUMP
000003a6: JUMPDEST
000003a7: CALLVALUE
000003a8: DUP1
000003a9: ISZERO
000003aa: PUSH2 0x03b2
000003ad: JUMPI
000003ae: PUSH1 0x00
000003b0: DUP1
000003b1: REVERT
000003b2: JUMPDEST
000003b3: POP
000003b4: PUSH2 0x03bb
000003b7: PUSH2 0x1f8b
000003ba: JUMP
000003bb: JUMPDEST
000003bc: PUSH1 0x40
000003be: MLOAD
000003bf: SWAP1
000003c0: DUP2
000003c1: MSTORE
000003c2: PUSH1 0x20
000003c4: ADD
000003c5: PUSH2 0x0228
000003c8: JUMP
000003c9: JUMPDEST
000003ca: CALLVALUE
000003cb: DUP1
000003cc: ISZERO
000003cd: PUSH2 0x03d5
000003d0: JUMPI
000003d1: PUSH1 0x00
000003d3: DUP1
000003d4: REVERT
000003d5: JUMPDEST
000003d6: POP
000003d7: PUSH2 0x01d1
000003da: PUSH2 0x03e4
000003dd: CALLDATASIZE
000003de: PUSH1 0x04
000003e0: PUSH2 0x3cbd
000003e3: JUMP
000003e4: JUMPDEST
000003e5: PUSH2 0x2077
000003e8: JUMP
000003e9: JUMPDEST
000003ea: CALLVALUE
000003eb: DUP1
000003ec: ISZERO
000003ed: PUSH2 0x03f5
000003f0: JUMPI
000003f1: PUSH1 0x00
000003f3: DUP1
000003f4: REVERT
000003f5: JUMPDEST
000003f6: POP
000003f7: PUSH2 0x01d1
000003fa: PUSH2 0x22f3
000003fd: JUMP
000003fe: JUMPDEST
000003ff: CALLVALUE
00000400: DUP1
00000401: ISZERO
00000402: PUSH2 0x040a
00000405: JUMPI
00000406: PUSH1 0x00
00000408: DUP1
00000409: REVERT
0000040a: JUMPDEST
0000040b: POP
0000040c: PUSH2 0x041e
0000040f: PUSH2 0x0419
00000412: CALLDATASIZE
00000413: PUSH1 0x04
00000415: PUSH2 0x384f
00000418: JUMP
00000419: JUMPDEST
0000041a: PUSH2 0x2332
0000041d: JUMP
0000041e: JUMPDEST
0000041f: PUSH1 0x40
00000421: MLOAD
00000422: PUSH2 0x0228
00000425: SWAP2
00000426: SWAP1
00000427: PUSH2 0x3d17
0000042a: JUMP
0000042b: JUMPDEST
0000042c: CALLVALUE
0000042d: DUP1
0000042e: ISZERO
0000042f: PUSH2 0x0437
00000432: JUMPI
00000433: PUSH1 0x00
00000435: DUP1
00000436: REVERT
00000437: JUMPDEST
00000438: POP
00000439: PUSH1 0x33
0000043b: SLOAD
0000043c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000451: AND
00000452: PUSH2 0x0207
00000455: JUMP
00000456: JUMPDEST
00000457: CALLVALUE
00000458: DUP1
00000459: ISZERO
0000045a: PUSH2 0x0462
0000045d: JUMPI
0000045e: PUSH1 0x00
00000460: DUP1
00000461: REVERT
00000462: JUMPDEST
00000463: POP
00000464: PUSH2 0x03bb
00000467: PUSH2 0x0471
0000046a: CALLDATASIZE
0000046b: PUSH1 0x04
0000046d: PUSH2 0x384f
00000470: JUMP
00000471: JUMPDEST
00000472: PUSH1 0x68
00000474: PUSH1 0x20
00000476: MSTORE
00000477: PUSH1 0x00
00000479: SWAP1
0000047a: DUP2
0000047b: MSTORE
0000047c: PUSH1 0x40
0000047e: SWAP1
0000047f: KECCAK256
00000480: SLOAD
00000481: DUP2
00000482: JUMP
00000483: JUMPDEST
00000484: CALLVALUE
00000485: DUP1
00000486: ISZERO
00000487: PUSH2 0x048f
0000048a: JUMPI
0000048b: PUSH1 0x00
0000048d: DUP1
0000048e: REVERT
0000048f: JUMPDEST
00000490: POP
00000491: PUSH2 0x0207
00000494: PUSH32 0x0000000000000000000000009afb8c1798b93a8e04a18553ee65bafa41a012f1
000004b5: DUP2
000004b6: JUMP
000004b7: JUMPDEST
000004b8: CALLVALUE
000004b9: DUP1
000004ba: ISZERO
000004bb: PUSH2 0x04c3
000004be: JUMPI
000004bf: PUSH1 0x00
000004c1: DUP1
000004c2: REVERT
000004c3: JUMPDEST
000004c4: POP
000004c5: PUSH2 0x01d1
000004c8: PUSH2 0x04d2
000004cb: CALLDATASIZE
000004cc: PUSH1 0x04
000004ce: PUSH2 0x37ea
000004d1: JUMP
000004d2: JUMPDEST
000004d3: PUSH2 0x2414
000004d6: JUMP
000004d7: JUMPDEST
000004d8: CALLVALUE
000004d9: DUP1
000004da: ISZERO
000004db: PUSH2 0x04e3
000004de: JUMPI
000004df: PUSH1 0x00
000004e1: DUP1
000004e2: REVERT
000004e3: JUMPDEST
000004e4: POP
000004e5: PUSH2 0x04f7
000004e8: PUSH2 0x04f2
000004eb: CALLDATASIZE
000004ec: PUSH1 0x04
000004ee: PUSH2 0x384f
000004f1: JUMP
000004f2: JUMPDEST
000004f3: PUSH2 0x24f2
000004f6: JUMP
000004f7: JUMPDEST
000004f8: PUSH1 0x40
000004fa: MLOAD
000004fb: PUSH2 0x0228
000004fe: SWAP2
000004ff: SWAP1
00000500: PUSH2 0x3dcd
00000503: JUMP
00000504: JUMPDEST
00000505: CALLVALUE
00000506: DUP1
00000507: ISZERO
00000508: PUSH2 0x0510
0000050b: JUMPI
0000050c: PUSH1 0x00
0000050e: DUP1
0000050f: REVERT
00000510: JUMPDEST
00000511: POP
00000512: PUSH2 0x0519
00000515: PUSH2 0x271f
00000518: JUMP
00000519: JUMPDEST
0000051a: PUSH1 0x40
0000051c: MLOAD
0000051d: PUSH2 0x0228
00000520: SWAP2
00000521: SWAP1
00000522: PUSH2 0x3de0
00000525: JUMP
00000526: JUMPDEST
00000527: CALLVALUE
00000528: DUP1
00000529: ISZERO
0000052a: PUSH2 0x0532
0000052d: JUMPI
0000052e: PUSH1 0x00
00000530: DUP1
00000531: REVERT
00000532: JUMPDEST
00000533: POP
00000534: PUSH2 0x01d1
00000537: PUSH2 0x0541
0000053a: CALLDATASIZE
0000053b: PUSH1 0x04
0000053d: PUSH2 0x384f
00000540: JUMP
00000541: JUMPDEST
00000542: PUSH2 0x2829
00000545: JUMP
00000546: JUMPDEST
00000547: CALLER
00000548: PUSH1 0x00
0000054a: SWAP1
0000054b: DUP2
0000054c: MSTORE
0000054d: PUSH1 0x65
0000054f: PUSH1 0x20
00000551: MSTORE
00000552: PUSH1 0x40
00000554: SWAP1
00000555: KECCAK256
00000556: SLOAD
00000557: PUSH1 0xff
00000559: AND
0000055a: ISZERO
0000055b: DUP1
0000055c: ISZERO
0000055d: PUSH2 0x059a
00000560: JUMPI
00000561: POP
00000562: CALLER
00000563: PUSH2 0x0581
00000566: PUSH1 0x33
00000568: SLOAD
00000569: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000057e: AND
0000057f: SWAP1
00000580: JUMP
00000581: JUMPDEST
00000582: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000597: AND
00000598: EQ
00000599: ISZERO
0000059a: JUMPDEST
0000059b: ISZERO
0000059c: PUSH2 0x05db
0000059f: JUMPI
000005a0: PUSH1 0x40
000005a2: MLOAD
000005a3: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000
000005c4: DUP2
000005c5: MSTORE
000005c6: PUSH3 0x015f91
000005ca: PUSH1 0x04
000005cc: DUP3
000005cd: ADD
000005ce: MSTORE
000005cf: PUSH1 0x24
000005d1: ADD
000005d2: JUMPDEST
000005d3: PUSH1 0x40
000005d5: MLOAD
000005d6: DUP1
000005d7: SWAP2
000005d8: SUB
000005d9: SWAP1
000005da: REVERT
000005db: JUMPDEST
000005dc: DUP2
000005dd: MLOAD
000005de: DUP4
000005df: MLOAD
000005e0: EQ
000005e1: ISZERO
000005e2: DUP1
000005e3: PUSH2 0x05ee
000005e6: JUMPI
000005e7: POP
000005e8: DUP1
000005e9: MLOAD
000005ea: DUP3
000005eb: MLOAD
000005ec: EQ
000005ed: ISZERO
000005ee: JUMPDEST
000005ef: ISZERO
000005f0: PUSH2 0x062a
000005f3: JUMPI
000005f4: PUSH1 0x40
000005f6: MLOAD
000005f7: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000
00000618: DUP2
00000619: MSTORE
0000061a: PUSH3 0x015f93
0000061e: PUSH1 0x04
00000620: DUP3
00000621: ADD
00000622: MSTORE
00000623: PUSH1 0x24
00000625: ADD
00000626: PUSH2 0x05d2
00000629: JUMP
0000062a: JUMPDEST
0000062b: PUSH1 0x00
0000062d: JUMPDEST
0000062e: DUP4
0000062f: MLOAD
00000630: DUP2
00000631: LT
00000632: ISZERO
00000633: PUSH2 0x087c
00000636: JUMPI
00000637: PUSH1 0x00
00000639: DUP5
0000063a: DUP3
0000063b: DUP2
0000063c: MLOAD
0000063d: DUP2
0000063e: LT
0000063f: PUSH2 0x064a
00000642: JUMPI
00000643: PUSH2 0x064a
00000646: PUSH2 0x3e88
00000649: JUMP
0000064a: JUMPDEST
0000064b: PUSH1 0x20
0000064d: MUL
0000064e: PUSH1 0x20
00000650: ADD
00000651: ADD
00000652: MLOAD
00000653: SWAP1
00000654: POP
00000655: PUSH1 0x00
00000657: DUP5
00000658: DUP4
00000659: DUP2
0000065a: MLOAD
0000065b: DUP2
0000065c: LT
0000065d: PUSH2 0x0668
00000660: JUMPI
00000661: PUSH2 0x0668
00000664: PUSH2 0x3e88
00000667: JUMP
00000668: JUMPDEST
00000669: PUSH1 0x20
0000066b: MUL
0000066c: PUSH1 0x20
0000066e: ADD
0000066f: ADD
00000670: MLOAD
00000671: SWAP1
00000672: POP
00000673: PUSH1 0x00
00000675: DUP5
00000676: DUP5
00000677: DUP2
00000678: MLOAD
00000679: DUP2
0000067a: LT
0000067b: PUSH2 0x0686
0000067e: JUMPI
0000067f: PUSH2 0x0686
00000682: PUSH2 0x3e88
00000685: JUMP
00000686: JUMPDEST
00000687: PUSH1 0x20
00000689: MUL
0000068a: PUSH1 0x20
0000068c: ADD
0000068d: ADD
0000068e: MLOAD
0000068f: SWAP1
00000690: POP
00000691: PUSH1 0x00
00000693: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
000006a8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006bd: AND
000006be: DUP4
000006bf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006d4: AND
000006d5: SUB
000006d6: PUSH2 0x070a
000006d9: JUMPI
000006da: POP
000006db: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006f0: DUP4
000006f1: AND
000006f2: PUSH1 0x00
000006f4: SWAP1
000006f5: DUP2
000006f6: MSTORE
000006f7: PUSH1 0x68
000006f9: PUSH1 0x20
000006fb: MSTORE
000006fc: PUSH1 0x40
000006fe: SWAP1
000006ff: KECCAK256
00000700: DUP1
00000701: SLOAD
00000702: SWAP1
00000703: DUP3
00000704: SWAP1
00000705: SSTORE
00000706: PUSH2 0x07b9
00000709: JUMP
0000070a: JUMPDEST
0000070b: PUSH1 0x40
0000070d: MLOAD
0000070e: PUSH32 0xdd62ed3e00000000000000000000000000000000000000000000000000000000
0000072f: DUP2
00000730: MSTORE
00000731: ADDRESS
00000732: PUSH1 0x04
00000734: DUP3
00000735: ADD
00000736: MSTORE
00000737: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000074c: DUP6
0000074d: DUP2
0000074e: AND
0000074f: PUSH1 0x24
00000751: DUP4
00000752: ADD
00000753: MSTORE
00000754: DUP5
00000755: AND
00000756: SWAP1
00000757: PUSH4 0xdd62ed3e
0000075c: SWAP1
0000075d: PUSH1 0x44
0000075f: ADD
00000760: PUSH1 0x20
00000762: PUSH1 0x40
00000764: MLOAD
00000765: DUP1
00000766: DUP4
00000767: SUB
00000768: DUP2
00000769: DUP7
0000076a: GAS
0000076b: STATICCALL
0000076c: ISZERO
0000076d: DUP1
0000076e: ISZERO
0000076f: PUSH2 0x077c
00000772: JUMPI
00000773: RETURNDATASIZE
00000774: PUSH1 0x00
00000776: DUP1
00000777: RETURNDATACOPY
00000778: RETURNDATASIZE
00000779: PUSH1 0x00
0000077b: REVERT
0000077c: JUMPDEST
0000077d: POP
0000077e: POP
0000077f: POP
00000780: POP
00000781: PUSH1 0x40
00000783: MLOAD
00000784: RETURNDATASIZE
00000785: PUSH1 0x1f
00000787: NOT
00000788: PUSH1 0x1f
0000078a: DUP3
0000078b: ADD
0000078c: AND
0000078d: DUP3
0000078e: ADD
0000078f: DUP1
00000790: PUSH1 0x40
00000792: MSTORE
00000793: POP
00000794: DUP2
00000795: ADD
00000796: SWAP1
00000797: PUSH2 0x07a0
0000079a: SWAP2
0000079b: SWAP1
0000079c: PUSH2 0x3eb7
0000079f: JUMP
000007a0: JUMPDEST
000007a1: SWAP1
000007a2: POP
000007a3: PUSH2 0x07ae
000007a6: DUP4
000007a7: DUP6
000007a8: PUSH1 0x00
000007aa: PUSH2 0x28dd
000007ad: JUMP
000007ae: JUMPDEST
000007af: PUSH2 0x07b9
000007b2: DUP4
000007b3: DUP6
000007b4: DUP5
000007b5: PUSH2 0x28dd
000007b8: JUMP
000007b9: JUMPDEST
000007ba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007cf: DUP5
000007d0: AND
000007d1: PUSH1 0x00
000007d3: SWAP1
000007d4: DUP2
000007d5: MSTORE
000007d6: PUSH1 0x67
000007d8: PUSH1 0x20
000007da: MSTORE
000007db: PUSH1 0x40
000007dd: SWAP1
000007de: KECCAK256
000007df: PUSH2 0x07e8
000007e2: SWAP1
000007e3: DUP5
000007e4: PUSH2 0x2a96
000007e7: JUMP
000007e8: JUMPDEST
000007e9: POP
000007ea: PUSH2 0x07f4
000007ed: PUSH1 0x69
000007ef: DUP6
000007f0: PUSH2 0x2a96
000007f3: JUMP
000007f4: JUMPDEST
000007f5: POP
000007f6: DUP3
000007f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000080c: AND
0000080d: DUP5
0000080e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000823: AND
00000824: PUSH32 0xf07829fca7213317a8d0869b30e579887a8d2a7bfd3a28f25075bd01b370d756
00000845: DUP5
00000846: DUP5
00000847: PUSH1 0x40
00000849: MLOAD
0000084a: PUSH2 0x085d
0000084d: SWAP3
0000084e: SWAP2
0000084f: SWAP1
00000850: SWAP2
00000851: DUP3
00000852: MSTORE
00000853: PUSH1 0x20
00000855: DUP3
00000856: ADD
00000857: MSTORE
00000858: PUSH1 0x40
0000085a: ADD
0000085b: SWAP1
0000085c: JUMP
0000085d: JUMPDEST
0000085e: PUSH1 0x40
00000860: MLOAD
00000861: DUP1
00000862: SWAP2
00000863: SUB
00000864: SWAP1
00000865: LOG3
00000866: POP
00000867: POP
00000868: POP
00000869: POP
0000086a: DUP1
0000086b: DUP1
0000086c: PUSH2 0x0874
0000086f: SWAP1
00000870: PUSH2 0x3eff
00000873: JUMP
00000874: JUMPDEST
00000875: SWAP2
00000876: POP
00000877: POP
00000878: PUSH2 0x062d
0000087b: JUMP
0000087c: JUMPDEST
0000087d: POP
0000087e: POP
0000087f: POP
00000880: POP
00000881: JUMP
00000882: JUMPDEST
00000883: CALLER
00000884: PUSH1 0x00
00000886: SWAP1
00000887: DUP2
00000888: MSTORE
00000889: PUSH1 0x65
0000088b: PUSH1 0x20
0000088d: MSTORE
0000088e: PUSH1 0x40
00000890: SWAP1
00000891: KECCAK256
00000892: SLOAD
00000893: PUSH1 0xff
00000895: AND
00000896: ISZERO
00000897: DUP1
00000898: ISZERO
00000899: PUSH2 0x08d6
0000089c: JUMPI
0000089d: POP
0000089e: CALLER
0000089f: PUSH2 0x08bd
000008a2: PUSH1 0x33
000008a4: SLOAD
000008a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008ba: AND
000008bb: SWAP1
000008bc: JUMP
000008bd: JUMPDEST
000008be: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008d3: AND
000008d4: EQ
000008d5: ISZERO
000008d6: JUMPDEST
000008d7: ISZERO
000008d8: PUSH2 0x0912
000008db: JUMPI
000008dc: PUSH1 0x40
000008de: MLOAD
000008df: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000
00000900: DUP2
00000901: MSTORE
00000902: PUSH3 0x015f91
00000906: PUSH1 0x04
00000908: DUP3
00000909: ADD
0000090a: MSTORE
0000090b: PUSH1 0x24
0000090d: ADD
0000090e: PUSH2 0x05d2
00000911: JUMP
00000912: JUMPDEST
00000913: DUP2
00000914: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000929: DUP2
0000092a: AND
0000092b: PUSH2 0x0965
0000092e: JUMPI
0000092f: PUSH1 0x40
00000931: MLOAD
00000932: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000
00000953: DUP2
00000954: MSTORE
00000955: PUSH3 0x015f92
00000959: PUSH1 0x04
0000095b: DUP3
0000095c: ADD
0000095d: MSTORE
0000095e: PUSH1 0x24
00000960: ADD
00000961: PUSH2 0x05d2
00000964: JUMP
00000965: JUMPDEST
00000966: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000097b: DUP4
0000097c: AND
0000097d: PUSH1 0x00
0000097f: DUP2
00000980: DUP2
00000981: MSTORE
00000982: PUSH1 0x66
00000984: PUSH1 0x20
00000986: SWAP1
00000987: DUP2
00000988: MSTORE
00000989: PUSH1 0x40
0000098b: SWAP2
0000098c: DUP3
0000098d: SWAP1
0000098e: KECCAK256
0000098f: DUP1
00000990: SLOAD
00000991: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
000009b2: AND
000009b3: DUP7
000009b4: ISZERO
000009b5: ISZERO
000009b6: SWAP1
000009b7: DUP2
000009b8: OR
000009b9: SWAP1
000009ba: SWAP2
000009bb: SSTORE
000009bc: SWAP2
000009bd: MLOAD
000009be: SWAP2
000009bf: DUP3
000009c0: MSTORE
000009c1: PUSH32 0xad476fc62f6b1b5d25b35bd756cfbfcd299b581b8dfb25d5492c4305a0969bd2
000009e2: SWAP2
000009e3: ADD
000009e4: JUMPDEST
000009e5: PUSH1 0x40
000009e7: MLOAD
000009e8: DUP1
000009e9: SWAP2
000009ea: SUB
000009eb: SWAP1
000009ec: LOG2
000009ed: POP
000009ee: POP
000009ef: POP
000009f0: JUMP
000009f1: JUMPDEST
000009f2: CALLER
000009f3: PUSH1 0x00
000009f5: SWAP1
000009f6: DUP2
000009f7: MSTORE
000009f8: PUSH1 0x66
000009fa: PUSH1 0x20
000009fc: MSTORE
000009fd: PUSH1 0x40
000009ff: SWAP1
00000a00: KECCAK256
00000a01: SLOAD
00000a02: PUSH1 0xff
00000a04: AND
00000a05: PUSH2 0x0a3f
00000a08: JUMPI
00000a09: PUSH1 0x40
00000a0b: MLOAD
00000a0c: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000
00000a2d: DUP2
00000a2e: MSTORE
00000a2f: PUSH3 0x015f91
00000a33: PUSH1 0x04
00000a35: DUP3
00000a36: ADD
00000a37: MSTORE
00000a38: PUSH1 0x24
00000a3a: ADD
00000a3b: PUSH2 0x05d2
00000a3e: JUMP
00000a3f: JUMPDEST
00000a40: DUP1
00000a41: ISZERO
00000a42: PUSH2 0x0ae4
00000a45: JUMPI
00000a46: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a5b: DUP3
00000a5c: AND
00000a5d: PUSH1 0x00
00000a5f: SWAP1
00000a60: DUP2
00000a61: MSTORE
00000a62: PUSH1 0x68
00000a64: PUSH1 0x20
00000a66: MSTORE
00000a67: PUSH1 0x40
00000a69: SWAP1
00000a6a: KECCAK256
00000a6b: SLOAD
00000a6c: DUP2
00000a6d: GT
00000a6e: ISZERO
00000a6f: PUSH2 0x0aa9
00000a72: JUMPI
00000a73: PUSH1 0x40
00000a75: MLOAD
00000a76: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000
00000a97: DUP2
00000a98: MSTORE
00000a99: PUSH3 0x015f96
00000a9d: PUSH1 0x04
00000a9f: DUP3
00000aa0: ADD
00000aa1: MSTORE
00000aa2: PUSH1 0x24
00000aa4: ADD
00000aa5: PUSH2 0x05d2
00000aa8: JUMP
00000aa9: JUMPDEST
00000aaa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000abf: DUP3
00000ac0: AND
00000ac1: PUSH1 0x00
00000ac3: SWAP1
00000ac4: DUP2
00000ac5: MSTORE
00000ac6: PUSH1 0x68
00000ac8: PUSH1 0x20
00000aca: MSTORE
00000acb: PUSH1 0x40
00000acd: DUP2
00000ace: KECCAK256
00000acf: DUP1
00000ad0: SLOAD
00000ad1: DUP4
00000ad2: SWAP3
00000ad3: SWAP1
00000ad4: PUSH2 0x0ade
00000ad7: SWAP1
00000ad8: DUP5
00000ad9: SWAP1
00000ada: PUSH2 0x3f37
00000add: JUMP
00000ade: JUMPDEST
00000adf: SWAP1
00000ae0: SWAP2
00000ae1: SSTORE
00000ae2: POP
00000ae3: POP
00000ae4: JUMPDEST
00000ae5: PUSH1 0x00
00000ae7: DUP1
00000ae8: DUP4
00000ae9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000afe: AND
00000aff: PUSH4 0x7d7c2a1c
00000b04: DUP5
00000b05: PUSH1 0x40
00000b07: MLOAD
00000b08: DUP3
00000b09: PUSH4 0xffffffff
00000b0e: AND
00000b0f: PUSH1 0xe0
00000b11: SHL
00000b12: DUP2
00000b13: MSTORE
00000b14: PUSH1 0x04
00000b16: ADD
00000b17: PUSH1 0x40
00000b19: DUP1
00000b1a: MLOAD
00000b1b: DUP1
00000b1c: DUP4
00000b1d: SUB
00000b1e: DUP2
00000b1f: DUP6
00000b20: DUP9
00000b21: GAS
00000b22: CALL
00000b23: ISZERO
00000b24: DUP1
00000b25: ISZERO
00000b26: PUSH2 0x0b33
00000b29: JUMPI
00000b2a: RETURNDATASIZE
00000b2b: PUSH1 0x00
00000b2d: DUP1
00000b2e: RETURNDATACOPY
00000b2f: RETURNDATASIZE
00000b30: PUSH1 0x00
00000b32: REVERT
00000b33: JUMPDEST
00000b34: POP
00000b35: POP
00000b36: POP
00000b37: POP
00000b38: POP
00000b39: PUSH1 0x40
00000b3b: MLOAD
00000b3c: RETURNDATASIZE
00000b3d: PUSH1 0x1f
00000b3f: NOT
00000b40: PUSH1 0x1f
00000b42: DUP3
00000b43: ADD
00000b44: AND
00000b45: DUP3
00000b46: ADD
00000b47: DUP1
00000b48: PUSH1 0x40
00000b4a: MSTORE
00000b4b: POP
00000b4c: DUP2
00000b4d: ADD
00000b4e: SWAP1
00000b4f: PUSH2 0x0b58
00000b52: SWAP2
00000b53: SWAP1
00000b54: PUSH2 0x3f4a
00000b57: JUMP
00000b58: JUMPDEST
00000b59: SWAP1
00000b5a: SWAP3
00000b5b: POP
00000b5c: SWAP1
00000b5d: POP
00000b5e: DUP3
00000b5f: ISZERO
00000b60: PUSH2 0x0d70
00000b63: JUMPI
00000b64: PUSH1 0x00
00000b66: DUP5
00000b67: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b7c: AND
00000b7d: PUSH4 0xb7791bf2
00000b82: PUSH1 0x40
00000b84: MLOAD
00000b85: DUP2
00000b86: PUSH4 0xffffffff
00000b8b: AND
00000b8c: PUSH1 0xe0
00000b8e: SHL
00000b8f: DUP2
00000b90: MSTORE
00000b91: PUSH1 0x04
00000b93: ADD
00000b94: PUSH2 0x01a0
00000b97: PUSH1 0x40
00000b99: MLOAD
00000b9a: DUP1
00000b9b: DUP4
00000b9c: SUB
00000b9d: DUP2
00000b9e: DUP7
00000b9f: GAS
00000ba0: STATICCALL
00000ba1: ISZERO
00000ba2: DUP1
00000ba3: ISZERO
00000ba4: PUSH2 0x0bb1
00000ba7: JUMPI
00000ba8: RETURNDATASIZE
00000ba9: PUSH1 0x00
00000bab: DUP1
00000bac: RETURNDATACOPY
00000bad: RETURNDATASIZE
00000bae: PUSH1 0x00
00000bb0: REVERT
00000bb1: JUMPDEST
00000bb2: POP
00000bb3: POP
00000bb4: POP
00000bb5: POP
00000bb6: PUSH1 0x40
00000bb8: MLOAD
00000bb9: RETURNDATASIZE
00000bba: PUSH1 0x1f
00000bbc: NOT
00000bbd: PUSH1 0x1f
00000bbf: DUP3
00000bc0: ADD
00000bc1: AND
00000bc2: DUP3
00000bc3: ADD
00000bc4: DUP1
00000bc5: PUSH1 0x40
00000bc7: MSTORE
00000bc8: POP
00000bc9: DUP2
00000bca: ADD
00000bcb: SWAP1
00000bcc: PUSH2 0x0bd5
00000bcf: SWAP2
00000bd0: SWAP1
00000bd1: PUSH2 0x3f8f
00000bd4: JUMP
00000bd5: JUMPDEST
00000bd6: PUSH1 0x80
00000bd8: DUP2
00000bd9: ADD
00000bda: MLOAD
00000bdb: SWAP1
00000bdc: SWAP2
00000bdd: POP
00000bde: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bf3: AND
00000bf4: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00000c09: EQ
00000c0a: DUP1
00000c0b: ISZERO
00000c0c: PUSH2 0x0c15
00000c0f: JUMPI
00000c10: POP
00000c11: PUSH1 0x00
00000c13: DUP4
00000c14: SLT
00000c15: JUMPDEST
00000c16: ISZERO
00000c17: PUSH2 0x0c51
00000c1a: JUMPI
00000c1b: PUSH1 0x40
00000c1d: MLOAD
00000c1e: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000
00000c3f: DUP2
00000c40: MSTORE
00000c41: PUSH3 0x015f95
00000c45: PUSH1 0x04
00000c47: DUP3
00000c48: ADD
00000c49: MSTORE
00000c4a: PUSH1 0x24
00000c4c: ADD
00000c4d: PUSH2 0x05d2
00000c50: JUMP
00000c51: JUMPDEST
00000c52: PUSH1 0xa0
00000c54: DUP2
00000c55: ADD
00000c56: MLOAD
00000c57: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c6c: AND
00000c6d: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00000c82: EQ
00000c83: DUP1
00000c84: ISZERO
00000c85: PUSH2 0x0c8e
00000c88: JUMPI
00000c89: POP
00000c8a: PUSH1 0x00
00000c8c: DUP3
00000c8d: SGT
00000c8e: JUMPDEST
00000c8f: ISZERO
00000c90: PUSH2 0x0cca
00000c93: JUMPI
00000c94: PUSH1 0x40
00000c96: MLOAD
00000c97: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000
00000cb8: DUP2
00000cb9: MSTORE
00000cba: PUSH3 0x015f95
00000cbe: PUSH1 0x04
00000cc0: DUP3
00000cc1: ADD
00000cc2: MSTORE
00000cc3: PUSH1 0x24
00000cc5: ADD
00000cc6: PUSH2 0x05d2
00000cc9: JUMP
00000cca: JUMPDEST
00000ccb: PUSH1 0x80
00000ccd: DUP2
00000cce: ADD
00000ccf: MLOAD
00000cd0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ce5: AND
00000ce6: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00000cfb: EQ
00000cfc: DUP1
00000cfd: PUSH2 0x0d33
00000d00: JUMPI
00000d01: POP
00000d02: PUSH1 0xa0
00000d04: DUP2
00000d05: ADD
00000d06: MLOAD
00000d07: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d1c: AND
00000d1d: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00000d32: EQ
00000d33: JUMPDEST
00000d34: PUSH2 0x0d6e
00000d37: JUMPI
00000d38: PUSH1 0x40
00000d3a: MLOAD
00000d3b: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000
00000d5c: DUP2
00000d5d: MSTORE
00000d5e: PUSH3 0x015f95
00000d62: PUSH1 0x04
00000d64: DUP3
00000d65: ADD
00000d66: MSTORE
00000d67: PUSH1 0x24
00000d69: ADD
00000d6a: PUSH2 0x05d2
00000d6d: JUMP
00000d6e: JUMPDEST
00000d6f: POP
00000d70: JUMPDEST
00000d71: PUSH1 0x40
00000d73: DUP1
00000d74: MLOAD
00000d75: DUP4
00000d76: DUP2
00000d77: MSTORE
00000d78: PUSH1 0x20
00000d7a: DUP2
00000d7b: ADD
00000d7c: DUP4
00000d7d: SWAP1
00000d7e: MSTORE
00000d7f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d94: DUP7
00000d95: AND
00000d96: SWAP2
00000d97: PUSH32 0x1b5a6c038413ee85baaa108b9e0f353fc1fb6dba5c500211baef62b0761e4d88
00000db8: SWAP2
00000db9: ADD
00000dba: PUSH1 0x40
00000dbc: MLOAD
00000dbd: DUP1
00000dbe: SWAP2
00000dbf: SUB
00000dc0: SWAP1
00000dc1: LOG2
00000dc2: POP
00000dc3: POP
00000dc4: POP
00000dc5: POP
00000dc6: JUMP
00000dc7: JUMPDEST
00000dc8: CALLER
00000dc9: PUSH1 0x00
00000dcb: SWAP1
00000dcc: DUP2
00000dcd: MSTORE
00000dce: PUSH1 0x66
00000dd0: PUSH1 0x20
00000dd2: MSTORE
00000dd3: PUSH1 0x40
00000dd5: SWAP1
00000dd6: KECCAK256
00000dd7: SLOAD
00000dd8: PUSH1 0xff
00000dda: AND
00000ddb: PUSH2 0x0e15
00000dde: JUMPI
00000ddf: PUSH1 0x40
00000de1: MLOAD
00000de2: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000
00000e03: DUP2
00000e04: MSTORE
00000e05: PUSH3 0x015f91
00000e09: PUSH1 0x04
00000e0b: DUP3
00000e0c: ADD
00000e0d: MSTORE
00000e0e: PUSH1 0x24
00000e10: ADD
00000e11: PUSH2 0x05d2
00000e14: JUMP
00000e15: JUMPDEST
00000e16: DUP1
00000e17: ISZERO
00000e18: PUSH2 0x0eba
00000e1b: JUMPI
00000e1c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e31: DUP3
00000e32: AND
00000e33: PUSH1 0x00
00000e35: SWAP1
00000e36: DUP2
00000e37: MSTORE
00000e38: PUSH1 0x68
00000e3a: PUSH1 0x20
00000e3c: MSTORE
00000e3d: PUSH1 0x40
00000e3f: SWAP1
00000e40: KECCAK256
00000e41: SLOAD
00000e42: DUP2
00000e43: GT
00000e44: ISZERO
00000e45: PUSH2 0x0e7f
00000e48: JUMPI
00000e49: PUSH1 0x40
00000e4b: MLOAD
00000e4c: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000
00000e6d: DUP2
00000e6e: MSTORE
00000e6f: PUSH3 0x015f96
00000e73: PUSH1 0x04
00000e75: DUP3
00000e76: ADD
00000e77: MSTORE
00000e78: PUSH1 0x24
00000e7a: ADD
00000e7b: PUSH2 0x05d2
00000e7e: JUMP
00000e7f: JUMPDEST
00000e80: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e95: DUP3
00000e96: AND
00000e97: PUSH1 0x00
00000e99: SWAP1
00000e9a: DUP2
00000e9b: MSTORE
00000e9c: PUSH1 0x68
00000e9e: PUSH1 0x20
00000ea0: MSTORE
00000ea1: PUSH1 0x40
00000ea3: DUP2
00000ea4: KECCAK256
00000ea5: DUP1
00000ea6: SLOAD
00000ea7: DUP4
00000ea8: SWAP3
00000ea9: SWAP1
00000eaa: PUSH2 0x0eb4
00000ead: SWAP1
00000eae: DUP5
00000eaf: SWAP1
00000eb0: PUSH2 0x3f37
00000eb3: JUMP
00000eb4: JUMPDEST
00000eb5: SWAP1
00000eb6: SWAP2
00000eb7: SSTORE
00000eb8: POP
00000eb9: POP
00000eba: JUMPDEST
00000ebb: PUSH1 0x00
00000ebd: DUP3
00000ebe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ed3: AND
00000ed4: PUSH4 0x7d7c2a1c
00000ed9: DUP4
00000eda: PUSH1 0x40
00000edc: MLOAD
00000edd: DUP3
00000ede: PUSH4 0xffffffff
00000ee3: AND
00000ee4: PUSH1 0xe0
00000ee6: SHL
00000ee7: DUP2
00000ee8: MSTORE
00000ee9: PUSH1 0x04
00000eeb: ADD
00000eec: PUSH1 0x20
00000eee: PUSH1 0x40
00000ef0: MLOAD
00000ef1: DUP1
00000ef2: DUP4
00000ef3: SUB
00000ef4: DUP2
00000ef5: DUP6
00000ef6: DUP9
00000ef7: GAS
00000ef8: CALL
00000ef9: ISZERO
00000efa: DUP1
00000efb: ISZERO
00000efc: PUSH2 0x0f09
00000eff: JUMPI
00000f00: RETURNDATASIZE
00000f01: PUSH1 0x00
00000f03: DUP1
00000f04: RETURNDATACOPY
00000f05: RETURNDATASIZE
00000f06: PUSH1 0x00
00000f08: REVERT
00000f09: JUMPDEST
00000f0a: POP
00000f0b: POP
00000f0c: POP
00000f0d: POP
00000f0e: POP
00000f0f: PUSH1 0x40
00000f11: MLOAD
00000f12: RETURNDATASIZE
00000f13: PUSH1 0x1f
00000f15: NOT
00000f16: PUSH1 0x1f
00000f18: DUP3
00000f19: ADD
00000f1a: AND
00000f1b: DUP3
00000f1c: ADD
00000f1d: DUP1
00000f1e: PUSH1 0x40
00000f20: MSTORE
00000f21: POP
00000f22: DUP2
00000f23: ADD
00000f24: SWAP1
00000f25: PUSH2 0x0f2e
00000f28: SWAP2
00000f29: SWAP1
00000f2a: PUSH2 0x3eb7
00000f2d: JUMP
00000f2e: JUMPDEST
00000f2f: SWAP1
00000f30: POP
00000f31: DUP3
00000f32: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f47: AND
00000f48: PUSH32 0x2ce777e59f0be485fcc70a4790aa17e9aca8e9e6704e6ab690fc2018c92cca3f
00000f69: DUP3
00000f6a: PUSH1 0x40
00000f6c: MLOAD
00000f6d: PUSH2 0x09e4
00000f70: SWAP2
00000f71: DUP2
00000f72: MSTORE
00000f73: PUSH1 0x20
00000f75: ADD
00000f76: SWAP1
00000f77: JUMP
00000f78: JUMPDEST
00000f79: DUP3
00000f7a: DUP2
00000f7b: EQ
00000f7c: PUSH2 0x0fb6
00000f7f: JUMPI
00000f80: PUSH1 0x40
00000f82: MLOAD
00000f83: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000
00000fa4: DUP2
00000fa5: MSTORE
00000fa6: PUSH3 0x015f93
00000faa: PUSH1 0x04
00000fac: DUP3
00000fad: ADD
00000fae: MSTORE
00000faf: PUSH1 0x24
00000fb1: ADD
00000fb2: PUSH2 0x05d2
00000fb5: JUMP
00000fb6: JUMPDEST
00000fb7: PUSH1 0x00
00000fb9: JUMPDEST
00000fba: DUP4
00000fbb: DUP2
00000fbc: LT
00000fbd: ISZERO
00000fbe: PUSH2 0x101b
00000fc1: JUMPI
00000fc2: PUSH2 0x1009
00000fc5: DUP6
00000fc6: DUP6
00000fc7: DUP4
00000fc8: DUP2
00000fc9: DUP2
00000fca: LT
00000fcb: PUSH2 0x0fd6
00000fce: JUMPI
00000fcf: PUSH2 0x0fd6
00000fd2: PUSH2 0x3e88
00000fd5: JUMP
00000fd6: JUMPDEST
00000fd7: SWAP1
00000fd8: POP
00000fd9: PUSH1 0x20
00000fdb: MUL
00000fdc: ADD
00000fdd: PUSH1 0x20
00000fdf: DUP2
00000fe0: ADD
00000fe1: SWAP1
00000fe2: PUSH2 0x0feb
00000fe5: SWAP2
00000fe6: SWAP1
00000fe7: PUSH2 0x384f
00000fea: JUMP
00000feb: JUMPDEST
00000fec: DUP5
00000fed: DUP5
00000fee: DUP5
00000fef: DUP2
00000ff0: DUP2
00000ff1: LT
00000ff2: PUSH2 0x0ffd
00000ff5: JUMPI
00000ff6: PUSH2 0x0ffd
00000ff9: PUSH2 0x3e88
00000ffc: JUMP
00000ffd: JUMPDEST
00000ffe: SWAP1
00000fff: POP
00001000: PUSH1 0x20
00001002: MUL
00001003: ADD
00001004: CALLDATALOAD
00001005: PUSH2 0x09f1
00001008: JUMP
00001009: JUMPDEST
0000100a: DUP1
0000100b: PUSH2 0x1013
0000100e: DUP2
0000100f: PUSH2 0x3eff
00001012: JUMP
00001013: JUMPDEST
00001014: SWAP2
00001015: POP
00001016: POP
00001017: PUSH2 0x0fb9
0000101a: JUMP
0000101b: JUMPDEST
0000101c: POP
0000101d: POP
0000101e: POP
0000101f: POP
00001020: POP
00001021: JUMP
00001022: JUMPDEST
00001023: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001038: PUSH32 0x000000000000000000000000fb3102759f2d57f547b9c519db49ce1ffde15db2
00001059: AND
0000105a: ADDRESS
0000105b: SUB
0000105c: PUSH2 0x10e7
0000105f: JUMPI
00001060: PUSH1 0x40
00001062: MLOAD
00001063: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001084: DUP2
00001085: MSTORE
00001086: PUSH1 0x20
00001088: PUSH1 0x04
0000108a: DUP3
0000108b: ADD
0000108c: MSTORE
0000108d: PUSH1 0x2c
0000108f: PUSH1 0x24
00001091: DUP3
00001092: ADD
00001093: MSTORE
00001094: PUSH32 0x46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820
000010b5: PUSH1 0x44
000010b7: DUP3
000010b8: ADD
000010b9: MSTORE
000010ba: PUSH32 0x64656c656761746563616c6c0000000000000000000000000000000000000000
000010db: PUSH1 0x64
000010dd: DUP3
000010de: ADD
000010df: MSTORE
000010e0: PUSH1 0x84
000010e2: ADD
000010e3: PUSH2 0x05d2
000010e6: JUMP
000010e7: JUMPDEST
000010e8: PUSH32 0x000000000000000000000000fb3102759f2d57f547b9c519db49ce1ffde15db2
00001109: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000111e: AND
0000111f: PUSH2 0x115c
00001122: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00001143: SLOAD
00001144: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001159: AND
0000115a: SWAP1
0000115b: JUMP
0000115c: JUMPDEST
0000115d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001172: AND
00001173: EQ
00001174: PUSH2 0x11ff
00001177: JUMPI
00001178: PUSH1 0x40
0000117a: MLOAD
0000117b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000119c: DUP2
0000119d: MSTORE
0000119e: PUSH1 0x20
000011a0: PUSH1 0x04
000011a2: DUP3
000011a3: ADD
000011a4: MSTORE
000011a5: PUSH1 0x2c
000011a7: PUSH1 0x24
000011a9: DUP3
000011aa: ADD
000011ab: MSTORE
000011ac: PUSH32 0x46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820
000011cd: PUSH1 0x44
000011cf: DUP3
000011d0: ADD
000011d1: MSTORE
000011d2: PUSH32 0x6163746976652070726f78790000000000000000000000000000000000000000
000011f3: PUSH1 0x64
000011f5: DUP3
000011f6: ADD
000011f7: MSTORE
000011f8: PUSH1 0x84
000011fa: ADD
000011fb: PUSH2 0x05d2
000011fe: JUMP
000011ff: JUMPDEST
00001200: PUSH2 0x1208
00001203: DUP2
00001204: PUSH2 0x2ac1
00001207: JUMP
00001208: JUMPDEST
00001209: PUSH1 0x40
0000120b: DUP1
0000120c: MLOAD
0000120d: PUSH1 0x00
0000120f: DUP1
00001210: DUP3
00001211: MSTORE
00001212: PUSH1 0x20
00001214: DUP3
00001215: ADD
00001216: SWAP1
00001217: SWAP3
00001218: MSTORE
00001219: PUSH2 0x1224
0000121c: SWAP2
0000121d: DUP4
0000121e: SWAP2
0000121f: SWAP1
00001220: PUSH2 0x2ac9
00001223: JUMP
00001224: JUMPDEST
00001225: POP
00001226: JUMP
00001227: JUMPDEST
00001228: CALLER
00001229: PUSH1 0x00
0000122b: SWAP1
0000122c: DUP2
0000122d: MSTORE
0000122e: PUSH1 0x66
00001230: PUSH1 0x20
00001232: MSTORE
00001233: PUSH1 0x40
00001235: SWAP1
00001236: KECCAK256
00001237: SLOAD
00001238: PUSH1 0xff
0000123a: AND
0000123b: PUSH2 0x1275
0000123e: JUMPI
0000123f: PUSH1 0x40
00001241: MLOAD
00001242: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000
00001263: DUP2
00001264: MSTORE
00001265: PUSH3 0x015f91
00001269: PUSH1 0x04
0000126b: DUP3
0000126c: ADD
0000126d: MSTORE
0000126e: PUSH1 0x24
00001270: ADD
00001271: PUSH2 0x05d2
00001274: JUMP
00001275: JUMPDEST
00001276: SELFBALANCE
00001277: DUP6
00001278: ISZERO
00001279: DUP1
0000127a: ISZERO
0000127b: SWAP1
0000127c: PUSH2 0x12a9
0000127f: JUMPI
00001280: POP
00001281: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001296: DUP8
00001297: AND
00001298: PUSH1 0x00
0000129a: SWAP1
0000129b: DUP2
0000129c: MSTORE
0000129d: PUSH1 0x68
0000129f: PUSH1 0x20
000012a1: MSTORE
000012a2: PUSH1 0x40
000012a4: SWAP1
000012a5: KECCAK256
000012a6: SLOAD
000012a7: DUP7
000012a8: GT
000012a9: JUMPDEST
000012aa: ISZERO
000012ab: PUSH2 0x12e5
000012ae: JUMPI
000012af: PUSH1 0x40
000012b1: MLOAD
000012b2: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000
000012d3: DUP2
000012d4: MSTORE
000012d5: PUSH3 0x015f96
000012d9: PUSH1 0x04
000012db: DUP3
000012dc: ADD
000012dd: MSTORE
000012de: PUSH1 0x24
000012e0: ADD
000012e1: PUSH2 0x05d2
000012e4: JUMP
000012e5: JUMPDEST
000012e6: PUSH1 0x40
000012e8: MLOAD
000012e9: PUSH32 0x1593a34b00000000000000000000000000000000000000000000000000000000
0000130a: DUP2
0000130b: MSTORE
0000130c: PUSH1 0x04
0000130e: DUP2
0000130f: ADD
00001310: DUP7
00001311: SWAP1
00001312: MSTORE
00001313: PUSH1 0x24
00001315: DUP2
00001316: ADD
00001317: DUP6
00001318: SWAP1
00001319: MSTORE
0000131a: PUSH1 0x44
0000131c: DUP2
0000131d: ADD
0000131e: DUP5
0000131f: SWAP1
00001320: MSTORE
00001321: PUSH1 0x64
00001323: DUP2
00001324: ADD
00001325: DUP4
00001326: SWAP1
00001327: MSTORE
00001328: PUSH1 0x00
0000132a: SWAP1
0000132b: DUP2
0000132c: SWAP1
0000132d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001342: DUP11
00001343: AND
00001344: SWAP1
00001345: PUSH4 0x1593a34b
0000134a: SWAP1
0000134b: DUP11
0000134c: SWAP1
0000134d: PUSH1 0x84
0000134f: ADD
00001350: PUSH1 0x40
00001352: DUP1
00001353: MLOAD
00001354: DUP1
00001355: DUP4
00001356: SUB
00001357: DUP2
00001358: DUP6
00001359: DUP9
0000135a: GAS
0000135b: CALL
0000135c: ISZERO
0000135d: DUP1
0000135e: ISZERO
0000135f: PUSH2 0x136c
00001362: JUMPI
00001363: RETURNDATASIZE
00001364: PUSH1 0x00
00001366: DUP1
00001367: RETURNDATACOPY
00001368: RETURNDATASIZE
00001369: PUSH1 0x00
0000136b: REVERT
0000136c: JUMPDEST
0000136d: POP
0000136e: POP
0000136f: POP
00001370: POP
00001371: POP
00001372: PUSH1 0x40
00001374: MLOAD
00001375: RETURNDATASIZE
00001376: PUSH1 0x1f
00001378: NOT
00001379: PUSH1 0x1f
0000137b: DUP3
0000137c: ADD
0000137d: AND
0000137e: DUP3
0000137f: ADD
00001380: DUP1
00001381: PUSH1 0x40
00001383: MSTORE
00001384: POP
00001385: DUP2
00001386: ADD
00001387: SWAP1
00001388: PUSH2 0x1391
0000138b: SWAP2
0000138c: SWAP1
0000138d: PUSH2 0x3f4a
00001390: JUMP
00001391: JUMPDEST
00001392: SWAP2
00001393: POP
00001394: SWAP2
00001395: POP
00001396: PUSH1 0x00
00001398: DUP9
00001399: GT
0000139a: DUP1
0000139b: ISZERO
0000139c: PUSH2 0x13af
0000139f: JUMPI
000013a0: POP
000013a1: PUSH1 0x00
000013a3: DUP3
000013a4: SGT
000013a5: DUP1
000013a6: PUSH2 0x13af
000013a9: JUMPI
000013aa: POP
000013ab: PUSH1 0x00
000013ad: DUP2
000013ae: SLT
000013af: JUMPDEST
000013b0: ISZERO
000013b1: PUSH2 0x1434
000013b4: JUMPI
000013b5: PUSH1 0x00
000013b7: SELFBALANCE
000013b8: DUP5
000013b9: GT
000013ba: PUSH2 0x13c4
000013bd: JUMPI
000013be: PUSH1 0x00
000013c0: PUSH2 0x13ce
000013c3: JUMP
000013c4: JUMPDEST
000013c5: PUSH2 0x13ce
000013c8: SELFBALANCE
000013c9: DUP6
000013ca: PUSH2 0x3f37
000013cd: JUMP
000013ce: JUMPDEST
000013cf: SWAP1
000013d0: POP
000013d1: CALLVALUE
000013d2: ISZERO
000013d3: PUSH2 0x13f1
000013d6: JUMPI
000013d7: CALLVALUE
000013d8: DUP2
000013d9: GT
000013da: PUSH2 0x13e4
000013dd: JUMPI
000013de: PUSH1 0x00
000013e0: PUSH2 0x13ee
000013e3: JUMP
000013e4: JUMPDEST
000013e5: PUSH2 0x13ee
000013e8: CALLVALUE
000013e9: DUP3
000013ea: PUSH2 0x3f37
000013ed: JUMP
000013ee: JUMPDEST
000013ef: SWAP1
000013f0: POP
000013f1: JUMPDEST
000013f2: DUP1
000013f3: ISZERO
000013f4: PUSH2 0x1432
000013f7: JUMPI
000013f8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000140d: DUP11
0000140e: AND
0000140f: PUSH1 0x00
00001411: SWAP1
00001412: DUP2
00001413: MSTORE
00001414: PUSH1 0x68
00001416: PUSH1 0x20
00001418: MSTORE
00001419: PUSH1 0x40
0000141b: DUP2
0000141c: KECCAK256
0000141d: DUP1
0000141e: SLOAD
0000141f: DUP4
00001420: SWAP3
00001421: SWAP1
00001422: PUSH2 0x142c
00001425: SWAP1
00001426: DUP5
00001427: SWAP1
00001428: PUSH2 0x3f37
0000142b: JUMP
0000142c: JUMPDEST
0000142d: SWAP1
0000142e: SWAP2
0000142f: SSTORE
00001430: POP
00001431: POP
00001432: JUMPDEST
00001433: POP
00001434: JUMPDEST
00001435: PUSH1 0x40
00001437: DUP1
00001438: MLOAD
00001439: DUP4
0000143a: DUP2
0000143b: MSTORE
0000143c: PUSH1 0x20
0000143e: DUP2
0000143f: ADD
00001440: DUP4
00001441: SWAP1
00001442: MSTORE
00001443: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001458: DUP12
00001459: AND
0000145a: SWAP2
0000145b: PUSH32 0x1b5a6c038413ee85baaa108b9e0f353fc1fb6dba5c500211baef62b0761e4d88
0000147c: SWAP2
0000147d: ADD
0000147e: PUSH1 0x40
00001480: MLOAD
00001481: DUP1
00001482: SWAP2
00001483: SUB
00001484: SWAP1
00001485: LOG2
00001486: POP
00001487: POP
00001488: POP
00001489: POP
0000148a: POP
0000148b: POP
0000148c: POP
0000148d: POP
0000148e: POP
0000148f: JUMP
00001490: JUMPDEST
00001491: DUP3
00001492: DUP2
00001493: EQ
00001494: PUSH2 0x14ce
00001497: JUMPI
00001498: PUSH1 0x40
0000149a: MLOAD
0000149b: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000
000014bc: DUP2
000014bd: MSTORE
000014be: PUSH3 0x015f93
000014c2: PUSH1 0x04
000014c4: DUP3
000014c5: ADD
000014c6: MSTORE
000014c7: PUSH1 0x24
000014c9: ADD
000014ca: PUSH2 0x05d2
000014cd: JUMP
000014ce: JUMPDEST
000014cf: PUSH1 0x00
000014d1: JUMPDEST
000014d2: DUP4
000014d3: DUP2
000014d4: LT
000014d5: ISZERO
000014d6: PUSH2 0x101b
000014d9: JUMPI
000014da: PUSH2 0x1521
000014dd: DUP6
000014de: DUP6
000014df: DUP4
000014e0: DUP2
000014e1: DUP2
000014e2: LT
000014e3: PUSH2 0x14ee
000014e6: JUMPI
000014e7: PUSH2 0x14ee
000014ea: PUSH2 0x3e88
000014ed: JUMP
000014ee: JUMPDEST
000014ef: SWAP1
000014f0: POP
000014f1: PUSH1 0x20
000014f3: MUL
000014f4: ADD
000014f5: PUSH1 0x20
000014f7: DUP2
000014f8: ADD
000014f9: SWAP1
000014fa: PUSH2 0x1503
000014fd: SWAP2
000014fe: SWAP1
000014ff: PUSH2 0x384f
00001502: JUMP
00001503: JUMPDEST
00001504: DUP5
00001505: DUP5
00001506: DUP5
00001507: DUP2
00001508: DUP2
00001509: LT
0000150a: PUSH2 0x1515
0000150d: JUMPI
0000150e: PUSH2 0x1515
00001511: PUSH2 0x3e88
00001514: JUMP
00001515: JUMPDEST
00001516: SWAP1
00001517: POP
00001518: PUSH1 0x20
0000151a: MUL
0000151b: ADD
0000151c: CALLDATALOAD
0000151d: PUSH2 0x0dc7
00001520: JUMP
00001521: JUMPDEST
00001522: DUP1
00001523: PUSH2 0x152b
00001526: DUP2
00001527: PUSH2 0x3eff
0000152a: JUMP
0000152b: JUMPDEST
0000152c: SWAP2
0000152d: POP
0000152e: POP
0000152f: PUSH2 0x14d1
00001532: JUMP
00001533: JUMPDEST
00001534: CALLER
00001535: PUSH20 0x4f6f977acdd1177dcd81ab83074855ecb9c2d49e
0000154a: EQ
0000154b: DUP1
0000154c: ISZERO
0000154d: SWAP1
0000154e: PUSH2 0x158b
00001551: JUMPI
00001552: POP
00001553: CALLER
00001554: PUSH2 0x1572
00001557: PUSH1 0x33
00001559: SLOAD
0000155a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000156f: AND
00001570: SWAP1
00001571: JUMP
00001572: JUMPDEST
00001573: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001588: AND
00001589: EQ
0000158a: ISZERO
0000158b: JUMPDEST
0000158c: ISZERO
0000158d: PUSH2 0x15c7
00001590: JUMPI
00001591: PUSH1 0x40
00001593: MLOAD
00001594: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000
000015b5: DUP2
000015b6: MSTORE
000015b7: PUSH3 0x015f91
000015bb: PUSH1 0x04
000015bd: DUP3
000015be: ADD
000015bf: MSTORE
000015c0: PUSH1 0x24
000015c2: ADD
000015c3: PUSH2 0x05d2
000015c6: JUMP
000015c7: JUMPDEST
000015c8: CALLER
000015c9: PUSH20 0x4f6f977acdd1177dcd81ab83074855ecb9c2d49e
000015de: EQ
000015df: DUP1
000015e0: ISZERO
000015e1: PUSH2 0x1636
000015e4: JUMPI
000015e5: POP
000015e6: PUSH32 0x00000000000000000000000028849d2b63fa8d361e5fc15cb8abb13019884d09
00001607: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000161c: AND
0000161d: DUP3
0000161e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001633: AND
00001634: EQ
00001635: ISZERO
00001636: JUMPDEST
00001637: DUP1
00001638: ISZERO
00001639: PUSH2 0x168e
0000163c: JUMPI
0000163d: POP
0000163e: PUSH32 0x0000000000000000000000009afb8c1798b93a8e04a18553ee65bafa41a012f1
0000165f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001674: AND
00001675: DUP3
00001676: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000168b: AND
0000168c: EQ
0000168d: ISZERO
0000168e: JUMPDEST
0000168f: ISZERO
00001690: PUSH2 0x16ca
00001693: JUMPI
00001694: PUSH1 0x40
00001696: MLOAD
00001697: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000
000016b8: DUP2
000016b9: MSTORE
000016ba: PUSH3 0x015f91
000016be: PUSH1 0x04
000016c0: DUP3
000016c1: ADD
000016c2: MSTORE
000016c3: PUSH1 0x24
000016c5: ADD
000016c6: PUSH2 0x05d2
000016c9: JUMP
000016ca: JUMPDEST
000016cb: DUP3
000016cc: MLOAD
000016cd: DUP5
000016ce: MLOAD
000016cf: EQ
000016d0: PUSH2 0x170a
000016d3: JUMPI
000016d4: PUSH1 0x40
000016d6: MLOAD
000016d7: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000
000016f8: DUP2
000016f9: MSTORE
000016fa: PUSH3 0x015f93
000016fe: PUSH1 0x04
00001700: DUP3
00001701: ADD
00001702: MSTORE
00001703: PUSH1 0x24
00001705: ADD
00001706: PUSH2 0x05d2
00001709: JUMP
0000170a: JUMPDEST
0000170b: PUSH1 0x00
0000170d: JUMPDEST
0000170e: DUP5
0000170f: MLOAD
00001710: DUP2
00001711: LT
00001712: ISZERO
00001713: PUSH2 0x101b
00001716: JUMPI
00001717: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
0000172c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001741: AND
00001742: DUP6
00001743: DUP3
00001744: DUP2
00001745: MLOAD
00001746: DUP2
00001747: LT
00001748: PUSH2 0x1753
0000174b: JUMPI
0000174c: PUSH2 0x1753
0000174f: PUSH2 0x3e88
00001752: JUMP
00001753: JUMPDEST
00001754: PUSH1 0x20
00001756: MUL
00001757: PUSH1 0x20
00001759: ADD
0000175a: ADD
0000175b: MLOAD
0000175c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001771: AND
00001772: SUB
00001773: PUSH2 0x179e
00001776: JUMPI
00001777: PUSH2 0x1799
0000177a: DUP4
0000177b: DUP6
0000177c: DUP4
0000177d: DUP2
0000177e: MLOAD
0000177f: DUP2
00001780: LT
00001781: PUSH2 0x178c
00001784: JUMPI
00001785: PUSH2 0x178c
00001788: PUSH2 0x3e88
0000178b: JUMP
0000178c: JUMPDEST
0000178d: PUSH1 0x20
0000178f: MUL
00001790: PUSH1 0x20
00001792: ADD
00001793: ADD
00001794: MLOAD
00001795: PUSH2 0x2cc8
00001798: JUMP
00001799: JUMPDEST
0000179a: PUSH2 0x17db
0000179d: JUMP
0000179e: JUMPDEST
0000179f: PUSH2 0x17db
000017a2: DUP6
000017a3: DUP3
000017a4: DUP2
000017a5: MLOAD
000017a6: DUP2
000017a7: LT
000017a8: PUSH2 0x17b3
000017ab: JUMPI
000017ac: PUSH2 0x17b3
000017af: PUSH2 0x3e88
000017b2: JUMP
000017b3: JUMPDEST
000017b4: PUSH1 0x20
000017b6: MUL
000017b7: PUSH1 0x20
000017b9: ADD
000017ba: ADD
000017bb: MLOAD
000017bc: DUP5
000017bd: DUP7
000017be: DUP5
000017bf: DUP2
000017c0: MLOAD
000017c1: DUP2
000017c2: LT
000017c3: PUSH2 0x17ce
000017c6: JUMPI
000017c7: PUSH2 0x17ce
000017ca: PUSH2 0x3e88
000017cd: JUMP
000017ce: JUMPDEST
000017cf: PUSH1 0x20
000017d1: MUL
000017d2: PUSH1 0x20
000017d4: ADD
000017d5: ADD
000017d6: MLOAD
000017d7: PUSH2 0x2d14
000017da: JUMP
000017db: JUMPDEST
000017dc: DUP4
000017dd: DUP2
000017de: DUP2
000017df: MLOAD
000017e0: DUP2
000017e1: LT
000017e2: PUSH2 0x17ed
000017e5: JUMPI
000017e6: PUSH2 0x17ed
000017e9: PUSH2 0x3e88
000017ec: JUMP
000017ed: JUMPDEST
000017ee: PUSH1 0x20
000017f0: MUL
000017f1: PUSH1 0x20
000017f3: ADD
000017f4: ADD
000017f5: MLOAD
000017f6: DUP6
000017f7: DUP3
000017f8: DUP2
000017f9: MLOAD
000017fa: DUP2
000017fb: LT
000017fc: PUSH2 0x1807
000017ff: JUMPI
00001800: PUSH2 0x1807
00001803: PUSH2 0x3e88
00001806: JUMP
00001807: JUMPDEST
00001808: PUSH1 0x20
0000180a: MUL
0000180b: PUSH1 0x20
0000180d: ADD
0000180e: ADD
0000180f: MLOAD
00001810: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001825: AND
00001826: PUSH32 0x1004e9c55ebcf7a4988e9e157a510c1a2e7fb431eeda4802633c0904dca6a4e4
00001847: DUP6
00001848: DUP6
00001849: PUSH1 0x40
0000184b: MLOAD
0000184c: PUSH2 0x1856
0000184f: SWAP3
00001850: SWAP2
00001851: SWAP1
00001852: PUSH2 0x40da
00001855: JUMP
00001856: JUMPDEST
00001857: PUSH1 0x40
00001859: MLOAD
0000185a: DUP1
0000185b: SWAP2
0000185c: SUB
0000185d: SWAP1
0000185e: LOG3
0000185f: DUP1
00001860: PUSH2 0x1868
00001863: DUP2
00001864: PUSH2 0x3eff
00001867: JUMP
00001868: JUMPDEST
00001869: SWAP2
0000186a: POP
0000186b: POP
0000186c: PUSH2 0x170d
0000186f: JUMP
00001870: JUMPDEST
00001871: DUP11
00001872: DUP10
00001873: EQ
00001874: ISZERO
00001875: DUP1
00001876: PUSH2 0x187f
00001879: JUMPI
0000187a: POP
0000187b: DUP11
0000187c: DUP8
0000187d: EQ
0000187e: ISZERO
0000187f: JUMPDEST
00001880: DUP1
00001881: PUSH2 0x188a
00001884: JUMPI
00001885: POP
00001886: DUP11
00001887: DUP6
00001888: EQ
00001889: ISZERO
0000188a: JUMPDEST
0000188b: DUP1
0000188c: PUSH2 0x1895
0000188f: JUMPI
00001890: POP
00001891: DUP11
00001892: DUP4
00001893: EQ
00001894: ISZERO
00001895: JUMPDEST
00001896: DUP1
00001897: PUSH2 0x18a0
0000189a: JUMPI
0000189b: POP
0000189c: DUP11
0000189d: DUP2
0000189e: EQ
0000189f: ISZERO
000018a0: JUMPDEST
000018a1: ISZERO
000018a2: PUSH2 0x18dc
000018a5: JUMPI
000018a6: PUSH1 0x40
000018a8: MLOAD
000018a9: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000
000018ca: DUP2
000018cb: MSTORE
000018cc: PUSH3 0x015f93
000018d0: PUSH1 0x04
000018d2: DUP3
000018d3: ADD
000018d4: MSTORE
000018d5: PUSH1 0x24
000018d7: ADD
000018d8: PUSH2 0x05d2
000018db: JUMP
000018dc: JUMPDEST
000018dd: PUSH1 0x00
000018df: JUMPDEST
000018e0: DUP12
000018e1: DUP2
000018e2: LT
000018e3: ISZERO
000018e4: PUSH2 0x19a5
000018e7: JUMPI
000018e8: PUSH2 0x1993
000018eb: DUP14
000018ec: DUP14
000018ed: DUP4
000018ee: DUP2
000018ef: DUP2
000018f0: LT
000018f1: PUSH2 0x18fc
000018f4: JUMPI
000018f5: PUSH2 0x18fc
000018f8: PUSH2 0x3e88
000018fb: JUMP
000018fc: JUMPDEST
000018fd: SWAP1
000018fe: POP
000018ff: PUSH1 0x20
00001901: MUL
00001902: ADD
00001903: PUSH1 0x20
00001905: DUP2
00001906: ADD
00001907: SWAP1
00001908: PUSH2 0x1911
0000190b: SWAP2
0000190c: SWAP1
0000190d: PUSH2 0x384f
00001910: JUMP
00001911: JUMPDEST
00001912: DUP13
00001913: DUP13
00001914: DUP5
00001915: DUP2
00001916: DUP2
00001917: LT
00001918: PUSH2 0x1923
0000191b: JUMPI
0000191c: PUSH2 0x1923
0000191f: PUSH2 0x3e88
00001922: JUMP
00001923: JUMPDEST
00001924: SWAP1
00001925: POP
00001926: PUSH1 0x20
00001928: MUL
00001929: ADD
0000192a: CALLDATALOAD
0000192b: DUP12
0000192c: DUP12
0000192d: DUP6
0000192e: DUP2
0000192f: DUP2
00001930: LT
00001931: PUSH2 0x193c
00001934: JUMPI
00001935: PUSH2 0x193c
00001938: PUSH2 0x3e88
0000193b: JUMP
0000193c: JUMPDEST
0000193d: SWAP1
0000193e: POP
0000193f: PUSH1 0x20
00001941: MUL
00001942: ADD
00001943: CALLDATALOAD
00001944: DUP11
00001945: DUP11
00001946: DUP7
00001947: DUP2
00001948: DUP2
00001949: LT
0000194a: PUSH2 0x1955
0000194d: JUMPI
0000194e: PUSH2 0x1955
00001951: PUSH2 0x3e88
00001954: JUMP
00001955: JUMPDEST
00001956: SWAP1
00001957: POP
00001958: PUSH1 0x20
0000195a: MUL
0000195b: ADD
0000195c: CALLDATALOAD
0000195d: DUP10
0000195e: DUP10
0000195f: DUP8
00001960: DUP2
00001961: DUP2
00001962: LT
00001963: PUSH2 0x196e
00001966: JUMPI
00001967: PUSH2 0x196e
0000196a: PUSH2 0x3e88
0000196d: JUMP
0000196e: JUMPDEST
0000196f: SWAP1
00001970: POP
00001971: PUSH1 0x20
00001973: MUL
00001974: ADD
00001975: CALLDATALOAD
00001976: DUP9
00001977: DUP9
00001978: DUP9
00001979: DUP2
0000197a: DUP2
0000197b: LT
0000197c: PUSH2 0x1987
0000197f: JUMPI
00001980: PUSH2 0x1987
00001983: PUSH2 0x3e88
00001986: JUMP
00001987: JUMPDEST
00001988: SWAP1
00001989: POP
0000198a: PUSH1 0x20
0000198c: MUL
0000198d: ADD
0000198e: CALLDATALOAD
0000198f: PUSH2 0x1227
00001992: JUMP
00001993: JUMPDEST
00001994: DUP1
00001995: PUSH2 0x199d
00001998: DUP2
00001999: PUSH2 0x3eff
0000199c: JUMP
0000199d: JUMPDEST
0000199e: SWAP2
0000199f: POP
000019a0: POP
000019a1: PUSH2 0x18df
000019a4: JUMP
000019a5: JUMPDEST
000019a6: POP
000019a7: POP
000019a8: POP
000019a9: POP
000019aa: POP
000019ab: POP
000019ac: POP
000019ad: POP
000019ae: POP
000019af: POP
000019b0: POP
000019b1: POP
000019b2: POP
000019b3: JUMP
000019b4: JUMPDEST
000019b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019ca: PUSH32 0x000000000000000000000000fb3102759f2d57f547b9c519db49ce1ffde15db2
000019eb: AND
000019ec: ADDRESS
000019ed: SUB
000019ee: PUSH2 0x1a79
000019f1: JUMPI
000019f2: PUSH1 0x40
000019f4: MLOAD
000019f5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001a16: DUP2
00001a17: MSTORE
00001a18: PUSH1 0x20
00001a1a: PUSH1 0x04
00001a1c: DUP3
00001a1d: ADD
00001a1e: MSTORE
00001a1f: PUSH1 0x2c
00001a21: PUSH1 0x24
00001a23: DUP3
00001a24: ADD
00001a25: MSTORE
00001a26: PUSH32 0x46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820
00001a47: PUSH1 0x44
00001a49: DUP3
00001a4a: ADD
00001a4b: MSTORE
00001a4c: PUSH32 0x64656c656761746563616c6c0000000000000000000000000000000000000000
00001a6d: PUSH1 0x64
00001a6f: DUP3
00001a70: ADD
00001a71: MSTORE
00001a72: PUSH1 0x84
00001a74: ADD
00001a75: PUSH2 0x05d2
00001a78: JUMP
00001a79: JUMPDEST
00001a7a: PUSH32 0x000000000000000000000000fb3102759f2d57f547b9c519db49ce1ffde15db2
00001a9b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ab0: AND
00001ab1: PUSH2 0x1aee
00001ab4: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00001ad5: SLOAD
00001ad6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001aeb: AND
00001aec: SWAP1
00001aed: JUMP
00001aee: JUMPDEST
00001aef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b04: AND
00001b05: EQ
00001b06: PUSH2 0x1b91
00001b09: JUMPI
00001b0a: PUSH1 0x40
00001b0c: MLOAD
00001b0d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001b2e: DUP2
00001b2f: MSTORE
00001b30: PUSH1 0x20
00001b32: PUSH1 0x04
00001b34: DUP3
00001b35: ADD
00001b36: MSTORE
00001b37: PUSH1 0x2c
00001b39: PUSH1 0x24
00001b3b: DUP3
00001b3c: ADD
00001b3d: MSTORE
00001b3e: PUSH32 0x46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820
00001b5f: PUSH1 0x44
00001b61: DUP3
00001b62: ADD
00001b63: MSTORE
00001b64: PUSH32 0x6163746976652070726f78790000000000000000000000000000000000000000
00001b85: PUSH1 0x64
00001b87: DUP3
00001b88: ADD
00001b89: MSTORE
00001b8a: PUSH1 0x84
00001b8c: ADD
00001b8d: PUSH2 0x05d2
00001b90: JUMP
00001b91: JUMPDEST
00001b92: PUSH2 0x1b9a
00001b95: DUP3
00001b96: PUSH2 0x2ac1
00001b99: JUMP
00001b9a: JUMPDEST
00001b9b: PUSH2 0x1ba6
00001b9e: DUP3
00001b9f: DUP3
00001ba0: PUSH1 0x01
00001ba2: PUSH2 0x2ac9
00001ba5: JUMP
00001ba6: JUMPDEST
00001ba7: POP
00001ba8: POP
00001ba9: JUMP
00001baa: JUMPDEST
00001bab: PUSH1 0x00
00001bad: SLOAD
00001bae: PUSH2 0x0100
00001bb1: SWAP1
00001bb2: DIV
00001bb3: PUSH1 0xff
00001bb5: AND
00001bb6: ISZERO
00001bb7: DUP1
00001bb8: DUP1
00001bb9: ISZERO
00001bba: PUSH2 0x1bca
00001bbd: JUMPI
00001bbe: POP
00001bbf: PUSH1 0x00
00001bc1: SLOAD
00001bc2: PUSH1 0x01
00001bc4: PUSH1 0xff
00001bc6: SWAP1
00001bc7: SWAP2
00001bc8: AND
00001bc9: LT
00001bca: JUMPDEST
00001bcb: DUP1
00001bcc: PUSH2 0x1be4
00001bcf: JUMPI
00001bd0: POP
00001bd1: ADDRESS
00001bd2: EXTCODESIZE
00001bd3: ISZERO
00001bd4: DUP1
00001bd5: ISZERO
00001bd6: PUSH2 0x1be4
00001bd9: JUMPI
00001bda: POP
00001bdb: PUSH1 0x00
00001bdd: SLOAD
00001bde: PUSH1 0xff
00001be0: AND
00001be1: PUSH1 0x01
00001be3: EQ
00001be4: JUMPDEST
00001be5: PUSH2 0x1c70
00001be8: JUMPI
00001be9: PUSH1 0x40
00001beb: MLOAD
00001bec: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001c0d: DUP2
00001c0e: MSTORE
00001c0f: PUSH1 0x20
00001c11: PUSH1 0x04
00001c13: DUP3
00001c14: ADD
00001c15: MSTORE
00001c16: PUSH1 0x2e
00001c18: PUSH1 0x24
00001c1a: DUP3
00001c1b: ADD
00001c1c: MSTORE
00001c1d: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561
00001c3e: PUSH1 0x44
00001c40: DUP3
00001c41: ADD
00001c42: MSTORE
00001c43: PUSH32 0x647920696e697469616c697a6564000000000000000000000000000000000000
00001c64: PUSH1 0x64
00001c66: DUP3
00001c67: ADD
00001c68: MSTORE
00001c69: PUSH1 0x84
00001c6b: ADD
00001c6c: PUSH2 0x05d2
00001c6f: JUMP
00001c70: JUMPDEST
00001c71: PUSH1 0x00
00001c73: DUP1
00001c74: SLOAD
00001c75: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00001c96: AND
00001c97: PUSH1 0x01
00001c99: OR
00001c9a: SWAP1
00001c9b: SSTORE
00001c9c: DUP1
00001c9d: ISZERO
00001c9e: PUSH2 0x1cce
00001ca1: JUMPI
00001ca2: PUSH1 0x00
00001ca4: DUP1
00001ca5: SLOAD
00001ca6: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff
00001cc7: AND
00001cc8: PUSH2 0x0100
00001ccb: OR
00001ccc: SWAP1
00001ccd: SSTORE
00001cce: JUMPDEST
00001ccf: DUP2
00001cd0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ce5: DUP2
00001ce6: AND
00001ce7: PUSH2 0x1d21
00001cea: JUMPI
00001ceb: PUSH1 0x40
00001ced: MLOAD
00001cee: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000
00001d0f: DUP2
00001d10: MSTORE
00001d11: PUSH3 0x015f92
00001d15: PUSH1 0x04
00001d17: DUP3
00001d18: ADD
00001d19: MSTORE
00001d1a: PUSH1 0x24
00001d1c: ADD
00001d1d: PUSH2 0x05d2
00001d20: JUMP
00001d21: JUMPDEST
00001d22: PUSH1 0x00
00001d24: JUMPDEST
00001d25: DUP6
00001d26: MLOAD
00001d27: DUP2
00001d28: LT
00001d29: ISZERO
00001d2a: PUSH2 0x1e1c
00001d2d: JUMPI
00001d2e: PUSH1 0x01
00001d30: PUSH1 0x65
00001d32: PUSH1 0x00
00001d34: DUP9
00001d35: DUP5
00001d36: DUP2
00001d37: MLOAD
00001d38: DUP2
00001d39: LT
00001d3a: PUSH2 0x1d45
00001d3d: JUMPI
00001d3e: PUSH2 0x1d45
00001d41: PUSH2 0x3e88
00001d44: JUMP
00001d45: JUMPDEST
00001d46: PUSH1 0x20
00001d48: MUL
00001d49: PUSH1 0x20
00001d4b: ADD
00001d4c: ADD
00001d4d: MLOAD
00001d4e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d63: AND
00001d64: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d79: AND
00001d7a: DUP2
00001d7b: MSTORE
00001d7c: PUSH1 0x20
00001d7e: ADD
00001d7f: SWAP1
00001d80: DUP2
00001d81: MSTORE
00001d82: PUSH1 0x20
00001d84: ADD
00001d85: PUSH1 0x00
00001d87: KECCAK256
00001d88: PUSH1 0x00
00001d8a: PUSH2 0x0100
00001d8d: EXP
00001d8e: DUP2
00001d8f: SLOAD
00001d90: DUP2
00001d91: PUSH1 0xff
00001d93: MUL
00001d94: NOT
00001d95: AND
00001d96: SWAP1
00001d97: DUP4
00001d98: ISZERO
00001d99: ISZERO
00001d9a: MUL
00001d9b: OR
00001d9c: SWAP1
00001d9d: SSTORE
00001d9e: POP
00001d9f: DUP6
00001da0: DUP2
00001da1: DUP2
00001da2: MLOAD
00001da3: DUP2
00001da4: LT
00001da5: PUSH2 0x1db0
00001da8: JUMPI
00001da9: PUSH2 0x1db0
00001dac: PUSH2 0x3e88
00001daf: JUMP
00001db0: JUMPDEST
00001db1: PUSH1 0x20
00001db3: MUL
00001db4: PUSH1 0x20
00001db6: ADD
00001db7: ADD
00001db8: MLOAD
00001db9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001dce: AND
00001dcf: PUSH32 0xb873643b3104ddd26927dec7f9a08aa22d03ac20ada0295a2de7e1a6c60f2a51
00001df0: PUSH1 0x01
00001df2: PUSH1 0x40
00001df4: MLOAD
00001df5: PUSH2 0x1e02
00001df8: SWAP2
00001df9: ISZERO
00001dfa: ISZERO
00001dfb: DUP2
00001dfc: MSTORE
00001dfd: PUSH1 0x20
00001dff: ADD
00001e00: SWAP1
00001e01: JUMP
00001e02: JUMPDEST
00001e03: PUSH1 0x40
00001e05: MLOAD
00001e06: DUP1
00001e07: SWAP2
00001e08: SUB
00001e09: SWAP1
00001e0a: LOG2
00001e0b: DUP1
00001e0c: PUSH2 0x1e14
00001e0f: DUP2
00001e10: PUSH2 0x3eff
00001e13: JUMP
00001e14: JUMPDEST
00001e15: SWAP2
00001e16: POP
00001e17: POP
00001e18: PUSH2 0x1d24
00001e1b: JUMP
00001e1c: JUMPDEST
00001e1d: POP
00001e1e: PUSH1 0x00
00001e20: JUMPDEST
00001e21: DUP5
00001e22: MLOAD
00001e23: DUP2
00001e24: LT
00001e25: ISZERO
00001e26: PUSH2 0x1f18
00001e29: JUMPI
00001e2a: PUSH1 0x01
00001e2c: PUSH1 0x66
00001e2e: PUSH1 0x00
00001e30: DUP8
00001e31: DUP5
00001e32: DUP2
00001e33: MLOAD
00001e34: DUP2
00001e35: LT
00001e36: PUSH2 0x1e41
00001e39: JUMPI
00001e3a: PUSH2 0x1e41
00001e3d: PUSH2 0x3e88
00001e40: JUMP
00001e41: JUMPDEST
00001e42: PUSH1 0x20
00001e44: MUL
00001e45: PUSH1 0x20
00001e47: ADD
00001e48: ADD
00001e49: MLOAD
00001e4a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e5f: AND
00001e60: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e75: AND
00001e76: DUP2
00001e77: MSTORE
00001e78: PUSH1 0x20
00001e7a: ADD
00001e7b: SWAP1
00001e7c: DUP2
00001e7d: MSTORE
00001e7e: PUSH1 0x20
00001e80: ADD
00001e81: PUSH1 0x00
00001e83: KECCAK256
00001e84: PUSH1 0x00
00001e86: PUSH2 0x0100
00001e89: EXP
00001e8a: DUP2
00001e8b: SLOAD
00001e8c: DUP2
00001e8d: PUSH1 0xff
00001e8f: MUL
00001e90: NOT
00001e91: AND
00001e92: SWAP1
00001e93: DUP4
00001e94: ISZERO
00001e95: ISZERO
00001e96: MUL
00001e97: OR
00001e98: SWAP1
00001e99: SSTORE
00001e9a: POP
00001e9b: DUP5
00001e9c: DUP2
00001e9d: DUP2
00001e9e: MLOAD
00001e9f: DUP2
00001ea0: LT
00001ea1: PUSH2 0x1eac
00001ea4: JUMPI
00001ea5: PUSH2 0x1eac
00001ea8: PUSH2 0x3e88
00001eab: JUMP
00001eac: JUMPDEST
00001ead: PUSH1 0x20
00001eaf: MUL
00001eb0: PUSH1 0x20
00001eb2: ADD
00001eb3: ADD
00001eb4: MLOAD
00001eb5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001eca: AND
00001ecb: PUSH32 0xad476fc62f6b1b5d25b35bd756cfbfcd299b581b8dfb25d5492c4305a0969bd2
00001eec: PUSH1 0x01
00001eee: PUSH1 0x40
00001ef0: MLOAD
00001ef1: PUSH2 0x1efe
00001ef4: SWAP2
00001ef5: ISZERO
00001ef6: ISZERO
00001ef7: DUP2
00001ef8: MSTORE
00001ef9: PUSH1 0x20
00001efb: ADD
00001efc: SWAP1
00001efd: JUMP
00001efe: JUMPDEST
00001eff: PUSH1 0x40
00001f01: MLOAD
00001f02: DUP1
00001f03: SWAP2
00001f04: SUB
00001f05: SWAP1
00001f06: LOG2
00001f07: DUP1
00001f08: PUSH2 0x1f10
00001f0b: DUP2
00001f0c: PUSH2 0x3eff
00001f0f: JUMP
00001f10: JUMPDEST
00001f11: SWAP2
00001f12: POP
00001f13: POP
00001f14: PUSH2 0x1e20
00001f17: JUMP
00001f18: JUMPDEST
00001f19: POP
00001f1a: PUSH2 0x1f22
00001f1d: DUP4
00001f1e: PUSH2 0x2db8
00001f21: JUMP
00001f22: JUMPDEST
00001f23: POP
00001f24: DUP1
00001f25: ISZERO
00001f26: PUSH2 0x087c
00001f29: JUMPI
00001f2a: PUSH1 0x00
00001f2c: DUP1
00001f2d: SLOAD
00001f2e: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff
00001f4f: AND
00001f50: SWAP1
00001f51: SSTORE
00001f52: PUSH1 0x40
00001f54: MLOAD
00001f55: PUSH1 0x01
00001f57: DUP2
00001f58: MSTORE
00001f59: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498
00001f7a: SWAP1
00001f7b: PUSH1 0x20
00001f7d: ADD
00001f7e: PUSH1 0x40
00001f80: MLOAD
00001f81: DUP1
00001f82: SWAP2
00001f83: SUB
00001f84: SWAP1
00001f85: LOG1
00001f86: POP
00001f87: POP
00001f88: POP
00001f89: POP
00001f8a: JUMP
00001f8b: JUMPDEST
00001f8c: PUSH1 0x00
00001f8e: ADDRESS
00001f8f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fa4: PUSH32 0x000000000000000000000000fb3102759f2d57f547b9c519db49ce1ffde15db2
00001fc5: AND
00001fc6: EQ
00001fc7: PUSH2 0x2052
00001fca: JUMPI
00001fcb: PUSH1 0x40
00001fcd: MLOAD
00001fce: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001fef: DUP2
00001ff0: MSTORE
00001ff1: PUSH1 0x20
00001ff3: PUSH1 0x04
00001ff5: DUP3
00001ff6: ADD
00001ff7: MSTORE
00001ff8: PUSH1 0x38
00001ffa: PUSH1 0x24
00001ffc: DUP3
00001ffd: ADD
00001ffe: MSTORE
00001fff: PUSH32 0x555550535570677261646561626c653a206d757374206e6f742062652063616c
00002020: PUSH1 0x44
00002022: DUP3
00002023: ADD
00002024: MSTORE
00002025: PUSH32 0x6c6564207468726f7567682064656c656761746563616c6c0000000000000000
00002046: PUSH1 0x64
00002048: DUP3
00002049: ADD
0000204a: MSTORE
0000204b: PUSH1 0x84
0000204d: ADD
0000204e: PUSH2 0x05d2
00002051: JUMP
00002052: JUMPDEST
00002053: POP
00002054: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00002075: SWAP1
00002076: JUMP
00002077: JUMPDEST
00002078: CALLER
00002079: PUSH1 0x00
0000207b: SWAP1
0000207c: DUP2
0000207d: MSTORE
0000207e: PUSH1 0x65
00002080: PUSH1 0x20
00002082: MSTORE
00002083: PUSH1 0x40
00002085: SWAP1
00002086: KECCAK256
00002087: SLOAD
00002088: PUSH1 0xff
0000208a: AND
0000208b: ISZERO
0000208c: DUP1
0000208d: ISZERO
0000208e: PUSH2 0x20cb
00002091: JUMPI
00002092: POP
00002093: CALLER
00002094: PUSH2 0x20b2
00002097: PUSH1 0x33
00002099: SLOAD
0000209a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020af: AND
000020b0: SWAP1
000020b1: JUMP
000020b2: JUMPDEST
000020b3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020c8: AND
000020c9: EQ
000020ca: ISZERO
000020cb: JUMPDEST
000020cc: ISZERO
000020cd: PUSH2 0x2107
000020d0: JUMPI
000020d1: PUSH1 0x40
000020d3: MLOAD
000020d4: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000
000020f5: DUP2
000020f6: MSTORE
000020f7: PUSH3 0x015f91
000020fb: PUSH1 0x04
000020fd: DUP3
000020fe: ADD
000020ff: MSTORE
00002100: PUSH1 0x24
00002102: ADD
00002103: PUSH2 0x05d2
00002106: JUMP
00002107: JUMPDEST
00002108: DUP1
00002109: MLOAD
0000210a: DUP3
0000210b: MLOAD
0000210c: EQ
0000210d: PUSH2 0x2147
00002110: JUMPI
00002111: PUSH1 0x40
00002113: MLOAD
00002114: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000
00002135: DUP2
00002136: MSTORE
00002137: PUSH3 0x015f93
0000213b: PUSH1 0x04
0000213d: DUP3
0000213e: ADD
0000213f: MSTORE
00002140: PUSH1 0x24
00002142: ADD
00002143: PUSH2 0x05d2
00002146: JUMP
00002147: JUMPDEST
00002148: PUSH1 0x00
0000214a: JUMPDEST
0000214b: DUP3
0000214c: MLOAD
0000214d: DUP2
0000214e: LT
0000214f: ISZERO
00002150: PUSH2 0x22ee
00002153: JUMPI
00002154: PUSH1 0x00
00002156: DUP4
00002157: DUP3
00002158: DUP2
00002159: MLOAD
0000215a: DUP2
0000215b: LT
0000215c: PUSH2 0x2167
0000215f: JUMPI
00002160: PUSH2 0x2167
00002163: PUSH2 0x3e88
00002166: JUMP
00002167: JUMPDEST
00002168: PUSH1 0x20
0000216a: MUL
0000216b: PUSH1 0x20
0000216d: ADD
0000216e: ADD
0000216f: MLOAD
00002170: SWAP1
00002171: POP
00002172: PUSH1 0x00
00002174: DUP4
00002175: DUP4
00002176: DUP2
00002177: MLOAD
00002178: DUP2
00002179: LT
0000217a: PUSH2 0x2185
0000217d: JUMPI
0000217e: PUSH2 0x2185
00002181: PUSH2 0x3e88
00002184: JUMP
00002185: JUMPDEST
00002186: PUSH1 0x20
00002188: MUL
00002189: PUSH1 0x20
0000218b: ADD
0000218c: ADD
0000218d: MLOAD
0000218e: SWAP1
0000218f: POP
00002190: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
000021a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000021ba: AND
000021bb: DUP2
000021bc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000021d1: AND
000021d2: SUB
000021d3: PUSH2 0x2201
000021d6: JUMPI
000021d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000021ec: DUP3
000021ed: AND
000021ee: PUSH1 0x00
000021f0: SWAP1
000021f1: DUP2
000021f2: MSTORE
000021f3: PUSH1 0x68
000021f5: PUSH1 0x20
000021f7: MSTORE
000021f8: PUSH1 0x40
000021fa: DUP2
000021fb: KECCAK256
000021fc: SSTORE
000021fd: PUSH2 0x220d
00002200: JUMP
00002201: JUMPDEST
00002202: PUSH2 0x220d
00002205: DUP2
00002206: DUP4
00002207: PUSH1 0x00
00002209: PUSH2 0x28dd
0000220c: JUMP
0000220d: JUMPDEST
0000220e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002223: DUP3
00002224: AND
00002225: PUSH1 0x00
00002227: SWAP1
00002228: DUP2
00002229: MSTORE
0000222a: PUSH1 0x67
0000222c: PUSH1 0x20
0000222e: MSTORE
0000222f: PUSH1 0x40
00002231: SWAP1
00002232: KECCAK256
00002233: PUSH2 0x223c
00002236: SWAP1
00002237: DUP3
00002238: PUSH2 0x2e2f
0000223b: JUMP
0000223c: JUMPDEST
0000223d: POP
0000223e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002253: DUP3
00002254: AND
00002255: PUSH1 0x00
00002257: SWAP1
00002258: DUP2
00002259: MSTORE
0000225a: PUSH1 0x67
0000225c: PUSH1 0x20
0000225e: MSTORE
0000225f: PUSH1 0x40
00002261: SWAP1
00002262: KECCAK256
00002263: PUSH2 0x226b
00002266: SWAP1
00002267: PUSH2 0x2e51
0000226a: JUMP
0000226b: JUMPDEST
0000226c: PUSH1 0x00
0000226e: SUB
0000226f: PUSH2 0x227f
00002272: JUMPI
00002273: PUSH2 0x227d
00002276: PUSH1 0x69
00002278: DUP4
00002279: PUSH2 0x2e2f
0000227c: JUMP
0000227d: JUMPDEST
0000227e: POP
0000227f: JUMPDEST
00002280: DUP1
00002281: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002296: AND
00002297: DUP3
00002298: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022ad: AND
000022ae: PUSH32 0xd54cf739d89b84837b7ca6e1402410c3497b29b0a5fbe452e57008b3abd8874d
000022cf: PUSH1 0x40
000022d1: MLOAD
000022d2: PUSH1 0x40
000022d4: MLOAD
000022d5: DUP1
000022d6: SWAP2
000022d7: SUB
000022d8: SWAP1
000022d9: LOG3
000022da: POP
000022db: POP
000022dc: DUP1
000022dd: DUP1
000022de: PUSH2 0x22e6
000022e1: SWAP1
000022e2: PUSH2 0x3eff
000022e5: JUMP
000022e6: JUMPDEST
000022e7: SWAP2
000022e8: POP
000022e9: POP
000022ea: PUSH2 0x214a
000022ed: JUMP
000022ee: JUMPDEST
000022ef: POP
000022f0: POP
000022f1: POP
000022f2: JUMP
000022f3: JUMPDEST
000022f4: PUSH2 0x22fb
000022f7: PUSH2 0x2e5b
000022fa: JUMP
000022fb: JUMPDEST
000022fc: PUSH1 0x40
000022fe: MLOAD
000022ff: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000
00002320: DUP2
00002321: MSTORE
00002322: PUSH3 0x015f94
00002326: PUSH1 0x04
00002328: DUP3
00002329: ADD
0000232a: MSTORE
0000232b: PUSH1 0x24
0000232d: ADD
0000232e: PUSH2 0x05d2
00002331: JUMP
00002332: JUMPDEST
00002333: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002348: DUP2
00002349: AND
0000234a: PUSH1 0x00
0000234c: SWAP1
0000234d: DUP2
0000234e: MSTORE
0000234f: PUSH1 0x67
00002351: PUSH1 0x20
00002353: MSTORE
00002354: PUSH1 0x40
00002356: SWAP1
00002357: KECCAK256
00002358: PUSH1 0x60
0000235a: SWAP1
0000235b: PUSH2 0x2363
0000235e: DUP2
0000235f: PUSH2 0x2e51
00002362: JUMP
00002363: JUMPDEST
00002364: PUSH8 0xffffffffffffffff
0000236d: DUP2
0000236e: GT
0000236f: ISZERO
00002370: PUSH2 0x237b
00002373: JUMPI
00002374: PUSH2 0x237b
00002377: PUSH2 0x3597
0000237a: JUMP
0000237b: JUMPDEST
0000237c: PUSH1 0x40
0000237e: MLOAD
0000237f: SWAP1
00002380: DUP1
00002381: DUP3
00002382: MSTORE
00002383: DUP1
00002384: PUSH1 0x20
00002386: MUL
00002387: PUSH1 0x20
00002389: ADD
0000238a: DUP3
0000238b: ADD
0000238c: PUSH1 0x40
0000238e: MSTORE
0000238f: DUP1
00002390: ISZERO
00002391: PUSH2 0x23a4
00002394: JUMPI
00002395: DUP2
00002396: PUSH1 0x20
00002398: ADD
00002399: PUSH1 0x20
0000239b: DUP3
0000239c: MUL
0000239d: DUP1
0000239e: CALLDATASIZE
0000239f: DUP4
000023a0: CALLDATACOPY
000023a1: ADD
000023a2: SWAP1
000023a3: POP
000023a4: JUMPDEST
000023a5: POP
000023a6: SWAP2
000023a7: POP
000023a8: PUSH1 0x00
000023aa: JUMPDEST
000023ab: PUSH2 0x23b3
000023ae: DUP3
000023af: PUSH2 0x2e51
000023b2: JUMP
000023b3: JUMPDEST
000023b4: DUP2
000023b5: LT
000023b6: ISZERO
000023b7: PUSH2 0x240d
000023ba: JUMPI
000023bb: PUSH2 0x23c4
000023be: DUP3
000023bf: DUP3
000023c0: PUSH2 0x2ede
000023c3: JUMP
000023c4: JUMPDEST
000023c5: DUP4
000023c6: DUP3
000023c7: DUP2
000023c8: MLOAD
000023c9: DUP2
000023ca: LT
000023cb: PUSH2 0x23d6
000023ce: JUMPI
000023cf: PUSH2 0x23d6
000023d2: PUSH2 0x3e88
000023d5: JUMP
000023d6: JUMPDEST
000023d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000023ec: SWAP1
000023ed: SWAP3
000023ee: AND
000023ef: PUSH1 0x20
000023f1: SWAP3
000023f2: DUP4
000023f3: MUL
000023f4: SWAP2
000023f5: SWAP1
000023f6: SWAP2
000023f7: ADD
000023f8: SWAP1
000023f9: SWAP2
000023fa: ADD
000023fb: MSTORE
000023fc: DUP1
000023fd: PUSH2 0x2405
00002400: DUP2
00002401: PUSH2 0x3eff
00002404: JUMP
00002405: JUMPDEST
00002406: SWAP2
00002407: POP
00002408: POP
00002409: PUSH2 0x23aa
0000240c: JUMP
0000240d: JUMPDEST
0000240e: POP
0000240f: POP
00002410: SWAP2
00002411: SWAP1
00002412: POP
00002413: JUMP
00002414: JUMPDEST
00002415: PUSH2 0x241c
00002418: PUSH2 0x2e5b
0000241b: JUMP
0000241c: JUMPDEST
0000241d: DUP2
0000241e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002433: DUP2
00002434: AND
00002435: PUSH2 0x246f
00002438: JUMPI
00002439: PUSH1 0x40
0000243b: MLOAD
0000243c: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000
0000245d: DUP2
0000245e: MSTORE
0000245f: PUSH3 0x015f92
00002463: PUSH1 0x04
00002465: DUP3
00002466: ADD
00002467: MSTORE
00002468: PUSH1 0x24
0000246a: ADD
0000246b: PUSH2 0x05d2
0000246e: JUMP
0000246f: JUMPDEST
00002470: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002485: DUP4
00002486: AND
00002487: PUSH1 0x00
00002489: DUP2
0000248a: DUP2
0000248b: MSTORE
0000248c: PUSH1 0x65
0000248e: PUSH1 0x20
00002490: SWAP1
00002491: DUP2
00002492: MSTORE
00002493: PUSH1 0x40
00002495: SWAP2
00002496: DUP3
00002497: SWAP1
00002498: KECCAK256
00002499: DUP1
0000249a: SLOAD
0000249b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
000024bc: AND
000024bd: DUP7
000024be: ISZERO
000024bf: ISZERO
000024c0: SWAP1
000024c1: DUP2
000024c2: OR
000024c3: SWAP1
000024c4: SWAP2
000024c5: SSTORE
000024c6: SWAP2
000024c7: MLOAD
000024c8: SWAP2
000024c9: DUP3
000024ca: MSTORE
000024cb: PUSH32 0xb873643b3104ddd26927dec7f9a08aa22d03ac20ada0295a2de7e1a6c60f2a51
000024ec: SWAP2
000024ed: ADD
000024ee: PUSH2 0x09e4
000024f1: JUMP
000024f2: JUMPDEST
000024f3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002508: DUP2
00002509: AND
0000250a: PUSH1 0x00
0000250c: SWAP1
0000250d: DUP2
0000250e: MSTORE
0000250f: PUSH1 0x67
00002511: PUSH1 0x20
00002513: MSTORE
00002514: PUSH1 0x40
00002516: SWAP1
00002517: KECCAK256
00002518: PUSH1 0x60
0000251a: SWAP1
0000251b: PUSH2 0x2523
0000251e: DUP2
0000251f: PUSH2 0x2e51
00002522: JUMP
00002523: JUMPDEST
00002524: PUSH8 0xffffffffffffffff
0000252d: DUP2
0000252e: GT
0000252f: ISZERO
00002530: PUSH2 0x253b
00002533: JUMPI
00002534: PUSH2 0x253b
00002537: PUSH2 0x3597
0000253a: JUMP
0000253b: JUMPDEST
0000253c: PUSH1 0x40
0000253e: MLOAD
0000253f: SWAP1
00002540: DUP1
00002541: DUP3
00002542: MSTORE
00002543: DUP1
00002544: PUSH1 0x20
00002546: MUL
00002547: PUSH1 0x20
00002549: ADD
0000254a: DUP3
0000254b: ADD
0000254c: PUSH1 0x40
0000254e: MSTORE
0000254f: DUP1
00002550: ISZERO
00002551: PUSH2 0x2580
00002554: JUMPI
00002555: DUP2
00002556: PUSH1 0x20
00002558: ADD
00002559: JUMPDEST
0000255a: PUSH1 0x40
0000255c: DUP1
0000255d: MLOAD
0000255e: DUP1
0000255f: DUP3
00002560: ADD
00002561: SWAP1
00002562: SWAP2
00002563: MSTORE
00002564: PUSH1 0x00
00002566: DUP1
00002567: DUP3
00002568: MSTORE
00002569: PUSH1 0x20
0000256b: DUP3
0000256c: ADD
0000256d: MSTORE
0000256e: DUP2
0000256f: MSTORE
00002570: PUSH1 0x20
00002572: ADD
00002573: SWAP1
00002574: PUSH1 0x01
00002576: SWAP1
00002577: SUB
00002578: SWAP1
00002579: DUP2
0000257a: PUSH2 0x2559
0000257d: JUMPI
0000257e: SWAP1
0000257f: POP
00002580: JUMPDEST
00002581: POP
00002582: SWAP2
00002583: POP
00002584: PUSH1 0x00
00002586: JUMPDEST
00002587: PUSH2 0x258f
0000258a: DUP3
0000258b: PUSH2 0x2e51
0000258e: JUMP
0000258f: JUMPDEST
00002590: DUP2
00002591: LT
00002592: ISZERO
00002593: PUSH2 0x240d
00002596: JUMPI
00002597: PUSH1 0x00
00002599: PUSH2 0x25a2
0000259c: DUP4
0000259d: DUP4
0000259e: PUSH2 0x2ede
000025a1: JUMP
000025a2: JUMPDEST
000025a3: SWAP1
000025a4: POP
000025a5: DUP1
000025a6: DUP5
000025a7: DUP4
000025a8: DUP2
000025a9: MLOAD
000025aa: DUP2
000025ab: LT
000025ac: PUSH2 0x25b7
000025af: JUMPI
000025b0: PUSH2 0x25b7
000025b3: PUSH2 0x3e88
000025b6: JUMP
000025b7: JUMPDEST
000025b8: PUSH1 0x20
000025ba: SWAP1
000025bb: DUP2
000025bc: MUL
000025bd: SWAP2
000025be: SWAP1
000025bf: SWAP2
000025c0: ADD
000025c1: ADD
000025c2: MLOAD
000025c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000025d8: SWAP2
000025d9: DUP3
000025da: AND
000025db: SWAP1
000025dc: MSTORE
000025dd: DUP2
000025de: AND
000025df: PUSH32 0xffffffffffffffffffffffff1111111111111111111111111111111111111112
00002600: ADD
00002601: PUSH2 0x2653
00002604: JUMPI
00002605: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000261a: DUP6
0000261b: AND
0000261c: PUSH1 0x00
0000261e: SWAP1
0000261f: DUP2
00002620: MSTORE
00002621: PUSH1 0x68
00002623: PUSH1 0x20
00002625: MSTORE
00002626: PUSH1 0x40
00002628: SWAP1
00002629: KECCAK256
0000262a: SLOAD
0000262b: DUP5
0000262c: MLOAD
0000262d: DUP6
0000262e: SWAP1
0000262f: DUP5
00002630: SWAP1
00002631: DUP2
00002632: LT
00002633: PUSH2 0x263e
00002636: JUMPI
00002637: PUSH2 0x263e
0000263a: PUSH2 0x3e88
0000263d: JUMP
0000263e: JUMPDEST
0000263f: PUSH1 0x20
00002641: MUL
00002642: PUSH1 0x20
00002644: ADD
00002645: ADD
00002646: MLOAD
00002647: PUSH1 0x20
00002649: ADD
0000264a: DUP2
0000264b: DUP2
0000264c: MSTORE
0000264d: POP
0000264e: POP
0000264f: PUSH2 0x270c
00002652: JUMP
00002653: JUMPDEST
00002654: PUSH1 0x40
00002656: MLOAD
00002657: PUSH32 0xdd62ed3e00000000000000000000000000000000000000000000000000000000
00002678: DUP2
00002679: MSTORE
0000267a: ADDRESS
0000267b: PUSH1 0x04
0000267d: DUP3
0000267e: ADD
0000267f: MSTORE
00002680: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002695: DUP7
00002696: DUP2
00002697: AND
00002698: PUSH1 0x24
0000269a: DUP4
0000269b: ADD
0000269c: MSTORE
0000269d: DUP3
0000269e: AND
0000269f: SWAP1
000026a0: PUSH4 0xdd62ed3e
000026a5: SWAP1
000026a6: PUSH1 0x44
000026a8: ADD
000026a9: PUSH1 0x20
000026ab: PUSH1 0x40
000026ad: MLOAD
000026ae: DUP1
000026af: DUP4
000026b0: SUB
000026b1: DUP2
000026b2: DUP7
000026b3: GAS
000026b4: STATICCALL
000026b5: ISZERO
000026b6: DUP1
000026b7: ISZERO
000026b8: PUSH2 0x26c5
000026bb: JUMPI
000026bc: RETURNDATASIZE
000026bd: PUSH1 0x00
000026bf: DUP1
000026c0: RETURNDATACOPY
000026c1: RETURNDATASIZE
000026c2: PUSH1 0x00
000026c4: REVERT
000026c5: JUMPDEST
000026c6: POP
000026c7: POP
000026c8: POP
000026c9: POP
000026ca: PUSH1 0x40
000026cc: MLOAD
000026cd: RETURNDATASIZE
000026ce: PUSH1 0x1f
000026d0: NOT
000026d1: PUSH1 0x1f
000026d3: DUP3
000026d4: ADD
000026d5: AND
000026d6: DUP3
000026d7: ADD
000026d8: DUP1
000026d9: PUSH1 0x40
000026db: MSTORE
000026dc: POP
000026dd: DUP2
000026de: ADD
000026df: SWAP1
000026e0: PUSH2 0x26e9
000026e3: SWAP2
000026e4: SWAP1
000026e5: PUSH2 0x3eb7
000026e8: JUMP
000026e9: JUMPDEST
000026ea: DUP5
000026eb: DUP4
000026ec: DUP2
000026ed: MLOAD
000026ee: DUP2
000026ef: LT
000026f0: PUSH2 0x26fb
000026f3: JUMPI
000026f4: PUSH2 0x26fb
000026f7: PUSH2 0x3e88
000026fa: JUMP
000026fb: JUMPDEST
000026fc: PUSH1 0x20
000026fe: MUL
000026ff: PUSH1 0x20
00002701: ADD
00002702: ADD
00002703: MLOAD
00002704: PUSH1 0x20
00002706: ADD
00002707: DUP2
00002708: DUP2
00002709: MSTORE
0000270a: POP
0000270b: POP
0000270c: JUMPDEST
0000270d: POP
0000270e: DUP1
0000270f: PUSH2 0x2717
00002712: DUP2
00002713: PUSH2 0x3eff
00002716: JUMP
00002717: JUMPDEST
00002718: SWAP2
00002719: POP
0000271a: POP
0000271b: PUSH2 0x2586
0000271e: JUMP
0000271f: JUMPDEST
00002720: PUSH1 0x60
00002722: PUSH2 0x272b
00002725: PUSH1 0x69
00002727: PUSH2 0x2e51
0000272a: JUMP
0000272b: JUMPDEST
0000272c: PUSH8 0xffffffffffffffff
00002735: DUP2
00002736: GT
00002737: ISZERO
00002738: PUSH2 0x2743
0000273b: JUMPI
0000273c: PUSH2 0x2743
0000273f: PUSH2 0x3597
00002742: JUMP
00002743: JUMPDEST
00002744: PUSH1 0x40
00002746: MLOAD
00002747: SWAP1
00002748: DUP1
00002749: DUP3
0000274a: MSTORE
0000274b: DUP1
0000274c: PUSH1 0x20
0000274e: MUL
0000274f: PUSH1 0x20
00002751: ADD
00002752: DUP3
00002753: ADD
00002754: PUSH1 0x40
00002756: MSTORE
00002757: DUP1
00002758: ISZERO
00002759: PUSH2 0x2789
0000275c: JUMPI
0000275d: DUP2
0000275e: PUSH1 0x20
00002760: ADD
00002761: JUMPDEST
00002762: PUSH1 0x40
00002764: DUP1
00002765: MLOAD
00002766: DUP1
00002767: DUP3
00002768: ADD
00002769: SWAP1
0000276a: SWAP2
0000276b: MSTORE
0000276c: PUSH1 0x00
0000276e: DUP2
0000276f: MSTORE
00002770: PUSH1 0x60
00002772: PUSH1 0x20
00002774: DUP3
00002775: ADD
00002776: MSTORE
00002777: DUP2
00002778: MSTORE
00002779: PUSH1 0x20
0000277b: ADD
0000277c: SWAP1
0000277d: PUSH1 0x01
0000277f: SWAP1
00002780: SUB
00002781: SWAP1
00002782: DUP2
00002783: PUSH2 0x2761
00002786: JUMPI
00002787: SWAP1
00002788: POP
00002789: JUMPDEST
0000278a: POP
0000278b: SWAP1
0000278c: POP
0000278d: PUSH1 0x00
0000278f: JUMPDEST
00002790: PUSH2 0x2799
00002793: PUSH1 0x69
00002795: PUSH2 0x2e51
00002798: JUMP
00002799: JUMPDEST
0000279a: DUP2
0000279b: LT
0000279c: ISZERO
0000279d: PUSH2 0x2825
000027a0: JUMPI
000027a1: PUSH1 0x00
000027a3: PUSH2 0x27ad
000027a6: PUSH1 0x69
000027a8: DUP4
000027a9: PUSH2 0x2ede
000027ac: JUMP
000027ad: JUMPDEST
000027ae: SWAP1
000027af: POP
000027b0: DUP1
000027b1: DUP4
000027b2: DUP4
000027b3: DUP2
000027b4: MLOAD
000027b5: DUP2
000027b6: LT
000027b7: PUSH2 0x27c2
000027ba: JUMPI
000027bb: PUSH2 0x27c2
000027be: PUSH2 0x3e88
000027c1: JUMP
000027c2: JUMPDEST
000027c3: PUSH1 0x20
000027c5: SWAP1
000027c6: DUP2
000027c7: MUL
000027c8: SWAP2
000027c9: SWAP1
000027ca: SWAP2
000027cb: ADD
000027cc: ADD
000027cd: MLOAD
000027ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027e3: SWAP1
000027e4: SWAP2
000027e5: AND
000027e6: SWAP1
000027e7: MSTORE
000027e8: PUSH2 0x27f0
000027eb: DUP2
000027ec: PUSH2 0x24f2
000027ef: JUMP
000027f0: JUMPDEST
000027f1: DUP4
000027f2: DUP4
000027f3: DUP2
000027f4: MLOAD
000027f5: DUP2
000027f6: LT
000027f7: PUSH2 0x2802
000027fa: JUMPI
000027fb: PUSH2 0x2802
000027fe: PUSH2 0x3e88
00002801: JUMP
00002802: JUMPDEST
00002803: PUSH1 0x20
00002805: MUL
00002806: PUSH1 0x20
00002808: ADD
00002809: ADD
0000280a: MLOAD
0000280b: PUSH1 0x20
0000280d: ADD
0000280e: DUP2
0000280f: SWAP1
00002810: MSTORE
00002811: POP
00002812: POP
00002813: DUP1
00002814: DUP1
00002815: PUSH2 0x281d
00002818: SWAP1
00002819: PUSH2 0x3eff
0000281c: JUMP
0000281d: JUMPDEST
0000281e: SWAP2
0000281f: POP
00002820: POP
00002821: PUSH2 0x278f
00002824: JUMP
00002825: JUMPDEST
00002826: POP
00002827: SWAP1
00002828: JUMP
00002829: JUMPDEST
0000282a: PUSH2 0x2831
0000282d: PUSH2 0x2e5b
00002830: JUMP
00002831: JUMPDEST
00002832: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002847: DUP2
00002848: AND
00002849: PUSH2 0x28d4
0000284c: JUMPI
0000284d: PUSH1 0x40
0000284f: MLOAD
00002850: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002871: DUP2
00002872: MSTORE
00002873: PUSH1 0x20
00002875: PUSH1 0x04
00002877: DUP3
00002878: ADD
00002879: MSTORE
0000287a: PUSH1 0x26
0000287c: PUSH1 0x24
0000287e: DUP3
0000287f: ADD
00002880: MSTORE
00002881: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061
000028a2: PUSH1 0x44
000028a4: DUP3
000028a5: ADD
000028a6: MSTORE
000028a7: PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000
000028c8: PUSH1 0x64
000028ca: DUP3
000028cb: ADD
000028cc: MSTORE
000028cd: PUSH1 0x84
000028cf: ADD
000028d0: PUSH2 0x05d2
000028d3: JUMP
000028d4: JUMPDEST
000028d5: PUSH2 0x1224
000028d8: DUP2
000028d9: PUSH2 0x2db8
000028dc: JUMP
000028dd: JUMPDEST
000028de: DUP1
000028df: ISZERO
000028e0: DUP1
000028e1: PUSH2 0x297d
000028e4: JUMPI
000028e5: POP
000028e6: PUSH1 0x40
000028e8: MLOAD
000028e9: PUSH32 0xdd62ed3e00000000000000000000000000000000000000000000000000000000
0000290a: DUP2
0000290b: MSTORE
0000290c: ADDRESS
0000290d: PUSH1 0x04
0000290f: DUP3
00002910: ADD
00002911: MSTORE
00002912: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002927: DUP4
00002928: DUP2
00002929: AND
0000292a: PUSH1 0x24
0000292c: DUP4
0000292d: ADD
0000292e: MSTORE
0000292f: DUP5
00002930: AND
00002931: SWAP1
00002932: PUSH4 0xdd62ed3e
00002937: SWAP1
00002938: PUSH1 0x44
0000293a: ADD
0000293b: PUSH1 0x20
0000293d: PUSH1 0x40
0000293f: MLOAD
00002940: DUP1
00002941: DUP4
00002942: SUB
00002943: DUP2
00002944: DUP7
00002945: GAS
00002946: STATICCALL
00002947: ISZERO
00002948: DUP1
00002949: ISZERO
0000294a: PUSH2 0x2957
0000294d: JUMPI
0000294e: RETURNDATASIZE
0000294f: PUSH1 0x00
00002951: DUP1
00002952: RETURNDATACOPY
00002953: RETURNDATASIZE
00002954: PUSH1 0x00
00002956: REVERT
00002957: JUMPDEST
00002958: POP
00002959: POP
0000295a: POP
0000295b: POP
0000295c: PUSH1 0x40
0000295e: MLOAD
0000295f: RETURNDATASIZE
00002960: PUSH1 0x1f
00002962: NOT
00002963: PUSH1 0x1f
00002965: DUP3
00002966: ADD
00002967: AND
00002968: DUP3
00002969: ADD
0000296a: DUP1
0000296b: PUSH1 0x40
0000296d: MSTORE
0000296e: POP
0000296f: DUP2
00002970: ADD
00002971: SWAP1
00002972: PUSH2 0x297b
00002975: SWAP2
00002976: SWAP1
00002977: PUSH2 0x3eb7
0000297a: JUMP
0000297b: JUMPDEST
0000297c: ISZERO
0000297d: JUMPDEST
0000297e: PUSH2 0x2a09
00002981: JUMPI
00002982: PUSH1 0x40
00002984: MLOAD
00002985: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000029a6: DUP2
000029a7: MSTORE
000029a8: PUSH1 0x20
000029aa: PUSH1 0x04
000029ac: DUP3
000029ad: ADD
000029ae: MSTORE
000029af: PUSH1 0x36
000029b1: PUSH1 0x24
000029b3: DUP3
000029b4: ADD
000029b5: MSTORE
000029b6: PUSH32 0x5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f
000029d7: PUSH1 0x44
000029d9: DUP3
000029da: ADD
000029db: MSTORE
000029dc: PUSH32 0x20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000
000029fd: PUSH1 0x64
000029ff: DUP3
00002a00: ADD
00002a01: MSTORE
00002a02: PUSH1 0x84
00002a04: ADD
00002a05: PUSH2 0x05d2
00002a08: JUMP
00002a09: JUMPDEST
00002a0a: PUSH1 0x40
00002a0c: DUP1
00002a0d: MLOAD
00002a0e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a23: DUP5
00002a24: AND
00002a25: PUSH1 0x24
00002a27: DUP3
00002a28: ADD
00002a29: MSTORE
00002a2a: PUSH1 0x44
00002a2c: DUP1
00002a2d: DUP3
00002a2e: ADD
00002a2f: DUP5
00002a30: SWAP1
00002a31: MSTORE
00002a32: DUP3
00002a33: MLOAD
00002a34: DUP1
00002a35: DUP4
00002a36: SUB
00002a37: SWAP1
00002a38: SWAP2
00002a39: ADD
00002a3a: DUP2
00002a3b: MSTORE
00002a3c: PUSH1 0x64
00002a3e: SWAP1
00002a3f: SWAP2
00002a40: ADD
00002a41: SWAP1
00002a42: SWAP2
00002a43: MSTORE
00002a44: PUSH1 0x20
00002a46: DUP2
00002a47: ADD
00002a48: DUP1
00002a49: MLOAD
00002a4a: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002a67: AND
00002a68: PUSH32 0x095ea7b300000000000000000000000000000000000000000000000000000000
00002a89: OR
00002a8a: SWAP1
00002a8b: MSTORE
00002a8c: PUSH2 0x22ee
00002a8f: SWAP1
00002a90: DUP5
00002a91: SWAP1
00002a92: PUSH2 0x2eea
00002a95: JUMP
00002a96: JUMPDEST
00002a97: PUSH1 0x00
00002a99: PUSH2 0x2ab8
00002a9c: DUP4
00002a9d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ab2: DUP5
00002ab3: AND
00002ab4: PUSH2 0x2ff6
00002ab7: JUMP
00002ab8: JUMPDEST
00002ab9: SWAP1
00002aba: POP
00002abb: JUMPDEST
00002abc: SWAP3
00002abd: SWAP2
00002abe: POP
00002abf: POP
00002ac0: JUMP
00002ac1: JUMPDEST
00002ac2: PUSH2 0x1224
00002ac5: PUSH2 0x2e5b
00002ac8: JUMP
00002ac9: JUMPDEST
00002aca: PUSH32 0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143
00002aeb: SLOAD
00002aec: PUSH1 0xff
00002aee: AND
00002aef: ISZERO
00002af0: PUSH2 0x2afc
00002af3: JUMPI
00002af4: PUSH2 0x22ee
00002af7: DUP4
00002af8: PUSH2 0x3045
00002afb: JUMP
00002afc: JUMPDEST
00002afd: DUP3
00002afe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b13: AND
00002b14: PUSH4 0x52d1902d
00002b19: PUSH1 0x40
00002b1b: MLOAD
00002b1c: DUP2
00002b1d: PUSH4 0xffffffff
00002b22: AND
00002b23: PUSH1 0xe0
00002b25: SHL
00002b26: DUP2
00002b27: MSTORE
00002b28: PUSH1 0x04
00002b2a: ADD
00002b2b: PUSH1 0x20
00002b2d: PUSH1 0x40
00002b2f: MLOAD
00002b30: DUP1
00002b31: DUP4
00002b32: SUB
00002b33: DUP2
00002b34: DUP7
00002b35: GAS
00002b36: STATICCALL
00002b37: SWAP3
00002b38: POP
00002b39: POP
00002b3a: POP
00002b3b: DUP1
00002b3c: ISZERO
00002b3d: PUSH2 0x2b81
00002b40: JUMPI
00002b41: POP
00002b42: PUSH1 0x40
00002b44: DUP1
00002b45: MLOAD
00002b46: PUSH1 0x1f
00002b48: RETURNDATASIZE
00002b49: SWAP1
00002b4a: DUP2
00002b4b: ADD
00002b4c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00002b6d: AND
00002b6e: DUP3
00002b6f: ADD
00002b70: SWAP1
00002b71: SWAP3
00002b72: MSTORE
00002b73: PUSH2 0x2b7e
00002b76: SWAP2
00002b77: DUP2
00002b78: ADD
00002b79: SWAP1
00002b7a: PUSH2 0x3eb7
00002b7d: JUMP
00002b7e: JUMPDEST
00002b7f: PUSH1 0x01
00002b81: JUMPDEST
00002b82: PUSH2 0x2c0d
00002b85: JUMPI
00002b86: PUSH1 0x40
00002b88: MLOAD
00002b89: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002baa: DUP2
00002bab: MSTORE
00002bac: PUSH1 0x20
00002bae: PUSH1 0x04
00002bb0: DUP3
00002bb1: ADD
00002bb2: MSTORE
00002bb3: PUSH1 0x2e
00002bb5: PUSH1 0x24
00002bb7: DUP3
00002bb8: ADD
00002bb9: MSTORE
00002bba: PUSH32 0x45524331393637557067726164653a206e657720696d706c656d656e74617469
00002bdb: PUSH1 0x44
00002bdd: DUP3
00002bde: ADD
00002bdf: MSTORE
00002be0: PUSH32 0x6f6e206973206e6f742055555053000000000000000000000000000000000000
00002c01: PUSH1 0x64
00002c03: DUP3
00002c04: ADD
00002c05: MSTORE
00002c06: PUSH1 0x84
00002c08: ADD
00002c09: PUSH2 0x05d2
00002c0c: JUMP
00002c0d: JUMPDEST
00002c0e: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00002c2f: DUP2
00002c30: EQ
00002c31: PUSH2 0x2cbc
00002c34: JUMPI
00002c35: PUSH1 0x40
00002c37: MLOAD
00002c38: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002c59: DUP2
00002c5a: MSTORE
00002c5b: PUSH1 0x20
00002c5d: PUSH1 0x04
00002c5f: DUP3
00002c60: ADD
00002c61: MSTORE
00002c62: PUSH1 0x29
00002c64: PUSH1 0x24
00002c66: DUP3
00002c67: ADD
00002c68: MSTORE
00002c69: PUSH32 0x45524331393637557067726164653a20756e737570706f727465642070726f78
00002c8a: PUSH1 0x44
00002c8c: DUP3
00002c8d: ADD
00002c8e: MSTORE
00002c8f: PUSH32 0x6961626c65555549440000000000000000000000000000000000000000000000
00002cb0: PUSH1 0x64
00002cb2: DUP3
00002cb3: ADD
00002cb4: MSTORE
00002cb5: PUSH1 0x84
00002cb7: ADD
00002cb8: PUSH2 0x05d2
00002cbb: JUMP
00002cbc: JUMPDEST
00002cbd: POP
00002cbe: PUSH2 0x22ee
00002cc1: DUP4
00002cc2: DUP4
00002cc3: DUP4
00002cc4: PUSH2 0x314f
00002cc7: JUMP
00002cc8: JUMPDEST
00002cc9: PUSH1 0x00
00002ccb: DUP1
00002ccc: PUSH1 0x00
00002cce: DUP1
00002ccf: PUSH1 0x00
00002cd1: DUP6
00002cd2: DUP8
00002cd3: PUSH2 0x4e20
00002cd6: CALL
00002cd7: SWAP1
00002cd8: POP
00002cd9: DUP1
00002cda: PUSH2 0x22ee
00002cdd: JUMPI
00002cde: PUSH1 0x40
00002ce0: MLOAD
00002ce1: PUSH32 0xdee51a8a00000000000000000000000000000000000000000000000000000000
00002d02: DUP2
00002d03: MSTORE
00002d04: PUSH3 0x01155a
00002d08: PUSH1 0x04
00002d0a: DUP3
00002d0b: ADD
00002d0c: MSTORE
00002d0d: PUSH1 0x24
00002d0f: ADD
00002d10: PUSH2 0x05d2
00002d13: JUMP
00002d14: JUMPDEST
00002d15: PUSH1 0x00
00002d17: PUSH1 0x40
00002d19: MLOAD
00002d1a: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
00002d3b: DUP2
00002d3c: MSTORE
00002d3d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002d52: DUP5
00002d53: AND
00002d54: PUSH1 0x04
00002d56: DUP3
00002d57: ADD
00002d58: MSTORE
00002d59: DUP3
00002d5a: PUSH1 0x24
00002d5c: DUP3
00002d5d: ADD
00002d5e: MSTORE
00002d5f: PUSH1 0x20
00002d61: PUSH1 0x00
00002d63: PUSH1 0x44
00002d65: DUP4
00002d66: PUSH1 0x00
00002d68: DUP10
00002d69: GAS
00002d6a: CALL
00002d6b: RETURNDATASIZE
00002d6c: ISZERO
00002d6d: PUSH1 0x1f
00002d6f: RETURNDATASIZE
00002d70: GT
00002d71: PUSH1 0x01
00002d73: PUSH1 0x00
00002d75: MLOAD
00002d76: EQ
00002d77: AND
00002d78: OR
00002d79: AND
00002d7a: SWAP2
00002d7b: POP
00002d7c: POP
00002d7d: DUP1
00002d7e: PUSH2 0x087c
00002d81: JUMPI
00002d82: PUSH1 0x40
00002d84: MLOAD
00002d85: PUSH32 0xdee51a8a00000000000000000000000000000000000000000000000000000000
00002da6: DUP2
00002da7: MSTORE
00002da8: PUSH3 0x01155a
00002dac: PUSH1 0x04
00002dae: DUP3
00002daf: ADD
00002db0: MSTORE
00002db1: PUSH1 0x24
00002db3: ADD
00002db4: PUSH2 0x05d2
00002db7: JUMP
00002db8: JUMPDEST
00002db9: PUSH1 0x33
00002dbb: DUP1
00002dbc: SLOAD
00002dbd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002dd2: DUP4
00002dd3: DUP2
00002dd4: AND
00002dd5: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00002df6: DUP4
00002df7: AND
00002df8: DUP2
00002df9: OR
00002dfa: SWAP1
00002dfb: SWAP4
00002dfc: SSTORE
00002dfd: PUSH1 0x40
00002dff: MLOAD
00002e00: SWAP2
00002e01: AND
00002e02: SWAP2
00002e03: SWAP1
00002e04: DUP3
00002e05: SWAP1
00002e06: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00002e27: SWAP1
00002e28: PUSH1 0x00
00002e2a: SWAP1
00002e2b: LOG3
00002e2c: POP
00002e2d: POP
00002e2e: JUMP
00002e2f: JUMPDEST
00002e30: PUSH1 0x00
00002e32: PUSH2 0x2ab8
00002e35: DUP4
00002e36: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e4b: DUP5
00002e4c: AND
00002e4d: PUSH2 0x3174
00002e50: JUMP
00002e51: JUMPDEST
00002e52: PUSH1 0x00
00002e54: PUSH2 0x2abb
00002e57: DUP3
00002e58: SLOAD
00002e59: SWAP1
00002e5a: JUMP
00002e5b: JUMPDEST
00002e5c: PUSH1 0x33
00002e5e: SLOAD
00002e5f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e74: AND
00002e75: CALLER
00002e76: EQ
00002e77: PUSH2 0x2edc
00002e7a: JUMPI
00002e7b: PUSH1 0x40
00002e7d: MLOAD
00002e7e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002e9f: DUP2
00002ea0: MSTORE
00002ea1: PUSH1 0x20
00002ea3: PUSH1 0x04
00002ea5: DUP3
00002ea6: ADD
00002ea7: DUP2
00002ea8: SWAP1
00002ea9: MSTORE
00002eaa: PUSH1 0x24
00002eac: DUP3
00002ead: ADD
00002eae: MSTORE
00002eaf: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00002ed0: PUSH1 0x44
00002ed2: DUP3
00002ed3: ADD
00002ed4: MSTORE
00002ed5: PUSH1 0x64
00002ed7: ADD
00002ed8: PUSH2 0x05d2
00002edb: JUMP
00002edc: JUMPDEST
00002edd: JUMP
00002ede: JUMPDEST
00002edf: PUSH1 0x00
00002ee1: PUSH2 0x2ab8
00002ee4: DUP4
00002ee5: DUP4
00002ee6: PUSH2 0x3267
00002ee9: JUMP
00002eea: JUMPDEST
00002eeb: PUSH1 0x00
00002eed: PUSH2 0x2f4c
00002ef0: DUP3
00002ef1: PUSH1 0x40
00002ef3: MLOAD
00002ef4: DUP1
00002ef5: PUSH1 0x40
00002ef7: ADD
00002ef8: PUSH1 0x40
00002efa: MSTORE
00002efb: DUP1
00002efc: PUSH1 0x20
00002efe: DUP2
00002eff: MSTORE
00002f00: PUSH1 0x20
00002f02: ADD
00002f03: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00002f24: DUP2
00002f25: MSTORE
00002f26: POP
00002f27: DUP6
00002f28: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f3d: AND
00002f3e: PUSH2 0x3291
00002f41: SWAP1
00002f42: SWAP3
00002f43: SWAP2
00002f44: SWAP1
00002f45: PUSH4 0xffffffff
00002f4a: AND
00002f4b: JUMP
00002f4c: JUMPDEST
00002f4d: DUP1
00002f4e: MLOAD
00002f4f: SWAP1
00002f50: SWAP2
00002f51: POP
00002f52: ISZERO
00002f53: PUSH2 0x22ee
00002f56: JUMPI
00002f57: DUP1
00002f58: DUP1
00002f59: PUSH1 0x20
00002f5b: ADD
00002f5c: SWAP1
00002f5d: MLOAD
00002f5e: DUP2
00002f5f: ADD
00002f60: SWAP1
00002f61: PUSH2 0x2f6a
00002f64: SWAP2
00002f65: SWAP1
00002f66: PUSH2 0x4109
00002f69: JUMP
00002f6a: JUMPDEST
00002f6b: PUSH2 0x22ee
00002f6e: JUMPI
00002f6f: PUSH1 0x40
00002f71: MLOAD
00002f72: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002f93: DUP2
00002f94: MSTORE
00002f95: PUSH1 0x20
00002f97: PUSH1 0x04
00002f99: DUP3
00002f9a: ADD
00002f9b: MSTORE
00002f9c: PUSH1 0x2a
00002f9e: PUSH1 0x24
00002fa0: DUP3
00002fa1: ADD
00002fa2: MSTORE
00002fa3: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
00002fc4: PUSH1 0x44
00002fc6: DUP3
00002fc7: ADD
00002fc8: MSTORE
00002fc9: PUSH32 0x6f74207375636365656400000000000000000000000000000000000000000000
00002fea: PUSH1 0x64
00002fec: DUP3
00002fed: ADD
00002fee: MSTORE
00002fef: PUSH1 0x84
00002ff1: ADD
00002ff2: PUSH2 0x05d2
00002ff5: JUMP
00002ff6: JUMPDEST
00002ff7: PUSH1 0x00
00002ff9: DUP2
00002ffa: DUP2
00002ffb: MSTORE
00002ffc: PUSH1 0x01
00002ffe: DUP4
00002fff: ADD
00003000: PUSH1 0x20
00003002: MSTORE
00003003: PUSH1 0x40
00003005: DUP2
00003006: KECCAK256
00003007: SLOAD
00003008: PUSH2 0x303d
0000300b: JUMPI
0000300c: POP
0000300d: DUP2
0000300e: SLOAD
0000300f: PUSH1 0x01
00003011: DUP2
00003012: DUP2
00003013: ADD
00003014: DUP5
00003015: SSTORE
00003016: PUSH1 0x00
00003018: DUP5
00003019: DUP2
0000301a: MSTORE
0000301b: PUSH1 0x20
0000301d: DUP1
0000301e: DUP3
0000301f: KECCAK256
00003020: SWAP1
00003021: SWAP4
00003022: ADD
00003023: DUP5
00003024: SWAP1
00003025: SSTORE
00003026: DUP5
00003027: SLOAD
00003028: DUP5
00003029: DUP3
0000302a: MSTORE
0000302b: DUP3
0000302c: DUP7
0000302d: ADD
0000302e: SWAP1
0000302f: SWAP4
00003030: MSTORE
00003031: PUSH1 0x40
00003033: SWAP1
00003034: KECCAK256
00003035: SWAP2
00003036: SWAP1
00003037: SWAP2
00003038: SSTORE
00003039: PUSH2 0x2abb
0000303c: JUMP
0000303d: JUMPDEST
0000303e: POP
0000303f: PUSH1 0x00
00003041: PUSH2 0x2abb
00003044: JUMP
00003045: JUMPDEST
00003046: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000305b: DUP2
0000305c: AND
0000305d: EXTCODESIZE
0000305e: PUSH2 0x30e9
00003061: JUMPI
00003062: PUSH1 0x40
00003064: MLOAD
00003065: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003086: DUP2
00003087: MSTORE
00003088: PUSH1 0x20
0000308a: PUSH1 0x04
0000308c: DUP3
0000308d: ADD
0000308e: MSTORE
0000308f: PUSH1 0x2d
00003091: PUSH1 0x24
00003093: DUP3
00003094: ADD
00003095: MSTORE
00003096: PUSH32 0x455243313936373a206e657720696d706c656d656e746174696f6e206973206e
000030b7: PUSH1 0x44
000030b9: DUP3
000030ba: ADD
000030bb: MSTORE
000030bc: PUSH32 0x6f74206120636f6e747261637400000000000000000000000000000000000000
000030dd: PUSH1 0x64
000030df: DUP3
000030e0: ADD
000030e1: MSTORE
000030e2: PUSH1 0x84
000030e4: ADD
000030e5: PUSH2 0x05d2
000030e8: JUMP
000030e9: JUMPDEST
000030ea: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
0000310b: DUP1
0000310c: SLOAD
0000310d: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
0000312e: AND
0000312f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003144: SWAP3
00003145: SWAP1
00003146: SWAP3
00003147: AND
00003148: SWAP2
00003149: SWAP1
0000314a: SWAP2
0000314b: OR
0000314c: SWAP1
0000314d: SSTORE
0000314e: JUMP
0000314f: JUMPDEST
00003150: PUSH2 0x3158
00003153: DUP4
00003154: PUSH2 0x32a8
00003157: JUMP
00003158: JUMPDEST
00003159: PUSH1 0x00
0000315b: DUP3
0000315c: MLOAD
0000315d: GT
0000315e: DUP1
0000315f: PUSH2 0x3165
00003162: JUMPI
00003163: POP
00003164: DUP1
00003165: JUMPDEST
00003166: ISZERO
00003167: PUSH2 0x22ee
0000316a: JUMPI
0000316b: PUSH2 0x087c
0000316e: DUP4
0000316f: DUP4
00003170: PUSH2 0x32f5
00003173: JUMP
00003174: JUMPDEST
00003175: PUSH1 0x00
00003177: DUP2
00003178: DUP2
00003179: MSTORE
0000317a: PUSH1 0x01
0000317c: DUP4
0000317d: ADD
0000317e: PUSH1 0x20
00003180: MSTORE
00003181: PUSH1 0x40
00003183: DUP2
00003184: KECCAK256
00003185: SLOAD
00003186: DUP1
00003187: ISZERO
00003188: PUSH2 0x325d
0000318b: JUMPI
0000318c: PUSH1 0x00
0000318e: PUSH2 0x3198
00003191: PUSH1 0x01
00003193: DUP4
00003194: PUSH2 0x3f37
00003197: JUMP
00003198: JUMPDEST
00003199: DUP6
0000319a: SLOAD
0000319b: SWAP1
0000319c: SWAP2
0000319d: POP
0000319e: PUSH1 0x00
000031a0: SWAP1
000031a1: PUSH2 0x31ac
000031a4: SWAP1
000031a5: PUSH1 0x01
000031a7: SWAP1
000031a8: PUSH2 0x3f37
000031ab: JUMP
000031ac: JUMPDEST
000031ad: SWAP1
000031ae: POP
000031af: DUP2
000031b0: DUP2
000031b1: EQ
000031b2: PUSH2 0x3211
000031b5: JUMPI
000031b6: PUSH1 0x00
000031b8: DUP7
000031b9: PUSH1 0x00
000031bb: ADD
000031bc: DUP3
000031bd: DUP2
000031be: SLOAD
000031bf: DUP2
000031c0: LT
000031c1: PUSH2 0x31cc
000031c4: JUMPI
000031c5: PUSH2 0x31cc
000031c8: PUSH2 0x3e88
000031cb: JUMP
000031cc: JUMPDEST
000031cd: SWAP1
000031ce: PUSH1 0x00
000031d0: MSTORE
000031d1: PUSH1 0x20
000031d3: PUSH1 0x00
000031d5: KECCAK256
000031d6: ADD
000031d7: SLOAD
000031d8: SWAP1
000031d9: POP
000031da: DUP1
000031db: DUP8
000031dc: PUSH1 0x00
000031de: ADD
000031df: DUP5
000031e0: DUP2
000031e1: SLOAD
000031e2: DUP2
000031e3: LT
000031e4: PUSH2 0x31ef
000031e7: JUMPI
000031e8: PUSH2 0x31ef
000031eb: PUSH2 0x3e88
000031ee: JUMP
000031ef: JUMPDEST
000031f0: PUSH1 0x00
000031f2: SWAP2
000031f3: DUP3
000031f4: MSTORE
000031f5: PUSH1 0x20
000031f7: DUP1
000031f8: DUP4
000031f9: KECCAK256
000031fa: SWAP1
000031fb: SWAP2
000031fc: ADD
000031fd: SWAP3
000031fe: SWAP1
000031ff: SWAP3
00003200: SSTORE
00003201: SWAP2
00003202: DUP3
00003203: MSTORE
00003204: PUSH1 0x01
00003206: DUP9
00003207: ADD
00003208: SWAP1
00003209: MSTORE
0000320a: PUSH1 0x40
0000320c: SWAP1
0000320d: KECCAK256
0000320e: DUP4
0000320f: SWAP1
00003210: SSTORE
00003211: JUMPDEST
00003212: DUP6
00003213: SLOAD
00003214: DUP7
00003215: SWAP1
00003216: DUP1
00003217: PUSH2 0x3222
0000321a: JUMPI
0000321b: PUSH2 0x3222
0000321e: PUSH2 0x4126
00003221: JUMP
00003222: JUMPDEST
00003223: PUSH1 0x01
00003225: SWAP1
00003226: SUB
00003227: DUP2
00003228: DUP2
00003229: SWAP1
0000322a: PUSH1 0x00
0000322c: MSTORE
0000322d: PUSH1 0x20
0000322f: PUSH1 0x00
00003231: KECCAK256
00003232: ADD
00003233: PUSH1 0x00
00003235: SWAP1
00003236: SSTORE
00003237: SWAP1
00003238: SSTORE
00003239: DUP6
0000323a: PUSH1 0x01
0000323c: ADD
0000323d: PUSH1 0x00
0000323f: DUP7
00003240: DUP2
00003241: MSTORE
00003242: PUSH1 0x20
00003244: ADD
00003245: SWAP1
00003246: DUP2
00003247: MSTORE
00003248: PUSH1 0x20
0000324a: ADD
0000324b: PUSH1 0x00
0000324d: KECCAK256
0000324e: PUSH1 0x00
00003250: SWAP1
00003251: SSTORE
00003252: PUSH1 0x01
00003254: SWAP4
00003255: POP
00003256: POP
00003257: POP
00003258: POP
00003259: PUSH2 0x2abb
0000325c: JUMP
0000325d: JUMPDEST
0000325e: PUSH1 0x00
00003260: SWAP2
00003261: POP
00003262: POP
00003263: PUSH2 0x2abb
00003266: JUMP
00003267: JUMPDEST
00003268: PUSH1 0x00
0000326a: DUP3
0000326b: PUSH1 0x00
0000326d: ADD
0000326e: DUP3
0000326f: DUP2
00003270: SLOAD
00003271: DUP2
00003272: LT
00003273: PUSH2 0x327e
00003276: JUMPI
00003277: PUSH2 0x327e
0000327a: PUSH2 0x3e88
0000327d: JUMP
0000327e: JUMPDEST
0000327f: SWAP1
00003280: PUSH1 0x00
00003282: MSTORE
00003283: PUSH1 0x20
00003285: PUSH1 0x00
00003287: KECCAK256
00003288: ADD
00003289: SLOAD
0000328a: SWAP1
0000328b: POP
0000328c: SWAP3
0000328d: SWAP2
0000328e: POP
0000328f: POP
00003290: JUMP
00003291: JUMPDEST
00003292: PUSH1 0x60
00003294: PUSH2 0x32a0
00003297: DUP5
00003298: DUP5
00003299: PUSH1 0x00
0000329b: DUP6
0000329c: PUSH2 0x331a
0000329f: JUMP
000032a0: JUMPDEST
000032a1: SWAP5
000032a2: SWAP4
000032a3: POP
000032a4: POP
000032a5: POP
000032a6: POP
000032a7: JUMP
000032a8: JUMPDEST
000032a9: PUSH2 0x32b1
000032ac: DUP2
000032ad: PUSH2 0x3045
000032b0: JUMP
000032b1: JUMPDEST
000032b2: PUSH1 0x40
000032b4: MLOAD
000032b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000032ca: DUP3
000032cb: AND
000032cc: SWAP1
000032cd: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b
000032ee: SWAP1
000032ef: PUSH1 0x00
000032f1: SWAP1
000032f2: LOG2
000032f3: POP
000032f4: JUMP
000032f5: JUMPDEST
000032f6: PUSH1 0x60
000032f8: PUSH2 0x2ab8
000032fb: DUP4
000032fc: DUP4
000032fd: PUSH1 0x40
000032ff: MLOAD
00003300: DUP1
00003301: PUSH1 0x60
00003303: ADD
00003304: PUSH1 0x40
00003306: MSTORE
00003307: DUP1
00003308: PUSH1 0x27
0000330a: DUP2
0000330b: MSTORE
0000330c: PUSH1 0x20
0000330e: ADD
0000330f: PUSH2 0x4185
00003312: PUSH1 0x27
00003314: SWAP2
00003315: CODECOPY
00003316: PUSH2 0x3433
00003319: JUMP
0000331a: JUMPDEST
0000331b: PUSH1 0x60
0000331d: DUP3
0000331e: SELFBALANCE
0000331f: LT
00003320: ISZERO
00003321: PUSH2 0x33ac
00003324: JUMPI
00003325: PUSH1 0x40
00003327: MLOAD
00003328: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003349: DUP2
0000334a: MSTORE
0000334b: PUSH1 0x20
0000334d: PUSH1 0x04
0000334f: DUP3
00003350: ADD
00003351: MSTORE
00003352: PUSH1 0x26
00003354: PUSH1 0x24
00003356: DUP3
00003357: ADD
00003358: MSTORE
00003359: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f
0000337a: PUSH1 0x44
0000337c: DUP3
0000337d: ADD
0000337e: MSTORE
0000337f: PUSH32 0x722063616c6c0000000000000000000000000000000000000000000000000000
000033a0: PUSH1 0x64
000033a2: DUP3
000033a3: ADD
000033a4: MSTORE
000033a5: PUSH1 0x84
000033a7: ADD
000033a8: PUSH2 0x05d2
000033ab: JUMP
000033ac: JUMPDEST
000033ad: PUSH1 0x00
000033af: DUP1
000033b0: DUP7
000033b1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000033c6: AND
000033c7: DUP6
000033c8: DUP8
000033c9: PUSH1 0x40
000033cb: MLOAD
000033cc: PUSH2 0x33d5
000033cf: SWAP2
000033d0: SWAP1
000033d1: PUSH2 0x4155
000033d4: JUMP
000033d5: JUMPDEST
000033d6: PUSH1 0x00
000033d8: PUSH1 0x40
000033da: MLOAD
000033db: DUP1
000033dc: DUP4
000033dd: SUB
000033de: DUP2
000033df: DUP6
000033e0: DUP8
000033e1: GAS
000033e2: CALL
000033e3: SWAP3
000033e4: POP
000033e5: POP
000033e6: POP
000033e7: RETURNDATASIZE
000033e8: DUP1
000033e9: PUSH1 0x00
000033eb: DUP2
000033ec: EQ
000033ed: PUSH2 0x3412
000033f0: JUMPI
000033f1: PUSH1 0x40
000033f3: MLOAD
000033f4: SWAP2
000033f5: POP
000033f6: PUSH1 0x1f
000033f8: NOT
000033f9: PUSH1 0x3f
000033fb: RETURNDATASIZE
000033fc: ADD
000033fd: AND
000033fe: DUP3
000033ff: ADD
00003400: PUSH1 0x40
00003402: MSTORE
00003403: RETURNDATASIZE
00003404: DUP3
00003405: MSTORE
00003406: RETURNDATASIZE
00003407: PUSH1 0x00
00003409: PUSH1 0x20
0000340b: DUP5
0000340c: ADD
0000340d: RETURNDATACOPY
0000340e: PUSH2 0x3417
00003411: JUMP
00003412: JUMPDEST
00003413: PUSH1 0x60
00003415: SWAP2
00003416: POP
00003417: JUMPDEST
00003418: POP
00003419: SWAP2
0000341a: POP
0000341b: SWAP2
0000341c: POP
0000341d: PUSH2 0x3428
00003420: DUP8
00003421: DUP4
00003422: DUP4
00003423: DUP8
00003424: PUSH2 0x34b8
00003427: JUMP
00003428: JUMPDEST
00003429: SWAP8
0000342a: SWAP7
0000342b: POP
0000342c: POP
0000342d: POP
0000342e: POP
0000342f: POP
00003430: POP
00003431: POP
00003432: JUMP
00003433: JUMPDEST
00003434: PUSH1 0x60
00003436: PUSH1 0x00
00003438: DUP1
00003439: DUP6
0000343a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000344f: AND
00003450: DUP6
00003451: PUSH1 0x40
00003453: MLOAD
00003454: PUSH2 0x345d
00003457: SWAP2
00003458: SWAP1
00003459: PUSH2 0x4155
0000345c: JUMP
0000345d: JUMPDEST
0000345e: PUSH1 0x00
00003460: PUSH1 0x40
00003462: MLOAD
00003463: DUP1
00003464: DUP4
00003465: SUB
00003466: DUP2
00003467: DUP6
00003468: GAS
00003469: DELEGATECALL
0000346a: SWAP2
0000346b: POP
0000346c: POP
0000346d: RETURNDATASIZE
0000346e: DUP1
0000346f: PUSH1 0x00
00003471: DUP2
00003472: EQ
00003473: PUSH2 0x3498
00003476: JUMPI
00003477: PUSH1 0x40
00003479: MLOAD
0000347a: SWAP2
0000347b: POP
0000347c: PUSH1 0x1f
0000347e: NOT
0000347f: PUSH1 0x3f
00003481: RETURNDATASIZE
00003482: ADD
00003483: AND
00003484: DUP3
00003485: ADD
00003486: PUSH1 0x40
00003488: MSTORE
00003489: RETURNDATASIZE
0000348a: DUP3
0000348b: MSTORE
0000348c: RETURNDATASIZE
0000348d: PUSH1 0x00
0000348f: PUSH1 0x20
00003491: DUP5
00003492: ADD
00003493: RETURNDATACOPY
00003494: PUSH2 0x349d
00003497: JUMP
00003498: JUMPDEST
00003499: PUSH1 0x60
0000349b: SWAP2
0000349c: POP
0000349d: JUMPDEST
0000349e: POP
0000349f: SWAP2
000034a0: POP
000034a1: SWAP2
000034a2: POP
000034a3: PUSH2 0x34ae
000034a6: DUP7
000034a7: DUP4
000034a8: DUP4
000034a9: DUP8
000034aa: PUSH2 0x34b8
000034ad: JUMP
000034ae: JUMPDEST
000034af: SWAP7
000034b0: SWAP6
000034b1: POP
000034b2: POP
000034b3: POP
000034b4: POP
000034b5: POP
000034b6: POP
000034b7: JUMP
000034b8: JUMPDEST
000034b9: PUSH1 0x60
000034bb: DUP4
000034bc: ISZERO
000034bd: PUSH2 0x354e
000034c0: JUMPI
000034c1: DUP3
000034c2: MLOAD
000034c3: PUSH1 0x00
000034c5: SUB
000034c6: PUSH2 0x3547
000034c9: JUMPI
000034ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000034df: DUP6
000034e0: AND
000034e1: EXTCODESIZE
000034e2: PUSH2 0x3547
000034e5: JUMPI
000034e6: PUSH1 0x40
000034e8: MLOAD
000034e9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000350a: DUP2
0000350b: MSTORE
0000350c: PUSH1 0x20
0000350e: PUSH1 0x04
00003510: DUP3
00003511: ADD
00003512: MSTORE
00003513: PUSH1 0x1d
00003515: PUSH1 0x24
00003517: DUP3
00003518: ADD
00003519: MSTORE
0000351a: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
0000353b: PUSH1 0x44
0000353d: DUP3
0000353e: ADD
0000353f: MSTORE
00003540: PUSH1 0x64
00003542: ADD
00003543: PUSH2 0x05d2
00003546: JUMP
00003547: JUMPDEST
00003548: POP
00003549: DUP2
0000354a: PUSH2 0x32a0
0000354d: JUMP
0000354e: JUMPDEST
0000354f: PUSH2 0x32a0
00003552: DUP4
00003553: DUP4
00003554: DUP2
00003555: MLOAD
00003556: ISZERO
00003557: PUSH2 0x3563
0000355a: JUMPI
0000355b: DUP2
0000355c: MLOAD
0000355d: DUP1
0000355e: DUP4
0000355f: PUSH1 0x20
00003561: ADD
00003562: REVERT
00003563: JUMPDEST
00003564: DUP1
00003565: PUSH1 0x40
00003567: MLOAD
00003568: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003589: DUP2
0000358a: MSTORE
0000358b: PUSH1 0x04
0000358d: ADD
0000358e: PUSH2 0x05d2
00003591: SWAP2
00003592: SWAP1
00003593: PUSH2 0x4171
00003596: JUMP
00003597: JUMPDEST
00003598: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
000035b9: PUSH1 0x00
000035bb: MSTORE
000035bc: PUSH1 0x41
000035be: PUSH1 0x04
000035c0: MSTORE
000035c1: PUSH1 0x24
000035c3: PUSH1 0x00
000035c5: REVERT
000035c6: JUMPDEST
000035c7: PUSH1 0x40
000035c9: MLOAD
000035ca: PUSH2 0x01a0
000035cd: DUP2
000035ce: ADD
000035cf: PUSH8 0xffffffffffffffff
000035d8: DUP2
000035d9: GT
000035da: DUP3
000035db: DUP3
000035dc: LT
000035dd: OR
000035de: ISZERO
000035df: PUSH2 0x35ea
000035e2: JUMPI
000035e3: PUSH2 0x35ea
000035e6: PUSH2 0x3597
000035e9: JUMP
000035ea: JUMPDEST
000035eb: PUSH1 0x40
000035ed: MSTORE
000035ee: SWAP1
000035ef: JUMP
000035f0: JUMPDEST
000035f1: PUSH1 0x40
000035f3: MLOAD
000035f4: PUSH1 0x1f
000035f6: DUP3
000035f7: ADD
000035f8: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00003619: AND
0000361a: DUP2
0000361b: ADD
0000361c: PUSH8 0xffffffffffffffff
00003625: DUP2
00003626: GT
00003627: DUP3
00003628: DUP3
00003629: LT
0000362a: OR
0000362b: ISZERO
0000362c: PUSH2 0x3637
0000362f: JUMPI
00003630: PUSH2 0x3637
00003633: PUSH2 0x3597
00003636: JUMP
00003637: JUMPDEST
00003638: PUSH1 0x40
0000363a: MSTORE
0000363b: SWAP2
0000363c: SWAP1
0000363d: POP
0000363e: JUMP
0000363f: JUMPDEST
00003640: PUSH1 0x00
00003642: PUSH8 0xffffffffffffffff
0000364b: DUP3
0000364c: GT
0000364d: ISZERO
0000364e: PUSH2 0x3659
00003651: JUMPI
00003652: PUSH2 0x3659
00003655: PUSH2 0x3597
00003658: JUMP
00003659: JUMPDEST
0000365a: POP
0000365b: PUSH1 0x05
0000365d: SHL
0000365e: PUSH1 0x20
00003660: ADD
00003661: SWAP1
00003662: JUMP
00003663: JUMPDEST
00003664: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003679: DUP2
0000367a: AND
0000367b: DUP2
0000367c: EQ
0000367d: PUSH2 0x1224
00003680: JUMPI
00003681: PUSH1 0x00
00003683: DUP1
00003684: REVERT
00003685: JUMPDEST
00003686: PUSH1 0x00
00003688: DUP3
00003689: PUSH1 0x1f
0000368b: DUP4
0000368c: ADD
0000368d: SLT
0000368e: PUSH2 0x3696
00003691: JUMPI
00003692: PUSH1 0x00
00003694: DUP1
00003695: REVERT
00003696: JUMPDEST
00003697: DUP2
00003698: CALLDATALOAD
00003699: PUSH1 0x20
0000369b: PUSH2 0x36ab
0000369e: PUSH2 0x36a6
000036a1: DUP4
000036a2: PUSH2 0x363f
000036a5: JUMP
000036a6: JUMPDEST
000036a7: PUSH2 0x35f0
000036aa: JUMP
000036ab: JUMPDEST
000036ac: DUP3
000036ad: DUP2
000036ae: MSTORE
000036af: PUSH1 0x05
000036b1: SWAP3
000036b2: SWAP1
000036b3: SWAP3
000036b4: SHL
000036b5: DUP5
000036b6: ADD
000036b7: DUP2
000036b8: ADD
000036b9: SWAP2
000036ba: DUP2
000036bb: DUP2
000036bc: ADD
000036bd: SWAP1
000036be: DUP7
000036bf: DUP5
000036c0: GT
000036c1: ISZERO
000036c2: PUSH2 0x36ca
000036c5: JUMPI
000036c6: PUSH1 0x00
000036c8: DUP1
000036c9: REVERT
000036ca: JUMPDEST
000036cb: DUP3
000036cc: DUP7
000036cd: ADD
000036ce: JUMPDEST
000036cf: DUP5
000036d0: DUP2
000036d1: LT
000036d2: ISZERO
000036d3: PUSH2 0x36ee
000036d6: JUMPI
000036d7: DUP1
000036d8: CALLDATALOAD
000036d9: PUSH2 0x36e1
000036dc: DUP2
000036dd: PUSH2 0x3663
000036e0: JUMP
000036e1: JUMPDEST
000036e2: DUP4
000036e3: MSTORE
000036e4: SWAP2
000036e5: DUP4
000036e6: ADD
000036e7: SWAP2
000036e8: DUP4
000036e9: ADD
000036ea: PUSH2 0x36ce
000036ed: JUMP
000036ee: JUMPDEST
000036ef: POP
000036f0: SWAP7
000036f1: SWAP6
000036f2: POP
000036f3: POP
000036f4: POP
000036f5: POP
000036f6: POP
000036f7: POP
000036f8: JUMP
000036f9: JUMPDEST
000036fa: PUSH1 0x00
000036fc: DUP3
000036fd: PUSH1 0x1f
000036ff: DUP4
00003700: ADD
00003701: SLT
00003702: PUSH2 0x370a
00003705: JUMPI
00003706: PUSH1 0x00
00003708: DUP1
00003709: REVERT
0000370a: JUMPDEST
0000370b: DUP2
0000370c: CALLDATALOAD
0000370d: PUSH1 0x20
0000370f: PUSH2 0x371a
00003712: PUSH2 0x36a6
00003715: DUP4
00003716: PUSH2 0x363f
00003719: JUMP
0000371a: JUMPDEST
0000371b: DUP3
0000371c: DUP2
0000371d: MSTORE
0000371e: PUSH1 0x05
00003720: SWAP3
00003721: SWAP1
00003722: SWAP3
00003723: SHL
00003724: DUP5
00003725: ADD
00003726: DUP2
00003727: ADD
00003728: SWAP2
00003729: DUP2
0000372a: DUP2
0000372b: ADD
0000372c: SWAP1
0000372d: DUP7
0000372e: DUP5
0000372f: GT
00003730: ISZERO
00003731: PUSH2 0x3739
00003734: JUMPI
00003735: PUSH1 0x00
00003737: DUP1
00003738: REVERT
00003739: JUMPDEST
0000373a: DUP3
0000373b: DUP7
0000373c: ADD
0000373d: JUMPDEST
0000373e: DUP5
0000373f: DUP2
00003740: LT
00003741: ISZERO
00003742: PUSH2 0x36ee
00003745: JUMPI
00003746: DUP1
00003747: CALLDATALOAD
00003748: DUP4
00003749: MSTORE
0000374a: SWAP2
0000374b: DUP4
0000374c: ADD
0000374d: SWAP2
0000374e: DUP4
0000374f: ADD
00003750: PUSH2 0x373d
00003753: JUMP
00003754: JUMPDEST
00003755: PUSH1 0x00
00003757: DUP1
00003758: PUSH1 0x00
0000375a: PUSH1 0x60
0000375c: DUP5
0000375d: DUP7
0000375e: SUB
0000375f: SLT
00003760: ISZERO
00003761: PUSH2 0x3769
00003764: JUMPI
00003765: PUSH1 0x00
00003767: DUP1
00003768: REVERT
00003769: JUMPDEST
0000376a: DUP4
0000376b: CALLDATALOAD
0000376c: PUSH8 0xffffffffffffffff
00003775: DUP1
00003776: DUP3
00003777: GT
00003778: ISZERO
00003779: PUSH2 0x3781
0000377c: JUMPI
0000377d: PUSH1 0x00
0000377f: DUP1
00003780: REVERT
00003781: JUMPDEST
00003782: PUSH2 0x378d
00003785: DUP8
00003786: DUP4
00003787: DUP9
00003788: ADD
00003789: PUSH2 0x3685
0000378c: JUMP
0000378d: JUMPDEST
0000378e: SWAP5
0000378f: POP
00003790: PUSH1 0x20
00003792: DUP7
00003793: ADD
00003794: CALLDATALOAD
00003795: SWAP2
00003796: POP
00003797: DUP1
00003798: DUP3
00003799: GT
0000379a: ISZERO
0000379b: PUSH2 0x37a3
0000379e: JUMPI
0000379f: PUSH1 0x00
000037a1: DUP1
000037a2: REVERT
000037a3: JUMPDEST
000037a4: PUSH2 0x37af
000037a7: DUP8
000037a8: DUP4
000037a9: DUP9
000037aa: ADD
000037ab: PUSH2 0x3685
000037ae: JUMP
000037af: JUMPDEST
000037b0: SWAP4
000037b1: POP
000037b2: PUSH1 0x40
000037b4: DUP7
000037b5: ADD
000037b6: CALLDATALOAD
000037b7: SWAP2
000037b8: POP
000037b9: DUP1
000037ba: DUP3
000037bb: GT
000037bc: ISZERO
000037bd: PUSH2 0x37c5
000037c0: JUMPI
000037c1: PUSH1 0x00
000037c3: DUP1
000037c4: REVERT
000037c5: JUMPDEST
000037c6: POP
000037c7: PUSH2 0x37d2
000037ca: DUP7
000037cb: DUP3
000037cc: DUP8
000037cd: ADD
000037ce: PUSH2 0x36f9
000037d1: JUMP
000037d2: JUMPDEST
000037d3: SWAP2
000037d4: POP
000037d5: POP
000037d6: SWAP3
000037d7: POP
000037d8: SWAP3
000037d9: POP
000037da: SWAP3
000037db: JUMP
000037dc: JUMPDEST
000037dd: DUP1
000037de: ISZERO
000037df: ISZERO
000037e0: DUP2
000037e1: EQ
000037e2: PUSH2 0x1224
000037e5: JUMPI
000037e6: PUSH1 0x00
000037e8: DUP1
000037e9: REVERT
000037ea: JUMPDEST
000037eb: PUSH1 0x00
000037ed: DUP1
000037ee: PUSH1 0x40
000037f0: DUP4
000037f1: DUP6
000037f2: SUB
000037f3: SLT
000037f4: ISZERO
000037f5: PUSH2 0x37fd
000037f8: JUMPI
000037f9: PUSH1 0x00
000037fb: DUP1
000037fc: REVERT
000037fd: JUMPDEST
000037fe: DUP3
000037ff: CALLDATALOAD
00003800: PUSH2 0x3808
00003803: DUP2
00003804: PUSH2 0x3663
00003807: JUMP
00003808: JUMPDEST
00003809: SWAP2
0000380a: POP
0000380b: PUSH1 0x20
0000380d: DUP4
0000380e: ADD
0000380f: CALLDATALOAD
00003810: PUSH2 0x3818
00003813: DUP2
00003814: PUSH2 0x37dc
00003817: JUMP
00003818: JUMPDEST
00003819: DUP1
0000381a: SWAP2
0000381b: POP
0000381c: POP
0000381d: SWAP3
0000381e: POP
0000381f: SWAP3
00003820: SWAP1
00003821: POP
00003822: JUMP
00003823: JUMPDEST
00003824: PUSH1 0x00
00003826: DUP1
00003827: PUSH1 0x40
00003829: DUP4
0000382a: DUP6
0000382b: SUB
0000382c: SLT
0000382d: ISZERO
0000382e: PUSH2 0x3836
00003831: JUMPI
00003832: PUSH1 0x00
00003834: DUP1
00003835: REVERT
00003836: JUMPDEST
00003837: DUP3
00003838: CALLDATALOAD
00003839: PUSH2 0x3841
0000383c: DUP2
0000383d: PUSH2 0x3663
00003840: JUMP
00003841: JUMPDEST
00003842: SWAP5
00003843: PUSH1 0x20
00003845: SWAP4
00003846: SWAP1
00003847: SWAP4
00003848: ADD
00003849: CALLDATALOAD
0000384a: SWAP4
0000384b: POP
0000384c: POP
0000384d: POP
0000384e: JUMP
0000384f: JUMPDEST
00003850: PUSH1 0x00
00003852: PUSH1 0x20
00003854: DUP3
00003855: DUP5
00003856: SUB
00003857: SLT
00003858: ISZERO
00003859: PUSH2 0x3861
0000385c: JUMPI
0000385d: PUSH1 0x00
0000385f: DUP1
00003860: REVERT
00003861: JUMPDEST
00003862: DUP2
00003863: CALLDATALOAD
00003864: PUSH2 0x386c
00003867: DUP2
00003868: PUSH2 0x3663
0000386b: JUMP
0000386c: JUMPDEST
0000386d: SWAP4
0000386e: SWAP3
0000386f: POP
00003870: POP
00003871: POP
00003872: JUMP
00003873: JUMPDEST
00003874: PUSH1 0x00
00003876: DUP1
00003877: DUP4
00003878: PUSH1 0x1f
0000387a: DUP5
0000387b: ADD
0000387c: SLT
0000387d: PUSH2 0x3885
00003880: JUMPI
00003881: PUSH1 0x00
00003883: DUP1
00003884: REVERT
00003885: JUMPDEST
00003886: POP
00003887: DUP2
00003888: CALLDATALOAD
00003889: PUSH8 0xffffffffffffffff
00003892: DUP2
00003893: GT
00003894: ISZERO
00003895: PUSH2 0x389d
00003898: JUMPI
00003899: PUSH1 0x00
0000389b: DUP1
0000389c: REVERT
0000389d: JUMPDEST
0000389e: PUSH1 0x20
000038a0: DUP4
000038a1: ADD
000038a2: SWAP2
000038a3: POP
000038a4: DUP4
000038a5: PUSH1 0x20
000038a7: DUP3
000038a8: PUSH1 0x05
000038aa: SHL
000038ab: DUP6
000038ac: ADD
000038ad: ADD
000038ae: GT
000038af: ISZERO
000038b0: PUSH2 0x38b8
000038b3: JUMPI
000038b4: PUSH1 0x00
000038b6: DUP1
000038b7: REVERT
000038b8: JUMPDEST
000038b9: SWAP3
000038ba: POP
000038bb: SWAP3
000038bc: SWAP1
000038bd: POP
000038be: JUMP
000038bf: JUMPDEST
000038c0: PUSH1 0x00
000038c2: DUP1
000038c3: PUSH1 0x00
000038c5: DUP1
000038c6: PUSH1 0x40
000038c8: DUP6
000038c9: DUP8
000038ca: SUB
000038cb: SLT
000038cc: ISZERO
000038cd: PUSH2 0x38d5
000038d0: JUMPI
000038d1: PUSH1 0x00
000038d3: DUP1
000038d4: REVERT
000038d5: JUMPDEST
000038d6: DUP5
000038d7: CALLDATALOAD
000038d8: PUSH8 0xffffffffffffffff
000038e1: DUP1
000038e2: DUP3
000038e3: GT
000038e4: ISZERO
000038e5: PUSH2 0x38ed
000038e8: JUMPI
000038e9: PUSH1 0x00
000038eb: DUP1
000038ec: REVERT
000038ed: JUMPDEST
000038ee: PUSH2 0x38f9
000038f1: DUP9
000038f2: DUP4
000038f3: DUP10
000038f4: ADD
000038f5: PUSH2 0x3873
000038f8: JUMP
000038f9: JUMPDEST
000038fa: SWAP1
000038fb: SWAP7
000038fc: POP
000038fd: SWAP5
000038fe: POP
000038ff: PUSH1 0x20
00003901: DUP8
00003902: ADD
00003903: CALLDATALOAD
00003904: SWAP2
00003905: POP
00003906: DUP1
00003907: DUP3
00003908: GT
00003909: ISZERO
0000390a: PUSH2 0x3912
0000390d: JUMPI
0000390e: PUSH1 0x00
00003910: DUP1
00003911: REVERT
00003912: JUMPDEST
00003913: POP
00003914: PUSH2 0x391f
00003917: DUP8
00003918: DUP3
00003919: DUP9
0000391a: ADD
0000391b: PUSH2 0x3873
0000391e: JUMP
0000391f: JUMPDEST
00003920: SWAP6
00003921: SWAP9
00003922: SWAP5
00003923: SWAP8
00003924: POP
00003925: SWAP6
00003926: POP
00003927: POP
00003928: POP
00003929: POP
0000392a: JUMP
0000392b: JUMPDEST
0000392c: PUSH1 0x00
0000392e: DUP1
0000392f: PUSH1 0x00
00003931: DUP1
00003932: PUSH1 0x00
00003934: DUP1
00003935: PUSH1 0xc0
00003937: DUP8
00003938: DUP10
00003939: SUB
0000393a: SLT
0000393b: ISZERO
0000393c: PUSH2 0x3944
0000393f: JUMPI
00003940: PUSH1 0x00
00003942: DUP1
00003943: REVERT
00003944: JUMPDEST
00003945: DUP7
00003946: CALLDATALOAD
00003947: PUSH2 0x394f
0000394a: DUP2
0000394b: PUSH2 0x3663
0000394e: JUMP
0000394f: JUMPDEST
00003950: SWAP9
00003951: PUSH1 0x20
00003953: DUP9
00003954: ADD
00003955: CALLDATALOAD
00003956: SWAP9
00003957: POP
00003958: PUSH1 0x40
0000395a: DUP9
0000395b: ADD
0000395c: CALLDATALOAD
0000395d: SWAP8
0000395e: PUSH1 0x60
00003960: DUP2
00003961: ADD
00003962: CALLDATALOAD
00003963: SWAP8
00003964: POP
00003965: PUSH1 0x80
00003967: DUP2
00003968: ADD
00003969: CALLDATALOAD
0000396a: SWAP7
0000396b: POP
0000396c: PUSH1 0xa0
0000396e: ADD
0000396f: CALLDATALOAD
00003970: SWAP5
00003971: POP
00003972: SWAP3
00003973: POP
00003974: POP
00003975: POP
00003976: JUMP
00003977: JUMPDEST
00003978: PUSH1 0x00
0000397a: PUSH8 0xffffffffffffffff
00003983: DUP4
00003984: GT
00003985: ISZERO
00003986: PUSH2 0x3991
00003989: JUMPI
0000398a: PUSH2 0x3991
0000398d: PUSH2 0x3597
00003990: JUMP
00003991: JUMPDEST
00003992: PUSH2 0x39c2
00003995: PUSH1 0x20
00003997: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
000039b8: PUSH1 0x1f
000039ba: DUP7
000039bb: ADD
000039bc: AND
000039bd: ADD
000039be: PUSH2 0x35f0
000039c1: JUMP
000039c2: JUMPDEST
000039c3: SWAP1
000039c4: POP
000039c5: DUP3
000039c6: DUP2
000039c7: MSTORE
000039c8: DUP4
000039c9: DUP4
000039ca: DUP4
000039cb: ADD
000039cc: GT
000039cd: ISZERO
000039ce: PUSH2 0x39d6
000039d1: JUMPI
000039d2: PUSH1 0x00
000039d4: DUP1
000039d5: REVERT
000039d6: JUMPDEST
000039d7: DUP3
000039d8: DUP3
000039d9: PUSH1 0x20
000039db: DUP4
000039dc: ADD
000039dd: CALLDATACOPY
000039de: PUSH1 0x00
000039e0: PUSH1 0x20
000039e2: DUP5
000039e3: DUP4
000039e4: ADD
000039e5: ADD
000039e6: MSTORE
000039e7: SWAP4
000039e8: SWAP3
000039e9: POP
000039ea: POP
000039eb: POP
000039ec: JUMP
000039ed: JUMPDEST
000039ee: PUSH1 0x00
000039f0: DUP1
000039f1: PUSH1 0x00
000039f3: DUP1
000039f4: PUSH1 0x80
000039f6: DUP6
000039f7: DUP8
000039f8: SUB
000039f9: SLT
000039fa: ISZERO
000039fb: PUSH2 0x3a03
000039fe: JUMPI
000039ff: PUSH1 0x00
00003a01: DUP1
00003a02: REVERT
00003a03: JUMPDEST
00003a04: DUP5
00003a05: CALLDATALOAD
00003a06: PUSH8 0xffffffffffffffff
00003a0f: DUP1
00003a10: DUP3
00003a11: GT
00003a12: ISZERO
00003a13: PUSH2 0x3a1b
00003a16: JUMPI
00003a17: PUSH1 0x00
00003a19: DUP1
00003a1a: REVERT
00003a1b: JUMPDEST
00003a1c: PUSH2 0x3a27
00003a1f: DUP9
00003a20: DUP4
00003a21: DUP10
00003a22: ADD
00003a23: PUSH2 0x3685
00003a26: JUMP
00003a27: JUMPDEST
00003a28: SWAP6
00003a29: POP
00003a2a: PUSH1 0x20
00003a2c: DUP8
00003a2d: ADD
00003a2e: CALLDATALOAD
00003a2f: SWAP2
00003a30: POP
00003a31: DUP1
00003a32: DUP3
00003a33: GT
00003a34: ISZERO
00003a35: PUSH2 0x3a3d
00003a38: JUMPI
00003a39: PUSH1 0x00
00003a3b: DUP1
00003a3c: REVERT
00003a3d: JUMPDEST
00003a3e: PUSH2 0x3a49
00003a41: DUP9
00003a42: DUP4
00003a43: DUP10
00003a44: ADD
00003a45: PUSH2 0x36f9
00003a48: JUMP
00003a49: JUMPDEST
00003a4a: SWAP5
00003a4b: POP
00003a4c: PUSH1 0x40
00003a4e: DUP8
00003a4f: ADD
00003a50: CALLDATALOAD
00003a51: SWAP2
00003a52: POP
00003a53: PUSH2 0x3a5b
00003a56: DUP3
00003a57: PUSH2 0x3663
00003a5a: JUMP
00003a5b: JUMPDEST
00003a5c: SWAP1
00003a5d: SWAP3
00003a5e: POP
00003a5f: PUSH1 0x60
00003a61: DUP7
00003a62: ADD
00003a63: CALLDATALOAD
00003a64: SWAP1
00003a65: DUP1
00003a66: DUP3
00003a67: GT
00003a68: ISZERO
00003a69: PUSH2 0x3a71
00003a6c: JUMPI
00003a6d: PUSH1 0x00
00003a6f: DUP1
00003a70: REVERT
00003a71: JUMPDEST
00003a72: POP
00003a73: DUP6
00003a74: ADD
00003a75: PUSH1 0x1f
00003a77: DUP2
00003a78: ADD
00003a79: DUP8
00003a7a: SGT
00003a7b: PUSH2 0x3a83
00003a7e: JUMPI
00003a7f: PUSH1 0x00
00003a81: DUP1
00003a82: REVERT
00003a83: JUMPDEST
00003a84: PUSH2 0x3a92
00003a87: DUP8
00003a88: DUP3
00003a89: CALLDATALOAD
00003a8a: PUSH1 0x20
00003a8c: DUP5
00003a8d: ADD
00003a8e: PUSH2 0x3977
00003a91: JUMP
00003a92: JUMPDEST
00003a93: SWAP2
00003a94: POP
00003a95: POP
00003a96: SWAP3
00003a97: SWAP6
00003a98: SWAP2
00003a99: SWAP5
00003a9a: POP
00003a9b: SWAP3
00003a9c: POP
00003a9d: JUMP
00003a9e: JUMPDEST
00003a9f: PUSH1 0x00
00003aa1: DUP1
00003aa2: PUSH1 0x00
00003aa4: DUP1
00003aa5: PUSH1 0x00
00003aa7: DUP1
00003aa8: PUSH1 0x00
00003aaa: DUP1
00003aab: PUSH1 0x00
00003aad: DUP1
00003aae: PUSH1 0x00
00003ab0: DUP1
00003ab1: PUSH1 0xc0
00003ab3: DUP14
00003ab4: DUP16
00003ab5: SUB
00003ab6: SLT
00003ab7: ISZERO
00003ab8: PUSH2 0x3ac0
00003abb: JUMPI
00003abc: PUSH1 0x00
00003abe: DUP1
00003abf: REVERT
00003ac0: JUMPDEST
00003ac1: PUSH8 0xffffffffffffffff
00003aca: DUP14
00003acb: CALLDATALOAD
00003acc: GT
00003acd: ISZERO
00003ace: PUSH2 0x3ad6
00003ad1: JUMPI
00003ad2: PUSH1 0x00
00003ad4: DUP1
00003ad5: REVERT
00003ad6: JUMPDEST
00003ad7: PUSH2 0x3ae3
00003ada: DUP15
00003adb: DUP15
00003adc: CALLDATALOAD
00003add: DUP16
00003ade: ADD
00003adf: PUSH2 0x3873
00003ae2: JUMP
00003ae3: JUMPDEST
00003ae4: SWAP1
00003ae5: SWAP13
00003ae6: POP
00003ae7: SWAP11
00003ae8: POP
00003ae9: PUSH8 0xffffffffffffffff
00003af2: PUSH1 0x20
00003af4: DUP15
00003af5: ADD
00003af6: CALLDATALOAD
00003af7: GT
00003af8: ISZERO
00003af9: PUSH2 0x3b01
00003afc: JUMPI
00003afd: PUSH1 0x00
00003aff: DUP1
00003b00: REVERT
00003b01: JUMPDEST
00003b02: PUSH2 0x3b11
00003b05: DUP15
00003b06: PUSH1 0x20
00003b08: DUP16
00003b09: ADD
00003b0a: CALLDATALOAD
00003b0b: DUP16
00003b0c: ADD
00003b0d: PUSH2 0x3873
00003b10: JUMP
00003b11: JUMPDEST
00003b12: SWAP1
00003b13: SWAP11
00003b14: POP
00003b15: SWAP9
00003b16: POP
00003b17: PUSH8 0xffffffffffffffff
00003b20: PUSH1 0x40
00003b22: DUP15
00003b23: ADD
00003b24: CALLDATALOAD
00003b25: GT
00003b26: ISZERO
00003b27: PUSH2 0x3b2f
00003b2a: JUMPI
00003b2b: PUSH1 0x00
00003b2d: DUP1
00003b2e: REVERT
00003b2f: JUMPDEST
00003b30: PUSH2 0x3b3f
00003b33: DUP15
00003b34: PUSH1 0x40
00003b36: DUP16
00003b37: ADD
00003b38: CALLDATALOAD
00003b39: DUP16
00003b3a: ADD
00003b3b: PUSH2 0x3873
00003b3e: JUMP
00003b3f: JUMPDEST
00003b40: SWAP1
00003b41: SWAP9
00003b42: POP
00003b43: SWAP7
00003b44: POP
00003b45: PUSH8 0xffffffffffffffff
00003b4e: PUSH1 0x60
00003b50: DUP15
00003b51: ADD
00003b52: CALLDATALOAD
00003b53: GT
00003b54: ISZERO
00003b55: PUSH2 0x3b5d
00003b58: JUMPI
00003b59: PUSH1 0x00
00003b5b: DUP1
00003b5c: REVERT
00003b5d: JUMPDEST
00003b5e: PUSH2 0x3b6d
00003b61: DUP15
00003b62: PUSH1 0x60
00003b64: DUP16
00003b65: ADD
00003b66: CALLDATALOAD
00003b67: DUP16
00003b68: ADD
00003b69: PUSH2 0x3873
00003b6c: JUMP
00003b6d: JUMPDEST
00003b6e: SWAP1
00003b6f: SWAP7
00003b70: POP
00003b71: SWAP5
00003b72: POP
00003b73: PUSH8 0xffffffffffffffff
00003b7c: PUSH1 0x80
00003b7e: DUP15
00003b7f: ADD
00003b80: CALLDATALOAD
00003b81: GT
00003b82: ISZERO
00003b83: PUSH2 0x3b8b
00003b86: JUMPI
00003b87: PUSH1 0x00
00003b89: DUP1
00003b8a: REVERT
00003b8b: JUMPDEST
00003b8c: PUSH2 0x3b9b
00003b8f: DUP15
00003b90: PUSH1 0x80
00003b92: DUP16
00003b93: ADD
00003b94: CALLDATALOAD
00003b95: DUP16
00003b96: ADD
00003b97: PUSH2 0x3873
00003b9a: JUMP
00003b9b: JUMPDEST
00003b9c: SWAP1
00003b9d: SWAP5
00003b9e: POP
00003b9f: SWAP3
00003ba0: POP
00003ba1: PUSH8 0xffffffffffffffff
00003baa: PUSH1 0xa0
00003bac: DUP15
00003bad: ADD
00003bae: CALLDATALOAD
00003baf: GT
00003bb0: ISZERO
00003bb1: PUSH2 0x3bb9
00003bb4: JUMPI
00003bb5: PUSH1 0x00
00003bb7: DUP1
00003bb8: REVERT
00003bb9: JUMPDEST
00003bba: PUSH2 0x3bc9
00003bbd: DUP15
00003bbe: PUSH1 0xa0
00003bc0: DUP16
00003bc1: ADD
00003bc2: CALLDATALOAD
00003bc3: DUP16
00003bc4: ADD
00003bc5: PUSH2 0x3873
00003bc8: JUMP
00003bc9: JUMPDEST
00003bca: DUP2
00003bcb: SWAP4
00003bcc: POP
00003bcd: DUP1
00003bce: SWAP3
00003bcf: POP
00003bd0: POP
00003bd1: POP
00003bd2: SWAP3
00003bd3: SWAP6
00003bd4: SWAP9
00003bd5: SWAP12
00003bd6: POP
00003bd7: SWAP3
00003bd8: SWAP6
00003bd9: SWAP9
00003bda: SWAP12
00003bdb: POP
00003bdc: SWAP3
00003bdd: SWAP6
00003bde: SWAP9
00003bdf: SWAP12
00003be0: JUMP
00003be1: JUMPDEST
00003be2: PUSH1 0x00
00003be4: DUP1
00003be5: PUSH1 0x40
00003be7: DUP4
00003be8: DUP6
00003be9: SUB
00003bea: SLT
00003beb: ISZERO
00003bec: PUSH2 0x3bf4
00003bef: JUMPI
00003bf0: PUSH1 0x00
00003bf2: DUP1
00003bf3: REVERT
00003bf4: JUMPDEST
00003bf5: DUP3
00003bf6: CALLDATALOAD
00003bf7: PUSH2 0x3bff
00003bfa: DUP2
00003bfb: PUSH2 0x3663
00003bfe: JUMP
00003bff: JUMPDEST
00003c00: SWAP2
00003c01: POP
00003c02: PUSH1 0x20
00003c04: DUP4
00003c05: ADD
00003c06: CALLDATALOAD
00003c07: PUSH8 0xffffffffffffffff
00003c10: DUP2
00003c11: GT
00003c12: ISZERO
00003c13: PUSH2 0x3c1b
00003c16: JUMPI
00003c17: PUSH1 0x00
00003c19: DUP1
00003c1a: REVERT
00003c1b: JUMPDEST
00003c1c: DUP4
00003c1d: ADD
00003c1e: PUSH1 0x1f
00003c20: DUP2
00003c21: ADD
00003c22: DUP6
00003c23: SGT
00003c24: PUSH2 0x3c2c
00003c27: JUMPI
00003c28: PUSH1 0x00
00003c2a: DUP1
00003c2b: REVERT
00003c2c: JUMPDEST
00003c2d: PUSH2 0x3c3b
00003c30: DUP6
00003c31: DUP3
00003c32: CALLDATALOAD
00003c33: PUSH1 0x20
00003c35: DUP5
00003c36: ADD
00003c37: PUSH2 0x3977
00003c3a: JUMP
00003c3b: JUMPDEST
00003c3c: SWAP2
00003c3d: POP
00003c3e: POP
00003c3f: SWAP3
00003c40: POP
00003c41: SWAP3
00003c42: SWAP1
00003c43: POP
00003c44: JUMP
00003c45: JUMPDEST
00003c46: PUSH1 0x00
00003c48: DUP1
00003c49: PUSH1 0x00
00003c4b: PUSH1 0x60
00003c4d: DUP5
00003c4e: DUP7
00003c4f: SUB
00003c50: SLT
00003c51: ISZERO
00003c52: PUSH2 0x3c5a
00003c55: JUMPI
00003c56: PUSH1 0x00
00003c58: DUP1
00003c59: REVERT
00003c5a: JUMPDEST
00003c5b: DUP4
00003c5c: CALLDATALOAD
00003c5d: PUSH8 0xffffffffffffffff
00003c66: DUP1
00003c67: DUP3
00003c68: GT
00003c69: ISZERO
00003c6a: PUSH2 0x3c72
00003c6d: JUMPI
00003c6e: PUSH1 0x00
00003c70: DUP1
00003c71: REVERT
00003c72: JUMPDEST
00003c73: PUSH2 0x3c7e
00003c76: DUP8
00003c77: DUP4
00003c78: DUP9
00003c79: ADD
00003c7a: PUSH2 0x3685
00003c7d: JUMP
00003c7e: JUMPDEST
00003c7f: SWAP5
00003c80: POP
00003c81: PUSH1 0x20
00003c83: DUP7
00003c84: ADD
00003c85: CALLDATALOAD
00003c86: SWAP2
00003c87: POP
00003c88: DUP1
00003c89: DUP3
00003c8a: GT
00003c8b: ISZERO
00003c8c: PUSH2 0x3c94
00003c8f: JUMPI
00003c90: PUSH1 0x00
00003c92: DUP1
00003c93: REVERT
00003c94: JUMPDEST
00003c95: POP
00003c96: PUSH2 0x3ca1
00003c99: DUP7
00003c9a: DUP3
00003c9b: DUP8
00003c9c: ADD
00003c9d: PUSH2 0x3685
00003ca0: JUMP
00003ca1: JUMPDEST
00003ca2: SWAP3
00003ca3: POP
00003ca4: POP
00003ca5: PUSH1 0x40
00003ca7: DUP5
00003ca8: ADD
00003ca9: CALLDATALOAD
00003caa: PUSH2 0x3cb2
00003cad: DUP2
00003cae: PUSH2 0x3663
00003cb1: JUMP
00003cb2: JUMPDEST
00003cb3: DUP1
00003cb4: SWAP2
00003cb5: POP
00003cb6: POP
00003cb7: SWAP3
00003cb8: POP
00003cb9: SWAP3
00003cba: POP
00003cbb: SWAP3
00003cbc: JUMP
00003cbd: JUMPDEST
00003cbe: PUSH1 0x00
00003cc0: DUP1
00003cc1: PUSH1 0x40
00003cc3: DUP4
00003cc4: DUP6
00003cc5: SUB
00003cc6: SLT
00003cc7: ISZERO
00003cc8: PUSH2 0x3cd0
00003ccb: JUMPI
00003ccc: PUSH1 0x00
00003cce: DUP1
00003ccf: REVERT
00003cd0: JUMPDEST
00003cd1: DUP3
00003cd2: CALLDATALOAD
00003cd3: PUSH8 0xffffffffffffffff
00003cdc: DUP1
00003cdd: DUP3
00003cde: GT
00003cdf: ISZERO
00003ce0: PUSH2 0x3ce8
00003ce3: JUMPI
00003ce4: PUSH1 0x00
00003ce6: DUP1
00003ce7: REVERT
00003ce8: JUMPDEST
00003ce9: PUSH2 0x3cf4
00003cec: DUP7
00003ced: DUP4
00003cee: DUP8
00003cef: ADD
00003cf0: PUSH2 0x3685
00003cf3: JUMP
00003cf4: JUMPDEST
00003cf5: SWAP4
00003cf6: POP
00003cf7: PUSH1 0x20
00003cf9: DUP6
00003cfa: ADD
00003cfb: CALLDATALOAD
00003cfc: SWAP2
00003cfd: POP
00003cfe: DUP1
00003cff: DUP3
00003d00: GT
00003d01: ISZERO
00003d02: PUSH2 0x3d0a
00003d05: JUMPI
00003d06: PUSH1 0x00
00003d08: DUP1
00003d09: REVERT
00003d0a: JUMPDEST
00003d0b: POP
00003d0c: PUSH2 0x3c3b
00003d0f: DUP6
00003d10: DUP3
00003d11: DUP7
00003d12: ADD
00003d13: PUSH2 0x3685
00003d16: JUMP
00003d17: JUMPDEST
00003d18: PUSH1 0x20
00003d1a: DUP1
00003d1b: DUP3
00003d1c: MSTORE
00003d1d: DUP3
00003d1e: MLOAD
00003d1f: DUP3
00003d20: DUP3
00003d21: ADD
00003d22: DUP2
00003d23: SWAP1
00003d24: MSTORE
00003d25: PUSH1 0x00
00003d27: SWAP2
00003d28: SWAP1
00003d29: DUP5
00003d2a: DUP3
00003d2b: ADD
00003d2c: SWAP1
00003d2d: PUSH1 0x40
00003d2f: DUP6
00003d30: ADD
00003d31: SWAP1
00003d32: DUP5
00003d33: JUMPDEST
00003d34: DUP2
00003d35: DUP2
00003d36: LT
00003d37: ISZERO
00003d38: PUSH2 0x3d65
00003d3b: JUMPI
00003d3c: DUP4
00003d3d: MLOAD
00003d3e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003d53: AND
00003d54: DUP4
00003d55: MSTORE
00003d56: SWAP3
00003d57: DUP5
00003d58: ADD
00003d59: SWAP3
00003d5a: SWAP2
00003d5b: DUP5
00003d5c: ADD
00003d5d: SWAP2
00003d5e: PUSH1 0x01
00003d60: ADD
00003d61: PUSH2 0x3d33
00003d64: JUMP
00003d65: JUMPDEST
00003d66: POP
00003d67: SWAP1
00003d68: SWAP7
00003d69: SWAP6
00003d6a: POP
00003d6b: POP
00003d6c: POP
00003d6d: POP
00003d6e: POP
00003d6f: POP
00003d70: JUMP
00003d71: JUMPDEST
00003d72: PUSH1 0x00
00003d74: DUP2
00003d75: MLOAD
00003d76: DUP1
00003d77: DUP5
00003d78: MSTORE
00003d79: PUSH1 0x20
00003d7b: DUP1
00003d7c: DUP6
00003d7d: ADD
00003d7e: SWAP5
00003d7f: POP
00003d80: DUP1
00003d81: DUP5
00003d82: ADD
00003d83: PUSH1 0x00
00003d85: JUMPDEST
00003d86: DUP4
00003d87: DUP2
00003d88: LT
00003d89: ISZERO
00003d8a: PUSH2 0x3dc2
00003d8d: JUMPI
00003d8e: DUP2
00003d8f: MLOAD
00003d90: DUP1
00003d91: MLOAD
00003d92: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003da7: AND
00003da8: DUP9
00003da9: MSTORE
00003daa: DUP4
00003dab: ADD
00003dac: MLOAD
00003dad: DUP4
00003dae: DUP9
00003daf: ADD
00003db0: MSTORE
00003db1: PUSH1 0x40
00003db3: SWAP1
00003db4: SWAP7
00003db5: ADD
00003db6: SWAP6
00003db7: SWAP1
00003db8: DUP3
00003db9: ADD
00003dba: SWAP1
00003dbb: PUSH1 0x01
00003dbd: ADD
00003dbe: PUSH2 0x3d85
00003dc1: JUMP
00003dc2: JUMPDEST
00003dc3: POP
00003dc4: SWAP5
00003dc5: SWAP6
00003dc6: SWAP5
00003dc7: POP
00003dc8: POP
00003dc9: POP
00003dca: POP
00003dcb: POP
00003dcc: JUMP
00003dcd: JUMPDEST
00003dce: PUSH1 0x20
00003dd0: DUP2
00003dd1: MSTORE
00003dd2: PUSH1 0x00
00003dd4: PUSH2 0x2ab8
00003dd7: PUSH1 0x20
00003dd9: DUP4
00003dda: ADD
00003ddb: DUP5
00003ddc: PUSH2 0x3d71
00003ddf: JUMP
00003de0: JUMPDEST
00003de1: PUSH1 0x00
00003de3: PUSH1 0x20
00003de5: DUP1
00003de6: DUP4
00003de7: ADD
00003de8: DUP2
00003de9: DUP5
00003dea: MSTORE
00003deb: DUP1
00003dec: DUP6
00003ded: MLOAD
00003dee: DUP1
00003def: DUP4
00003df0: MSTORE
00003df1: PUSH1 0x40
00003df3: SWAP3
00003df4: POP
00003df5: DUP3
00003df6: DUP7
00003df7: ADD
00003df8: SWAP2
00003df9: POP
00003dfa: DUP3
00003dfb: DUP2
00003dfc: PUSH1 0x05
00003dfe: SHL
00003dff: DUP8
00003e00: ADD
00003e01: ADD
00003e02: DUP5
00003e03: DUP9
00003e04: ADD
00003e05: PUSH1 0x00
00003e07: JUMPDEST
00003e08: DUP4
00003e09: DUP2
00003e0a: LT
00003e0b: ISZERO
00003e0c: PUSH2 0x3e7a
00003e0f: JUMPI
00003e10: DUP9
00003e11: DUP4
00003e12: SUB
00003e13: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0
00003e34: ADD
00003e35: DUP6
00003e36: MSTORE
00003e37: DUP2
00003e38: MLOAD
00003e39: DUP1
00003e3a: MLOAD
00003e3b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003e50: AND
00003e51: DUP5
00003e52: MSTORE
00003e53: DUP8
00003e54: ADD
00003e55: MLOAD
00003e56: DUP8
00003e57: DUP5
00003e58: ADD
00003e59: DUP8
00003e5a: SWAP1
00003e5b: MSTORE
00003e5c: PUSH2 0x3e67
00003e5f: DUP8
00003e60: DUP6
00003e61: ADD
00003e62: DUP3
00003e63: PUSH2 0x3d71
00003e66: JUMP
00003e67: JUMPDEST
00003e68: SWAP6
00003e69: DUP9
00003e6a: ADD
00003e6b: SWAP6
00003e6c: SWAP4
00003e6d: POP
00003e6e: POP
00003e6f: SWAP1
00003e70: DUP7
00003e71: ADD
00003e72: SWAP1
00003e73: PUSH1 0x01
00003e75: ADD
00003e76: PUSH2 0x3e07
00003e79: JUMP
00003e7a: JUMPDEST
00003e7b: POP
00003e7c: SWAP1
00003e7d: SWAP9
00003e7e: SWAP8
00003e7f: POP
00003e80: POP
00003e81: POP
00003e82: POP
00003e83: POP
00003e84: POP
00003e85: POP
00003e86: POP
00003e87: JUMP
00003e88: JUMPDEST
00003e89: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00003eaa: PUSH1 0x00
00003eac: MSTORE
00003ead: PUSH1 0x32
00003eaf: PUSH1 0x04
00003eb1: MSTORE
00003eb2: PUSH1 0x24
00003eb4: PUSH1 0x00
00003eb6: REVERT
00003eb7: JUMPDEST
00003eb8: PUSH1 0x00
00003eba: PUSH1 0x20
00003ebc: DUP3
00003ebd: DUP5
00003ebe: SUB
00003ebf: SLT
00003ec0: ISZERO
00003ec1: PUSH2 0x3ec9
00003ec4: JUMPI
00003ec5: PUSH1 0x00
00003ec7: DUP1
00003ec8: REVERT
00003ec9: JUMPDEST
00003eca: POP
00003ecb: MLOAD
00003ecc: SWAP2
00003ecd: SWAP1
00003ece: POP
00003ecf: JUMP
00003ed0: JUMPDEST
00003ed1: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00003ef2: PUSH1 0x00
00003ef4: MSTORE
00003ef5: PUSH1 0x11
00003ef7: PUSH1 0x04
00003ef9: MSTORE
00003efa: PUSH1 0x24
00003efc: PUSH1 0x00
00003efe: REVERT
00003eff: JUMPDEST
00003f00: PUSH1 0x00
00003f02: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003f23: DUP3
00003f24: SUB
00003f25: PUSH2 0x3f30
00003f28: JUMPI
00003f29: PUSH2 0x3f30
00003f2c: PUSH2 0x3ed0
00003f2f: JUMP
00003f30: JUMPDEST
00003f31: POP
00003f32: PUSH1 0x01
00003f34: ADD
00003f35: SWAP1
00003f36: JUMP
00003f37: JUMPDEST
00003f38: DUP2
00003f39: DUP2
00003f3a: SUB
00003f3b: DUP2
00003f3c: DUP2
00003f3d: GT
00003f3e: ISZERO
00003f3f: PUSH2 0x2abb
00003f42: JUMPI
00003f43: PUSH2 0x2abb
00003f46: PUSH2 0x3ed0
00003f49: JUMP
00003f4a: JUMPDEST
00003f4b: PUSH1 0x00
00003f4d: DUP1
00003f4e: PUSH1 0x40
00003f50: DUP4
00003f51: DUP6
00003f52: SUB
00003f53: SLT
00003f54: ISZERO
00003f55: PUSH2 0x3f5d
00003f58: JUMPI
00003f59: PUSH1 0x00
00003f5b: DUP1
00003f5c: REVERT
00003f5d: JUMPDEST
00003f5e: POP
00003f5f: POP
00003f60: DUP1
00003f61: MLOAD
00003f62: PUSH1 0x20
00003f64: SWAP1
00003f65: SWAP2
00003f66: ADD
00003f67: MLOAD
00003f68: SWAP1
00003f69: SWAP3
00003f6a: SWAP1
00003f6b: SWAP2
00003f6c: POP
00003f6d: JUMP
00003f6e: JUMPDEST
00003f6f: DUP1
00003f70: MLOAD
00003f71: PUSH2 0x3f79
00003f74: DUP2
00003f75: PUSH2 0x3663
00003f78: JUMP
00003f79: JUMPDEST
00003f7a: SWAP2
00003f7b: SWAP1
00003f7c: POP
00003f7d: JUMP
00003f7e: JUMPDEST
00003f7f: DUP1
00003f80: MLOAD
00003f81: PUSH1 0xff
00003f83: DUP2
00003f84: AND
00003f85: DUP2
00003f86: EQ
00003f87: PUSH2 0x3f79
00003f8a: JUMPI
00003f8b: PUSH1 0x00
00003f8d: DUP1
00003f8e: REVERT
00003f8f: JUMPDEST
00003f90: PUSH1 0x00
00003f92: PUSH2 0x01a0
00003f95: DUP3
00003f96: DUP5
00003f97: SUB
00003f98: SLT
00003f99: ISZERO
00003f9a: PUSH2 0x3fa2
00003f9d: JUMPI
00003f9e: PUSH1 0x00
00003fa0: DUP1
00003fa1: REVERT
00003fa2: JUMPDEST
00003fa3: PUSH2 0x3faa
00003fa6: PUSH2 0x35c6
00003fa9: JUMP
00003faa: JUMPDEST
00003fab: PUSH2 0x3fb3
00003fae: DUP4
00003faf: PUSH2 0x3f6e
00003fb2: JUMP
00003fb3: JUMPDEST
00003fb4: DUP2
00003fb5: MSTORE
00003fb6: PUSH2 0x3fc1
00003fb9: PUSH1 0x20
00003fbb: DUP5
00003fbc: ADD
00003fbd: PUSH2 0x3f6e
00003fc0: JUMP
00003fc1: JUMPDEST
00003fc2: PUSH1 0x20
00003fc4: DUP3
00003fc5: ADD
00003fc6: MSTORE
00003fc7: PUSH2 0x3fd2
00003fca: PUSH1 0x40
00003fcc: DUP5
00003fcd: ADD
00003fce: PUSH2 0x3f6e
00003fd1: JUMP
00003fd2: JUMPDEST
00003fd3: PUSH1 0x40
00003fd5: DUP3
00003fd6: ADD
00003fd7: MSTORE
00003fd8: PUSH2 0x3fe3
00003fdb: PUSH1 0x60
00003fdd: DUP5
00003fde: ADD
00003fdf: PUSH2 0x3f6e
00003fe2: JUMP
00003fe3: JUMPDEST
00003fe4: PUSH1 0x60
00003fe6: DUP3
00003fe7: ADD
00003fe8: MSTORE
00003fe9: PUSH2 0x3ff4
00003fec: PUSH1 0x80
00003fee: DUP5
00003fef: ADD
00003ff0: PUSH2 0x3f6e
00003ff3: JUMP
00003ff4: JUMPDEST
00003ff5: PUSH1 0x80
00003ff7: DUP3
00003ff8: ADD
00003ff9: MSTORE
00003ffa: PUSH2 0x4005
00003ffd: PUSH1 0xa0
00003fff: DUP5
00004000: ADD
00004001: PUSH2 0x3f6e
00004004: JUMP
00004005: JUMPDEST
00004006: PUSH1 0xa0
00004008: DUP3
00004009: ADD
0000400a: MSTORE
0000400b: PUSH2 0x4016
0000400e: PUSH1 0xc0
00004010: DUP5
00004011: ADD
00004012: PUSH2 0x3f7e
00004015: JUMP
00004016: JUMPDEST
00004017: PUSH1 0xc0
00004019: DUP3
0000401a: ADD
0000401b: MSTORE
0000401c: PUSH2 0x4027
0000401f: PUSH1 0xe0
00004021: DUP5
00004022: ADD
00004023: PUSH2 0x3f7e
00004026: JUMP
00004027: JUMPDEST
00004028: PUSH1 0xe0
0000402a: DUP3
0000402b: ADD
0000402c: MSTORE
0000402d: PUSH2 0x0100
00004030: DUP4
00004031: DUP2
00004032: ADD
00004033: MLOAD
00004034: SWAP1
00004035: DUP3
00004036: ADD
00004037: MSTORE
00004038: PUSH2 0x0120
0000403b: DUP1
0000403c: DUP5
0000403d: ADD
0000403e: MLOAD
0000403f: SWAP1
00004040: DUP3
00004041: ADD
00004042: MSTORE
00004043: PUSH2 0x0140
00004046: DUP1
00004047: DUP5
00004048: ADD
00004049: MLOAD
0000404a: SWAP1
0000404b: DUP3
0000404c: ADD
0000404d: MSTORE
0000404e: PUSH2 0x0160
00004051: DUP1
00004052: DUP5
00004053: ADD
00004054: MLOAD
00004055: SWAP1
00004056: DUP3
00004057: ADD
00004058: MSTORE
00004059: PUSH2 0x0180
0000405c: SWAP3
0000405d: DUP4
0000405e: ADD
0000405f: MLOAD
00004060: SWAP3
00004061: DUP2
00004062: ADD
00004063: SWAP3
00004064: SWAP1
00004065: SWAP3
00004066: MSTORE
00004067: POP
00004068: SWAP2
00004069: SWAP1
0000406a: POP
0000406b: JUMP
0000406c: JUMPDEST
0000406d: PUSH1 0x00
0000406f: JUMPDEST
00004070: DUP4
00004071: DUP2
00004072: LT
00004073: ISZERO
00004074: PUSH2 0x4087
00004077: JUMPI
00004078: DUP2
00004079: DUP2
0000407a: ADD
0000407b: MLOAD
0000407c: DUP4
0000407d: DUP3
0000407e: ADD
0000407f: MSTORE
00004080: PUSH1 0x20
00004082: ADD
00004083: PUSH2 0x406f
00004086: JUMP
00004087: JUMPDEST
00004088: POP
00004089: POP
0000408a: PUSH1 0x00
0000408c: SWAP2
0000408d: ADD
0000408e: MSTORE
0000408f: JUMP
00004090: JUMPDEST
00004091: PUSH1 0x00
00004093: DUP2
00004094: MLOAD
00004095: DUP1
00004096: DUP5
00004097: MSTORE
00004098: PUSH2 0x40a8
0000409b: DUP2
0000409c: PUSH1 0x20
0000409e: DUP7
0000409f: ADD
000040a0: PUSH1 0x20
000040a2: DUP7
000040a3: ADD
000040a4: PUSH2 0x406c
000040a7: JUMP
000040a8: JUMPDEST
000040a9: PUSH1 0x1f
000040ab: ADD
000040ac: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
000040cd: AND
000040ce: SWAP3
000040cf: SWAP1
000040d0: SWAP3
000040d1: ADD
000040d2: PUSH1 0x20
000040d4: ADD
000040d5: SWAP3
000040d6: SWAP2
000040d7: POP
000040d8: POP
000040d9: JUMP
000040da: JUMPDEST
000040db: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000040f0: DUP4
000040f1: AND
000040f2: DUP2
000040f3: MSTORE
000040f4: PUSH1 0x40
000040f6: PUSH1 0x20
000040f8: DUP3
000040f9: ADD
000040fa: MSTORE
000040fb: PUSH1 0x00
000040fd: PUSH2 0x32a0
00004100: PUSH1 0x40
00004102: DUP4
00004103: ADD
00004104: DUP5
00004105: PUSH2 0x4090
00004108: JUMP
00004109: JUMPDEST
0000410a: PUSH1 0x00
0000410c: PUSH1 0x20
0000410e: DUP3
0000410f: DUP5
00004110: SUB
00004111: SLT
00004112: ISZERO
00004113: PUSH2 0x411b
00004116: JUMPI
00004117: PUSH1 0x00
00004119: DUP1
0000411a: REVERT
0000411b: JUMPDEST
0000411c: DUP2
0000411d: MLOAD
0000411e: PUSH2 0x386c
00004121: DUP2
00004122: PUSH2 0x37dc
00004125: JUMP
00004126: JUMPDEST
00004127: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00004148: PUSH1 0x00
0000414a: MSTORE
0000414b: PUSH1 0x31
0000414d: PUSH1 0x04
0000414f: MSTORE
00004150: PUSH1 0x24
00004152: PUSH1 0x00
00004154: REVERT
00004155: JUMPDEST
00004156: PUSH1 0x00
00004158: DUP3
00004159: MLOAD
0000415a: PUSH2 0x4167
0000415d: DUP2
0000415e: DUP5
0000415f: PUSH1 0x20
00004161: DUP8
00004162: ADD
00004163: PUSH2 0x406c
00004166: JUMP
00004167: JUMPDEST
00004168: SWAP2
00004169: SWAP1
0000416a: SWAP2
0000416b: ADD
0000416c: SWAP3
0000416d: SWAP2
0000416e: POP
0000416f: POP
00004170: JUMP
00004171: JUMPDEST
00004172: PUSH1 0x20
00004174: DUP2
00004175: MSTORE
00004176: PUSH1 0x00
00004178: PUSH2 0x2ab8
0000417b: PUSH1 0x20
0000417d: DUP4
0000417e: ADD
0000417f: DUP5
00004180: PUSH2 0x4090
00004183: JUMP
00004184: INVALID
00004185: COINBASE
00004186: PUSH5 0x6472657373
0000418c: GASPRICE
0000418d: KECCAK256
0000418e: PUSH13 0x6f772d6c6576656c2064656c65
0000419c: PUSH8 0x6174652063616c6c
000041a5: KECCAK256
000041a6: PUSH7 0x61696c6564a264
000041ae: PUSH10 0x70667358221220423e83
000041b9: EXTCODECOPY
000041ba: UNKNOWN(0xDA)
000041bb: PUSH31 0x978d94ecbbbfed2b01087c1e0e354c7d1d019e54a1cdee12c89f64736f6c63
000041db: NUMBER
000041dc: STOP
000041dd: ADDMOD
000041de: ISZERO
000041df: STOP
000041e0: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high upgradeability detector Untrusted DELEGATECALL target reachable 55 no no
view
trace_id: 0x8b8fc93d903b7f6a511e225e4e7214816816d706d9a1ed770b7c79d0e16049ee
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0x8b8fc93d903b7f6a511e225e4e7214816816d706d9a1ed770b7c79d0e16049ee",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xe9c771b2",
            "selector": "0xe9c771b2",
            "calldata_variants": [
                "0xe9c771b2",
                "0xe9c771b20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec1a9dd4",
            "selector": "0xec1a9dd4",
            "calldata_variants": [
                "0xec1a9dd4",
                "0xec1a9dd40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xef33e9db",
            "selector": "0xef33e9db",
            "calldata_variants": [
                "0xef33e9db",
                "0xef33e9db0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc11b353c",
            "selector": "0xc11b353c",
            "calldata_variants": [
                "0xc11b353c",
                "0xc11b353c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc8354898",
            "selector": "0xc8354898",
            "calldata_variants": [
                "0xc8354898",
                "0xc83548980000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x702b5175",
            "selector": "0x702b5175",
            "calldata_variants": [
                "0x702b5175",
                "0x702b51750000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 13417,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [
        {
            "pc": 5450,
            "type": "msg_sender_eq_const",
            "value": 4.534988493553221e+47
        },
        {
            "pc": 5598,
            "type": "msg_sender_eq_const",
            "value": 4.534988493553221e+47
        },
        {
            "pc": 5428,
            "type": "msg_sender_eq_const",
            "value": "0x4f6f977acdd1177dcd81ab83074855ecb9c2d49e"
        },
        {
            "pc": 5576,
            "type": "msg_sender_eq_const",
            "value": "0x4f6f977acdd1177dcd81ab83074855ecb9c2d49e"
        }
    ],
    "delegatecall_count": 1,
    "untrusted_delegatecall_count": 1
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 1
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x10d0a116c6c6ba4d787645b8fe622e6c44c6a65210c7edebbea6e6fdb8e6f806
call_targets: 0xfb3102759f2d57f547b9c519db49ce1ffde15db2
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x10d0a116c6c6ba4d787645b8fe622e6c44c6a65210c7edebbea6e6fdb8e6f806",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xfb3102759f2d57f547b9c519db49ce1ffde15db2"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xe9c771b2",
            "selector": "0xe9c771b2",
            "calldata_variants": [
                "0xe9c771b2",
                "0xe9c771b20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec1a9dd4",
            "selector": "0xec1a9dd4",
            "calldata_variants": [
                "0xec1a9dd4",
                "0xec1a9dd40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xef33e9db",
            "selector": "0xef33e9db",
            "calldata_variants": [
                "0xef33e9db",
                "0xef33e9db0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc11b353c",
            "selector": "0xc11b353c",
            "calldata_variants": [
                "0xc11b353c",
                "0xc11b353c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc8354898",
            "selector": "0xc8354898",
            "calldata_variants": [
                "0xc8354898",
                "0xc83548980000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x702b5175",
            "selector": "0x702b5175",
            "calldata_variants": [
                "0x702b5175",
                "0x702b51750000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2850,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3832,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4955,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 6,
    "guards_detected": [
        {
            "pc": 5450,
            "type": "msg_sender_eq_const",
            "value": 4.534988493553221e+47
        },
        {
            "pc": 5598,
            "type": "msg_sender_eq_const",
            "value": 4.534988493553221e+47
        },
        {
            "pc": 5428,
            "type": "msg_sender_eq_const",
            "value": "0x4f6f977acdd1177dcd81ab83074855ecb9c2d49e"
        },
        {
            "pc": 5576,
            "type": "msg_sender_eq_const",
            "value": "0x4f6f977acdd1177dcd81ab83074855ecb9c2d49e"
        }
    ],
    "untrusted_call_count": 6
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x10d0a116c6c6ba4d787645b8fe622e6c44c6a65210c7edebbea6e6fdb8e6f806
call_targets: 0xfb3102759f2d57f547b9c519db49ce1ffde15db2
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x10d0a116c6c6ba4d787645b8fe622e6c44c6a65210c7edebbea6e6fdb8e6f806",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xfb3102759f2d57f547b9c519db49ce1ffde15db2"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xe9c771b2",
            "selector": "0xe9c771b2",
            "calldata_variants": [
                "0xe9c771b2",
                "0xe9c771b20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec1a9dd4",
            "selector": "0xec1a9dd4",
            "calldata_variants": [
                "0xec1a9dd4",
                "0xec1a9dd40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xef33e9db",
            "selector": "0xef33e9db",
            "calldata_variants": [
                "0xef33e9db",
                "0xef33e9db0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc11b353c",
            "selector": "0xc11b353c",
            "calldata_variants": [
                "0xc11b353c",
                "0xc11b353c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc8354898",
            "selector": "0xc8354898",
            "calldata_variants": [
                "0xc8354898",
                "0xc83548980000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x702b5175",
            "selector": "0x702b5175",
            "calldata_variants": [
                "0x702b5175",
                "0x702b51750000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2850,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3832,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4955,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 6,
    "guards_detected": [
        {
            "pc": 5450,
            "type": "msg_sender_eq_const",
            "value": 4.534988493553221e+47
        },
        {
            "pc": 5598,
            "type": "msg_sender_eq_const",
            "value": 4.534988493553221e+47
        },
        {
            "pc": 5428,
            "type": "msg_sender_eq_const",
            "value": "0x4f6f977acdd1177dcd81ab83074855ecb9c2d49e"
        },
        {
            "pc": 5576,
            "type": "msg_sender_eq_const",
            "value": "0x4f6f977acdd1177dcd81ab83074855ecb9c2d49e"
        }
    ]
}
medium other codex Dex vault rebalance can skip native allowance decrement based on protocol-supplied return values 75 no
view
evidence_json
{
    "evidence": "`rebalanceDexVault` only reduces `nativeTokenAllowances` inside a conditional that depends on `colAmount_`/`debtAmount_` returned by the external protocol, so a malicious protocol can avoid decrement while still consuming ETH.",
    "locations": [
        "contracts/reserve/main.sol:238",
        "contracts/reserve/main.sol:250"
    ],
    "recommendation": "Always decrement the native allowance based on actual balance delta whenever `value_ > 0`, regardless of the returned `colAmount_`/`debtAmount_` signs. Alternatively, pre-decrement by `value_` like the other rebalance functions and refund any unused amount after the call.",
    "exploit_scenario": "An authorized rebalancer calls `rebalanceDexVault` on a malicious or compromised vault. The vault consumes ETH sent via `value_` but returns `colAmount_ <= 0` and `debtAmount_ >= 0`, causing the allowance decrement block to be skipped. The same protocol can then be called repeatedly to spend additional ETH beyond its configured `nativeTokenAllowances[protocol_]`, effectively bypassing the allowance cap."
}