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

Analysis Run

66199f28-d28d-4899-b8fd-5a726218d9b3

complete
Chain ID
1
Address
Block Number
Created
Sun, Jan 4, 2026 7:11 AM
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
Unprotected init() lets attacker become admin/executor and drain bridge funds
crit 0 high 0 proxy context implementation known
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
31596 report.consolidate complete 1 / 1 3 months ago
78203 artifact.fetch complete 1 / 3 1 week ago
78204 tool.cast_disasm complete 1 / 3 1 week ago
78205 analysis.bundle complete 1 / 3 1 week ago
78206 capability.graph complete 1 / 3 1 week ago
78207 detector.run complete 1 / 3 1 week ago
78208 validation.fork complete 1 / 3 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: yes
Verified Source: yes

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
1
No findings?
no
Summary
Unprotected initializer allows first caller to seize admin/executor control and drain all locked ETH via releaseTokens.
View stderr
[codex:831530] OpenAI Codex v0.77.0 (research preview)
[codex:831530] --------
[codex:831530] workdir: /tmp/codex-multi-pmdr5r7g
[codex:831530] model: gpt-5.2-codex
[codex:831530] provider: openai
[codex:831530] approval: never
[codex:831530] sandbox: read-only
[codex:831530] reasoning effort: xhigh
[codex:831530] reasoning summaries: auto
[codex:831530] session id: 019b87d7-8df4-78e3-ac30-406099887c3d
[codex:831530] --------
[codex:831530] user
[codex:831530] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:831530] 
[codex:831530] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:831530] 
[codex:831530] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:831530] - Gas inefficiency, code quality, naming, or best practices
[codex:831530] - Theoretical vulnerabilities without a clear extraction path
[codex:831530] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:831530] - Front-running unless it enables theft beyond MEV
[codex:831530] - DoS, griefing, or issues that don't result in attacker profit
[codex:831530] - Missing events, view function issues, or informational findings
[codex:831530] 
[codex:831530] HIGH-VALUE PATTERNS TO HUNT:
[codex:831530] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:831530] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:831530] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:831530] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:831530] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:831530] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:831530] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:831530] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:831530] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:831530] 
[codex:831530] For each finding, you MUST provide:
[codex:831530] 1. Exact file and line numbers of vulnerable code
[codex:831530] 2. Step-by-step exploit transaction sequence
[codex:831530] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:831530] 
[codex:831530] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:831530] 
[codex:831530] Output MUST be valid JSON matching the provided schema.
[codex:831530] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:831530] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:831530] mcp startup: no servers
[codex:831530] 
[codex:831530] thinking
[codex:831530] **Checking instructions and skill requirements**
[codex:831530] exec
[codex:831530] /bin/bash -lc ls in /tmp/codex-multi-pmdr5r7g succeeded in 5ms:
[codex:831530] AUDIT_BUNDLE.txt
[codex:831530] codex-output-schema.json
[codex:831530] contracts
[codex:831530] exec
[codex:831530] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-pmdr5r7g succeeded in 5ms:
[codex:831530] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:831530] 
[codex:831530] ================================================================================
[codex:831530] FILE: contracts/contracts/Adminable.sol
[codex:831530] ================================================================================
[codex:831530] // SPDX-License-Identifier: MIT
[codex:831530] pragma solidity ^0.8.18;
[codex:831530] 
[codex:831530] abstract contract Adminable {
[codex:831530]     event AdminUpdated(address sender, address oldAdmin, address admin);
[codex:831530] 
[codex:831530]     address public admin;
[codex:831530] 
[codex:831530]     modifier onlyAdmin() {
[codex:831530]         require(admin == msg.sender, "only admin");
[codex:831530]         _;
[codex:831530]     }
[codex:831530] 
[codex:831530]     function updateAdmin(address admin_) external onlyAdmin {
[codex:831530]         require(admin_ != address(0), "zero address");
[codex:831530] 
[codex:831530] thinking
[codex:831530] **Analyzing unprotected initialization exploit**
[codex:831530] exec
[codex:831530] /bin/bash -lc 'nl -ba contracts/contracts/bridge/AbstractBridge.sol' in /tmp/codex-multi-pmdr5r7g succeeded in 5ms:
[codex:831530]      1	// SPDX-License-Identifier: MIT
[codex:831530]      2	pragma solidity ^0.8.18;
[codex:831530]      3	
[codex:831530]      4	import "../Pausable.sol";
[codex:831530]      5	import "../Initializable.sol";
[codex:831530]      6	
[codex:831530]      7	abstract contract AbstractBridge is Initializable, Pausable {
[codex:831530]      8	    struct BindingInfo {
[codex:831530]      9	        string executionAsset;
[codex:831530]     10	        uint256 minAmount;
[codex:831530]     11	        uint256 minFee;
[codex:831530]     12	        uint256 thresholdFee;
[codex:831530]     13	        uint128 beforePercentFee;
[codex:831530]     14	        uint128 afterPercentFee;
[codex:831530]     15	        bool enabled;
[codex:831530]     16	    }
[codex:831530]     17	
[codex:831530]     18	    event ExecutionChainUpdated(uint128 feeChainId, address caller);
[codex:831530]     19	    event FeeChainUpdated(uint128 feeChainId, address caller);
[codex:831530]     20	    event CallerContractUpdated(bytes32 executorContract, address caller);
[codex:831530] 
[codex:831530] thinking
[codex:831530] **Analyzing unprotected initialization vulnerability**
[codex:831530] exec
[codex:831530] /bin/bash -lc 'nl -ba contracts/contracts/bridge/CoinBridge.sol' in /tmp/codex-multi-pmdr5r7g succeeded in 5ms:
[codex:831530]      1	// SPDX-License-Identifier: MIT
[codex:831530]      2	pragma solidity ^0.8.18;
[codex:831530]      3	
[codex:831530]      4	import "./AbstractBridge.sol";
[codex:831530]      5	import "./mint/IMint.sol";
[codex:831530]      6	import "../Mutex.sol";
[codex:831530]      7	
[codex:831530]      8	contract CoinBridge is AbstractBridge, Mutex {
[codex:831530]      9	    uint256 constant DIVIDER = 10 ** 12;
[codex:831530]     10	
[codex:831530]     11	    mapping(uint128 => BindingInfo) public bindings;
[codex:831530]     12	    uint256 public fees;
[codex:831530]     13	    uint256 public balance;
[codex:831530]     14	
[codex:831530]     15	    event LockTokens(
[codex:831530]     16	        uint16 feeChainId,
[codex:831530]     17	        uint256 amount,
[codex:831530]     18	        string recipient,
[codex:831530]     19	        uint256 gaslessReward,
[codex:831530]     20	        string referrer,
[codex:831530] 
[codex:831530] thinking
[codex:831530] **Preparing vulnerability JSON output**
[codex:831530] codex
[codex:831530] {"no_findings":false,"summary":"Unprotected initializer allows first caller to seize admin/executor control and drain all locked ETH via releaseTokens.","findings":[{"severity":"critical","category":"upgradeability","title":"Unprotected init() lets attacker become admin/executor and drain bridge funds","exploit_scenario":"1) Monitor for deployment of the bridge proxy/implementation before initialization. 2) Call `init()` first, setting `admin_` and `executor_` to attacker-controlled addresses and `callerContract_` to any chosen value. 3) (Optional) Use admin privileges to configure chains/bindings so users can start locking ETH. 4) As users call `lockTokens`, `balance` increases with ETH held by the bridge. 5) Call `releaseTokens()` as the attacker-controlled executor and pass the matching `callerContract_` to transfer out up to the full `balance` to the attacker. 6) Repeat to drain all subsequent deposits.","recommendation":"Restrict `init()` to a trusted deployer (e.g., onlyProxy/onlyAdmin pattern) and/or use a constructor to set immutable admin/executor or disable the initializer on implementation contracts.","evidence":"`init()` is external and only guarded by `whenNotInitialized`, allowing any first caller to set admin/executor/callerContract arbitrarily.","locations":["contracts/contracts/bridge/AbstractBridge.sol:44","contracts/contracts/bridge/AbstractBridge.sol:51","contracts/contracts/bridge/AbstractBridge.sol:55","contracts/contracts/bridge/AbstractBridge.sol:60","contracts/contracts/bridge/AbstractBridge.sol:61"]}]}
[codex:831530] tokens used
[codex:831530] 12,823
[codex:831530] {"no_findings":false,"summary":"Unprotected initializer allows first caller to seize admin/executor control and drain all locked ETH via releaseTokens.","findings":[{"severity":"critical","category":"upgradeability","title":"Unprotected init() lets attacker become admin/executor and drain bridge funds","exploit_scenario":"1) Monitor for deployment of the bridge proxy/implementation before initialization. 2) Call `init()` first, setting `admin_` and `executor_` to attacker-controlled addresses and `callerContract_` to any chosen value. 3) (Optional) Use admin privileges to configure chains/bindings so users can start locking ETH. 4) As users call `lockTokens`, `balance` increases with ETH held by the bridge. 5) Call `releaseTokens()` as the attacker-controlled executor and pass the matching `callerContract_` to transfer out up to the full `balance` to the attacker. 6) Repeat to drain all subsequent deposits.","recommendation":"Restrict `init()` to a trusted deployer (e.g., onlyProxy/onlyAdmin pattern) and/or use a constructor to set immutable admin/executor or disable the initializer on implementation contracts.","evidence":"`init()` is external and only guarded by `whenNotInitialized`, allowing any first caller to set admin/executor/callerContract arbitrarily.","locations":["contracts/contracts/bridge/AbstractBridge.sol:44","contracts/contracts/bridge/AbstractBridge.sol:51","contracts/contracts/bridge/AbstractBridge.sol:55","contracts/contracts/bridge/AbstractBridge.sol:60","contracts/contracts/bridge/AbstractBridge.sol:61"]}]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-04T07:11:01.295484+00:00",
        "returncode": 0
    },
    "summary": "Unprotected initializer allows first caller to seize admin/executor control and drain all locked ETH via releaseTokens.",
    "raw_final": {
        "summary": "Unprotected initializer allows first caller to seize admin/executor control and drain all locked ETH via releaseTokens.",
        "findings": [
            {
                "title": "Unprotected init() lets attacker become admin/executor and drain bridge funds",
                "category": "upgradeability",
                "evidence": "`init()` is external and only guarded by `whenNotInitialized`, allowing any first caller to set admin/executor/callerContract arbitrarily.",
                "severity": "critical",
                "locations": [
                    "contracts/contracts/bridge/AbstractBridge.sol:44",
                    "contracts/contracts/bridge/AbstractBridge.sol:51",
                    "contracts/contracts/bridge/AbstractBridge.sol:55",
                    "contracts/contracts/bridge/AbstractBridge.sol:60",
                    "contracts/contracts/bridge/AbstractBridge.sol:61"
                ],
                "recommendation": "Restrict `init()` to a trusted deployer (e.g., onlyProxy/onlyAdmin pattern) and/or use a constructor to set immutable admin/executor or disable the initializer on implementation contracts.",
                "exploit_scenario": "1) Monitor for deployment of the bridge proxy/implementation before initialization. 2) Call `init()` first, setting `admin_` and `executor_` to attacker-controlled addresses and `callerContract_` to any chosen value. 3) (Optional) Use admin privileges to configure chains/bindings so users can start locking ETH. 4) As users call `lockTokens`, `balance` increases with ETH held by the bridge. 5) Call `releaseTokens()` as the attacker-controlled executor and pass the matching `callerContract_` to transfer out up to the full `balance` to the attacker. 6) Repeat to drain all subsequent deposits."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
5
EXT*/BALANCE
2
Total opcodes
6185
Flags
No heuristic flags raised.
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 0x9fd0506d
00000019: GT
0000001a: PUSH2 0x00e1
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xbac9e1b7
00000024: GT
00000025: PUSH2 0x008a
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xe2f273bd
0000002f: GT
00000030: PUSH2 0x0064
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xe2f273bd
0000003a: EQ
0000003b: PUSH2 0x0534
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xe45da526
00000045: EQ
00000046: PUSH2 0x0554
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xf67db96b
00000050: EQ
00000051: PUSH2 0x0574
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xf851a440
0000005b: EQ
0000005c: PUSH2 0x05ba
0000005f: JUMPI
00000060: PUSH1 0x00
00000062: DUP1
00000063: REVERT
00000064: JUMPDEST
00000065: DUP1
00000066: PUSH4 0xbac9e1b7
0000006b: EQ
0000006c: PUSH2 0x04b7
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0xc34c08e5
00000076: EQ
00000077: PUSH2 0x04d7
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xe22fe72f
00000081: EQ
00000082: PUSH2 0x0504
00000085: JUMPI
00000086: PUSH1 0x00
00000088: DUP1
00000089: REVERT
0000008a: JUMPDEST
0000008b: DUP1
0000008c: PUSH4 0xb187bd26
00000091: GT
00000092: PUSH2 0x00bb
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0xb187bd26
0000009c: EQ
0000009d: PUSH2 0x043e
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0xb3c276e2
000000a7: EQ
000000a8: PUSH2 0x0481
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0xb69ef8a8
000000b2: EQ
000000b3: PUSH2 0x04a1
000000b6: JUMPI
000000b7: PUSH1 0x00
000000b9: DUP1
000000ba: REVERT
000000bb: JUMPDEST
000000bc: DUP1
000000bd: PUSH4 0x9fd0506d
000000c2: EQ
000000c3: PUSH2 0x03dc
000000c6: JUMPI
000000c7: DUP1
000000c8: PUSH4 0xa7392f8e
000000cd: EQ
000000ce: PUSH2 0x0409
000000d1: JUMPI
000000d2: DUP1
000000d3: PUSH4 0xacb2ad6f
000000d8: EQ
000000d9: PUSH2 0x0429
000000dc: JUMPI
000000dd: PUSH1 0x00
000000df: DUP1
000000e0: REVERT
000000e1: JUMPDEST
000000e2: DUP1
000000e3: PUSH4 0x46904840
000000e8: GT
000000e9: PUSH2 0x014e
000000ec: JUMPI
000000ed: DUP1
000000ee: PUSH4 0x67e9bd43
000000f3: GT
000000f4: PUSH2 0x0128
000000f7: JUMPI
000000f8: DUP1
000000f9: PUSH4 0x67e9bd43
000000fe: EQ
000000ff: PUSH2 0x0314
00000102: JUMPI
00000103: DUP1
00000104: PUSH4 0x8456cb59
00000109: EQ
0000010a: PUSH2 0x0327
0000010d: JUMPI
0000010e: DUP1
0000010f: PUSH4 0x8497e666
00000114: EQ
00000115: PUSH2 0x033c
00000118: JUMPI
00000119: DUP1
0000011a: PUSH4 0x9af1d35a
0000011f: EQ
00000120: PUSH2 0x03b8
00000123: JUMPI
00000124: PUSH1 0x00
00000126: DUP1
00000127: REVERT
00000128: JUMPDEST
00000129: DUP1
0000012a: PUSH4 0x46904840
0000012f: EQ
00000130: PUSH2 0x02b2
00000133: JUMPI
00000134: DUP1
00000135: PUSH4 0x554bab3c
0000013a: EQ
0000013b: PUSH2 0x02d4
0000013e: JUMPI
0000013f: DUP1
00000140: PUSH4 0x5f7ebb05
00000145: EQ
00000146: PUSH2 0x02f4
00000149: JUMPI
0000014a: PUSH1 0x00
0000014c: DUP1
0000014d: REVERT
0000014e: JUMPDEST
0000014f: DUP1
00000150: PUSH4 0x1c47ae5e
00000155: GT
00000156: PUSH2 0x017f
00000159: JUMPI
0000015a: DUP1
0000015b: PUSH4 0x1c47ae5e
00000160: EQ
00000161: PUSH2 0x025d
00000164: JUMPI
00000165: DUP1
00000166: PUSH4 0x2c16ae00
0000016b: EQ
0000016c: PUSH2 0x027d
0000016f: JUMPI
00000170: DUP1
00000171: PUSH4 0x3f4ba83a
00000176: EQ
00000177: PUSH2 0x029d
0000017a: JUMPI
0000017b: PUSH1 0x00
0000017d: DUP1
0000017e: REVERT
0000017f: JUMPDEST
00000180: DUP1
00000181: PUSH4 0x03eadcfc
00000186: EQ
00000187: PUSH2 0x01b1
0000018a: JUMPI
0000018b: DUP1
0000018c: PUSH4 0x05b53c31
00000191: EQ
00000192: PUSH2 0x0208
00000195: JUMPI
00000196: DUP1
00000197: PUSH4 0x0bab6053
0000019c: EQ
0000019d: PUSH2 0x023b
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: PUSH1 0x03
000001c1: SLOAD
000001c2: PUSH2 0x01de
000001c5: SWAP1
000001c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001db: AND
000001dc: DUP2
000001dd: JUMP
000001de: JUMPDEST
000001df: PUSH1 0x40
000001e1: MLOAD
000001e2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001f7: SWAP1
000001f8: SWAP2
000001f9: AND
000001fa: DUP2
000001fb: MSTORE
000001fc: PUSH1 0x20
000001fe: ADD
000001ff: JUMPDEST
00000200: PUSH1 0x40
00000202: MLOAD
00000203: DUP1
00000204: SWAP2
00000205: SUB
00000206: SWAP1
00000207: RETURN
00000208: JUMPDEST
00000209: CALLVALUE
0000020a: DUP1
0000020b: ISZERO
0000020c: PUSH2 0x0214
0000020f: JUMPI
00000210: PUSH1 0x00
00000212: DUP1
00000213: REVERT
00000214: JUMPDEST
00000215: POP
00000216: PUSH2 0x0228
00000219: PUSH2 0x0223
0000021c: CALLDATASIZE
0000021d: PUSH1 0x04
0000021f: PUSH2 0x29bb
00000222: JUMP
00000223: JUMPDEST
00000224: PUSH2 0x05ec
00000227: JUMP
00000228: JUMPDEST
00000229: PUSH1 0x40
0000022b: MLOAD
0000022c: PUSH2 0x01ff
0000022f: SWAP8
00000230: SWAP7
00000231: SWAP6
00000232: SWAP5
00000233: SWAP4
00000234: SWAP3
00000235: SWAP2
00000236: SWAP1
00000237: PUSH2 0x2a41
0000023a: JUMP
0000023b: JUMPDEST
0000023c: CALLVALUE
0000023d: DUP1
0000023e: ISZERO
0000023f: PUSH2 0x0247
00000242: JUMPI
00000243: PUSH1 0x00
00000245: DUP1
00000246: REVERT
00000247: JUMPDEST
00000248: POP
00000249: PUSH2 0x025b
0000024c: PUSH2 0x0256
0000024f: CALLDATASIZE
00000250: PUSH1 0x04
00000252: PUSH2 0x2a99
00000255: JUMP
00000256: JUMPDEST
00000257: PUSH2 0x06d7
0000025a: JUMP
0000025b: JUMPDEST
0000025c: STOP
0000025d: JUMPDEST
0000025e: CALLVALUE
0000025f: DUP1
00000260: ISZERO
00000261: PUSH2 0x0269
00000264: JUMPI
00000265: PUSH1 0x00
00000267: DUP1
00000268: REVERT
00000269: JUMPDEST
0000026a: POP
0000026b: PUSH2 0x025b
0000026e: PUSH2 0x0278
00000271: CALLDATASIZE
00000272: PUSH1 0x04
00000274: PUSH2 0x2ac2
00000277: JUMP
00000278: JUMPDEST
00000279: PUSH2 0x079d
0000027c: JUMP
0000027d: JUMPDEST
0000027e: CALLVALUE
0000027f: DUP1
00000280: ISZERO
00000281: PUSH2 0x0289
00000284: JUMPI
00000285: PUSH1 0x00
00000287: DUP1
00000288: REVERT
00000289: JUMPDEST
0000028a: POP
0000028b: PUSH2 0x025b
0000028e: PUSH2 0x0298
00000291: CALLDATASIZE
00000292: PUSH1 0x04
00000294: PUSH2 0x2b50
00000297: JUMP
00000298: JUMPDEST
00000299: PUSH2 0x08bf
0000029c: JUMP
0000029d: JUMPDEST
0000029e: CALLVALUE
0000029f: DUP1
000002a0: ISZERO
000002a1: PUSH2 0x02a9
000002a4: JUMPI
000002a5: PUSH1 0x00
000002a7: DUP1
000002a8: REVERT
000002a9: JUMPDEST
000002aa: POP
000002ab: PUSH2 0x025b
000002ae: PUSH2 0x0a82
000002b1: JUMP
000002b2: JUMPDEST
000002b3: CALLVALUE
000002b4: DUP1
000002b5: ISZERO
000002b6: PUSH2 0x02be
000002b9: JUMPI
000002ba: PUSH1 0x00
000002bc: DUP1
000002bd: REVERT
000002be: JUMPDEST
000002bf: POP
000002c0: PUSH2 0x02c7
000002c3: PUSH2 0x0be6
000002c6: JUMP
000002c7: JUMPDEST
000002c8: PUSH1 0x40
000002ca: MLOAD
000002cb: PUSH2 0x01ff
000002ce: SWAP2
000002cf: SWAP1
000002d0: PUSH2 0x2bf2
000002d3: JUMP
000002d4: JUMPDEST
000002d5: CALLVALUE
000002d6: DUP1
000002d7: ISZERO
000002d8: PUSH2 0x02e0
000002db: JUMPI
000002dc: PUSH1 0x00
000002de: DUP1
000002df: REVERT
000002e0: JUMPDEST
000002e1: POP
000002e2: PUSH2 0x025b
000002e5: PUSH2 0x02ef
000002e8: CALLDATASIZE
000002e9: PUSH1 0x04
000002eb: PUSH2 0x2c2a
000002ee: JUMP
000002ef: JUMPDEST
000002f0: PUSH2 0x0c74
000002f3: JUMP
000002f4: JUMPDEST
000002f5: CALLVALUE
000002f6: DUP1
000002f7: ISZERO
000002f8: PUSH2 0x0300
000002fb: JUMPI
000002fc: PUSH1 0x00
000002fe: DUP1
000002ff: REVERT
00000300: JUMPDEST
00000301: POP
00000302: PUSH2 0x025b
00000305: PUSH2 0x030f
00000308: CALLDATASIZE
00000309: PUSH1 0x04
0000030b: PUSH2 0x2c47
0000030e: JUMP
0000030f: JUMPDEST
00000310: PUSH2 0x0e17
00000313: JUMP
00000314: JUMPDEST
00000315: PUSH2 0x025b
00000318: PUSH2 0x0322
0000031b: CALLDATASIZE
0000031c: PUSH1 0x04
0000031e: PUSH2 0x2c62
00000321: JUMP
00000322: JUMPDEST
00000323: PUSH2 0x0f26
00000326: JUMP
00000327: JUMPDEST
00000328: CALLVALUE
00000329: DUP1
0000032a: ISZERO
0000032b: PUSH2 0x0333
0000032e: JUMPI
0000032f: PUSH1 0x00
00000331: DUP1
00000332: REVERT
00000333: JUMPDEST
00000334: POP
00000335: PUSH2 0x025b
00000338: PUSH2 0x1623
0000033b: JUMP
0000033c: JUMPDEST
0000033d: CALLVALUE
0000033e: DUP1
0000033f: ISZERO
00000340: PUSH2 0x0348
00000343: JUMPI
00000344: PUSH1 0x00
00000346: DUP1
00000347: REVERT
00000348: JUMPDEST
00000349: POP
0000034a: PUSH2 0x0397
0000034d: PUSH2 0x0357
00000350: CALLDATASIZE
00000351: PUSH1 0x04
00000353: PUSH2 0x2d1a
00000356: JUMP
00000357: JUMPDEST
00000358: PUSH1 0x07
0000035a: PUSH1 0x20
0000035c: SWAP1
0000035d: DUP2
0000035e: MSTORE
0000035f: PUSH1 0x00
00000361: SWAP3
00000362: DUP4
00000363: MSTORE
00000364: PUSH1 0x40
00000366: SWAP1
00000367: SWAP3
00000368: KECCAK256
00000369: DUP2
0000036a: MLOAD
0000036b: DUP1
0000036c: DUP4
0000036d: ADD
0000036e: DUP5
0000036f: ADD
00000370: DUP1
00000371: MLOAD
00000372: SWAP3
00000373: DUP2
00000374: MSTORE
00000375: SWAP1
00000376: DUP5
00000377: ADD
00000378: SWAP3
00000379: SWAP1
0000037a: SWAP4
0000037b: ADD
0000037c: SWAP2
0000037d: SWAP1
0000037e: SWAP2
0000037f: KECCAK256
00000380: SWAP2
00000381: MSTORE
00000382: SLOAD
00000383: PUSH16 0xffffffffffffffffffffffffffffffff
00000394: AND
00000395: DUP2
00000396: JUMP
00000397: JUMPDEST
00000398: PUSH1 0x40
0000039a: MLOAD
0000039b: PUSH16 0xffffffffffffffffffffffffffffffff
000003ac: SWAP1
000003ad: SWAP2
000003ae: AND
000003af: DUP2
000003b0: MSTORE
000003b1: PUSH1 0x20
000003b3: ADD
000003b4: PUSH2 0x01ff
000003b7: JUMP
000003b8: JUMPDEST
000003b9: CALLVALUE
000003ba: DUP1
000003bb: ISZERO
000003bc: PUSH2 0x03c4
000003bf: JUMPI
000003c0: PUSH1 0x00
000003c2: DUP1
000003c3: REVERT
000003c4: JUMPDEST
000003c5: POP
000003c6: PUSH2 0x03ce
000003c9: PUSH1 0x0a
000003cb: SLOAD
000003cc: DUP2
000003cd: JUMP
000003ce: JUMPDEST
000003cf: PUSH1 0x40
000003d1: MLOAD
000003d2: SWAP1
000003d3: DUP2
000003d4: MSTORE
000003d5: PUSH1 0x20
000003d7: ADD
000003d8: PUSH2 0x01ff
000003db: JUMP
000003dc: JUMPDEST
000003dd: CALLVALUE
000003de: DUP1
000003df: ISZERO
000003e0: PUSH2 0x03e8
000003e3: JUMPI
000003e4: PUSH1 0x00
000003e6: DUP1
000003e7: REVERT
000003e8: JUMPDEST
000003e9: POP
000003ea: PUSH1 0x01
000003ec: SLOAD
000003ed: PUSH2 0x01de
000003f0: SWAP1
000003f1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000406: AND
00000407: DUP2
00000408: JUMP
00000409: JUMPDEST
0000040a: CALLVALUE
0000040b: DUP1
0000040c: ISZERO
0000040d: PUSH2 0x0415
00000410: JUMPI
00000411: PUSH1 0x00
00000413: DUP1
00000414: REVERT
00000415: JUMPDEST
00000416: POP
00000417: PUSH2 0x025b
0000041a: PUSH2 0x0424
0000041d: CALLDATASIZE
0000041e: PUSH1 0x04
00000420: PUSH2 0x2dfa
00000423: JUMP
00000424: JUMPDEST
00000425: PUSH2 0x179a
00000428: JUMP
00000429: JUMPDEST
0000042a: CALLVALUE
0000042b: DUP1
0000042c: ISZERO
0000042d: PUSH2 0x0435
00000430: JUMPI
00000431: PUSH1 0x00
00000433: DUP1
00000434: REVERT
00000435: JUMPDEST
00000436: POP
00000437: PUSH2 0x025b
0000043a: PUSH2 0x1c20
0000043d: JUMP
0000043e: JUMPDEST
0000043f: CALLVALUE
00000440: DUP1
00000441: ISZERO
00000442: PUSH2 0x044a
00000445: JUMPI
00000446: PUSH1 0x00
00000448: DUP1
00000449: REVERT
0000044a: JUMPDEST
0000044b: POP
0000044c: PUSH1 0x00
0000044e: SLOAD
0000044f: PUSH2 0x0471
00000452: SWAP1
00000453: PUSH22 0x01000000000000000000000000000000000000000000
0000046a: SWAP1
0000046b: DIV
0000046c: PUSH1 0xff
0000046e: AND
0000046f: DUP2
00000470: JUMP
00000471: JUMPDEST
00000472: PUSH1 0x40
00000474: MLOAD
00000475: SWAP1
00000476: ISZERO
00000477: ISZERO
00000478: DUP2
00000479: MSTORE
0000047a: PUSH1 0x20
0000047c: ADD
0000047d: PUSH2 0x01ff
00000480: JUMP
00000481: JUMPDEST
00000482: CALLVALUE
00000483: DUP1
00000484: ISZERO
00000485: PUSH2 0x048d
00000488: JUMPI
00000489: PUSH1 0x00
0000048b: DUP1
0000048c: REVERT
0000048d: JUMPDEST
0000048e: POP
0000048f: PUSH2 0x025b
00000492: PUSH2 0x049c
00000495: CALLDATASIZE
00000496: PUSH1 0x04
00000498: PUSH2 0x2e37
0000049b: JUMP
0000049c: JUMPDEST
0000049d: PUSH2 0x21ec
000004a0: JUMP
000004a1: JUMPDEST
000004a2: CALLVALUE
000004a3: DUP1
000004a4: ISZERO
000004a5: PUSH2 0x04ad
000004a8: JUMPI
000004a9: PUSH1 0x00
000004ab: DUP1
000004ac: REVERT
000004ad: JUMPDEST
000004ae: POP
000004af: PUSH2 0x03ce
000004b2: PUSH1 0x0b
000004b4: SLOAD
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 0x025b
000004c8: PUSH2 0x04d2
000004cb: CALLDATASIZE
000004cc: PUSH1 0x04
000004ce: PUSH2 0x2ece
000004d1: JUMP
000004d2: JUMPDEST
000004d3: PUSH2 0x251b
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: PUSH1 0x04
000004e7: SLOAD
000004e8: PUSH2 0x01de
000004eb: SWAP1
000004ec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000501: AND
00000502: DUP2
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 0x0471
00000515: PUSH2 0x051f
00000518: CALLDATASIZE
00000519: PUSH1 0x04
0000051b: PUSH2 0x29bb
0000051e: JUMP
0000051f: JUMPDEST
00000520: PUSH1 0x06
00000522: PUSH1 0x20
00000524: MSTORE
00000525: PUSH1 0x00
00000527: SWAP1
00000528: DUP2
00000529: MSTORE
0000052a: PUSH1 0x40
0000052c: SWAP1
0000052d: KECCAK256
0000052e: SLOAD
0000052f: PUSH1 0xff
00000531: AND
00000532: DUP2
00000533: JUMP
00000534: JUMPDEST
00000535: CALLVALUE
00000536: DUP1
00000537: ISZERO
00000538: PUSH2 0x0540
0000053b: JUMPI
0000053c: PUSH1 0x00
0000053e: DUP1
0000053f: REVERT
00000540: JUMPDEST
00000541: POP
00000542: PUSH2 0x025b
00000545: PUSH2 0x054f
00000548: CALLDATASIZE
00000549: PUSH1 0x04
0000054b: PUSH2 0x2c2a
0000054e: JUMP
0000054f: JUMPDEST
00000550: PUSH2 0x2716
00000553: JUMP
00000554: JUMPDEST
00000555: CALLVALUE
00000556: DUP1
00000557: ISZERO
00000558: PUSH2 0x0560
0000055b: JUMPI
0000055c: PUSH1 0x00
0000055e: DUP1
0000055f: REVERT
00000560: JUMPDEST
00000561: POP
00000562: PUSH2 0x025b
00000565: PUSH2 0x056f
00000568: CALLDATASIZE
00000569: PUSH1 0x04
0000056b: PUSH2 0x2f33
0000056e: JUMP
0000056f: JUMPDEST
00000570: PUSH2 0x28c3
00000573: JUMP
00000574: JUMPDEST
00000575: CALLVALUE
00000576: DUP1
00000577: ISZERO
00000578: PUSH2 0x0580
0000057b: JUMPI
0000057c: PUSH1 0x00
0000057e: DUP1
0000057f: REVERT
00000580: JUMPDEST
00000581: POP
00000582: PUSH1 0x01
00000584: SLOAD
00000585: PUSH2 0x05a7
00000588: SWAP1
00000589: PUSH21 0x010000000000000000000000000000000000000000
0000059f: SWAP1
000005a0: DIV
000005a1: PUSH2 0xffff
000005a4: AND
000005a5: DUP2
000005a6: JUMP
000005a7: JUMPDEST
000005a8: PUSH1 0x40
000005aa: MLOAD
000005ab: PUSH2 0xffff
000005ae: SWAP1
000005af: SWAP2
000005b0: AND
000005b1: DUP2
000005b2: MSTORE
000005b3: PUSH1 0x20
000005b5: ADD
000005b6: PUSH2 0x01ff
000005b9: JUMP
000005ba: JUMPDEST
000005bb: CALLVALUE
000005bc: DUP1
000005bd: ISZERO
000005be: PUSH2 0x05c6
000005c1: JUMPI
000005c2: PUSH1 0x00
000005c4: DUP1
000005c5: REVERT
000005c6: JUMPDEST
000005c7: POP
000005c8: PUSH1 0x00
000005ca: SLOAD
000005cb: PUSH2 0x01de
000005ce: SWAP1
000005cf: PUSH2 0x0100
000005d2: SWAP1
000005d3: DIV
000005d4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005e9: AND
000005ea: DUP2
000005eb: JUMP
000005ec: JUMPDEST
000005ed: PUSH1 0x09
000005ef: PUSH1 0x20
000005f1: MSTORE
000005f2: PUSH1 0x00
000005f4: SWAP1
000005f5: DUP2
000005f6: MSTORE
000005f7: PUSH1 0x40
000005f9: SWAP1
000005fa: KECCAK256
000005fb: DUP1
000005fc: SLOAD
000005fd: DUP2
000005fe: SWAP1
000005ff: PUSH2 0x0607
00000602: SWAP1
00000603: PUSH2 0x2f75
00000606: JUMP
00000607: JUMPDEST
00000608: DUP1
00000609: PUSH1 0x1f
0000060b: ADD
0000060c: PUSH1 0x20
0000060e: DUP1
0000060f: SWAP2
00000610: DIV
00000611: MUL
00000612: PUSH1 0x20
00000614: ADD
00000615: PUSH1 0x40
00000617: MLOAD
00000618: SWAP1
00000619: DUP2
0000061a: ADD
0000061b: PUSH1 0x40
0000061d: MSTORE
0000061e: DUP1
0000061f: SWAP3
00000620: SWAP2
00000621: SWAP1
00000622: DUP2
00000623: DUP2
00000624: MSTORE
00000625: PUSH1 0x20
00000627: ADD
00000628: DUP3
00000629: DUP1
0000062a: SLOAD
0000062b: PUSH2 0x0633
0000062e: SWAP1
0000062f: PUSH2 0x2f75
00000632: JUMP
00000633: JUMPDEST
00000634: DUP1
00000635: ISZERO
00000636: PUSH2 0x0680
00000639: JUMPI
0000063a: DUP1
0000063b: PUSH1 0x1f
0000063d: LT
0000063e: PUSH2 0x0655
00000641: JUMPI
00000642: PUSH2 0x0100
00000645: DUP1
00000646: DUP4
00000647: SLOAD
00000648: DIV
00000649: MUL
0000064a: DUP4
0000064b: MSTORE
0000064c: SWAP2
0000064d: PUSH1 0x20
0000064f: ADD
00000650: SWAP2
00000651: PUSH2 0x0680
00000654: JUMP
00000655: JUMPDEST
00000656: DUP3
00000657: ADD
00000658: SWAP2
00000659: SWAP1
0000065a: PUSH1 0x00
0000065c: MSTORE
0000065d: PUSH1 0x20
0000065f: PUSH1 0x00
00000661: KECCAK256
00000662: SWAP1
00000663: JUMPDEST
00000664: DUP2
00000665: SLOAD
00000666: DUP2
00000667: MSTORE
00000668: SWAP1
00000669: PUSH1 0x01
0000066b: ADD
0000066c: SWAP1
0000066d: PUSH1 0x20
0000066f: ADD
00000670: DUP1
00000671: DUP4
00000672: GT
00000673: PUSH2 0x0663
00000676: JUMPI
00000677: DUP3
00000678: SWAP1
00000679: SUB
0000067a: PUSH1 0x1f
0000067c: AND
0000067d: DUP3
0000067e: ADD
0000067f: SWAP2
00000680: JUMPDEST
00000681: POP
00000682: POP
00000683: POP
00000684: PUSH1 0x01
00000686: DUP5
00000687: ADD
00000688: SLOAD
00000689: PUSH1 0x02
0000068b: DUP6
0000068c: ADD
0000068d: SLOAD
0000068e: PUSH1 0x03
00000690: DUP7
00000691: ADD
00000692: SLOAD
00000693: PUSH1 0x04
00000695: DUP8
00000696: ADD
00000697: SLOAD
00000698: PUSH1 0x05
0000069a: SWAP1
0000069b: SWAP8
0000069c: ADD
0000069d: SLOAD
0000069e: SWAP6
0000069f: SWAP7
000006a0: SWAP3
000006a1: SWAP6
000006a2: SWAP2
000006a3: SWAP5
000006a4: POP
000006a5: SWAP3
000006a6: POP
000006a7: PUSH16 0xffffffffffffffffffffffffffffffff
000006b8: DUP1
000006b9: DUP4
000006ba: AND
000006bb: SWAP3
000006bc: PUSH17 0x0100000000000000000000000000000000
000006ce: SWAP1
000006cf: DIV
000006d0: AND
000006d1: SWAP1
000006d2: PUSH1 0xff
000006d4: AND
000006d5: DUP8
000006d6: JUMP
000006d7: JUMPDEST
000006d8: PUSH1 0x00
000006da: SLOAD
000006db: PUSH2 0x0100
000006de: SWAP1
000006df: DIV
000006e0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006f5: AND
000006f6: CALLER
000006f7: EQ
000006f8: PUSH2 0x0762
000006fb: JUMPI
000006fc: PUSH1 0x40
000006fe: MLOAD
000006ff: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000720: DUP2
00000721: MSTORE
00000722: PUSH1 0x20
00000724: PUSH1 0x04
00000726: DUP3
00000727: ADD
00000728: MSTORE
00000729: PUSH1 0x0a
0000072b: PUSH1 0x24
0000072d: DUP3
0000072e: ADD
0000072f: MSTORE
00000730: PUSH32 0x6f6e6c792061646d696e00000000000000000000000000000000000000000000
00000751: PUSH1 0x44
00000753: DUP3
00000754: ADD
00000755: MSTORE
00000756: PUSH1 0x64
00000758: ADD
00000759: JUMPDEST
0000075a: PUSH1 0x40
0000075c: MLOAD
0000075d: DUP1
0000075e: SWAP2
0000075f: SUB
00000760: SWAP1
00000761: REVERT
00000762: JUMPDEST
00000763: PUSH1 0x40
00000765: DUP1
00000766: MLOAD
00000767: DUP3
00000768: DUP2
00000769: MSTORE
0000076a: CALLER
0000076b: PUSH1 0x20
0000076d: DUP3
0000076e: ADD
0000076f: MSTORE
00000770: PUSH32 0xcff96c14f90d679c9b2edb1cd5b9990824d3083f97ade84c79539884ca33fc02
00000791: SWAP2
00000792: ADD
00000793: PUSH1 0x40
00000795: MLOAD
00000796: DUP1
00000797: SWAP2
00000798: SUB
00000799: SWAP1
0000079a: LOG1
0000079b: POP
0000079c: JUMP
0000079d: JUMPDEST
0000079e: PUSH1 0x00
000007a0: SLOAD
000007a1: PUSH2 0x0100
000007a4: SWAP1
000007a5: DIV
000007a6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007bb: AND
000007bc: CALLER
000007bd: EQ
000007be: PUSH2 0x0823
000007c1: JUMPI
000007c2: PUSH1 0x40
000007c4: MLOAD
000007c5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000007e6: DUP2
000007e7: MSTORE
000007e8: PUSH1 0x20
000007ea: PUSH1 0x04
000007ec: DUP3
000007ed: ADD
000007ee: MSTORE
000007ef: PUSH1 0x0a
000007f1: PUSH1 0x24
000007f3: DUP3
000007f4: ADD
000007f5: MSTORE
000007f6: PUSH32 0x6f6e6c792061646d696e00000000000000000000000000000000000000000000
00000817: PUSH1 0x44
00000819: DUP3
0000081a: ADD
0000081b: MSTORE
0000081c: PUSH1 0x64
0000081e: ADD
0000081f: PUSH2 0x0759
00000822: JUMP
00000823: JUMPDEST
00000824: PUSH1 0x40
00000826: DUP1
00000827: MLOAD
00000828: PUSH16 0xffffffffffffffffffffffffffffffff
00000839: DUP5
0000083a: AND
0000083b: DUP2
0000083c: MSTORE
0000083d: CALLER
0000083e: PUSH1 0x20
00000840: DUP3
00000841: ADD
00000842: MSTORE
00000843: PUSH32 0xcd8ca9842747d8162878825088ab13c89199cba4f7f23889db839b92328ef815
00000864: SWAP2
00000865: ADD
00000866: PUSH1 0x40
00000868: MLOAD
00000869: DUP1
0000086a: SWAP2
0000086b: SUB
0000086c: SWAP1
0000086d: LOG1
0000086e: PUSH16 0xffffffffffffffffffffffffffffffff
0000087f: SWAP2
00000880: SWAP1
00000881: SWAP2
00000882: AND
00000883: PUSH1 0x00
00000885: SWAP1
00000886: DUP2
00000887: MSTORE
00000888: PUSH1 0x06
0000088a: PUSH1 0x20
0000088c: MSTORE
0000088d: PUSH1 0x40
0000088f: SWAP1
00000890: KECCAK256
00000891: DUP1
00000892: SLOAD
00000893: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
000008b4: AND
000008b5: SWAP2
000008b6: ISZERO
000008b7: ISZERO
000008b8: SWAP2
000008b9: SWAP1
000008ba: SWAP2
000008bb: OR
000008bc: SWAP1
000008bd: SSTORE
000008be: JUMP
000008bf: JUMPDEST
000008c0: PUSH1 0x00
000008c2: SLOAD
000008c3: PUSH2 0x0100
000008c6: SWAP1
000008c7: DIV
000008c8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008dd: AND
000008de: CALLER
000008df: EQ
000008e0: PUSH2 0x0945
000008e3: JUMPI
000008e4: PUSH1 0x40
000008e6: MLOAD
000008e7: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000908: DUP2
00000909: MSTORE
0000090a: PUSH1 0x20
0000090c: PUSH1 0x04
0000090e: DUP3
0000090f: ADD
00000910: MSTORE
00000911: PUSH1 0x0a
00000913: PUSH1 0x24
00000915: DUP3
00000916: ADD
00000917: MSTORE
00000918: PUSH32 0x6f6e6c792061646d696e00000000000000000000000000000000000000000000
00000939: PUSH1 0x44
0000093b: DUP3
0000093c: ADD
0000093d: MSTORE
0000093e: PUSH1 0x64
00000940: ADD
00000941: PUSH2 0x0759
00000944: JUMP
00000945: JUMPDEST
00000946: PUSH1 0x40
00000948: MLOAD
00000949: DUP1
0000094a: PUSH1 0xe0
0000094c: ADD
0000094d: PUSH1 0x40
0000094f: MSTORE
00000950: DUP1
00000951: DUP10
00000952: DUP10
00000953: DUP1
00000954: DUP1
00000955: PUSH1 0x1f
00000957: ADD
00000958: PUSH1 0x20
0000095a: DUP1
0000095b: SWAP2
0000095c: DIV
0000095d: MUL
0000095e: PUSH1 0x20
00000960: ADD
00000961: PUSH1 0x40
00000963: MLOAD
00000964: SWAP1
00000965: DUP2
00000966: ADD
00000967: PUSH1 0x40
00000969: MSTORE
0000096a: DUP1
0000096b: SWAP4
0000096c: SWAP3
0000096d: SWAP2
0000096e: SWAP1
0000096f: DUP2
00000970: DUP2
00000971: MSTORE
00000972: PUSH1 0x20
00000974: ADD
00000975: DUP4
00000976: DUP4
00000977: DUP1
00000978: DUP3
00000979: DUP5
0000097a: CALLDATACOPY
0000097b: PUSH1 0x00
0000097d: SWAP3
0000097e: ADD
0000097f: DUP3
00000980: SWAP1
00000981: MSTORE
00000982: POP
00000983: SWAP4
00000984: DUP6
00000985: MSTORE
00000986: POP
00000987: POP
00000988: POP
00000989: PUSH1 0x20
0000098b: DUP1
0000098c: DUP4
0000098d: ADD
0000098e: DUP11
0000098f: SWAP1
00000990: MSTORE
00000991: PUSH1 0x40
00000993: DUP1
00000994: DUP5
00000995: ADD
00000996: DUP11
00000997: SWAP1
00000998: MSTORE
00000999: PUSH1 0x60
0000099b: DUP5
0000099c: ADD
0000099d: DUP10
0000099e: SWAP1
0000099f: MSTORE
000009a0: PUSH16 0xffffffffffffffffffffffffffffffff
000009b1: DUP1
000009b2: DUP10
000009b3: AND
000009b4: PUSH1 0x80
000009b6: DUP7
000009b7: ADD
000009b8: MSTORE
000009b9: DUP8
000009ba: AND
000009bb: PUSH1 0xa0
000009bd: DUP6
000009be: ADD
000009bf: MSTORE
000009c0: DUP6
000009c1: ISZERO
000009c2: ISZERO
000009c3: PUSH1 0xc0
000009c5: SWAP1
000009c6: SWAP5
000009c7: ADD
000009c8: SWAP4
000009c9: SWAP1
000009ca: SWAP4
000009cb: MSTORE
000009cc: PUSH2 0xffff
000009cf: DUP14
000009d0: AND
000009d1: DUP3
000009d2: MSTORE
000009d3: PUSH1 0x09
000009d5: SWAP1
000009d6: MSTORE
000009d7: KECCAK256
000009d8: DUP2
000009d9: MLOAD
000009da: DUP2
000009db: SWAP1
000009dc: PUSH2 0x09e5
000009df: SWAP1
000009e0: DUP3
000009e1: PUSH2 0x3016
000009e4: JUMP
000009e5: JUMPDEST
000009e6: POP
000009e7: PUSH1 0x20
000009e9: DUP3
000009ea: ADD
000009eb: MLOAD
000009ec: PUSH1 0x01
000009ee: DUP3
000009ef: ADD
000009f0: SSTORE
000009f1: PUSH1 0x40
000009f3: DUP3
000009f4: ADD
000009f5: MLOAD
000009f6: PUSH1 0x02
000009f8: DUP3
000009f9: ADD
000009fa: SSTORE
000009fb: PUSH1 0x60
000009fd: DUP3
000009fe: ADD
000009ff: MLOAD
00000a00: PUSH1 0x03
00000a02: DUP3
00000a03: ADD
00000a04: SSTORE
00000a05: PUSH1 0x80
00000a07: DUP3
00000a08: ADD
00000a09: MLOAD
00000a0a: PUSH1 0xa0
00000a0c: DUP4
00000a0d: ADD
00000a0e: MLOAD
00000a0f: PUSH16 0xffffffffffffffffffffffffffffffff
00000a20: SWAP1
00000a21: DUP2
00000a22: AND
00000a23: PUSH17 0x0100000000000000000000000000000000
00000a35: MUL
00000a36: SWAP2
00000a37: AND
00000a38: OR
00000a39: PUSH1 0x04
00000a3b: DUP3
00000a3c: ADD
00000a3d: SSTORE
00000a3e: PUSH1 0xc0
00000a40: SWAP1
00000a41: SWAP2
00000a42: ADD
00000a43: MLOAD
00000a44: PUSH1 0x05
00000a46: SWAP1
00000a47: SWAP2
00000a48: ADD
00000a49: DUP1
00000a4a: SLOAD
00000a4b: SWAP2
00000a4c: ISZERO
00000a4d: ISZERO
00000a4e: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00000a6f: SWAP1
00000a70: SWAP3
00000a71: AND
00000a72: SWAP2
00000a73: SWAP1
00000a74: SWAP2
00000a75: OR
00000a76: SWAP1
00000a77: SSTORE
00000a78: POP
00000a79: POP
00000a7a: POP
00000a7b: POP
00000a7c: POP
00000a7d: POP
00000a7e: POP
00000a7f: POP
00000a80: POP
00000a81: JUMP
00000a82: JUMPDEST
00000a83: PUSH1 0x00
00000a85: SLOAD
00000a86: PUSH22 0x01000000000000000000000000000000000000000000
00000a9d: SWAP1
00000a9e: DIV
00000a9f: PUSH1 0xff
00000aa1: AND
00000aa2: PUSH2 0x0b07
00000aa5: JUMPI
00000aa6: PUSH1 0x40
00000aa8: MLOAD
00000aa9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000aca: DUP2
00000acb: MSTORE
00000acc: PUSH1 0x20
00000ace: PUSH1 0x04
00000ad0: DUP3
00000ad1: ADD
00000ad2: MSTORE
00000ad3: PUSH1 0x0a
00000ad5: PUSH1 0x24
00000ad7: DUP3
00000ad8: ADD
00000ad9: MSTORE
00000ada: PUSH32 0x6e6f742070617573656400000000000000000000000000000000000000000000
00000afb: PUSH1 0x44
00000afd: DUP3
00000afe: ADD
00000aff: MSTORE
00000b00: PUSH1 0x64
00000b02: ADD
00000b03: PUSH2 0x0759
00000b06: JUMP
00000b07: JUMPDEST
00000b08: PUSH1 0x01
00000b0a: SLOAD
00000b0b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b20: AND
00000b21: CALLER
00000b22: EQ
00000b23: PUSH2 0x0b88
00000b26: JUMPI
00000b27: PUSH1 0x40
00000b29: MLOAD
00000b2a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000b4b: DUP2
00000b4c: MSTORE
00000b4d: PUSH1 0x20
00000b4f: PUSH1 0x04
00000b51: DUP3
00000b52: ADD
00000b53: MSTORE
00000b54: PUSH1 0x0b
00000b56: PUSH1 0x24
00000b58: DUP3
00000b59: ADD
00000b5a: MSTORE
00000b5b: PUSH32 0x6f6e6c7920706175736572000000000000000000000000000000000000000000
00000b7c: PUSH1 0x44
00000b7e: DUP3
00000b7f: ADD
00000b80: MSTORE
00000b81: PUSH1 0x64
00000b83: ADD
00000b84: PUSH2 0x0759
00000b87: JUMP
00000b88: JUMPDEST
00000b89: PUSH1 0x00
00000b8b: DUP1
00000b8c: SLOAD
00000b8d: PUSH32 0xffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff
00000bae: AND
00000baf: SWAP1
00000bb0: SSTORE
00000bb1: PUSH1 0x40
00000bb3: MLOAD
00000bb4: CALLER
00000bb5: DUP2
00000bb6: MSTORE
00000bb7: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa
00000bd8: SWAP1
00000bd9: PUSH1 0x20
00000bdb: ADD
00000bdc: JUMPDEST
00000bdd: PUSH1 0x40
00000bdf: MLOAD
00000be0: DUP1
00000be1: SWAP2
00000be2: SUB
00000be3: SWAP1
00000be4: LOG1
00000be5: JUMP
00000be6: JUMPDEST
00000be7: PUSH1 0x02
00000be9: DUP1
00000bea: SLOAD
00000beb: PUSH2 0x0bf3
00000bee: SWAP1
00000bef: PUSH2 0x2f75
00000bf2: JUMP
00000bf3: JUMPDEST
00000bf4: DUP1
00000bf5: PUSH1 0x1f
00000bf7: ADD
00000bf8: PUSH1 0x20
00000bfa: DUP1
00000bfb: SWAP2
00000bfc: DIV
00000bfd: MUL
00000bfe: PUSH1 0x20
00000c00: ADD
00000c01: PUSH1 0x40
00000c03: MLOAD
00000c04: SWAP1
00000c05: DUP2
00000c06: ADD
00000c07: PUSH1 0x40
00000c09: MSTORE
00000c0a: DUP1
00000c0b: SWAP3
00000c0c: SWAP2
00000c0d: SWAP1
00000c0e: DUP2
00000c0f: DUP2
00000c10: MSTORE
00000c11: PUSH1 0x20
00000c13: ADD
00000c14: DUP3
00000c15: DUP1
00000c16: SLOAD
00000c17: PUSH2 0x0c1f
00000c1a: SWAP1
00000c1b: PUSH2 0x2f75
00000c1e: JUMP
00000c1f: JUMPDEST
00000c20: DUP1
00000c21: ISZERO
00000c22: PUSH2 0x0c6c
00000c25: JUMPI
00000c26: DUP1
00000c27: PUSH1 0x1f
00000c29: LT
00000c2a: PUSH2 0x0c41
00000c2d: JUMPI
00000c2e: PUSH2 0x0100
00000c31: DUP1
00000c32: DUP4
00000c33: SLOAD
00000c34: DIV
00000c35: MUL
00000c36: DUP4
00000c37: MSTORE
00000c38: SWAP2
00000c39: PUSH1 0x20
00000c3b: ADD
00000c3c: SWAP2
00000c3d: PUSH2 0x0c6c
00000c40: JUMP
00000c41: JUMPDEST
00000c42: DUP3
00000c43: ADD
00000c44: SWAP2
00000c45: SWAP1
00000c46: PUSH1 0x00
00000c48: MSTORE
00000c49: PUSH1 0x20
00000c4b: PUSH1 0x00
00000c4d: KECCAK256
00000c4e: SWAP1
00000c4f: JUMPDEST
00000c50: DUP2
00000c51: SLOAD
00000c52: DUP2
00000c53: MSTORE
00000c54: SWAP1
00000c55: PUSH1 0x01
00000c57: ADD
00000c58: SWAP1
00000c59: PUSH1 0x20
00000c5b: ADD
00000c5c: DUP1
00000c5d: DUP4
00000c5e: GT
00000c5f: PUSH2 0x0c4f
00000c62: JUMPI
00000c63: DUP3
00000c64: SWAP1
00000c65: SUB
00000c66: PUSH1 0x1f
00000c68: AND
00000c69: DUP3
00000c6a: ADD
00000c6b: SWAP2
00000c6c: JUMPDEST
00000c6d: POP
00000c6e: POP
00000c6f: POP
00000c70: POP
00000c71: POP
00000c72: DUP2
00000c73: JUMP
00000c74: JUMPDEST
00000c75: PUSH1 0x00
00000c77: SLOAD
00000c78: PUSH2 0x0100
00000c7b: SWAP1
00000c7c: DIV
00000c7d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c92: AND
00000c93: CALLER
00000c94: EQ
00000c95: PUSH2 0x0cfa
00000c98: JUMPI
00000c99: PUSH1 0x40
00000c9b: MLOAD
00000c9c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000cbd: DUP2
00000cbe: MSTORE
00000cbf: PUSH1 0x20
00000cc1: PUSH1 0x04
00000cc3: DUP3
00000cc4: ADD
00000cc5: MSTORE
00000cc6: PUSH1 0x0a
00000cc8: PUSH1 0x24
00000cca: DUP3
00000ccb: ADD
00000ccc: MSTORE
00000ccd: PUSH32 0x6f6e6c792061646d696e00000000000000000000000000000000000000000000
00000cee: PUSH1 0x44
00000cf0: DUP3
00000cf1: ADD
00000cf2: MSTORE
00000cf3: PUSH1 0x64
00000cf5: ADD
00000cf6: PUSH2 0x0759
00000cf9: JUMP
00000cfa: JUMPDEST
00000cfb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d10: DUP2
00000d11: AND
00000d12: PUSH2 0x0d77
00000d15: JUMPI
00000d16: PUSH1 0x40
00000d18: MLOAD
00000d19: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000d3a: DUP2
00000d3b: MSTORE
00000d3c: PUSH1 0x20
00000d3e: PUSH1 0x04
00000d40: DUP3
00000d41: ADD
00000d42: MSTORE
00000d43: PUSH1 0x0c
00000d45: PUSH1 0x24
00000d47: DUP3
00000d48: ADD
00000d49: MSTORE
00000d4a: PUSH32 0x7a65726f20616464726573730000000000000000000000000000000000000000
00000d6b: PUSH1 0x44
00000d6d: DUP3
00000d6e: ADD
00000d6f: MSTORE
00000d70: PUSH1 0x64
00000d72: ADD
00000d73: PUSH2 0x0759
00000d76: JUMP
00000d77: JUMPDEST
00000d78: PUSH1 0x01
00000d7a: SLOAD
00000d7b: PUSH1 0x40
00000d7d: DUP1
00000d7e: MLOAD
00000d7f: CALLER
00000d80: DUP2
00000d81: MSTORE
00000d82: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d97: SWAP3
00000d98: DUP4
00000d99: AND
00000d9a: PUSH1 0x20
00000d9c: DUP3
00000d9d: ADD
00000d9e: MSTORE
00000d9f: SWAP2
00000da0: DUP4
00000da1: AND
00000da2: DUP3
00000da3: DUP3
00000da4: ADD
00000da5: MSTORE
00000da6: MLOAD
00000da7: PUSH32 0x9b3d82621a55ae56941a49b01b3111acf42e49f89b2af1a6dea8fb9886d3520c
00000dc8: SWAP2
00000dc9: DUP2
00000dca: SWAP1
00000dcb: SUB
00000dcc: PUSH1 0x60
00000dce: ADD
00000dcf: SWAP1
00000dd0: LOG1
00000dd1: PUSH1 0x01
00000dd3: DUP1
00000dd4: SLOAD
00000dd5: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00000df6: AND
00000df7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e0c: SWAP3
00000e0d: SWAP1
00000e0e: SWAP3
00000e0f: AND
00000e10: SWAP2
00000e11: SWAP1
00000e12: SWAP2
00000e13: OR
00000e14: SWAP1
00000e15: SSTORE
00000e16: JUMP
00000e17: JUMPDEST
00000e18: PUSH1 0x00
00000e1a: SLOAD
00000e1b: PUSH2 0x0100
00000e1e: SWAP1
00000e1f: DIV
00000e20: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e35: AND
00000e36: CALLER
00000e37: EQ
00000e38: PUSH2 0x0e9d
00000e3b: JUMPI
00000e3c: PUSH1 0x40
00000e3e: MLOAD
00000e3f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000e60: DUP2
00000e61: MSTORE
00000e62: PUSH1 0x20
00000e64: PUSH1 0x04
00000e66: DUP3
00000e67: ADD
00000e68: MSTORE
00000e69: PUSH1 0x0a
00000e6b: PUSH1 0x24
00000e6d: DUP3
00000e6e: ADD
00000e6f: MSTORE
00000e70: PUSH32 0x6f6e6c792061646d696e00000000000000000000000000000000000000000000
00000e91: PUSH1 0x44
00000e93: DUP3
00000e94: ADD
00000e95: MSTORE
00000e96: PUSH1 0x64
00000e98: ADD
00000e99: PUSH2 0x0759
00000e9c: JUMP
00000e9d: JUMPDEST
00000e9e: PUSH1 0x40
00000ea0: DUP1
00000ea1: MLOAD
00000ea2: PUSH2 0xffff
00000ea5: DUP4
00000ea6: AND
00000ea7: DUP2
00000ea8: MSTORE
00000ea9: CALLER
00000eaa: PUSH1 0x20
00000eac: DUP3
00000ead: ADD
00000eae: MSTORE
00000eaf: PUSH32 0xa3f2d453e9999c008b07f10a428e6a33ce8dd4b9423bef99ff9cd579cedfb8b5
00000ed0: SWAP2
00000ed1: ADD
00000ed2: PUSH1 0x40
00000ed4: MLOAD
00000ed5: DUP1
00000ed6: SWAP2
00000ed7: SUB
00000ed8: SWAP1
00000ed9: LOG1
00000eda: PUSH1 0x01
00000edc: DUP1
00000edd: SLOAD
00000ede: PUSH2 0xffff
00000ee1: SWAP1
00000ee2: SWAP3
00000ee3: AND
00000ee4: PUSH21 0x010000000000000000000000000000000000000000
00000efa: MUL
00000efb: PUSH32 0xffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff
00000f1c: SWAP1
00000f1d: SWAP3
00000f1e: AND
00000f1f: SWAP2
00000f20: SWAP1
00000f21: SWAP2
00000f22: OR
00000f23: SWAP1
00000f24: SSTORE
00000f25: JUMP
00000f26: JUMPDEST
00000f27: PUSH1 0x08
00000f29: SLOAD
00000f2a: PUSH1 0xff
00000f2c: AND
00000f2d: ISZERO
00000f2e: PUSH2 0x0f93
00000f31: JUMPI
00000f32: PUSH1 0x40
00000f34: MLOAD
00000f35: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000f56: DUP2
00000f57: MSTORE
00000f58: PUSH1 0x20
00000f5a: PUSH1 0x04
00000f5c: DUP3
00000f5d: ADD
00000f5e: MSTORE
00000f5f: PUSH1 0x0a
00000f61: PUSH1 0x24
00000f63: DUP3
00000f64: ADD
00000f65: MSTORE
00000f66: PUSH32 0x6d75746578206c6f636b00000000000000000000000000000000000000000000
00000f87: PUSH1 0x44
00000f89: DUP3
00000f8a: ADD
00000f8b: MSTORE
00000f8c: PUSH1 0x64
00000f8e: ADD
00000f8f: PUSH2 0x0759
00000f92: JUMP
00000f93: JUMPDEST
00000f94: PUSH1 0x08
00000f96: DUP1
00000f97: SLOAD
00000f98: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00000fb9: AND
00000fba: PUSH1 0x01
00000fbc: OR
00000fbd: SWAP1
00000fbe: SSTORE
00000fbf: PUSH1 0x00
00000fc1: SLOAD
00000fc2: PUSH22 0x01000000000000000000000000000000000000000000
00000fd9: SWAP1
00000fda: DIV
00000fdb: PUSH1 0xff
00000fdd: AND
00000fde: ISZERO
00000fdf: PUSH2 0x1044
00000fe2: JUMPI
00000fe3: PUSH1 0x40
00000fe5: MLOAD
00000fe6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001007: DUP2
00001008: MSTORE
00001009: PUSH1 0x20
0000100b: PUSH1 0x04
0000100d: DUP3
0000100e: ADD
0000100f: MSTORE
00001010: PUSH1 0x06
00001012: PUSH1 0x24
00001014: DUP3
00001015: ADD
00001016: MSTORE
00001017: PUSH32 0x7061757365640000000000000000000000000000000000000000000000000000
00001038: PUSH1 0x44
0000103a: DUP3
0000103b: ADD
0000103c: MSTORE
0000103d: PUSH1 0x64
0000103f: ADD
00001040: PUSH2 0x0759
00001043: JUMP
00001044: JUMPDEST
00001045: PUSH1 0x00
00001047: SLOAD
00001048: PUSH1 0xff
0000104a: AND
0000104b: PUSH2 0x10b0
0000104e: JUMPI
0000104f: PUSH1 0x40
00001051: MLOAD
00001052: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001073: DUP2
00001074: MSTORE
00001075: PUSH1 0x20
00001077: PUSH1 0x04
00001079: DUP3
0000107a: ADD
0000107b: MSTORE
0000107c: PUSH1 0x0f
0000107e: PUSH1 0x24
00001080: DUP3
00001081: ADD
00001082: MSTORE
00001083: PUSH32 0x6e6f7420696e697469616c697a65640000000000000000000000000000000000
000010a4: PUSH1 0x44
000010a6: DUP3
000010a7: ADD
000010a8: MSTORE
000010a9: PUSH1 0x64
000010ab: ADD
000010ac: PUSH2 0x0759
000010af: JUMP
000010b0: JUMPDEST
000010b1: PUSH2 0xffff
000010b4: DUP7
000010b5: AND
000010b6: PUSH1 0x00
000010b8: SWAP1
000010b9: DUP2
000010ba: MSTORE
000010bb: PUSH1 0x06
000010bd: PUSH1 0x20
000010bf: MSTORE
000010c0: PUSH1 0x40
000010c2: SWAP1
000010c3: KECCAK256
000010c4: SLOAD
000010c5: PUSH1 0xff
000010c7: AND
000010c8: PUSH2 0x112d
000010cb: JUMPI
000010cc: PUSH1 0x40
000010ce: MLOAD
000010cf: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000010f0: DUP2
000010f1: MSTORE
000010f2: PUSH1 0x20
000010f4: PUSH1 0x04
000010f6: DUP3
000010f7: ADD
000010f8: MSTORE
000010f9: PUSH1 0x1a
000010fb: PUSH1 0x24
000010fd: DUP3
000010fe: ADD
000010ff: MSTORE
00001100: PUSH32 0x657865637574696f6e20636861696e2069732064697361626c65000000000000
00001121: PUSH1 0x44
00001123: DUP3
00001124: ADD
00001125: MSTORE
00001126: PUSH1 0x64
00001128: ADD
00001129: PUSH2 0x0759
0000112c: JUMP
0000112d: JUMPDEST
0000112e: PUSH2 0xffff
00001131: DUP7
00001132: AND
00001133: PUSH1 0x00
00001135: SWAP1
00001136: DUP2
00001137: MSTORE
00001138: PUSH1 0x09
0000113a: PUSH1 0x20
0000113c: MSTORE
0000113d: PUSH1 0x40
0000113f: DUP1
00001140: DUP3
00001141: KECCAK256
00001142: DUP2
00001143: MLOAD
00001144: PUSH1 0xe0
00001146: DUP2
00001147: ADD
00001148: SWAP1
00001149: SWAP3
0000114a: MSTORE
0000114b: DUP1
0000114c: SLOAD
0000114d: DUP3
0000114e: SWAP1
0000114f: DUP3
00001150: SWAP1
00001151: PUSH2 0x1159
00001154: SWAP1
00001155: PUSH2 0x2f75
00001158: JUMP
00001159: JUMPDEST
0000115a: DUP1
0000115b: PUSH1 0x1f
0000115d: ADD
0000115e: PUSH1 0x20
00001160: DUP1
00001161: SWAP2
00001162: DIV
00001163: MUL
00001164: PUSH1 0x20
00001166: ADD
00001167: PUSH1 0x40
00001169: MLOAD
0000116a: SWAP1
0000116b: DUP2
0000116c: ADD
0000116d: PUSH1 0x40
0000116f: MSTORE
00001170: DUP1
00001171: SWAP3
00001172: SWAP2
00001173: SWAP1
00001174: DUP2
00001175: DUP2
00001176: MSTORE
00001177: PUSH1 0x20
00001179: ADD
0000117a: DUP3
0000117b: DUP1
0000117c: SLOAD
0000117d: PUSH2 0x1185
00001180: SWAP1
00001181: PUSH2 0x2f75
00001184: JUMP
00001185: JUMPDEST
00001186: DUP1
00001187: ISZERO
00001188: PUSH2 0x11d2
0000118b: JUMPI
0000118c: DUP1
0000118d: PUSH1 0x1f
0000118f: LT
00001190: PUSH2 0x11a7
00001193: JUMPI
00001194: PUSH2 0x0100
00001197: DUP1
00001198: DUP4
00001199: SLOAD
0000119a: DIV
0000119b: MUL
0000119c: DUP4
0000119d: MSTORE
0000119e: SWAP2
0000119f: PUSH1 0x20
000011a1: ADD
000011a2: SWAP2
000011a3: PUSH2 0x11d2
000011a6: JUMP
000011a7: JUMPDEST
000011a8: DUP3
000011a9: ADD
000011aa: SWAP2
000011ab: SWAP1
000011ac: PUSH1 0x00
000011ae: MSTORE
000011af: PUSH1 0x20
000011b1: PUSH1 0x00
000011b3: KECCAK256
000011b4: SWAP1
000011b5: JUMPDEST
000011b6: DUP2
000011b7: SLOAD
000011b8: DUP2
000011b9: MSTORE
000011ba: SWAP1
000011bb: PUSH1 0x01
000011bd: ADD
000011be: SWAP1
000011bf: PUSH1 0x20
000011c1: ADD
000011c2: DUP1
000011c3: DUP4
000011c4: GT
000011c5: PUSH2 0x11b5
000011c8: JUMPI
000011c9: DUP3
000011ca: SWAP1
000011cb: SUB
000011cc: PUSH1 0x1f
000011ce: AND
000011cf: DUP3
000011d0: ADD
000011d1: SWAP2
000011d2: JUMPDEST
000011d3: POP
000011d4: POP
000011d5: POP
000011d6: SWAP2
000011d7: DUP4
000011d8: MSTORE
000011d9: POP
000011da: POP
000011db: PUSH1 0x01
000011dd: DUP3
000011de: ADD
000011df: SLOAD
000011e0: PUSH1 0x20
000011e2: DUP3
000011e3: ADD
000011e4: MSTORE
000011e5: PUSH1 0x02
000011e7: DUP3
000011e8: ADD
000011e9: SLOAD
000011ea: PUSH1 0x40
000011ec: DUP3
000011ed: ADD
000011ee: MSTORE
000011ef: PUSH1 0x03
000011f1: DUP3
000011f2: ADD
000011f3: SLOAD
000011f4: PUSH1 0x60
000011f6: DUP3
000011f7: ADD
000011f8: MSTORE
000011f9: PUSH1 0x04
000011fb: DUP3
000011fc: ADD
000011fd: SLOAD
000011fe: PUSH16 0xffffffffffffffffffffffffffffffff
0000120f: DUP1
00001210: DUP3
00001211: AND
00001212: PUSH1 0x80
00001214: DUP5
00001215: ADD
00001216: MSTORE
00001217: PUSH17 0x0100000000000000000000000000000000
00001229: SWAP1
0000122a: SWAP2
0000122b: DIV
0000122c: AND
0000122d: PUSH1 0xa0
0000122f: DUP3
00001230: ADD
00001231: MSTORE
00001232: PUSH1 0x05
00001234: SWAP1
00001235: SWAP2
00001236: ADD
00001237: SLOAD
00001238: PUSH1 0xff
0000123a: AND
0000123b: ISZERO
0000123c: ISZERO
0000123d: PUSH1 0xc0
0000123f: SWAP2
00001240: DUP3
00001241: ADD
00001242: MSTORE
00001243: DUP2
00001244: ADD
00001245: MLOAD
00001246: SWAP1
00001247: SWAP2
00001248: POP
00001249: PUSH2 0x12ae
0000124c: JUMPI
0000124d: PUSH1 0x40
0000124f: MLOAD
00001250: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001271: DUP2
00001272: MSTORE
00001273: PUSH1 0x20
00001275: PUSH1 0x04
00001277: DUP3
00001278: ADD
00001279: MSTORE
0000127a: PUSH1 0x11
0000127c: PUSH1 0x24
0000127e: DUP3
0000127f: ADD
00001280: MSTORE
00001281: PUSH32 0x746f6b656e2069732064697361626c6564000000000000000000000000000000
000012a2: PUSH1 0x44
000012a4: DUP3
000012a5: ADD
000012a6: MSTORE
000012a7: PUSH1 0x64
000012a9: ADD
000012aa: PUSH2 0x0759
000012ad: JUMP
000012ae: JUMPDEST
000012af: DUP1
000012b0: PUSH1 0x20
000012b2: ADD
000012b3: MLOAD
000012b4: CALLVALUE
000012b5: LT
000012b6: ISZERO
000012b7: PUSH2 0x131c
000012ba: JUMPI
000012bb: PUSH1 0x40
000012bd: MLOAD
000012be: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000012df: DUP2
000012e0: MSTORE
000012e1: PUSH1 0x20
000012e3: PUSH1 0x04
000012e5: DUP3
000012e6: ADD
000012e7: MSTORE
000012e8: PUSH1 0x14
000012ea: PUSH1 0x24
000012ec: DUP3
000012ed: ADD
000012ee: MSTORE
000012ef: PUSH32 0x6c657373207468616e206d696e20616d6f756e74000000000000000000000000
00001310: PUSH1 0x44
00001312: DUP3
00001313: ADD
00001314: MSTORE
00001315: PUSH1 0x64
00001317: ADD
00001318: PUSH2 0x0759
0000131b: JUMP
0000131c: JUMPDEST
0000131d: PUSH1 0x00
0000131f: DUP2
00001320: PUSH1 0x60
00001322: ADD
00001323: MLOAD
00001324: CALLVALUE
00001325: GT
00001326: PUSH2 0x1333
00001329: JUMPI
0000132a: DUP2
0000132b: PUSH1 0x80
0000132d: ADD
0000132e: MLOAD
0000132f: PUSH2 0x1339
00001332: JUMP
00001333: JUMPDEST
00001334: DUP2
00001335: PUSH1 0xa0
00001337: ADD
00001338: MLOAD
00001339: JUMPDEST
0000133a: SWAP1
0000133b: POP
0000133c: PUSH1 0x00
0000133e: PUSH3 0x0f4240
00001342: PUSH2 0x135d
00001345: PUSH16 0xffffffffffffffffffffffffffffffff
00001356: DUP5
00001357: AND
00001358: CALLVALUE
00001359: PUSH2 0x315f
0000135c: JUMP
0000135d: JUMPDEST
0000135e: PUSH2 0x1367
00001361: SWAP2
00001362: SWAP1
00001363: PUSH2 0x317c
00001366: JUMP
00001367: JUMPDEST
00001368: DUP4
00001369: PUSH1 0x40
0000136b: ADD
0000136c: MLOAD
0000136d: PUSH2 0x1376
00001370: SWAP2
00001371: SWAP1
00001372: PUSH2 0x31b7
00001375: JUMP
00001376: JUMPDEST
00001377: SWAP1
00001378: POP
00001379: DUP1
0000137a: CALLVALUE
0000137b: GT
0000137c: PUSH2 0x13e1
0000137f: JUMPI
00001380: PUSH1 0x40
00001382: MLOAD
00001383: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000013a4: DUP2
000013a5: MSTORE
000013a6: PUSH1 0x20
000013a8: PUSH1 0x04
000013aa: DUP3
000013ab: ADD
000013ac: MSTORE
000013ad: PUSH1 0x14
000013af: PUSH1 0x24
000013b1: DUP3
000013b2: ADD
000013b3: MSTORE
000013b4: PUSH32 0x666565206d6f7265207468616e20616d6f756e74000000000000000000000000
000013d5: PUSH1 0x44
000013d7: DUP3
000013d8: ADD
000013d9: MSTORE
000013da: PUSH1 0x64
000013dc: ADD
000013dd: PUSH2 0x0759
000013e0: JUMP
000013e1: JUMPDEST
000013e2: CALLVALUE
000013e3: DUP2
000013e4: SWAP1
000013e5: SUB
000013e6: DUP5
000013e7: DUP2
000013e8: GT
000013e9: PUSH2 0x144e
000013ec: JUMPI
000013ed: PUSH1 0x40
000013ef: MLOAD
000013f0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001411: DUP2
00001412: MSTORE
00001413: PUSH1 0x20
00001415: PUSH1 0x04
00001417: DUP3
00001418: ADD
00001419: DUP2
0000141a: SWAP1
0000141b: MSTORE
0000141c: PUSH1 0x24
0000141e: DUP3
0000141f: ADD
00001420: MSTORE
00001421: PUSH32 0x676173736c65737320726577617264206d6f7265207468616e20616d6f756e74
00001442: PUSH1 0x44
00001444: DUP3
00001445: ADD
00001446: MSTORE
00001447: PUSH1 0x64
00001449: ADD
0000144a: PUSH2 0x0759
0000144d: JUMP
0000144e: JUMPDEST
0000144f: PUSH2 0xffff
00001452: DUP11
00001453: AND
00001454: PUSH1 0x00
00001456: SWAP1
00001457: DUP2
00001458: MSTORE
00001459: PUSH1 0x07
0000145b: PUSH1 0x20
0000145d: MSTORE
0000145e: PUSH1 0x40
00001460: DUP1
00001461: DUP3
00001462: KECCAK256
00001463: SWAP1
00001464: MLOAD
00001465: PUSH3 0x0f4240
00001469: SWAP2
0000146a: SWAP1
0000146b: PUSH2 0x1477
0000146e: SWAP1
0000146f: DUP12
00001470: SWAP1
00001471: DUP12
00001472: SWAP1
00001473: PUSH2 0x31ca
00001476: JUMP
00001477: JUMPDEST
00001478: SWAP1
00001479: DUP2
0000147a: MSTORE
0000147b: PUSH1 0x40
0000147d: MLOAD
0000147e: SWAP1
0000147f: DUP2
00001480: SWAP1
00001481: SUB
00001482: PUSH1 0x20
00001484: ADD
00001485: SWAP1
00001486: KECCAK256
00001487: SLOAD
00001488: PUSH2 0x14a3
0000148b: SWAP1
0000148c: PUSH16 0xffffffffffffffffffffffffffffffff
0000149d: AND
0000149e: DUP6
0000149f: PUSH2 0x315f
000014a2: JUMP
000014a3: JUMPDEST
000014a4: PUSH2 0x14ad
000014a7: SWAP2
000014a8: SWAP1
000014a9: PUSH2 0x317c
000014ac: JUMP
000014ad: JUMPDEST
000014ae: SWAP1
000014af: POP
000014b0: PUSH2 0x14b9
000014b3: DUP2
000014b4: DUP5
000014b5: PUSH2 0x31da
000014b8: JUMP
000014b9: JUMPDEST
000014ba: PUSH1 0x0a
000014bc: PUSH1 0x00
000014be: DUP3
000014bf: DUP3
000014c0: SLOAD
000014c1: PUSH2 0x14ca
000014c4: SWAP2
000014c5: SWAP1
000014c6: PUSH2 0x31b7
000014c9: JUMP
000014ca: JUMPDEST
000014cb: SWAP1
000014cc: SWAP2
000014cd: SSTORE
000014ce: POP
000014cf: PUSH2 0x14da
000014d2: SWAP1
000014d3: POP
000014d4: DUP2
000014d5: DUP4
000014d6: PUSH2 0x31b7
000014d9: JUMP
000014da: JUMPDEST
000014db: PUSH1 0x0b
000014dd: PUSH1 0x00
000014df: DUP3
000014e0: DUP3
000014e1: SLOAD
000014e2: PUSH2 0x14eb
000014e5: SWAP2
000014e6: SWAP1
000014e7: PUSH2 0x31b7
000014ea: JUMP
000014eb: JUMPDEST
000014ec: SWAP1
000014ed: SWAP2
000014ee: SSTORE
000014ef: POP
000014f0: PUSH32 0xbd5f70a23e54b5a3880fb16392520f3c3cb0fb9e78a2f6a218e7a7f37a61c7fd
00001511: SWAP1
00001512: POP
00001513: DUP12
00001514: DUP4
00001515: DUP13
00001516: DUP13
00001517: DUP11
00001518: DUP14
00001519: DUP14
0000151a: DUP9
0000151b: PUSH2 0x1524
0000151e: DUP2
0000151f: DUP14
00001520: PUSH2 0x31da
00001523: JUMP
00001524: JUMPDEST
00001525: PUSH1 0x40
00001527: MLOAD
00001528: PUSH2 0x1539
0000152b: SWAP10
0000152c: SWAP9
0000152d: SWAP8
0000152e: SWAP7
0000152f: SWAP6
00001530: SWAP5
00001531: SWAP4
00001532: SWAP3
00001533: SWAP2
00001534: SWAP1
00001535: PUSH2 0x3236
00001538: JUMP
00001539: JUMPDEST
0000153a: PUSH1 0x40
0000153c: MLOAD
0000153d: DUP1
0000153e: SWAP2
0000153f: SUB
00001540: SWAP1
00001541: LOG1
00001542: PUSH1 0x03
00001544: SLOAD
00001545: DUP6
00001546: MLOAD
00001547: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000155c: SWAP1
0000155d: SWAP2
0000155e: AND
0000155f: SWAP1
00001560: PUSH4 0xf3f8db33
00001565: SWAP1
00001566: DUP14
00001567: SWAP1
00001568: PUSH2 0x1576
0000156b: PUSH5 0xe8d4a51000
00001571: DUP8
00001572: PUSH2 0x317c
00001575: JUMP
00001576: JUMPDEST
00001577: DUP15
00001578: DUP15
00001579: PUSH2 0x1587
0000157c: PUSH5 0xe8d4a51000
00001582: DUP15
00001583: PUSH2 0x317c
00001586: JUMP
00001587: JUMPDEST
00001588: DUP16
00001589: DUP16
0000158a: PUSH2 0x1598
0000158d: PUSH5 0xe8d4a51000
00001593: DUP13
00001594: PUSH2 0x317c
00001597: JUMP
00001598: JUMPDEST
00001599: PUSH1 0x40
0000159b: MLOAD
0000159c: DUP11
0000159d: PUSH4 0xffffffff
000015a2: AND
000015a3: PUSH1 0xe0
000015a5: SHL
000015a6: DUP2
000015a7: MSTORE
000015a8: PUSH1 0x04
000015aa: ADD
000015ab: PUSH2 0x15bc
000015ae: SWAP10
000015af: SWAP9
000015b0: SWAP8
000015b1: SWAP7
000015b2: SWAP6
000015b3: SWAP5
000015b4: SWAP4
000015b5: SWAP3
000015b6: SWAP2
000015b7: SWAP1
000015b8: PUSH2 0x328c
000015bb: JUMP
000015bc: JUMPDEST
000015bd: PUSH1 0x00
000015bf: PUSH1 0x40
000015c1: MLOAD
000015c2: DUP1
000015c3: DUP4
000015c4: SUB
000015c5: DUP2
000015c6: PUSH1 0x00
000015c8: DUP8
000015c9: DUP1
000015ca: EXTCODESIZE
000015cb: ISZERO
000015cc: DUP1
000015cd: ISZERO
000015ce: PUSH2 0x15d6
000015d1: JUMPI
000015d2: PUSH1 0x00
000015d4: DUP1
000015d5: REVERT
000015d6: JUMPDEST
000015d7: POP
000015d8: GAS
000015d9: CALL
000015da: ISZERO
000015db: DUP1
000015dc: ISZERO
000015dd: PUSH2 0x15ea
000015e0: JUMPI
000015e1: RETURNDATASIZE
000015e2: PUSH1 0x00
000015e4: DUP1
000015e5: RETURNDATACOPY
000015e6: RETURNDATASIZE
000015e7: PUSH1 0x00
000015e9: REVERT
000015ea: JUMPDEST
000015eb: POP
000015ec: POP
000015ed: PUSH1 0x08
000015ef: DUP1
000015f0: SLOAD
000015f1: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00001612: AND
00001613: SWAP1
00001614: SSTORE
00001615: POP
00001616: POP
00001617: POP
00001618: POP
00001619: POP
0000161a: POP
0000161b: POP
0000161c: POP
0000161d: POP
0000161e: POP
0000161f: POP
00001620: POP
00001621: POP
00001622: JUMP
00001623: JUMPDEST
00001624: PUSH1 0x00
00001626: SLOAD
00001627: PUSH22 0x01000000000000000000000000000000000000000000
0000163e: SWAP1
0000163f: DIV
00001640: PUSH1 0xff
00001642: AND
00001643: ISZERO
00001644: PUSH2 0x16a9
00001647: JUMPI
00001648: PUSH1 0x40
0000164a: MLOAD
0000164b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000166c: DUP2
0000166d: MSTORE
0000166e: PUSH1 0x20
00001670: PUSH1 0x04
00001672: DUP3
00001673: ADD
00001674: MSTORE
00001675: PUSH1 0x06
00001677: PUSH1 0x24
00001679: DUP3
0000167a: ADD
0000167b: MSTORE
0000167c: PUSH32 0x7061757365640000000000000000000000000000000000000000000000000000
0000169d: PUSH1 0x44
0000169f: DUP3
000016a0: ADD
000016a1: MSTORE
000016a2: PUSH1 0x64
000016a4: ADD
000016a5: PUSH2 0x0759
000016a8: JUMP
000016a9: JUMPDEST
000016aa: PUSH1 0x01
000016ac: SLOAD
000016ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016c2: AND
000016c3: CALLER
000016c4: EQ
000016c5: PUSH2 0x172a
000016c8: JUMPI
000016c9: PUSH1 0x40
000016cb: MLOAD
000016cc: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000016ed: DUP2
000016ee: MSTORE
000016ef: PUSH1 0x20
000016f1: PUSH1 0x04
000016f3: DUP3
000016f4: ADD
000016f5: MSTORE
000016f6: PUSH1 0x0b
000016f8: PUSH1 0x24
000016fa: DUP3
000016fb: ADD
000016fc: MSTORE
000016fd: PUSH32 0x6f6e6c7920706175736572000000000000000000000000000000000000000000
0000171e: PUSH1 0x44
00001720: DUP3
00001721: ADD
00001722: MSTORE
00001723: PUSH1 0x64
00001725: ADD
00001726: PUSH2 0x0759
00001729: JUMP
0000172a: JUMPDEST
0000172b: PUSH1 0x00
0000172d: DUP1
0000172e: SLOAD
0000172f: PUSH32 0xffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff
00001750: AND
00001751: PUSH22 0x01000000000000000000000000000000000000000000
00001768: OR
00001769: SWAP1
0000176a: SSTORE
0000176b: PUSH1 0x40
0000176d: MLOAD
0000176e: CALLER
0000176f: DUP2
00001770: MSTORE
00001771: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258
00001792: SWAP1
00001793: PUSH1 0x20
00001795: ADD
00001796: PUSH2 0x0bdc
00001799: JUMP
0000179a: JUMPDEST
0000179b: PUSH1 0x08
0000179d: SLOAD
0000179e: PUSH1 0xff
000017a0: AND
000017a1: ISZERO
000017a2: PUSH2 0x1807
000017a5: JUMPI
000017a6: PUSH1 0x40
000017a8: MLOAD
000017a9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000017ca: DUP2
000017cb: MSTORE
000017cc: PUSH1 0x20
000017ce: PUSH1 0x04
000017d0: DUP3
000017d1: ADD
000017d2: MSTORE
000017d3: PUSH1 0x0a
000017d5: PUSH1 0x24
000017d7: DUP3
000017d8: ADD
000017d9: MSTORE
000017da: PUSH32 0x6d75746578206c6f636b00000000000000000000000000000000000000000000
000017fb: PUSH1 0x44
000017fd: DUP3
000017fe: ADD
000017ff: MSTORE
00001800: PUSH1 0x64
00001802: ADD
00001803: PUSH2 0x0759
00001806: JUMP
00001807: JUMPDEST
00001808: PUSH1 0x08
0000180a: DUP1
0000180b: SLOAD
0000180c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
0000182d: AND
0000182e: PUSH1 0x01
00001830: OR
00001831: SWAP1
00001832: SSTORE
00001833: PUSH1 0x00
00001835: SLOAD
00001836: PUSH22 0x01000000000000000000000000000000000000000000
0000184d: SWAP1
0000184e: DIV
0000184f: PUSH1 0xff
00001851: AND
00001852: ISZERO
00001853: PUSH2 0x18b8
00001856: JUMPI
00001857: PUSH1 0x40
00001859: MLOAD
0000185a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000187b: DUP2
0000187c: MSTORE
0000187d: PUSH1 0x20
0000187f: PUSH1 0x04
00001881: DUP3
00001882: ADD
00001883: MSTORE
00001884: PUSH1 0x06
00001886: PUSH1 0x24
00001888: DUP3
00001889: ADD
0000188a: MSTORE
0000188b: PUSH32 0x7061757365640000000000000000000000000000000000000000000000000000
000018ac: PUSH1 0x44
000018ae: DUP3
000018af: ADD
000018b0: MSTORE
000018b1: PUSH1 0x64
000018b3: ADD
000018b4: PUSH2 0x0759
000018b7: JUMP
000018b8: JUMPDEST
000018b9: PUSH1 0x00
000018bb: SLOAD
000018bc: PUSH1 0xff
000018be: AND
000018bf: PUSH2 0x1924
000018c2: JUMPI
000018c3: PUSH1 0x40
000018c5: MLOAD
000018c6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000018e7: DUP2
000018e8: MSTORE
000018e9: PUSH1 0x20
000018eb: PUSH1 0x04
000018ed: DUP3
000018ee: ADD
000018ef: MSTORE
000018f0: PUSH1 0x0f
000018f2: PUSH1 0x24
000018f4: DUP3
000018f5: ADD
000018f6: MSTORE
000018f7: PUSH32 0x6e6f7420696e697469616c697a65640000000000000000000000000000000000
00001918: PUSH1 0x44
0000191a: DUP3
0000191b: ADD
0000191c: MSTORE
0000191d: PUSH1 0x64
0000191f: ADD
00001920: PUSH2 0x0759
00001923: JUMP
00001924: JUMPDEST
00001925: PUSH1 0x04
00001927: SLOAD
00001928: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000193d: AND
0000193e: CALLER
0000193f: EQ
00001940: PUSH2 0x19a5
00001943: JUMPI
00001944: PUSH1 0x40
00001946: MLOAD
00001947: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001968: DUP2
00001969: MSTORE
0000196a: PUSH1 0x20
0000196c: PUSH1 0x04
0000196e: DUP3
0000196f: ADD
00001970: MSTORE
00001971: PUSH1 0x0d
00001973: PUSH1 0x24
00001975: DUP3
00001976: ADD
00001977: MSTORE
00001978: PUSH32 0x6f6e6c79206578656375746f7200000000000000000000000000000000000000
00001999: PUSH1 0x44
0000199b: DUP3
0000199c: ADD
0000199d: MSTORE
0000199e: PUSH1 0x64
000019a0: ADD
000019a1: PUSH2 0x0759
000019a4: JUMP
000019a5: JUMPDEST
000019a6: DUP4
000019a7: PUSH1 0x05
000019a9: SLOAD
000019aa: EQ
000019ab: PUSH2 0x1a10
000019ae: JUMPI
000019af: PUSH1 0x40
000019b1: MLOAD
000019b2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000019d3: DUP2
000019d4: MSTORE
000019d5: PUSH1 0x20
000019d7: PUSH1 0x04
000019d9: DUP3
000019da: ADD
000019db: MSTORE
000019dc: PUSH1 0x14
000019de: PUSH1 0x24
000019e0: DUP3
000019e1: ADD
000019e2: MSTORE
000019e3: PUSH32 0x6f6e6c792063616c6c657220636f6e7472616374000000000000000000000000
00001a04: PUSH1 0x44
00001a06: DUP3
00001a07: ADD
00001a08: MSTORE
00001a09: PUSH1 0x64
00001a0b: ADD
00001a0c: PUSH2 0x0759
00001a0f: JUMP
00001a10: JUMPDEST
00001a11: PUSH1 0x0b
00001a13: SLOAD
00001a14: PUSH2 0x1a22
00001a17: PUSH5 0xe8d4a51000
00001a1d: DUP5
00001a1e: PUSH2 0x315f
00001a21: JUMP
00001a22: JUMPDEST
00001a23: SWAP3
00001a24: POP
00001a25: PUSH2 0x1a33
00001a28: PUSH5 0xe8d4a51000
00001a2e: DUP4
00001a2f: PUSH2 0x315f
00001a32: JUMP
00001a33: JUMPDEST
00001a34: SWAP2
00001a35: POP
00001a36: DUP3
00001a37: DUP2
00001a38: LT
00001a39: ISZERO
00001a3a: PUSH2 0x1a9f
00001a3d: JUMPI
00001a3e: PUSH1 0x40
00001a40: MLOAD
00001a41: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001a62: DUP2
00001a63: MSTORE
00001a64: PUSH1 0x20
00001a66: PUSH1 0x04
00001a68: DUP3
00001a69: ADD
00001a6a: MSTORE
00001a6b: PUSH1 0x12
00001a6d: PUSH1 0x24
00001a6f: DUP3
00001a70: ADD
00001a71: MSTORE
00001a72: PUSH32 0x696e73756666696369656e742066756e64730000000000000000000000000000
00001a93: PUSH1 0x44
00001a95: DUP3
00001a96: ADD
00001a97: MSTORE
00001a98: PUSH1 0x64
00001a9a: ADD
00001a9b: PUSH2 0x0759
00001a9e: JUMP
00001a9f: JUMPDEST
00001aa0: DUP3
00001aa1: DUP2
00001aa2: SUB
00001aa3: PUSH1 0x0b
00001aa5: SSTORE
00001aa6: PUSH1 0x40
00001aa8: DUP1
00001aa9: MLOAD
00001aaa: DUP5
00001aab: DUP2
00001aac: MSTORE
00001aad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ac2: DUP7
00001ac3: AND
00001ac4: PUSH1 0x20
00001ac6: DUP3
00001ac7: ADD
00001ac8: MSTORE
00001ac9: SWAP1
00001aca: DUP2
00001acb: ADD
00001acc: DUP4
00001acd: SWAP1
00001ace: MSTORE
00001acf: ORIGIN
00001ad0: PUSH1 0x60
00001ad2: DUP3
00001ad3: ADD
00001ad4: MSTORE
00001ad5: PUSH32 0x962ba7162f4c833675515d18cddc45390cfe1ea38dd381d4b5b3119cc05d14d1
00001af6: SWAP1
00001af7: PUSH1 0x80
00001af9: ADD
00001afa: PUSH1 0x40
00001afc: MLOAD
00001afd: DUP1
00001afe: SWAP2
00001aff: SUB
00001b00: SWAP1
00001b01: LOG1
00001b02: PUSH1 0x00
00001b04: DUP3
00001b05: GT
00001b06: DUP1
00001b07: ISZERO
00001b08: PUSH2 0x1b27
00001b0b: JUMPI
00001b0c: POP
00001b0d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b22: DUP5
00001b23: AND
00001b24: ORIGIN
00001b25: EQ
00001b26: ISZERO
00001b27: JUMPDEST
00001b28: ISZERO
00001b29: PUSH2 0x1bac
00001b2c: JUMPI
00001b2d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b42: DUP5
00001b43: AND
00001b44: PUSH2 0x08fc
00001b47: PUSH2 0x1b50
00001b4a: DUP5
00001b4b: DUP7
00001b4c: PUSH2 0x31da
00001b4f: JUMP
00001b50: JUMPDEST
00001b51: PUSH1 0x40
00001b53: MLOAD
00001b54: DUP2
00001b55: ISZERO
00001b56: SWAP1
00001b57: SWAP3
00001b58: MUL
00001b59: SWAP2
00001b5a: PUSH1 0x00
00001b5c: DUP2
00001b5d: DUP2
00001b5e: DUP2
00001b5f: DUP6
00001b60: DUP9
00001b61: DUP9
00001b62: CALL
00001b63: SWAP4
00001b64: POP
00001b65: POP
00001b66: POP
00001b67: POP
00001b68: ISZERO
00001b69: DUP1
00001b6a: ISZERO
00001b6b: PUSH2 0x1b78
00001b6e: JUMPI
00001b6f: RETURNDATASIZE
00001b70: PUSH1 0x00
00001b72: DUP1
00001b73: RETURNDATACOPY
00001b74: RETURNDATASIZE
00001b75: PUSH1 0x00
00001b77: REVERT
00001b78: JUMPDEST
00001b79: POP
00001b7a: PUSH1 0x40
00001b7c: MLOAD
00001b7d: ORIGIN
00001b7e: SWAP1
00001b7f: DUP4
00001b80: ISZERO
00001b81: PUSH2 0x08fc
00001b84: MUL
00001b85: SWAP1
00001b86: DUP5
00001b87: SWAP1
00001b88: PUSH1 0x00
00001b8a: DUP2
00001b8b: DUP2
00001b8c: DUP2
00001b8d: DUP6
00001b8e: DUP9
00001b8f: DUP9
00001b90: CALL
00001b91: SWAP4
00001b92: POP
00001b93: POP
00001b94: POP
00001b95: POP
00001b96: ISZERO
00001b97: DUP1
00001b98: ISZERO
00001b99: PUSH2 0x1ba6
00001b9c: JUMPI
00001b9d: RETURNDATASIZE
00001b9e: PUSH1 0x00
00001ba0: DUP1
00001ba1: RETURNDATACOPY
00001ba2: RETURNDATASIZE
00001ba3: PUSH1 0x00
00001ba5: REVERT
00001ba6: JUMPDEST
00001ba7: POP
00001ba8: PUSH2 0x1bf1
00001bab: JUMP
00001bac: JUMPDEST
00001bad: PUSH1 0x40
00001baf: MLOAD
00001bb0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bc5: DUP6
00001bc6: AND
00001bc7: SWAP1
00001bc8: DUP5
00001bc9: ISZERO
00001bca: PUSH2 0x08fc
00001bcd: MUL
00001bce: SWAP1
00001bcf: DUP6
00001bd0: SWAP1
00001bd1: PUSH1 0x00
00001bd3: DUP2
00001bd4: DUP2
00001bd5: DUP2
00001bd6: DUP6
00001bd7: DUP9
00001bd8: DUP9
00001bd9: CALL
00001bda: SWAP4
00001bdb: POP
00001bdc: POP
00001bdd: POP
00001bde: POP
00001bdf: ISZERO
00001be0: DUP1
00001be1: ISZERO
00001be2: PUSH2 0x1bef
00001be5: JUMPI
00001be6: RETURNDATASIZE
00001be7: PUSH1 0x00
00001be9: DUP1
00001bea: RETURNDATACOPY
00001beb: RETURNDATASIZE
00001bec: PUSH1 0x00
00001bee: REVERT
00001bef: JUMPDEST
00001bf0: POP
00001bf1: JUMPDEST
00001bf2: POP
00001bf3: POP
00001bf4: PUSH1 0x08
00001bf6: DUP1
00001bf7: SLOAD
00001bf8: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00001c19: AND
00001c1a: SWAP1
00001c1b: SSTORE
00001c1c: POP
00001c1d: POP
00001c1e: POP
00001c1f: JUMP
00001c20: JUMPDEST
00001c21: PUSH1 0x08
00001c23: SLOAD
00001c24: PUSH1 0xff
00001c26: AND
00001c27: ISZERO
00001c28: PUSH2 0x1c8d
00001c2b: JUMPI
00001c2c: PUSH1 0x40
00001c2e: MLOAD
00001c2f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001c50: DUP2
00001c51: MSTORE
00001c52: PUSH1 0x20
00001c54: PUSH1 0x04
00001c56: DUP3
00001c57: ADD
00001c58: MSTORE
00001c59: PUSH1 0x0a
00001c5b: PUSH1 0x24
00001c5d: DUP3
00001c5e: ADD
00001c5f: MSTORE
00001c60: PUSH32 0x6d75746578206c6f636b00000000000000000000000000000000000000000000
00001c81: PUSH1 0x44
00001c83: DUP3
00001c84: ADD
00001c85: MSTORE
00001c86: PUSH1 0x64
00001c88: ADD
00001c89: PUSH2 0x0759
00001c8c: JUMP
00001c8d: JUMPDEST
00001c8e: PUSH1 0x08
00001c90: DUP1
00001c91: SLOAD
00001c92: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00001cb3: AND
00001cb4: PUSH1 0x01
00001cb6: OR
00001cb7: SWAP1
00001cb8: SSTORE
00001cb9: PUSH1 0x00
00001cbb: SLOAD
00001cbc: PUSH22 0x01000000000000000000000000000000000000000000
00001cd3: SWAP1
00001cd4: DIV
00001cd5: PUSH1 0xff
00001cd7: AND
00001cd8: ISZERO
00001cd9: PUSH2 0x1d3e
00001cdc: JUMPI
00001cdd: PUSH1 0x40
00001cdf: MLOAD
00001ce0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001d01: DUP2
00001d02: MSTORE
00001d03: PUSH1 0x20
00001d05: PUSH1 0x04
00001d07: DUP3
00001d08: ADD
00001d09: MSTORE
00001d0a: PUSH1 0x06
00001d0c: PUSH1 0x24
00001d0e: DUP3
00001d0f: ADD
00001d10: MSTORE
00001d11: PUSH32 0x7061757365640000000000000000000000000000000000000000000000000000
00001d32: PUSH1 0x44
00001d34: DUP3
00001d35: ADD
00001d36: MSTORE
00001d37: PUSH1 0x64
00001d39: ADD
00001d3a: PUSH2 0x0759
00001d3d: JUMP
00001d3e: JUMPDEST
00001d3f: PUSH1 0x00
00001d41: SLOAD
00001d42: PUSH1 0xff
00001d44: AND
00001d45: PUSH2 0x1daa
00001d48: JUMPI
00001d49: PUSH1 0x40
00001d4b: MLOAD
00001d4c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001d6d: DUP2
00001d6e: MSTORE
00001d6f: PUSH1 0x20
00001d71: PUSH1 0x04
00001d73: DUP3
00001d74: ADD
00001d75: MSTORE
00001d76: PUSH1 0x0f
00001d78: PUSH1 0x24
00001d7a: DUP3
00001d7b: ADD
00001d7c: MSTORE
00001d7d: PUSH32 0x6e6f7420696e697469616c697a65640000000000000000000000000000000000
00001d9e: PUSH1 0x44
00001da0: DUP3
00001da1: ADD
00001da2: MSTORE
00001da3: PUSH1 0x64
00001da5: ADD
00001da6: PUSH2 0x0759
00001da9: JUMP
00001daa: JUMPDEST
00001dab: PUSH1 0x01
00001dad: SLOAD
00001dae: PUSH21 0x010000000000000000000000000000000000000000
00001dc4: SWAP1
00001dc5: DIV
00001dc6: PUSH2 0xffff
00001dc9: AND
00001dca: PUSH1 0x00
00001dcc: DUP2
00001dcd: DUP2
00001dce: MSTORE
00001dcf: PUSH1 0x06
00001dd1: PUSH1 0x20
00001dd3: MSTORE
00001dd4: PUSH1 0x40
00001dd6: SWAP1
00001dd7: KECCAK256
00001dd8: SLOAD
00001dd9: PUSH1 0xff
00001ddb: AND
00001ddc: PUSH2 0x1e41
00001ddf: JUMPI
00001de0: PUSH1 0x40
00001de2: MLOAD
00001de3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001e04: DUP2
00001e05: MSTORE
00001e06: PUSH1 0x20
00001e08: PUSH1 0x04
00001e0a: DUP3
00001e0b: ADD
00001e0c: MSTORE
00001e0d: PUSH1 0x10
00001e0f: PUSH1 0x24
00001e11: DUP3
00001e12: ADD
00001e13: MSTORE
00001e14: PUSH32 0x636861696e2069732064697361626c6500000000000000000000000000000000
00001e35: PUSH1 0x44
00001e37: DUP3
00001e38: ADD
00001e39: MSTORE
00001e3a: PUSH1 0x64
00001e3c: ADD
00001e3d: PUSH2 0x0759
00001e40: JUMP
00001e41: JUMPDEST
00001e42: PUSH2 0xffff
00001e45: DUP2
00001e46: AND
00001e47: PUSH1 0x00
00001e49: SWAP1
00001e4a: DUP2
00001e4b: MSTORE
00001e4c: PUSH1 0x09
00001e4e: PUSH1 0x20
00001e50: MSTORE
00001e51: PUSH1 0x40
00001e53: DUP1
00001e54: DUP3
00001e55: KECCAK256
00001e56: DUP2
00001e57: MLOAD
00001e58: PUSH1 0xe0
00001e5a: DUP2
00001e5b: ADD
00001e5c: SWAP1
00001e5d: SWAP3
00001e5e: MSTORE
00001e5f: DUP1
00001e60: SLOAD
00001e61: DUP3
00001e62: SWAP1
00001e63: DUP3
00001e64: SWAP1
00001e65: PUSH2 0x1e6d
00001e68: SWAP1
00001e69: PUSH2 0x2f75
00001e6c: JUMP
00001e6d: JUMPDEST
00001e6e: DUP1
00001e6f: PUSH1 0x1f
00001e71: ADD
00001e72: PUSH1 0x20
00001e74: DUP1
00001e75: SWAP2
00001e76: DIV
00001e77: MUL
00001e78: PUSH1 0x20
00001e7a: ADD
00001e7b: PUSH1 0x40
00001e7d: MLOAD
00001e7e: SWAP1
00001e7f: DUP2
00001e80: ADD
00001e81: PUSH1 0x40
00001e83: MSTORE
00001e84: DUP1
00001e85: SWAP3
00001e86: SWAP2
00001e87: SWAP1
00001e88: DUP2
00001e89: DUP2
00001e8a: MSTORE
00001e8b: PUSH1 0x20
00001e8d: ADD
00001e8e: DUP3
00001e8f: DUP1
00001e90: SLOAD
00001e91: PUSH2 0x1e99
00001e94: SWAP1
00001e95: PUSH2 0x2f75
00001e98: JUMP
00001e99: JUMPDEST
00001e9a: DUP1
00001e9b: ISZERO
00001e9c: PUSH2 0x1ee6
00001e9f: JUMPI
00001ea0: DUP1
00001ea1: PUSH1 0x1f
00001ea3: LT
00001ea4: PUSH2 0x1ebb
00001ea7: JUMPI
00001ea8: PUSH2 0x0100
00001eab: DUP1
00001eac: DUP4
00001ead: SLOAD
00001eae: DIV
00001eaf: MUL
00001eb0: DUP4
00001eb1: MSTORE
00001eb2: SWAP2
00001eb3: PUSH1 0x20
00001eb5: ADD
00001eb6: SWAP2
00001eb7: PUSH2 0x1ee6
00001eba: JUMP
00001ebb: JUMPDEST
00001ebc: DUP3
00001ebd: ADD
00001ebe: SWAP2
00001ebf: SWAP1
00001ec0: PUSH1 0x00
00001ec2: MSTORE
00001ec3: PUSH1 0x20
00001ec5: PUSH1 0x00
00001ec7: KECCAK256
00001ec8: SWAP1
00001ec9: JUMPDEST
00001eca: DUP2
00001ecb: SLOAD
00001ecc: DUP2
00001ecd: MSTORE
00001ece: SWAP1
00001ecf: PUSH1 0x01
00001ed1: ADD
00001ed2: SWAP1
00001ed3: PUSH1 0x20
00001ed5: ADD
00001ed6: DUP1
00001ed7: DUP4
00001ed8: GT
00001ed9: PUSH2 0x1ec9
00001edc: JUMPI
00001edd: DUP3
00001ede: SWAP1
00001edf: SUB
00001ee0: PUSH1 0x1f
00001ee2: AND
00001ee3: DUP3
00001ee4: ADD
00001ee5: SWAP2
00001ee6: JUMPDEST
00001ee7: POP
00001ee8: POP
00001ee9: POP
00001eea: SWAP2
00001eeb: DUP4
00001eec: MSTORE
00001eed: POP
00001eee: POP
00001eef: PUSH1 0x01
00001ef1: DUP3
00001ef2: ADD
00001ef3: SLOAD
00001ef4: PUSH1 0x20
00001ef6: DUP3
00001ef7: ADD
00001ef8: MSTORE
00001ef9: PUSH1 0x02
00001efb: DUP3
00001efc: ADD
00001efd: SLOAD
00001efe: PUSH1 0x40
00001f00: DUP3
00001f01: ADD
00001f02: MSTORE
00001f03: PUSH1 0x03
00001f05: DUP3
00001f06: ADD
00001f07: SLOAD
00001f08: PUSH1 0x60
00001f0a: DUP3
00001f0b: ADD
00001f0c: MSTORE
00001f0d: PUSH1 0x04
00001f0f: DUP3
00001f10: ADD
00001f11: SLOAD
00001f12: PUSH16 0xffffffffffffffffffffffffffffffff
00001f23: DUP1
00001f24: DUP3
00001f25: AND
00001f26: PUSH1 0x80
00001f28: DUP5
00001f29: ADD
00001f2a: MSTORE
00001f2b: PUSH17 0x0100000000000000000000000000000000
00001f3d: SWAP1
00001f3e: SWAP2
00001f3f: DIV
00001f40: AND
00001f41: PUSH1 0xa0
00001f43: DUP3
00001f44: ADD
00001f45: MSTORE
00001f46: PUSH1 0x05
00001f48: SWAP1
00001f49: SWAP2
00001f4a: ADD
00001f4b: SLOAD
00001f4c: PUSH1 0xff
00001f4e: AND
00001f4f: ISZERO
00001f50: ISZERO
00001f51: PUSH1 0xc0
00001f53: SWAP2
00001f54: DUP3
00001f55: ADD
00001f56: MSTORE
00001f57: DUP2
00001f58: ADD
00001f59: MLOAD
00001f5a: SWAP1
00001f5b: SWAP2
00001f5c: POP
00001f5d: PUSH2 0x1fc2
00001f60: JUMPI
00001f61: PUSH1 0x40
00001f63: MLOAD
00001f64: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001f85: DUP2
00001f86: MSTORE
00001f87: PUSH1 0x20
00001f89: PUSH1 0x04
00001f8b: DUP3
00001f8c: ADD
00001f8d: MSTORE
00001f8e: PUSH1 0x11
00001f90: PUSH1 0x24
00001f92: DUP3
00001f93: ADD
00001f94: MSTORE
00001f95: PUSH32 0x746f6b656e2069732064697361626c6564000000000000000000000000000000
00001fb6: PUSH1 0x44
00001fb8: DUP3
00001fb9: ADD
00001fba: MSTORE
00001fbb: PUSH1 0x64
00001fbd: ADD
00001fbe: PUSH2 0x0759
00001fc1: JUMP
00001fc2: JUMPDEST
00001fc3: PUSH1 0x0a
00001fc5: SLOAD
00001fc6: PUSH1 0x20
00001fc8: DUP3
00001fc9: ADD
00001fca: MLOAD
00001fcb: DUP2
00001fcc: LT
00001fcd: ISZERO
00001fce: PUSH2 0x2033
00001fd1: JUMPI
00001fd2: PUSH1 0x40
00001fd4: MLOAD
00001fd5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001ff6: DUP2
00001ff7: MSTORE
00001ff8: PUSH1 0x20
00001ffa: PUSH1 0x04
00001ffc: DUP3
00001ffd: ADD
00001ffe: MSTORE
00001fff: PUSH1 0x14
00002001: PUSH1 0x24
00002003: DUP3
00002004: ADD
00002005: MSTORE
00002006: PUSH32 0x6c657373207468616e206d696e20616d6f756e74000000000000000000000000
00002027: PUSH1 0x44
00002029: DUP3
0000202a: ADD
0000202b: MSTORE
0000202c: PUSH1 0x64
0000202e: ADD
0000202f: PUSH2 0x0759
00002032: JUMP
00002033: JUMPDEST
00002034: DUP1
00002035: PUSH1 0x0b
00002037: PUSH1 0x00
00002039: DUP3
0000203a: DUP3
0000203b: SLOAD
0000203c: PUSH2 0x2045
0000203f: SWAP2
00002040: SWAP1
00002041: PUSH2 0x31b7
00002044: JUMP
00002045: JUMPDEST
00002046: SWAP1
00002047: SWAP2
00002048: SSTORE
00002049: POP
0000204a: POP
0000204b: PUSH1 0x00
0000204d: PUSH1 0x0a
0000204f: SSTORE
00002050: PUSH2 0x205e
00002053: PUSH5 0xe8d4a51000
00002059: DUP3
0000205a: PUSH2 0x317c
0000205d: JUMP
0000205e: JUMPDEST
0000205f: SWAP1
00002060: POP
00002061: PUSH1 0x00
00002063: PUSH1 0x02
00002065: DUP1
00002066: SLOAD
00002067: PUSH2 0x206f
0000206a: SWAP1
0000206b: PUSH2 0x2f75
0000206e: JUMP
0000206f: JUMPDEST
00002070: DUP1
00002071: PUSH1 0x1f
00002073: ADD
00002074: PUSH1 0x20
00002076: DUP1
00002077: SWAP2
00002078: DIV
00002079: MUL
0000207a: PUSH1 0x20
0000207c: ADD
0000207d: PUSH1 0x40
0000207f: MLOAD
00002080: SWAP1
00002081: DUP2
00002082: ADD
00002083: PUSH1 0x40
00002085: MSTORE
00002086: DUP1
00002087: SWAP3
00002088: SWAP2
00002089: SWAP1
0000208a: DUP2
0000208b: DUP2
0000208c: MSTORE
0000208d: PUSH1 0x20
0000208f: ADD
00002090: DUP3
00002091: DUP1
00002092: SLOAD
00002093: PUSH2 0x209b
00002096: SWAP1
00002097: PUSH2 0x2f75
0000209a: JUMP
0000209b: JUMPDEST
0000209c: DUP1
0000209d: ISZERO
0000209e: PUSH2 0x20e8
000020a1: JUMPI
000020a2: DUP1
000020a3: PUSH1 0x1f
000020a5: LT
000020a6: PUSH2 0x20bd
000020a9: JUMPI
000020aa: PUSH2 0x0100
000020ad: DUP1
000020ae: DUP4
000020af: SLOAD
000020b0: DIV
000020b1: MUL
000020b2: DUP4
000020b3: MSTORE
000020b4: SWAP2
000020b5: PUSH1 0x20
000020b7: ADD
000020b8: SWAP2
000020b9: PUSH2 0x20e8
000020bc: JUMP
000020bd: JUMPDEST
000020be: DUP3
000020bf: ADD
000020c0: SWAP2
000020c1: SWAP1
000020c2: PUSH1 0x00
000020c4: MSTORE
000020c5: PUSH1 0x20
000020c7: PUSH1 0x00
000020c9: KECCAK256
000020ca: SWAP1
000020cb: JUMPDEST
000020cc: DUP2
000020cd: SLOAD
000020ce: DUP2
000020cf: MSTORE
000020d0: SWAP1
000020d1: PUSH1 0x01
000020d3: ADD
000020d4: SWAP1
000020d5: PUSH1 0x20
000020d7: ADD
000020d8: DUP1
000020d9: DUP4
000020da: GT
000020db: PUSH2 0x20cb
000020de: JUMPI
000020df: DUP3
000020e0: SWAP1
000020e1: SUB
000020e2: PUSH1 0x1f
000020e4: AND
000020e5: DUP3
000020e6: ADD
000020e7: SWAP2
000020e8: JUMPDEST
000020e9: POP
000020ea: POP
000020eb: POP
000020ec: POP
000020ed: POP
000020ee: SWAP1
000020ef: POP
000020f0: PUSH32 0x96437ac80e46ae10e2d87d1e818cd46867714023a3eb1e12484429d8cfa43922
00002111: DUP5
00002112: DUP4
00002113: DUP4
00002114: PUSH1 0x40
00002116: MLOAD
00002117: PUSH2 0x2122
0000211a: SWAP4
0000211b: SWAP3
0000211c: SWAP2
0000211d: SWAP1
0000211e: PUSH2 0x32f4
00002121: JUMP
00002122: JUMPDEST
00002123: PUSH1 0x40
00002125: MLOAD
00002126: DUP1
00002127: SWAP2
00002128: SUB
00002129: SWAP1
0000212a: LOG1
0000212b: PUSH1 0x03
0000212d: SLOAD
0000212e: DUP4
0000212f: MLOAD
00002130: PUSH1 0x40
00002132: MLOAD
00002133: PUSH32 0xf3f8db3300000000000000000000000000000000000000000000000000000000
00002154: DUP2
00002155: MSTORE
00002156: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000216b: SWAP1
0000216c: SWAP3
0000216d: AND
0000216e: SWAP2
0000216f: PUSH4 0xf3f8db33
00002174: SWAP2
00002175: PUSH2 0x218c
00002178: SWAP2
00002179: DUP9
0000217a: SWAP2
0000217b: SWAP1
0000217c: DUP8
0000217d: SWAP1
0000217e: DUP8
0000217f: SWAP1
00002180: PUSH1 0x00
00002182: SWAP1
00002183: DUP2
00002184: SWAP1
00002185: PUSH1 0x04
00002187: ADD
00002188: PUSH2 0x3320
0000218b: JUMP
0000218c: JUMPDEST
0000218d: PUSH1 0x00
0000218f: PUSH1 0x40
00002191: MLOAD
00002192: DUP1
00002193: DUP4
00002194: SUB
00002195: DUP2
00002196: PUSH1 0x00
00002198: DUP8
00002199: DUP1
0000219a: EXTCODESIZE
0000219b: ISZERO
0000219c: DUP1
0000219d: ISZERO
0000219e: PUSH2 0x21a6
000021a1: JUMPI
000021a2: PUSH1 0x00
000021a4: DUP1
000021a5: REVERT
000021a6: JUMPDEST
000021a7: POP
000021a8: GAS
000021a9: CALL
000021aa: ISZERO
000021ab: DUP1
000021ac: ISZERO
000021ad: PUSH2 0x21ba
000021b0: JUMPI
000021b1: RETURNDATASIZE
000021b2: PUSH1 0x00
000021b4: DUP1
000021b5: RETURNDATACOPY
000021b6: RETURNDATASIZE
000021b7: PUSH1 0x00
000021b9: REVERT
000021ba: JUMPDEST
000021bb: POP
000021bc: POP
000021bd: PUSH1 0x08
000021bf: DUP1
000021c0: SLOAD
000021c1: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
000021e2: AND
000021e3: SWAP1
000021e4: SSTORE
000021e5: POP
000021e6: POP
000021e7: POP
000021e8: POP
000021e9: POP
000021ea: POP
000021eb: JUMP
000021ec: JUMPDEST
000021ed: PUSH1 0x00
000021ef: SLOAD
000021f0: PUSH1 0xff
000021f2: AND
000021f3: ISZERO
000021f4: PUSH2 0x2259
000021f7: JUMPI
000021f8: PUSH1 0x40
000021fa: MLOAD
000021fb: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000221c: DUP2
0000221d: MSTORE
0000221e: PUSH1 0x20
00002220: PUSH1 0x04
00002222: DUP3
00002223: ADD
00002224: MSTORE
00002225: PUSH1 0x13
00002227: PUSH1 0x24
00002229: DUP3
0000222a: ADD
0000222b: MSTORE
0000222c: PUSH32 0x616c726561647920696e697469616c697a656400000000000000000000000000
0000224d: PUSH1 0x44
0000224f: DUP3
00002250: ADD
00002251: MSTORE
00002252: PUSH1 0x64
00002254: ADD
00002255: PUSH2 0x0759
00002258: JUMP
00002259: JUMPDEST
0000225a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000226f: DUP8
00002270: AND
00002271: PUSH2 0x22d6
00002274: JUMPI
00002275: PUSH1 0x40
00002277: MLOAD
00002278: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002299: DUP2
0000229a: MSTORE
0000229b: PUSH1 0x20
0000229d: PUSH1 0x04
0000229f: DUP3
000022a0: ADD
000022a1: MSTORE
000022a2: PUSH1 0x0c
000022a4: PUSH1 0x24
000022a6: DUP3
000022a7: ADD
000022a8: MSTORE
000022a9: PUSH32 0x7a65726f20616464726573730000000000000000000000000000000000000000
000022ca: PUSH1 0x44
000022cc: DUP3
000022cd: ADD
000022ce: MSTORE
000022cf: PUSH1 0x64
000022d1: ADD
000022d2: PUSH2 0x0759
000022d5: JUMP
000022d6: JUMPDEST
000022d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022ec: DUP7
000022ed: AND
000022ee: PUSH2 0x2353
000022f1: JUMPI
000022f2: PUSH1 0x40
000022f4: MLOAD
000022f5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002316: DUP2
00002317: MSTORE
00002318: PUSH1 0x20
0000231a: PUSH1 0x04
0000231c: DUP3
0000231d: ADD
0000231e: MSTORE
0000231f: PUSH1 0x0c
00002321: PUSH1 0x24
00002323: DUP3
00002324: ADD
00002325: MSTORE
00002326: PUSH32 0x7a65726f20616464726573730000000000000000000000000000000000000000
00002347: PUSH1 0x44
00002349: DUP3
0000234a: ADD
0000234b: MSTORE
0000234c: PUSH1 0x64
0000234e: ADD
0000234f: PUSH2 0x0759
00002352: JUMP
00002353: JUMPDEST
00002354: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002369: DUP3
0000236a: AND
0000236b: PUSH2 0x23d0
0000236e: JUMPI
0000236f: PUSH1 0x40
00002371: MLOAD
00002372: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002393: DUP2
00002394: MSTORE
00002395: PUSH1 0x20
00002397: PUSH1 0x04
00002399: DUP3
0000239a: ADD
0000239b: MSTORE
0000239c: PUSH1 0x0c
0000239e: PUSH1 0x24
000023a0: DUP3
000023a1: ADD
000023a2: MSTORE
000023a3: PUSH32 0x7a65726f20616464726573730000000000000000000000000000000000000000
000023c4: PUSH1 0x44
000023c6: DUP3
000023c7: ADD
000023c8: MSTORE
000023c9: PUSH1 0x64
000023cb: ADD
000023cc: PUSH2 0x0759
000023cf: JUMP
000023d0: JUMPDEST
000023d1: PUSH1 0x01
000023d3: DUP1
000023d4: SLOAD
000023d5: PUSH32 0xffffffffffffffffffff00000000000000000000000000000000000000000000
000023f6: AND
000023f7: PUSH21 0x010000000000000000000000000000000000000000
0000240d: PUSH2 0xffff
00002410: DUP9
00002411: AND
00002412: MUL
00002413: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00002434: AND
00002435: OR
00002436: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000244b: DUP10
0000244c: AND
0000244d: SWAP1
0000244e: DUP2
0000244f: OR
00002450: SWAP1
00002451: SWAP2
00002452: SSTORE
00002453: PUSH1 0x00
00002455: DUP1
00002456: SLOAD
00002457: PUSH32 0xffffffffffffffffffffff0000000000000000000000000000000000000000ff
00002478: AND
00002479: PUSH2 0x0100
0000247c: SWAP1
0000247d: SWAP3
0000247e: MUL
0000247f: SWAP2
00002480: SWAP1
00002481: SWAP2
00002482: OR
00002483: SWAP1
00002484: SSTORE
00002485: PUSH1 0x02
00002487: PUSH2 0x2491
0000248a: DUP5
0000248b: DUP7
0000248c: DUP4
0000248d: PUSH2 0x337a
00002490: JUMP
00002491: JUMPDEST
00002492: POP
00002493: PUSH1 0x03
00002495: DUP1
00002496: SLOAD
00002497: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000024ac: SWAP8
000024ad: DUP9
000024ae: AND
000024af: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
000024d0: SWAP2
000024d1: DUP3
000024d2: AND
000024d3: OR
000024d4: SWAP1
000024d5: SWAP2
000024d6: SSTORE
000024d7: PUSH1 0x04
000024d9: DUP1
000024da: SLOAD
000024db: SWAP4
000024dc: SWAP1
000024dd: SWAP8
000024de: AND
000024df: SWAP3
000024e0: AND
000024e1: SWAP2
000024e2: SWAP1
000024e3: SWAP2
000024e4: OR
000024e5: SWAP1
000024e6: SWAP5
000024e7: SSTORE
000024e8: POP
000024e9: POP
000024ea: POP
000024eb: PUSH1 0x05
000024ed: SSTORE
000024ee: POP
000024ef: PUSH1 0x00
000024f1: DUP1
000024f2: SLOAD
000024f3: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00002514: AND
00002515: PUSH1 0x01
00002517: OR
00002518: SWAP1
00002519: SSTORE
0000251a: JUMP
0000251b: JUMPDEST
0000251c: PUSH1 0x00
0000251e: SLOAD
0000251f: PUSH2 0x0100
00002522: SWAP1
00002523: DIV
00002524: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002539: AND
0000253a: CALLER
0000253b: EQ
0000253c: PUSH2 0x25a1
0000253f: JUMPI
00002540: PUSH1 0x40
00002542: MLOAD
00002543: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002564: DUP2
00002565: MSTORE
00002566: PUSH1 0x20
00002568: PUSH1 0x04
0000256a: DUP3
0000256b: ADD
0000256c: MSTORE
0000256d: PUSH1 0x0a
0000256f: PUSH1 0x24
00002571: DUP3
00002572: ADD
00002573: MSTORE
00002574: PUSH32 0x6f6e6c792061646d696e00000000000000000000000000000000000000000000
00002595: PUSH1 0x44
00002597: DUP3
00002598: ADD
00002599: MSTORE
0000259a: PUSH1 0x64
0000259c: ADD
0000259d: PUSH2 0x0759
000025a0: JUMP
000025a1: JUMPDEST
000025a2: PUSH3 0x030d40
000025a6: DUP2
000025a7: PUSH16 0xffffffffffffffffffffffffffffffff
000025b8: AND
000025b9: GT
000025ba: ISZERO
000025bb: PUSH2 0x25c3
000025be: JUMPI
000025bf: PUSH1 0x00
000025c1: DUP1
000025c2: REVERT
000025c3: JUMPDEST
000025c4: PUSH16 0xffffffffffffffffffffffffffffffff
000025d5: DUP5
000025d6: AND
000025d7: PUSH1 0x00
000025d9: SWAP1
000025da: DUP2
000025db: MSTORE
000025dc: PUSH1 0x06
000025de: PUSH1 0x20
000025e0: MSTORE
000025e1: PUSH1 0x40
000025e3: SWAP1
000025e4: KECCAK256
000025e5: SLOAD
000025e6: PUSH1 0xff
000025e8: AND
000025e9: PUSH2 0x264e
000025ec: JUMPI
000025ed: PUSH1 0x40
000025ef: MLOAD
000025f0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002611: DUP2
00002612: MSTORE
00002613: PUSH1 0x20
00002615: PUSH1 0x04
00002617: DUP3
00002618: ADD
00002619: MSTORE
0000261a: PUSH1 0x1a
0000261c: PUSH1 0x24
0000261e: DUP3
0000261f: ADD
00002620: MSTORE
00002621: PUSH32 0x657865637574696f6e20636861696e2069732064697361626c65000000000000
00002642: PUSH1 0x44
00002644: DUP3
00002645: ADD
00002646: MSTORE
00002647: PUSH1 0x64
00002649: ADD
0000264a: PUSH2 0x0759
0000264d: JUMP
0000264e: JUMPDEST
0000264f: PUSH32 0x933e13f2c0174ad6202905ed6eb73212911941c4fb8daf560b05445099b52e27
00002670: DUP5
00002671: DUP5
00002672: DUP5
00002673: DUP5
00002674: PUSH1 0x40
00002676: MLOAD
00002677: PUSH2 0x2683
0000267a: SWAP5
0000267b: SWAP4
0000267c: SWAP3
0000267d: SWAP2
0000267e: SWAP1
0000267f: PUSH2 0x3495
00002682: JUMP
00002683: JUMPDEST
00002684: PUSH1 0x40
00002686: MLOAD
00002687: DUP1
00002688: SWAP2
00002689: SUB
0000268a: SWAP1
0000268b: LOG1
0000268c: PUSH16 0xffffffffffffffffffffffffffffffff
0000269d: DUP5
0000269e: AND
0000269f: PUSH1 0x00
000026a1: SWAP1
000026a2: DUP2
000026a3: MSTORE
000026a4: PUSH1 0x07
000026a6: PUSH1 0x20
000026a8: MSTORE
000026a9: PUSH1 0x40
000026ab: SWAP1
000026ac: DUP2
000026ad: SWAP1
000026ae: KECCAK256
000026af: SWAP1
000026b0: MLOAD
000026b1: DUP3
000026b2: SWAP2
000026b3: SWAP1
000026b4: PUSH2 0x26c0
000026b7: SWAP1
000026b8: DUP7
000026b9: SWAP1
000026ba: DUP7
000026bb: SWAP1
000026bc: PUSH2 0x31ca
000026bf: JUMP
000026c0: JUMPDEST
000026c1: SWAP1
000026c2: DUP2
000026c3: MSTORE
000026c4: PUSH1 0x40
000026c6: MLOAD
000026c7: SWAP1
000026c8: DUP2
000026c9: SWAP1
000026ca: SUB
000026cb: PUSH1 0x20
000026cd: ADD
000026ce: SWAP1
000026cf: KECCAK256
000026d0: DUP1
000026d1: SLOAD
000026d2: PUSH16 0xffffffffffffffffffffffffffffffff
000026e3: SWAP3
000026e4: SWAP1
000026e5: SWAP3
000026e6: AND
000026e7: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000
00002708: SWAP1
00002709: SWAP3
0000270a: AND
0000270b: SWAP2
0000270c: SWAP1
0000270d: SWAP2
0000270e: OR
0000270f: SWAP1
00002710: SSTORE
00002711: POP
00002712: POP
00002713: POP
00002714: POP
00002715: JUMP
00002716: JUMPDEST
00002717: PUSH1 0x00
00002719: SLOAD
0000271a: PUSH2 0x0100
0000271d: SWAP1
0000271e: DIV
0000271f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002734: AND
00002735: CALLER
00002736: EQ
00002737: PUSH2 0x279c
0000273a: JUMPI
0000273b: PUSH1 0x40
0000273d: MLOAD
0000273e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000275f: DUP2
00002760: MSTORE
00002761: PUSH1 0x20
00002763: PUSH1 0x04
00002765: DUP3
00002766: ADD
00002767: MSTORE
00002768: PUSH1 0x0a
0000276a: PUSH1 0x24
0000276c: DUP3
0000276d: ADD
0000276e: MSTORE
0000276f: PUSH32 0x6f6e6c792061646d696e00000000000000000000000000000000000000000000
00002790: PUSH1 0x44
00002792: DUP3
00002793: ADD
00002794: MSTORE
00002795: PUSH1 0x64
00002797: ADD
00002798: PUSH2 0x0759
0000279b: JUMP
0000279c: JUMPDEST
0000279d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027b2: DUP2
000027b3: AND
000027b4: PUSH2 0x2819
000027b7: JUMPI
000027b8: PUSH1 0x40
000027ba: MLOAD
000027bb: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000027dc: DUP2
000027dd: MSTORE
000027de: PUSH1 0x20
000027e0: PUSH1 0x04
000027e2: DUP3
000027e3: ADD
000027e4: MSTORE
000027e5: PUSH1 0x0c
000027e7: PUSH1 0x24
000027e9: DUP3
000027ea: ADD
000027eb: MSTORE
000027ec: PUSH32 0x7a65726f20616464726573730000000000000000000000000000000000000000
0000280d: PUSH1 0x44
0000280f: DUP3
00002810: ADD
00002811: MSTORE
00002812: PUSH1 0x64
00002814: ADD
00002815: PUSH2 0x0759
00002818: JUMP
00002819: JUMPDEST
0000281a: PUSH1 0x00
0000281c: SLOAD
0000281d: PUSH1 0x40
0000281f: DUP1
00002820: MLOAD
00002821: CALLER
00002822: DUP2
00002823: MSTORE
00002824: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002839: PUSH2 0x0100
0000283c: SWAP1
0000283d: SWAP4
0000283e: DIV
0000283f: DUP4
00002840: AND
00002841: PUSH1 0x20
00002843: DUP3
00002844: ADD
00002845: MSTORE
00002846: SWAP2
00002847: DUP4
00002848: AND
00002849: DUP3
0000284a: DUP3
0000284b: ADD
0000284c: MSTORE
0000284d: MLOAD
0000284e: PUSH32 0x9f6130d220a6021d90d78c7ed17b7cfb79f530974405b174fef75f671205513c
0000286f: SWAP2
00002870: DUP2
00002871: SWAP1
00002872: SUB
00002873: PUSH1 0x60
00002875: ADD
00002876: SWAP1
00002877: LOG1
00002878: PUSH1 0x00
0000287a: DUP1
0000287b: SLOAD
0000287c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002891: SWAP1
00002892: SWAP3
00002893: AND
00002894: PUSH2 0x0100
00002897: MUL
00002898: PUSH32 0xffffffffffffffffffffff0000000000000000000000000000000000000000ff
000028b9: SWAP1
000028ba: SWAP3
000028bb: AND
000028bc: SWAP2
000028bd: SWAP1
000028be: SWAP2
000028bf: OR
000028c0: SWAP1
000028c1: SSTORE
000028c2: JUMP
000028c3: JUMPDEST
000028c4: PUSH1 0x00
000028c6: SLOAD
000028c7: PUSH2 0x0100
000028ca: SWAP1
000028cb: DIV
000028cc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000028e1: AND
000028e2: CALLER
000028e3: EQ
000028e4: PUSH2 0x2949
000028e7: JUMPI
000028e8: PUSH1 0x40
000028ea: MLOAD
000028eb: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000290c: DUP2
0000290d: MSTORE
0000290e: PUSH1 0x20
00002910: PUSH1 0x04
00002912: DUP3
00002913: ADD
00002914: MSTORE
00002915: PUSH1 0x0a
00002917: PUSH1 0x24
00002919: DUP3
0000291a: ADD
0000291b: MSTORE
0000291c: PUSH32 0x6f6e6c792061646d696e00000000000000000000000000000000000000000000
0000293d: PUSH1 0x44
0000293f: DUP3
00002940: ADD
00002941: MSTORE
00002942: PUSH1 0x64
00002944: ADD
00002945: PUSH2 0x0759
00002948: JUMP
00002949: JUMPDEST
0000294a: PUSH32 0x212215b14b6f95abef8735f1a53e5383ebe2be1b7767190b1429c167e9b55a31
0000296b: DUP3
0000296c: DUP3
0000296d: CALLER
0000296e: PUSH1 0x40
00002970: MLOAD
00002971: PUSH2 0x297c
00002974: SWAP4
00002975: SWAP3
00002976: SWAP2
00002977: SWAP1
00002978: PUSH2 0x34d6
0000297b: JUMP
0000297c: JUMPDEST
0000297d: PUSH1 0x40
0000297f: MLOAD
00002980: DUP1
00002981: SWAP2
00002982: SUB
00002983: SWAP1
00002984: LOG1
00002985: PUSH1 0x02
00002987: PUSH2 0x2991
0000298a: DUP3
0000298b: DUP5
0000298c: DUP4
0000298d: PUSH2 0x337a
00002990: JUMP
00002991: JUMPDEST
00002992: POP
00002993: POP
00002994: POP
00002995: JUMP
00002996: JUMPDEST
00002997: DUP1
00002998: CALLDATALOAD
00002999: PUSH16 0xffffffffffffffffffffffffffffffff
000029aa: DUP2
000029ab: AND
000029ac: DUP2
000029ad: EQ
000029ae: PUSH2 0x29b6
000029b1: JUMPI
000029b2: PUSH1 0x00
000029b4: DUP1
000029b5: REVERT
000029b6: JUMPDEST
000029b7: SWAP2
000029b8: SWAP1
000029b9: POP
000029ba: JUMP
000029bb: JUMPDEST
000029bc: PUSH1 0x00
000029be: PUSH1 0x20
000029c0: DUP3
000029c1: DUP5
000029c2: SUB
000029c3: SLT
000029c4: ISZERO
000029c5: PUSH2 0x29cd
000029c8: JUMPI
000029c9: PUSH1 0x00
000029cb: DUP1
000029cc: REVERT
000029cd: JUMPDEST
000029ce: PUSH2 0x29d6
000029d1: DUP3
000029d2: PUSH2 0x2996
000029d5: JUMP
000029d6: JUMPDEST
000029d7: SWAP4
000029d8: SWAP3
000029d9: POP
000029da: POP
000029db: POP
000029dc: JUMP
000029dd: JUMPDEST
000029de: PUSH1 0x00
000029e0: DUP2
000029e1: MLOAD
000029e2: DUP1
000029e3: DUP5
000029e4: MSTORE
000029e5: PUSH1 0x00
000029e7: JUMPDEST
000029e8: DUP2
000029e9: DUP2
000029ea: LT
000029eb: ISZERO
000029ec: PUSH2 0x2a03
000029ef: JUMPI
000029f0: PUSH1 0x20
000029f2: DUP2
000029f3: DUP6
000029f4: ADD
000029f5: DUP2
000029f6: ADD
000029f7: MLOAD
000029f8: DUP7
000029f9: DUP4
000029fa: ADD
000029fb: DUP3
000029fc: ADD
000029fd: MSTORE
000029fe: ADD
000029ff: PUSH2 0x29e7
00002a02: JUMP
00002a03: JUMPDEST
00002a04: POP
00002a05: PUSH1 0x00
00002a07: PUSH1 0x20
00002a09: DUP3
00002a0a: DUP7
00002a0b: ADD
00002a0c: ADD
00002a0d: MSTORE
00002a0e: PUSH1 0x20
00002a10: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00002a31: PUSH1 0x1f
00002a33: DUP4
00002a34: ADD
00002a35: AND
00002a36: DUP6
00002a37: ADD
00002a38: ADD
00002a39: SWAP2
00002a3a: POP
00002a3b: POP
00002a3c: SWAP3
00002a3d: SWAP2
00002a3e: POP
00002a3f: POP
00002a40: JUMP
00002a41: JUMPDEST
00002a42: PUSH1 0xe0
00002a44: DUP2
00002a45: MSTORE
00002a46: PUSH1 0x00
00002a48: PUSH2 0x2a54
00002a4b: PUSH1 0xe0
00002a4d: DUP4
00002a4e: ADD
00002a4f: DUP11
00002a50: PUSH2 0x29dd
00002a53: JUMP
00002a54: JUMPDEST
00002a55: PUSH1 0x20
00002a57: DUP4
00002a58: ADD
00002a59: SWAP9
00002a5a: SWAP1
00002a5b: SWAP9
00002a5c: MSTORE
00002a5d: POP
00002a5e: PUSH1 0x40
00002a60: DUP2
00002a61: ADD
00002a62: SWAP6
00002a63: SWAP1
00002a64: SWAP6
00002a65: MSTORE
00002a66: PUSH1 0x60
00002a68: DUP6
00002a69: ADD
00002a6a: SWAP4
00002a6b: SWAP1
00002a6c: SWAP4
00002a6d: MSTORE
00002a6e: PUSH16 0xffffffffffffffffffffffffffffffff
00002a7f: SWAP2
00002a80: DUP3
00002a81: AND
00002a82: PUSH1 0x80
00002a84: DUP6
00002a85: ADD
00002a86: MSTORE
00002a87: AND
00002a88: PUSH1 0xa0
00002a8a: DUP4
00002a8b: ADD
00002a8c: MSTORE
00002a8d: ISZERO
00002a8e: ISZERO
00002a8f: PUSH1 0xc0
00002a91: SWAP1
00002a92: SWAP2
00002a93: ADD
00002a94: MSTORE
00002a95: SWAP2
00002a96: SWAP1
00002a97: POP
00002a98: JUMP
00002a99: JUMPDEST
00002a9a: PUSH1 0x00
00002a9c: PUSH1 0x20
00002a9e: DUP3
00002a9f: DUP5
00002aa0: SUB
00002aa1: SLT
00002aa2: ISZERO
00002aa3: PUSH2 0x2aab
00002aa6: JUMPI
00002aa7: PUSH1 0x00
00002aa9: DUP1
00002aaa: REVERT
00002aab: JUMPDEST
00002aac: POP
00002aad: CALLDATALOAD
00002aae: SWAP2
00002aaf: SWAP1
00002ab0: POP
00002ab1: JUMP
00002ab2: JUMPDEST
00002ab3: DUP1
00002ab4: CALLDATALOAD
00002ab5: DUP1
00002ab6: ISZERO
00002ab7: ISZERO
00002ab8: DUP2
00002ab9: EQ
00002aba: PUSH2 0x29b6
00002abd: JUMPI
00002abe: PUSH1 0x00
00002ac0: DUP1
00002ac1: REVERT
00002ac2: JUMPDEST
00002ac3: PUSH1 0x00
00002ac5: DUP1
00002ac6: PUSH1 0x40
00002ac8: DUP4
00002ac9: DUP6
00002aca: SUB
00002acb: SLT
00002acc: ISZERO
00002acd: PUSH2 0x2ad5
00002ad0: JUMPI
00002ad1: PUSH1 0x00
00002ad3: DUP1
00002ad4: REVERT
00002ad5: JUMPDEST
00002ad6: PUSH2 0x2ade
00002ad9: DUP4
00002ada: PUSH2 0x2996
00002add: JUMP
00002ade: JUMPDEST
00002adf: SWAP2
00002ae0: POP
00002ae1: PUSH2 0x2aec
00002ae4: PUSH1 0x20
00002ae6: DUP5
00002ae7: ADD
00002ae8: PUSH2 0x2ab2
00002aeb: JUMP
00002aec: JUMPDEST
00002aed: SWAP1
00002aee: POP
00002aef: SWAP3
00002af0: POP
00002af1: SWAP3
00002af2: SWAP1
00002af3: POP
00002af4: JUMP
00002af5: JUMPDEST
00002af6: DUP1
00002af7: CALLDATALOAD
00002af8: PUSH2 0xffff
00002afb: DUP2
00002afc: AND
00002afd: DUP2
00002afe: EQ
00002aff: PUSH2 0x29b6
00002b02: JUMPI
00002b03: PUSH1 0x00
00002b05: DUP1
00002b06: REVERT
00002b07: JUMPDEST
00002b08: PUSH1 0x00
00002b0a: DUP1
00002b0b: DUP4
00002b0c: PUSH1 0x1f
00002b0e: DUP5
00002b0f: ADD
00002b10: SLT
00002b11: PUSH2 0x2b19
00002b14: JUMPI
00002b15: PUSH1 0x00
00002b17: DUP1
00002b18: REVERT
00002b19: JUMPDEST
00002b1a: POP
00002b1b: DUP2
00002b1c: CALLDATALOAD
00002b1d: PUSH8 0xffffffffffffffff
00002b26: DUP2
00002b27: GT
00002b28: ISZERO
00002b29: PUSH2 0x2b31
00002b2c: JUMPI
00002b2d: PUSH1 0x00
00002b2f: DUP1
00002b30: REVERT
00002b31: JUMPDEST
00002b32: PUSH1 0x20
00002b34: DUP4
00002b35: ADD
00002b36: SWAP2
00002b37: POP
00002b38: DUP4
00002b39: PUSH1 0x20
00002b3b: DUP3
00002b3c: DUP6
00002b3d: ADD
00002b3e: ADD
00002b3f: GT
00002b40: ISZERO
00002b41: PUSH2 0x2b49
00002b44: JUMPI
00002b45: PUSH1 0x00
00002b47: DUP1
00002b48: REVERT
00002b49: JUMPDEST
00002b4a: SWAP3
00002b4b: POP
00002b4c: SWAP3
00002b4d: SWAP1
00002b4e: POP
00002b4f: JUMP
00002b50: JUMPDEST
00002b51: PUSH1 0x00
00002b53: DUP1
00002b54: PUSH1 0x00
00002b56: DUP1
00002b57: PUSH1 0x00
00002b59: DUP1
00002b5a: PUSH1 0x00
00002b5c: DUP1
00002b5d: PUSH1 0x00
00002b5f: PUSH2 0x0100
00002b62: DUP11
00002b63: DUP13
00002b64: SUB
00002b65: SLT
00002b66: ISZERO
00002b67: PUSH2 0x2b6f
00002b6a: JUMPI
00002b6b: PUSH1 0x00
00002b6d: DUP1
00002b6e: REVERT
00002b6f: JUMPDEST
00002b70: PUSH2 0x2b78
00002b73: DUP11
00002b74: PUSH2 0x2af5
00002b77: JUMP
00002b78: JUMPDEST
00002b79: SWAP9
00002b7a: POP
00002b7b: PUSH1 0x20
00002b7d: DUP11
00002b7e: ADD
00002b7f: CALLDATALOAD
00002b80: PUSH8 0xffffffffffffffff
00002b89: DUP2
00002b8a: GT
00002b8b: ISZERO
00002b8c: PUSH2 0x2b94
00002b8f: JUMPI
00002b90: PUSH1 0x00
00002b92: DUP1
00002b93: REVERT
00002b94: JUMPDEST
00002b95: PUSH2 0x2ba0
00002b98: DUP13
00002b99: DUP3
00002b9a: DUP14
00002b9b: ADD
00002b9c: PUSH2 0x2b07
00002b9f: JUMP
00002ba0: JUMPDEST
00002ba1: SWAP1
00002ba2: SWAP10
00002ba3: POP
00002ba4: SWAP8
00002ba5: POP
00002ba6: POP
00002ba7: PUSH1 0x40
00002ba9: DUP11
00002baa: ADD
00002bab: CALLDATALOAD
00002bac: SWAP6
00002bad: POP
00002bae: PUSH1 0x60
00002bb0: DUP11
00002bb1: ADD
00002bb2: CALLDATALOAD
00002bb3: SWAP5
00002bb4: POP
00002bb5: PUSH1 0x80
00002bb7: DUP11
00002bb8: ADD
00002bb9: CALLDATALOAD
00002bba: SWAP4
00002bbb: POP
00002bbc: PUSH2 0x2bc7
00002bbf: PUSH1 0xa0
00002bc1: DUP12
00002bc2: ADD
00002bc3: PUSH2 0x2996
00002bc6: JUMP
00002bc7: JUMPDEST
00002bc8: SWAP3
00002bc9: POP
00002bca: PUSH2 0x2bd5
00002bcd: PUSH1 0xc0
00002bcf: DUP12
00002bd0: ADD
00002bd1: PUSH2 0x2996
00002bd4: JUMP
00002bd5: JUMPDEST
00002bd6: SWAP2
00002bd7: POP
00002bd8: PUSH2 0x2be3
00002bdb: PUSH1 0xe0
00002bdd: DUP12
00002bde: ADD
00002bdf: PUSH2 0x2ab2
00002be2: JUMP
00002be3: JUMPDEST
00002be4: SWAP1
00002be5: POP
00002be6: SWAP3
00002be7: SWAP6
00002be8: SWAP9
00002be9: POP
00002bea: SWAP3
00002beb: SWAP6
00002bec: SWAP9
00002bed: POP
00002bee: SWAP3
00002bef: SWAP6
00002bf0: SWAP9
00002bf1: JUMP
00002bf2: JUMPDEST
00002bf3: PUSH1 0x20
00002bf5: DUP2
00002bf6: MSTORE
00002bf7: PUSH1 0x00
00002bf9: PUSH2 0x29d6
00002bfc: PUSH1 0x20
00002bfe: DUP4
00002bff: ADD
00002c00: DUP5
00002c01: PUSH2 0x29dd
00002c04: JUMP
00002c05: JUMPDEST
00002c06: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002c1b: DUP2
00002c1c: AND
00002c1d: DUP2
00002c1e: EQ
00002c1f: PUSH2 0x2c27
00002c22: JUMPI
00002c23: PUSH1 0x00
00002c25: DUP1
00002c26: REVERT
00002c27: JUMPDEST
00002c28: POP
00002c29: JUMP
00002c2a: JUMPDEST
00002c2b: PUSH1 0x00
00002c2d: PUSH1 0x20
00002c2f: DUP3
00002c30: DUP5
00002c31: SUB
00002c32: SLT
00002c33: ISZERO
00002c34: PUSH2 0x2c3c
00002c37: JUMPI
00002c38: PUSH1 0x00
00002c3a: DUP1
00002c3b: REVERT
00002c3c: JUMPDEST
00002c3d: DUP2
00002c3e: CALLDATALOAD
00002c3f: PUSH2 0x29d6
00002c42: DUP2
00002c43: PUSH2 0x2c05
00002c46: JUMP
00002c47: JUMPDEST
00002c48: PUSH1 0x00
00002c4a: PUSH1 0x20
00002c4c: DUP3
00002c4d: DUP5
00002c4e: SUB
00002c4f: SLT
00002c50: ISZERO
00002c51: PUSH2 0x2c59
00002c54: JUMPI
00002c55: PUSH1 0x00
00002c57: DUP1
00002c58: REVERT
00002c59: JUMPDEST
00002c5a: PUSH2 0x29d6
00002c5d: DUP3
00002c5e: PUSH2 0x2af5
00002c61: JUMP
00002c62: JUMPDEST
00002c63: PUSH1 0x00
00002c65: DUP1
00002c66: PUSH1 0x00
00002c68: DUP1
00002c69: PUSH1 0x00
00002c6b: DUP1
00002c6c: PUSH1 0x80
00002c6e: DUP8
00002c6f: DUP10
00002c70: SUB
00002c71: SLT
00002c72: ISZERO
00002c73: PUSH2 0x2c7b
00002c76: JUMPI
00002c77: PUSH1 0x00
00002c79: DUP1
00002c7a: REVERT
00002c7b: JUMPDEST
00002c7c: PUSH2 0x2c84
00002c7f: DUP8
00002c80: PUSH2 0x2af5
00002c83: JUMP
00002c84: JUMPDEST
00002c85: SWAP6
00002c86: POP
00002c87: PUSH1 0x20
00002c89: DUP8
00002c8a: ADD
00002c8b: CALLDATALOAD
00002c8c: PUSH8 0xffffffffffffffff
00002c95: DUP1
00002c96: DUP3
00002c97: GT
00002c98: ISZERO
00002c99: PUSH2 0x2ca1
00002c9c: JUMPI
00002c9d: PUSH1 0x00
00002c9f: DUP1
00002ca0: REVERT
00002ca1: JUMPDEST
00002ca2: PUSH2 0x2cad
00002ca5: DUP11
00002ca6: DUP4
00002ca7: DUP12
00002ca8: ADD
00002ca9: PUSH2 0x2b07
00002cac: JUMP
00002cad: JUMPDEST
00002cae: SWAP1
00002caf: SWAP8
00002cb0: POP
00002cb1: SWAP6
00002cb2: POP
00002cb3: PUSH1 0x40
00002cb5: DUP10
00002cb6: ADD
00002cb7: CALLDATALOAD
00002cb8: SWAP2
00002cb9: POP
00002cba: DUP1
00002cbb: DUP3
00002cbc: GT
00002cbd: ISZERO
00002cbe: PUSH2 0x2cc6
00002cc1: JUMPI
00002cc2: PUSH1 0x00
00002cc4: DUP1
00002cc5: REVERT
00002cc6: JUMPDEST
00002cc7: POP
00002cc8: PUSH2 0x2cd3
00002ccb: DUP10
00002ccc: DUP3
00002ccd: DUP11
00002cce: ADD
00002ccf: PUSH2 0x2b07
00002cd2: JUMP
00002cd3: JUMPDEST
00002cd4: SWAP8
00002cd5: SWAP11
00002cd6: SWAP7
00002cd7: SWAP10
00002cd8: POP
00002cd9: SWAP5
00002cda: SWAP8
00002cdb: SWAP5
00002cdc: SWAP7
00002cdd: SWAP6
00002cde: PUSH1 0x60
00002ce0: SWAP1
00002ce1: SWAP6
00002ce2: ADD
00002ce3: CALLDATALOAD
00002ce4: SWAP5
00002ce5: SWAP4
00002ce6: POP
00002ce7: POP
00002ce8: POP
00002ce9: POP
00002cea: JUMP
00002ceb: JUMPDEST
00002cec: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00002d0d: PUSH1 0x00
00002d0f: MSTORE
00002d10: PUSH1 0x41
00002d12: PUSH1 0x04
00002d14: MSTORE
00002d15: PUSH1 0x24
00002d17: PUSH1 0x00
00002d19: REVERT
00002d1a: JUMPDEST
00002d1b: PUSH1 0x00
00002d1d: DUP1
00002d1e: PUSH1 0x40
00002d20: DUP4
00002d21: DUP6
00002d22: SUB
00002d23: SLT
00002d24: ISZERO
00002d25: PUSH2 0x2d2d
00002d28: JUMPI
00002d29: PUSH1 0x00
00002d2b: DUP1
00002d2c: REVERT
00002d2d: JUMPDEST
00002d2e: PUSH2 0x2d36
00002d31: DUP4
00002d32: PUSH2 0x2996
00002d35: JUMP
00002d36: JUMPDEST
00002d37: SWAP2
00002d38: POP
00002d39: PUSH1 0x20
00002d3b: DUP4
00002d3c: ADD
00002d3d: CALLDATALOAD
00002d3e: PUSH8 0xffffffffffffffff
00002d47: DUP1
00002d48: DUP3
00002d49: GT
00002d4a: ISZERO
00002d4b: PUSH2 0x2d53
00002d4e: JUMPI
00002d4f: PUSH1 0x00
00002d51: DUP1
00002d52: REVERT
00002d53: JUMPDEST
00002d54: DUP2
00002d55: DUP6
00002d56: ADD
00002d57: SWAP2
00002d58: POP
00002d59: DUP6
00002d5a: PUSH1 0x1f
00002d5c: DUP4
00002d5d: ADD
00002d5e: SLT
00002d5f: PUSH2 0x2d67
00002d62: JUMPI
00002d63: PUSH1 0x00
00002d65: DUP1
00002d66: REVERT
00002d67: JUMPDEST
00002d68: DUP2
00002d69: CALLDATALOAD
00002d6a: DUP2
00002d6b: DUP2
00002d6c: GT
00002d6d: ISZERO
00002d6e: PUSH2 0x2d79
00002d71: JUMPI
00002d72: PUSH2 0x2d79
00002d75: PUSH2 0x2ceb
00002d78: JUMP
00002d79: JUMPDEST
00002d7a: PUSH1 0x40
00002d7c: MLOAD
00002d7d: PUSH1 0x1f
00002d7f: DUP3
00002d80: ADD
00002d81: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00002da2: SWAP1
00002da3: DUP2
00002da4: AND
00002da5: PUSH1 0x3f
00002da7: ADD
00002da8: AND
00002da9: DUP2
00002daa: ADD
00002dab: SWAP1
00002dac: DUP4
00002dad: DUP3
00002dae: GT
00002daf: DUP2
00002db0: DUP4
00002db1: LT
00002db2: OR
00002db3: ISZERO
00002db4: PUSH2 0x2dbf
00002db7: JUMPI
00002db8: PUSH2 0x2dbf
00002dbb: PUSH2 0x2ceb
00002dbe: JUMP
00002dbf: JUMPDEST
00002dc0: DUP2
00002dc1: PUSH1 0x40
00002dc3: MSTORE
00002dc4: DUP3
00002dc5: DUP2
00002dc6: MSTORE
00002dc7: DUP9
00002dc8: PUSH1 0x20
00002dca: DUP5
00002dcb: DUP8
00002dcc: ADD
00002dcd: ADD
00002dce: GT
00002dcf: ISZERO
00002dd0: PUSH2 0x2dd8
00002dd3: JUMPI
00002dd4: PUSH1 0x00
00002dd6: DUP1
00002dd7: REVERT
00002dd8: JUMPDEST
00002dd9: DUP3
00002dda: PUSH1 0x20
00002ddc: DUP7
00002ddd: ADD
00002dde: PUSH1 0x20
00002de0: DUP4
00002de1: ADD
00002de2: CALLDATACOPY
00002de3: PUSH1 0x00
00002de5: PUSH1 0x20
00002de7: DUP5
00002de8: DUP4
00002de9: ADD
00002dea: ADD
00002deb: MSTORE
00002dec: DUP1
00002ded: SWAP6
00002dee: POP
00002def: POP
00002df0: POP
00002df1: POP
00002df2: POP
00002df3: POP
00002df4: SWAP3
00002df5: POP
00002df6: SWAP3
00002df7: SWAP1
00002df8: POP
00002df9: JUMP
00002dfa: JUMPDEST
00002dfb: PUSH1 0x00
00002dfd: DUP1
00002dfe: PUSH1 0x00
00002e00: DUP1
00002e01: PUSH1 0x80
00002e03: DUP6
00002e04: DUP8
00002e05: SUB
00002e06: SLT
00002e07: ISZERO
00002e08: PUSH2 0x2e10
00002e0b: JUMPI
00002e0c: PUSH1 0x00
00002e0e: DUP1
00002e0f: REVERT
00002e10: JUMPDEST
00002e11: DUP5
00002e12: CALLDATALOAD
00002e13: SWAP4
00002e14: POP
00002e15: PUSH1 0x20
00002e17: DUP6
00002e18: ADD
00002e19: CALLDATALOAD
00002e1a: PUSH2 0x2e22
00002e1d: DUP2
00002e1e: PUSH2 0x2c05
00002e21: JUMP
00002e22: JUMPDEST
00002e23: SWAP4
00002e24: SWAP7
00002e25: SWAP4
00002e26: SWAP6
00002e27: POP
00002e28: POP
00002e29: POP
00002e2a: POP
00002e2b: PUSH1 0x40
00002e2d: DUP3
00002e2e: ADD
00002e2f: CALLDATALOAD
00002e30: SWAP2
00002e31: PUSH1 0x60
00002e33: ADD
00002e34: CALLDATALOAD
00002e35: SWAP1
00002e36: JUMP
00002e37: JUMPDEST
00002e38: PUSH1 0x00
00002e3a: DUP1
00002e3b: PUSH1 0x00
00002e3d: DUP1
00002e3e: PUSH1 0x00
00002e40: DUP1
00002e41: PUSH1 0x00
00002e43: PUSH1 0xc0
00002e45: DUP9
00002e46: DUP11
00002e47: SUB
00002e48: SLT
00002e49: ISZERO
00002e4a: PUSH2 0x2e52
00002e4d: JUMPI
00002e4e: PUSH1 0x00
00002e50: DUP1
00002e51: REVERT
00002e52: JUMPDEST
00002e53: DUP8
00002e54: CALLDATALOAD
00002e55: PUSH2 0x2e5d
00002e58: DUP2
00002e59: PUSH2 0x2c05
00002e5c: JUMP
00002e5d: JUMPDEST
00002e5e: SWAP7
00002e5f: POP
00002e60: PUSH1 0x20
00002e62: DUP9
00002e63: ADD
00002e64: CALLDATALOAD
00002e65: PUSH2 0x2e6d
00002e68: DUP2
00002e69: PUSH2 0x2c05
00002e6c: JUMP
00002e6d: JUMPDEST
00002e6e: SWAP6
00002e6f: POP
00002e70: PUSH2 0x2e7b
00002e73: PUSH1 0x40
00002e75: DUP10
00002e76: ADD
00002e77: PUSH2 0x2af5
00002e7a: JUMP
00002e7b: JUMPDEST
00002e7c: SWAP5
00002e7d: POP
00002e7e: PUSH1 0x60
00002e80: DUP9
00002e81: ADD
00002e82: CALLDATALOAD
00002e83: PUSH8 0xffffffffffffffff
00002e8c: DUP2
00002e8d: GT
00002e8e: ISZERO
00002e8f: PUSH2 0x2e97
00002e92: JUMPI
00002e93: PUSH1 0x00
00002e95: DUP1
00002e96: REVERT
00002e97: JUMPDEST
00002e98: PUSH2 0x2ea3
00002e9b: DUP11
00002e9c: DUP3
00002e9d: DUP12
00002e9e: ADD
00002e9f: PUSH2 0x2b07
00002ea2: JUMP
00002ea3: JUMPDEST
00002ea4: SWAP1
00002ea5: SWAP6
00002ea6: POP
00002ea7: SWAP4
00002ea8: POP
00002ea9: POP
00002eaa: PUSH1 0x80
00002eac: DUP9
00002ead: ADD
00002eae: CALLDATALOAD
00002eaf: PUSH2 0x2eb7
00002eb2: DUP2
00002eb3: PUSH2 0x2c05
00002eb6: JUMP
00002eb7: JUMPDEST
00002eb8: DUP1
00002eb9: SWAP3
00002eba: POP
00002ebb: POP
00002ebc: PUSH1 0xa0
00002ebe: DUP9
00002ebf: ADD
00002ec0: CALLDATALOAD
00002ec1: SWAP1
00002ec2: POP
00002ec3: SWAP3
00002ec4: SWAP6
00002ec5: SWAP9
00002ec6: SWAP2
00002ec7: SWAP5
00002ec8: SWAP8
00002ec9: POP
00002eca: SWAP3
00002ecb: SWAP6
00002ecc: POP
00002ecd: JUMP
00002ece: JUMPDEST
00002ecf: PUSH1 0x00
00002ed1: DUP1
00002ed2: PUSH1 0x00
00002ed4: DUP1
00002ed5: PUSH1 0x60
00002ed7: DUP6
00002ed8: DUP8
00002ed9: SUB
00002eda: SLT
00002edb: ISZERO
00002edc: PUSH2 0x2ee4
00002edf: JUMPI
00002ee0: PUSH1 0x00
00002ee2: DUP1
00002ee3: REVERT
00002ee4: JUMPDEST
00002ee5: PUSH2 0x2eed
00002ee8: DUP6
00002ee9: PUSH2 0x2996
00002eec: JUMP
00002eed: JUMPDEST
00002eee: SWAP4
00002eef: POP
00002ef0: PUSH1 0x20
00002ef2: DUP6
00002ef3: ADD
00002ef4: CALLDATALOAD
00002ef5: PUSH8 0xffffffffffffffff
00002efe: DUP2
00002eff: GT
00002f00: ISZERO
00002f01: PUSH2 0x2f09
00002f04: JUMPI
00002f05: PUSH1 0x00
00002f07: DUP1
00002f08: REVERT
00002f09: JUMPDEST
00002f0a: PUSH2 0x2f15
00002f0d: DUP8
00002f0e: DUP3
00002f0f: DUP9
00002f10: ADD
00002f11: PUSH2 0x2b07
00002f14: JUMP
00002f15: JUMPDEST
00002f16: SWAP1
00002f17: SWAP5
00002f18: POP
00002f19: SWAP3
00002f1a: POP
00002f1b: PUSH2 0x2f28
00002f1e: SWAP1
00002f1f: POP
00002f20: PUSH1 0x40
00002f22: DUP7
00002f23: ADD
00002f24: PUSH2 0x2996
00002f27: JUMP
00002f28: JUMPDEST
00002f29: SWAP1
00002f2a: POP
00002f2b: SWAP3
00002f2c: SWAP6
00002f2d: SWAP2
00002f2e: SWAP5
00002f2f: POP
00002f30: SWAP3
00002f31: POP
00002f32: JUMP
00002f33: JUMPDEST
00002f34: PUSH1 0x00
00002f36: DUP1
00002f37: PUSH1 0x20
00002f39: DUP4
00002f3a: DUP6
00002f3b: SUB
00002f3c: SLT
00002f3d: ISZERO
00002f3e: PUSH2 0x2f46
00002f41: JUMPI
00002f42: PUSH1 0x00
00002f44: DUP1
00002f45: REVERT
00002f46: JUMPDEST
00002f47: DUP3
00002f48: CALLDATALOAD
00002f49: PUSH8 0xffffffffffffffff
00002f52: DUP2
00002f53: GT
00002f54: ISZERO
00002f55: PUSH2 0x2f5d
00002f58: JUMPI
00002f59: PUSH1 0x00
00002f5b: DUP1
00002f5c: REVERT
00002f5d: JUMPDEST
00002f5e: PUSH2 0x2f69
00002f61: DUP6
00002f62: DUP3
00002f63: DUP7
00002f64: ADD
00002f65: PUSH2 0x2b07
00002f68: JUMP
00002f69: JUMPDEST
00002f6a: SWAP1
00002f6b: SWAP7
00002f6c: SWAP1
00002f6d: SWAP6
00002f6e: POP
00002f6f: SWAP4
00002f70: POP
00002f71: POP
00002f72: POP
00002f73: POP
00002f74: JUMP
00002f75: JUMPDEST
00002f76: PUSH1 0x01
00002f78: DUP2
00002f79: DUP2
00002f7a: SHR
00002f7b: SWAP1
00002f7c: DUP3
00002f7d: AND
00002f7e: DUP1
00002f7f: PUSH2 0x2f89
00002f82: JUMPI
00002f83: PUSH1 0x7f
00002f85: DUP3
00002f86: AND
00002f87: SWAP2
00002f88: POP
00002f89: JUMPDEST
00002f8a: PUSH1 0x20
00002f8c: DUP3
00002f8d: LT
00002f8e: DUP2
00002f8f: SUB
00002f90: PUSH2 0x2fc2
00002f93: JUMPI
00002f94: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00002fb5: PUSH1 0x00
00002fb7: MSTORE
00002fb8: PUSH1 0x22
00002fba: PUSH1 0x04
00002fbc: MSTORE
00002fbd: PUSH1 0x24
00002fbf: PUSH1 0x00
00002fc1: REVERT
00002fc2: JUMPDEST
00002fc3: POP
00002fc4: SWAP2
00002fc5: SWAP1
00002fc6: POP
00002fc7: JUMP
00002fc8: JUMPDEST
00002fc9: PUSH1 0x1f
00002fcb: DUP3
00002fcc: GT
00002fcd: ISZERO
00002fce: PUSH2 0x2991
00002fd1: JUMPI
00002fd2: PUSH1 0x00
00002fd4: DUP2
00002fd5: DUP2
00002fd6: MSTORE
00002fd7: PUSH1 0x20
00002fd9: DUP2
00002fda: KECCAK256
00002fdb: PUSH1 0x1f
00002fdd: DUP6
00002fde: ADD
00002fdf: PUSH1 0x05
00002fe1: SHR
00002fe2: DUP2
00002fe3: ADD
00002fe4: PUSH1 0x20
00002fe6: DUP7
00002fe7: LT
00002fe8: ISZERO
00002fe9: PUSH2 0x2fef
00002fec: JUMPI
00002fed: POP
00002fee: DUP1
00002fef: JUMPDEST
00002ff0: PUSH1 0x1f
00002ff2: DUP6
00002ff3: ADD
00002ff4: PUSH1 0x05
00002ff6: SHR
00002ff7: DUP3
00002ff8: ADD
00002ff9: SWAP2
00002ffa: POP
00002ffb: JUMPDEST
00002ffc: DUP2
00002ffd: DUP2
00002ffe: LT
00002fff: ISZERO
00003000: PUSH2 0x300e
00003003: JUMPI
00003004: DUP3
00003005: DUP2
00003006: SSTORE
00003007: PUSH1 0x01
00003009: ADD
0000300a: PUSH2 0x2ffb
0000300d: JUMP
0000300e: JUMPDEST
0000300f: POP
00003010: POP
00003011: POP
00003012: POP
00003013: POP
00003014: POP
00003015: JUMP
00003016: JUMPDEST
00003017: DUP2
00003018: MLOAD
00003019: PUSH8 0xffffffffffffffff
00003022: DUP2
00003023: GT
00003024: ISZERO
00003025: PUSH2 0x3030
00003028: JUMPI
00003029: PUSH2 0x3030
0000302c: PUSH2 0x2ceb
0000302f: JUMP
00003030: JUMPDEST
00003031: PUSH2 0x3044
00003034: DUP2
00003035: PUSH2 0x303e
00003038: DUP5
00003039: SLOAD
0000303a: PUSH2 0x2f75
0000303d: JUMP
0000303e: JUMPDEST
0000303f: DUP5
00003040: PUSH2 0x2fc8
00003043: JUMP
00003044: JUMPDEST
00003045: PUSH1 0x20
00003047: DUP1
00003048: PUSH1 0x1f
0000304a: DUP4
0000304b: GT
0000304c: PUSH1 0x01
0000304e: DUP2
0000304f: EQ
00003050: PUSH2 0x3097
00003053: JUMPI
00003054: PUSH1 0x00
00003056: DUP5
00003057: ISZERO
00003058: PUSH2 0x3061
0000305b: JUMPI
0000305c: POP
0000305d: DUP6
0000305e: DUP4
0000305f: ADD
00003060: MLOAD
00003061: JUMPDEST
00003062: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003083: PUSH1 0x03
00003085: DUP7
00003086: SWAP1
00003087: SHL
00003088: SHR
00003089: NOT
0000308a: AND
0000308b: PUSH1 0x01
0000308d: DUP6
0000308e: SWAP1
0000308f: SHL
00003090: OR
00003091: DUP6
00003092: SSTORE
00003093: PUSH2 0x300e
00003096: JUMP
00003097: JUMPDEST
00003098: PUSH1 0x00
0000309a: DUP6
0000309b: DUP2
0000309c: MSTORE
0000309d: PUSH1 0x20
0000309f: DUP2
000030a0: KECCAK256
000030a1: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
000030c2: DUP7
000030c3: AND
000030c4: SWAP2
000030c5: JUMPDEST
000030c6: DUP3
000030c7: DUP2
000030c8: LT
000030c9: ISZERO
000030ca: PUSH2 0x30e4
000030cd: JUMPI
000030ce: DUP9
000030cf: DUP7
000030d0: ADD
000030d1: MLOAD
000030d2: DUP3
000030d3: SSTORE
000030d4: SWAP5
000030d5: DUP5
000030d6: ADD
000030d7: SWAP5
000030d8: PUSH1 0x01
000030da: SWAP1
000030db: SWAP2
000030dc: ADD
000030dd: SWAP1
000030de: DUP5
000030df: ADD
000030e0: PUSH2 0x30c5
000030e3: JUMP
000030e4: JUMPDEST
000030e5: POP
000030e6: DUP6
000030e7: DUP3
000030e8: LT
000030e9: ISZERO
000030ea: PUSH2 0x3120
000030ed: JUMPI
000030ee: DUP8
000030ef: DUP6
000030f0: ADD
000030f1: MLOAD
000030f2: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003113: PUSH1 0x03
00003115: DUP9
00003116: SWAP1
00003117: SHL
00003118: PUSH1 0xf8
0000311a: AND
0000311b: SHR
0000311c: NOT
0000311d: AND
0000311e: DUP2
0000311f: SSTORE
00003120: JUMPDEST
00003121: POP
00003122: POP
00003123: POP
00003124: POP
00003125: POP
00003126: PUSH1 0x01
00003128: SWAP1
00003129: DUP2
0000312a: SHL
0000312b: ADD
0000312c: SWAP1
0000312d: SSTORE
0000312e: POP
0000312f: JUMP
00003130: JUMPDEST
00003131: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00003152: PUSH1 0x00
00003154: MSTORE
00003155: PUSH1 0x11
00003157: PUSH1 0x04
00003159: MSTORE
0000315a: PUSH1 0x24
0000315c: PUSH1 0x00
0000315e: REVERT
0000315f: JUMPDEST
00003160: DUP1
00003161: DUP3
00003162: MUL
00003163: DUP2
00003164: ISZERO
00003165: DUP3
00003166: DUP3
00003167: DIV
00003168: DUP5
00003169: EQ
0000316a: OR
0000316b: PUSH2 0x3176
0000316e: JUMPI
0000316f: PUSH2 0x3176
00003172: PUSH2 0x3130
00003175: JUMP
00003176: JUMPDEST
00003177: SWAP3
00003178: SWAP2
00003179: POP
0000317a: POP
0000317b: JUMP
0000317c: JUMPDEST
0000317d: PUSH1 0x00
0000317f: DUP3
00003180: PUSH2 0x31b2
00003183: JUMPI
00003184: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
000031a5: PUSH1 0x00
000031a7: MSTORE
000031a8: PUSH1 0x12
000031aa: PUSH1 0x04
000031ac: MSTORE
000031ad: PUSH1 0x24
000031af: PUSH1 0x00
000031b1: REVERT
000031b2: JUMPDEST
000031b3: POP
000031b4: DIV
000031b5: SWAP1
000031b6: JUMP
000031b7: JUMPDEST
000031b8: DUP1
000031b9: DUP3
000031ba: ADD
000031bb: DUP1
000031bc: DUP3
000031bd: GT
000031be: ISZERO
000031bf: PUSH2 0x3176
000031c2: JUMPI
000031c3: PUSH2 0x3176
000031c6: PUSH2 0x3130
000031c9: JUMP
000031ca: JUMPDEST
000031cb: DUP2
000031cc: DUP4
000031cd: DUP3
000031ce: CALLDATACOPY
000031cf: PUSH1 0x00
000031d1: SWAP2
000031d2: ADD
000031d3: SWAP1
000031d4: DUP2
000031d5: MSTORE
000031d6: SWAP2
000031d7: SWAP1
000031d8: POP
000031d9: JUMP
000031da: JUMPDEST
000031db: DUP2
000031dc: DUP2
000031dd: SUB
000031de: DUP2
000031df: DUP2
000031e0: GT
000031e1: ISZERO
000031e2: PUSH2 0x3176
000031e5: JUMPI
000031e6: PUSH2 0x3176
000031e9: PUSH2 0x3130
000031ec: JUMP
000031ed: JUMPDEST
000031ee: DUP2
000031ef: DUP4
000031f0: MSTORE
000031f1: DUP2
000031f2: DUP2
000031f3: PUSH1 0x20
000031f5: DUP6
000031f6: ADD
000031f7: CALLDATACOPY
000031f8: POP
000031f9: PUSH1 0x00
000031fb: PUSH1 0x20
000031fd: DUP3
000031fe: DUP5
000031ff: ADD
00003200: ADD
00003201: MSTORE
00003202: PUSH1 0x00
00003204: PUSH1 0x20
00003206: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00003227: PUSH1 0x1f
00003229: DUP5
0000322a: ADD
0000322b: AND
0000322c: DUP5
0000322d: ADD
0000322e: ADD
0000322f: SWAP1
00003230: POP
00003231: SWAP3
00003232: SWAP2
00003233: POP
00003234: POP
00003235: JUMP
00003236: JUMPDEST
00003237: PUSH2 0xffff
0000323a: DUP11
0000323b: AND
0000323c: DUP2
0000323d: MSTORE
0000323e: DUP9
0000323f: PUSH1 0x20
00003241: DUP3
00003242: ADD
00003243: MSTORE
00003244: PUSH1 0xe0
00003246: PUSH1 0x40
00003248: DUP3
00003249: ADD
0000324a: MSTORE
0000324b: PUSH1 0x00
0000324d: PUSH2 0x325a
00003250: PUSH1 0xe0
00003252: DUP4
00003253: ADD
00003254: DUP10
00003255: DUP12
00003256: PUSH2 0x31ed
00003259: JUMP
0000325a: JUMPDEST
0000325b: DUP8
0000325c: PUSH1 0x60
0000325e: DUP5
0000325f: ADD
00003260: MSTORE
00003261: DUP3
00003262: DUP2
00003263: SUB
00003264: PUSH1 0x80
00003266: DUP5
00003267: ADD
00003268: MSTORE
00003269: PUSH2 0x3273
0000326c: DUP2
0000326d: DUP8
0000326e: DUP10
0000326f: PUSH2 0x31ed
00003272: JUMP
00003273: JUMPDEST
00003274: PUSH1 0xa0
00003276: DUP5
00003277: ADD
00003278: SWAP6
00003279: SWAP1
0000327a: SWAP6
0000327b: MSTORE
0000327c: POP
0000327d: POP
0000327e: PUSH1 0xc0
00003280: ADD
00003281: MSTORE
00003282: SWAP8
00003283: SWAP7
00003284: POP
00003285: POP
00003286: POP
00003287: POP
00003288: POP
00003289: POP
0000328a: POP
0000328b: JUMP
0000328c: JUMPDEST
0000328d: PUSH2 0xffff
00003290: DUP11
00003291: AND
00003292: DUP2
00003293: MSTORE
00003294: PUSH1 0xe0
00003296: PUSH1 0x20
00003298: DUP3
00003299: ADD
0000329a: MSTORE
0000329b: PUSH1 0x00
0000329d: PUSH2 0x32a9
000032a0: PUSH1 0xe0
000032a2: DUP4
000032a3: ADD
000032a4: DUP12
000032a5: PUSH2 0x29dd
000032a8: JUMP
000032a9: JUMPDEST
000032aa: DUP10
000032ab: PUSH1 0x40
000032ad: DUP5
000032ae: ADD
000032af: MSTORE
000032b0: DUP3
000032b1: DUP2
000032b2: SUB
000032b3: PUSH1 0x60
000032b5: DUP5
000032b6: ADD
000032b7: MSTORE
000032b8: PUSH2 0x32c2
000032bb: DUP2
000032bc: DUP10
000032bd: DUP12
000032be: PUSH2 0x31ed
000032c1: JUMP
000032c2: JUMPDEST
000032c3: SWAP1
000032c4: POP
000032c5: DUP7
000032c6: PUSH1 0x80
000032c8: DUP5
000032c9: ADD
000032ca: MSTORE
000032cb: DUP3
000032cc: DUP2
000032cd: SUB
000032ce: PUSH1 0xa0
000032d0: DUP5
000032d1: ADD
000032d2: MSTORE
000032d3: PUSH2 0x32dd
000032d6: DUP2
000032d7: DUP7
000032d8: DUP9
000032d9: PUSH2 0x31ed
000032dc: JUMP
000032dd: JUMPDEST
000032de: SWAP2
000032df: POP
000032e0: POP
000032e1: DUP3
000032e2: PUSH1 0xc0
000032e4: DUP4
000032e5: ADD
000032e6: MSTORE
000032e7: SWAP11
000032e8: SWAP10
000032e9: POP
000032ea: POP
000032eb: POP
000032ec: POP
000032ed: POP
000032ee: POP
000032ef: POP
000032f0: POP
000032f1: POP
000032f2: POP
000032f3: JUMP
000032f4: JUMPDEST
000032f5: PUSH2 0xffff
000032f8: DUP5
000032f9: AND
000032fa: DUP2
000032fb: MSTORE
000032fc: DUP3
000032fd: PUSH1 0x20
000032ff: DUP3
00003300: ADD
00003301: MSTORE
00003302: PUSH1 0x60
00003304: PUSH1 0x40
00003306: DUP3
00003307: ADD
00003308: MSTORE
00003309: PUSH1 0x00
0000330b: PUSH2 0x3317
0000330e: PUSH1 0x60
00003310: DUP4
00003311: ADD
00003312: DUP5
00003313: PUSH2 0x29dd
00003316: JUMP
00003317: JUMPDEST
00003318: SWAP6
00003319: SWAP5
0000331a: POP
0000331b: POP
0000331c: POP
0000331d: POP
0000331e: POP
0000331f: JUMP
00003320: JUMPDEST
00003321: PUSH2 0xffff
00003324: DUP8
00003325: AND
00003326: DUP2
00003327: MSTORE
00003328: PUSH1 0xe0
0000332a: PUSH1 0x20
0000332c: DUP3
0000332d: ADD
0000332e: MSTORE
0000332f: PUSH1 0x00
00003331: PUSH2 0x333d
00003334: PUSH1 0xe0
00003336: DUP4
00003337: ADD
00003338: DUP9
00003339: PUSH2 0x29dd
0000333c: JUMP
0000333d: JUMPDEST
0000333e: DUP7
0000333f: PUSH1 0x40
00003341: DUP5
00003342: ADD
00003343: MSTORE
00003344: DUP3
00003345: DUP2
00003346: SUB
00003347: PUSH1 0x60
00003349: DUP5
0000334a: ADD
0000334b: MSTORE
0000334c: PUSH2 0x3355
0000334f: DUP2
00003350: DUP8
00003351: PUSH2 0x29dd
00003354: JUMP
00003355: JUMPDEST
00003356: PUSH1 0x80
00003358: DUP5
00003359: ADD
0000335a: SWAP6
0000335b: SWAP1
0000335c: SWAP6
0000335d: MSTORE
0000335e: POP
0000335f: POP
00003360: DUP1
00003361: DUP4
00003362: SUB
00003363: PUSH1 0xa0
00003365: DUP3
00003366: ADD
00003367: MSTORE
00003368: PUSH1 0x00
0000336a: DUP4
0000336b: MSTORE
0000336c: PUSH1 0xc0
0000336e: ADD
0000336f: MSTORE
00003370: PUSH1 0x20
00003372: ADD
00003373: SWAP5
00003374: SWAP4
00003375: POP
00003376: POP
00003377: POP
00003378: POP
00003379: JUMP
0000337a: JUMPDEST
0000337b: PUSH8 0xffffffffffffffff
00003384: DUP4
00003385: GT
00003386: ISZERO
00003387: PUSH2 0x3392
0000338a: JUMPI
0000338b: PUSH2 0x3392
0000338e: PUSH2 0x2ceb
00003391: JUMP
00003392: JUMPDEST
00003393: PUSH2 0x33a6
00003396: DUP4
00003397: PUSH2 0x33a0
0000339a: DUP4
0000339b: SLOAD
0000339c: PUSH2 0x2f75
0000339f: JUMP
000033a0: JUMPDEST
000033a1: DUP4
000033a2: PUSH2 0x2fc8
000033a5: JUMP
000033a6: JUMPDEST
000033a7: PUSH1 0x00
000033a9: PUSH1 0x1f
000033ab: DUP5
000033ac: GT
000033ad: PUSH1 0x01
000033af: DUP2
000033b0: EQ
000033b1: PUSH2 0x33f8
000033b4: JUMPI
000033b5: PUSH1 0x00
000033b7: DUP6
000033b8: ISZERO
000033b9: PUSH2 0x33c2
000033bc: JUMPI
000033bd: POP
000033be: DUP4
000033bf: DUP3
000033c0: ADD
000033c1: CALLDATALOAD
000033c2: JUMPDEST
000033c3: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000033e4: PUSH1 0x03
000033e6: DUP8
000033e7: SWAP1
000033e8: SHL
000033e9: SHR
000033ea: NOT
000033eb: AND
000033ec: PUSH1 0x01
000033ee: DUP7
000033ef: SWAP1
000033f0: SHL
000033f1: OR
000033f2: DUP4
000033f3: SSTORE
000033f4: PUSH2 0x348e
000033f7: JUMP
000033f8: JUMPDEST
000033f9: PUSH1 0x00
000033fb: DUP4
000033fc: DUP2
000033fd: MSTORE
000033fe: PUSH1 0x20
00003400: SWAP1
00003401: KECCAK256
00003402: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00003423: DUP7
00003424: AND
00003425: SWAP1
00003426: DUP4
00003427: JUMPDEST
00003428: DUP3
00003429: DUP2
0000342a: LT
0000342b: ISZERO
0000342c: PUSH2 0x3447
0000342f: JUMPI
00003430: DUP7
00003431: DUP6
00003432: ADD
00003433: CALLDATALOAD
00003434: DUP3
00003435: SSTORE
00003436: PUSH1 0x20
00003438: SWAP5
00003439: DUP6
0000343a: ADD
0000343b: SWAP5
0000343c: PUSH1 0x01
0000343e: SWAP1
0000343f: SWAP3
00003440: ADD
00003441: SWAP2
00003442: ADD
00003443: PUSH2 0x3427
00003446: JUMP
00003447: JUMPDEST
00003448: POP
00003449: DUP7
0000344a: DUP3
0000344b: LT
0000344c: ISZERO
0000344d: PUSH2 0x3482
00003450: JUMPI
00003451: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003472: PUSH1 0xf8
00003474: DUP9
00003475: PUSH1 0x03
00003477: SHL
00003478: AND
00003479: SHR
0000347a: NOT
0000347b: DUP5
0000347c: DUP8
0000347d: ADD
0000347e: CALLDATALOAD
0000347f: AND
00003480: DUP2
00003481: SSTORE
00003482: JUMPDEST
00003483: POP
00003484: POP
00003485: PUSH1 0x01
00003487: DUP6
00003488: PUSH1 0x01
0000348a: SHL
0000348b: ADD
0000348c: DUP4
0000348d: SSTORE
0000348e: JUMPDEST
0000348f: POP
00003490: POP
00003491: POP
00003492: POP
00003493: POP
00003494: JUMP
00003495: JUMPDEST
00003496: PUSH1 0x00
00003498: PUSH16 0xffffffffffffffffffffffffffffffff
000034a9: DUP1
000034aa: DUP8
000034ab: AND
000034ac: DUP4
000034ad: MSTORE
000034ae: PUSH1 0x60
000034b0: PUSH1 0x20
000034b2: DUP5
000034b3: ADD
000034b4: MSTORE
000034b5: PUSH2 0x34c2
000034b8: PUSH1 0x60
000034ba: DUP5
000034bb: ADD
000034bc: DUP7
000034bd: DUP9
000034be: PUSH2 0x31ed
000034c1: JUMP
000034c2: JUMPDEST
000034c3: SWAP2
000034c4: POP
000034c5: DUP1
000034c6: DUP5
000034c7: AND
000034c8: PUSH1 0x40
000034ca: DUP5
000034cb: ADD
000034cc: MSTORE
000034cd: POP
000034ce: SWAP6
000034cf: SWAP5
000034d0: POP
000034d1: POP
000034d2: POP
000034d3: POP
000034d4: POP
000034d5: JUMP
000034d6: JUMPDEST
000034d7: PUSH1 0x40
000034d9: DUP2
000034da: MSTORE
000034db: PUSH1 0x00
000034dd: PUSH2 0x34ea
000034e0: PUSH1 0x40
000034e2: DUP4
000034e3: ADD
000034e4: DUP6
000034e5: DUP8
000034e6: PUSH2 0x31ed
000034e9: JUMP
000034ea: JUMPDEST
000034eb: SWAP1
000034ec: POP
000034ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003502: DUP4
00003503: AND
00003504: PUSH1 0x20
00003506: DUP4
00003507: ADD
00003508: MSTORE
00003509: SWAP5
0000350a: SWAP4
0000350b: POP
0000350c: POP
0000350d: POP
0000350e: POP
0000350f: JUMP
00003510: INVALID
00003511: LOG2
00003512: PUSH5 0x6970667358
00003518: UNKNOWN(0x22)
00003519: SLT
0000351a: KECCAK256
0000351b: CALLDATALOAD
0000351c: DUP6
0000351d: UNKNOWN(0x0E)
0000351e: PUSH11 0x458868fac9dda5e7464e45
0000352a: UNKNOWN(0xE0)
0000352b: CALLDATALOAD
0000352c: PUSH12 0x0bf3086d27b6845ee6b2730e
00003539: UNKNOWN(0xCE)
0000353a: UNKNOWN(0xB5)
0000353b: PUSH5 0x736f6c6343
00003541: STOP
00003542: ADDMOD
00003543: SLT
00003544: STOP
00003545: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability codex Unprotected init() lets attacker become admin/executor and drain bridge funds 90 no
view
evidence_json
{
    "evidence": "`init()` is external and only guarded by `whenNotInitialized`, allowing any first caller to set admin/executor/callerContract arbitrarily.",
    "locations": [
        "contracts/contracts/bridge/AbstractBridge.sol:44",
        "contracts/contracts/bridge/AbstractBridge.sol:51",
        "contracts/contracts/bridge/AbstractBridge.sol:55",
        "contracts/contracts/bridge/AbstractBridge.sol:60",
        "contracts/contracts/bridge/AbstractBridge.sol:61"
    ],
    "recommendation": "Restrict `init()` to a trusted deployer (e.g., onlyProxy/onlyAdmin pattern) and/or use a constructor to set immutable admin/executor or disable the initializer on implementation contracts.",
    "exploit_scenario": "1) Monitor for deployment of the bridge proxy/implementation before initialization. 2) Call `init()` first, setting `admin_` and `executor_` to attacker-controlled addresses and `callerContract_` to any chosen value. 3) (Optional) Use admin privileges to configure chains/bindings so users can start locking ETH. 4) As users call `lockTokens`, `balance` increases with ETH held by the bridge. 5) Call `releaseTokens()` as the attacker-controlled executor and pass the matching `callerContract_` to transfer out up to the full `balance` to the attacker. 6) Repeat to drain all subsequent deposits."
}
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xe2f273bd",
            "selector": "0xe2f273bd",
            "calldata_variants": [
                "0xe2f273bd",
                "0xe2f273bd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe45da526",
            "selector": "0xe45da526",
            "calldata_variants": [
                "0xe45da526",
                "0xe45da5260000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf67db96b",
            "selector": "0xf67db96b",
            "calldata_variants": [
                "0xf67db96b",
                "0xf67db96b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf851a440",
            "selector": "0xf851a440",
            "calldata_variants": [
                "0xf851a440",
                "0xf851a4400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbac9e1b7",
            "selector": "0xbac9e1b7",
            "calldata_variants": [
                "0xbac9e1b7",
                "0xbac9e1b70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc34c08e5",
            "selector": "0xc34c08e5",
            "calldata_variants": [
                "0xc34c08e5",
                "0xc34c08e50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe22fe72f",
            "selector": "0xe22fe72f",
            "calldata_variants": [
                "0xe22fe72f",
                "0xe22fe72f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb187bd26",
            "selector": "0xb187bd26",
            "calldata_variants": [
                "0xb187bd26",
                "0xb187bd260000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 6949,
            "type": "tx_origin_used"
        },
        {
            "pc": 6863,
            "type": "tx_origin_used"
        },
        {
            "pc": 6948,
            "type": "tx_origin_used"
        },
        {
            "pc": 7037,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x6bf946ad6a063f933418537715d9de0fed17450746c86e2d17f4fe25720bbb3a
call_targets: 0x1bda1227875f0f8bb27625dd720f386b40003e14
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x6bf946ad6a063f933418537715d9de0fed17450746c86e2d17f4fe25720bbb3a",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x1bda1227875f0f8bb27625dd720f386b40003e14"
    ],
    "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": "0xe2f273bd",
            "selector": "0xe2f273bd",
            "calldata_variants": [
                "0xe2f273bd",
                "0xe2f273bd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe45da526",
            "selector": "0xe45da526",
            "calldata_variants": [
                "0xe45da526",
                "0xe45da5260000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf67db96b",
            "selector": "0xf67db96b",
            "calldata_variants": [
                "0xf67db96b",
                "0xf67db96b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf851a440",
            "selector": "0xf851a440",
            "calldata_variants": [
                "0xf851a440",
                "0xf851a4400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbac9e1b7",
            "selector": "0xbac9e1b7",
            "calldata_variants": [
                "0xbac9e1b7",
                "0xbac9e1b70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc34c08e5",
            "selector": "0xc34c08e5",
            "calldata_variants": [
                "0xc34c08e5",
                "0xc34c08e50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe22fe72f",
            "selector": "0xe22fe72f",
            "calldata_variants": [
                "0xe22fe72f",
                "0xe22fe72f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb187bd26",
            "selector": "0xb187bd26",
            "calldata_variants": [
                "0xb187bd26",
                "0xb187bd260000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5593,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7010,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7056,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 5,
    "guards_detected": [
        {
            "pc": 6949,
            "type": "tx_origin_used"
        },
        {
            "pc": 6863,
            "type": "tx_origin_used"
        },
        {
            "pc": 6948,
            "type": "tx_origin_used"
        },
        {
            "pc": 7037,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 5
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x6bf946ad6a063f933418537715d9de0fed17450746c86e2d17f4fe25720bbb3a
call_targets: 0x1bda1227875f0f8bb27625dd720f386b40003e14
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x6bf946ad6a063f933418537715d9de0fed17450746c86e2d17f4fe25720bbb3a",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x1bda1227875f0f8bb27625dd720f386b40003e14"
    ],
    "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": "0xe2f273bd",
            "selector": "0xe2f273bd",
            "calldata_variants": [
                "0xe2f273bd",
                "0xe2f273bd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe45da526",
            "selector": "0xe45da526",
            "calldata_variants": [
                "0xe45da526",
                "0xe45da5260000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf67db96b",
            "selector": "0xf67db96b",
            "calldata_variants": [
                "0xf67db96b",
                "0xf67db96b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf851a440",
            "selector": "0xf851a440",
            "calldata_variants": [
                "0xf851a440",
                "0xf851a4400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbac9e1b7",
            "selector": "0xbac9e1b7",
            "calldata_variants": [
                "0xbac9e1b7",
                "0xbac9e1b70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc34c08e5",
            "selector": "0xc34c08e5",
            "calldata_variants": [
                "0xc34c08e5",
                "0xc34c08e50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe22fe72f",
            "selector": "0xe22fe72f",
            "calldata_variants": [
                "0xe22fe72f",
                "0xe22fe72f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb187bd26",
            "selector": "0xb187bd26",
            "calldata_variants": [
                "0xb187bd26",
                "0xb187bd260000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5593,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7010,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7056,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 5,
    "guards_detected": [
        {
            "pc": 6949,
            "type": "tx_origin_used"
        },
        {
            "pc": 6863,
            "type": "tx_origin_used"
        },
        {
            "pc": 6948,
            "type": "tx_origin_used"
        },
        {
            "pc": 7037,
            "type": "tx_origin_used"
        }
    ]
}