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

Analysis Run

0815ab6e-ac94-48f3-9332-fc564f6cd817

failed
Chain ID
1
Address
Block Number
Created
Tue, Dec 30, 2025 9:20 PM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Untrusted CALL target/value reachable
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
30772 report.consolidate complete 1 / 1 3 months ago
75628 artifact.fetch failed 1 / 3 1 week ago
75629 tool.cast_disasm complete 1 / 3 1 week ago
75630 analysis.bundle complete 1 / 3 1 week ago
75631 capability.graph complete 1 / 3 1 week ago
75632 detector.run complete 1 / 3 1 week ago
75633 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
2
No findings?
no
Summary
Found 2 issues: signatures are not domain-separated (replay risk across contracts/chains), and the upgradeable implementation is not locked against direct initialization.
View stderr
[codex:1273320] OpenAI Codex v0.77.0 (research preview)
[codex:1273320] --------
[codex:1273320] workdir: /tmp/codex-multi-2a0igx6l
[codex:1273320] model: gpt-5.2-codex
[codex:1273320] provider: openai
[codex:1273320] approval: never
[codex:1273320] sandbox: read-only
[codex:1273320] reasoning effort: xhigh
[codex:1273320] reasoning summaries: auto
[codex:1273320] session id: 019b711f-9dea-7840-a880-98ba05afd258
[codex:1273320] --------
[codex:1273320] user
[codex:1273320] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1273320] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1273320] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1273320] 
[codex:1273320] Scope rules:
[codex:1273320] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1273320] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1273320] 
[codex:1273320] Output MUST be valid JSON matching the provided schema.
[codex:1273320] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1273320] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1273320] 
[codex:1273320] Output constraints (IMPORTANT):
[codex:1273320] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1273320] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1273320] mcp startup: no servers
[codex:1273320] 
[codex:1273320] thinking
[codex:1273320] **Reading instruction file**
[codex:1273320] exec
[codex:1273320] /bin/bash -lc ls in /tmp/codex-multi-2a0igx6l succeeded in 5ms:
[codex:1273320] AUDIT_BUNDLE.txt
[codex:1273320] codex-output-schema.json
[codex:1273320] contracts
[codex:1273320] exec
[codex:1273320] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-2a0igx6l succeeded in 6ms:
[codex:1273320] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1273320] 
[codex:1273320] ================================================================================
[codex:1273320] FILE: contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol
[codex:1273320] ================================================================================
[codex:1273320] // SPDX-License-Identifier: MIT
[codex:1273320] // OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)
[codex:1273320] 
[codex:1273320] pragma solidity ^0.8.0;
[codex:1273320] 
[codex:1273320] import "../utils/ContextUpgradeable.sol";
[codex:1273320] import "../proxy/utils/Initializable.sol";
[codex:1273320] 
[codex:1273320] /**
[codex:1273320]  * @dev Contract module which provides a basic access control mechanism, where
[codex:1273320]  * there is an account (an owner) that can be granted exclusive access to
[codex:1273320]  * specific functions.
[codex:1273320]  *
[codex:1273320]  * By default, the owner account will be the one that deploys the contract. This
[codex:1273320]  * can later be changed with {transferOwnership}.
[codex:1273320] 
[codex:1273320] 
[codex:1273320] thinking
[codex:1273320] **Evaluating signature and reentrancy risks in contract**
[codex:1273320] thinking
[codex:1273320] **Summarizing cross-deployment risks and upgradeability concerns**
[codex:1273320] 
[codex:1273320] I'm gathering detailed analysis about signature reuse across multiple deployments or chains, owner-controlled variables affecting token claims, and upgradeability patterns. I’m weighing impacts like cross-contract replay risks due to missing domain separation in signatures and noting standard upgradeable contract practices that might cause issues if not handled carefully. I’m also considering how contract owner actions and external token behaviors could affect security within the current setup.
[codex:1273320] exec
[codex:1273320] /bin/bash -lc 'nl -ba contracts/contracts/CampaignRewardDistribution.sol' in /tmp/codex-multi-2a0igx6l succeeded in 5ms:
[codex:1273320]      1	//SPDX-License-Identifier: Unlicense
[codex:1273320]      2	pragma solidity ^0.8.4;
[codex:1273320]      3	
[codex:1273320]      4	import "@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol";
[codex:1273320]      5	import "@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol";
[codex:1273320]      6	import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
[codex:1273320]      7	import "@openzeppelin/contracts-upgradeable/utils/cryptography/ECDSAUpgradeable.sol";
[codex:1273320]      8	
[codex:1273320]      9	contract CampaignRewardDistribution is OwnableUpgradeable {
[codex:1273320]     10	    using SafeERC20Upgradeable for IERC20Upgradeable;
[codex:1273320]     11	    using ECDSAUpgradeable for bytes32;
[codex:1273320]     12	
[codex:1273320]     13	    event CampaignCreated(uint256 campaignId, address rewardToken);
[codex:1273320]     14	    event RewardClaimed(address user, uint256 campaignId, uint256 amount);
[codex:1273320]     15	
[codex:1273320]     16	    struct Campaign {
[codex:1273320]     17	        bool enabled;
[codex:1273320]     18	        address rewardToken;
[codex:1273320]     19	        uint256 claimableFrom;
[codex:1273320]     20	        uint256 claimableUntil;
[codex:1273320] 
[codex:1273320] thinking
[codex:1273320] **Preparing JSON audit findings**
[codex:1273320] 
[codex:1273320] I'll create JSON output per the codex-output-schema.json with a summary and two findings: one medium-severity auth issue about missing domain separation causing signature replay across contracts/chains, and one low-severity upgradeability issue due to missing _disableInitializers in the implementation contract. I'll ensure all evidence lines and locations are precise and JSON is valid without extra commentary.
[codex:1273320] codex
[codex:1273320] {"no_findings":false,"summary":"Found 2 issues: signatures are not domain-separated (replay risk across contracts/chains), and the upgradeable implementation is not locked against direct initialization.","findings":[{"severity":"medium","category":"auth","title":"Signatures lack domain separation, enabling cross-contract/chain replay","exploit_scenario":"If the same masterSigner key is reused across deployments or chains, a signature intended for one deployment can be replayed against another deployment with the same campaignId/prefix and active window, allowing unauthorized claims on that other contract.","recommendation":"Include domain separation in the signed payload (at least `address(this)` and `block.chainid`), or move to EIP-712 typed data with a contract-specific domain separator.","evidence":"`isSignatureValid` hashes only `prefix`, `user`, `campaignId`, and `amount`, without `address(this)` or `chainId`.","locations":["contracts/contracts/CampaignRewardDistribution.sol:33"]},{"severity":"low","category":"upgradeability","title":"Upgradeable implementation can be initialized directly","exploit_scenario":"An attacker can call `initialize` on the implementation contract (if deployed standalone), become owner, and drain any assets mistakenly sent to the implementation address or operate it directly.","recommendation":"Add a constructor that calls `_disableInitializers()` to lock the implementation contract.","evidence":"No constructor disables initializers; `initialize` is public and uses the `initializer` modifier.","locations":["contracts/contracts/CampaignRewardDistribution.sol:28"]}]}
[codex:1273320] tokens used
[codex:1273320] 20,758
[codex:1273320] {"no_findings":false,"summary":"Found 2 issues: signatures are not domain-separated (replay risk across contracts/chains), and the upgradeable implementation is not locked against direct initialization.","findings":[{"severity":"medium","category":"auth","title":"Signatures lack domain separation, enabling cross-contract/chain replay","exploit_scenario":"If the same masterSigner key is reused across deployments or chains, a signature intended for one deployment can be replayed against another deployment with the same campaignId/prefix and active window, allowing unauthorized claims on that other contract.","recommendation":"Include domain separation in the signed payload (at least `address(this)` and `block.chainid`), or move to EIP-712 typed data with a contract-specific domain separator.","evidence":"`isSignatureValid` hashes only `prefix`, `user`, `campaignId`, and `amount`, without `address(this)` or `chainId`.","locations":["contracts/contracts/CampaignRewardDistribution.sol:33"]},{"severity":"low","category":"upgradeability","title":"Upgradeable implementation can be initialized directly","exploit_scenario":"An attacker can call `initialize` on the implementation contract (if deployed standalone), become owner, and drain any assets mistakenly sent to the implementation address or operate it directly.","recommendation":"Add a constructor that calls `_disableInitializers()` to lock the implementation contract.","evidence":"No constructor disables initializers; `initialize` is public and uses the `initializer` modifier.","locations":["contracts/contracts/CampaignRewardDistribution.sol:28"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-30T21:20:18.040965+00:00",
        "returncode": 0
    },
    "summary": "Found 2 issues: signatures are not domain-separated (replay risk across contracts/chains), and the upgradeable implementation is not locked against direct initialization.",
    "raw_final": {
        "summary": "Found 2 issues: signatures are not domain-separated (replay risk across contracts/chains), and the upgradeable implementation is not locked against direct initialization.",
        "findings": [
            {
                "title": "Signatures lack domain separation, enabling cross-contract/chain replay",
                "category": "auth",
                "evidence": "`isSignatureValid` hashes only `prefix`, `user`, `campaignId`, and `amount`, without `address(this)` or `chainId`.",
                "severity": "medium",
                "locations": [
                    "contracts/contracts/CampaignRewardDistribution.sol:33"
                ],
                "recommendation": "Include domain separation in the signed payload (at least `address(this)` and `block.chainid`), or move to EIP-712 typed data with a contract-specific domain separator.",
                "exploit_scenario": "If the same masterSigner key is reused across deployments or chains, a signature intended for one deployment can be replayed against another deployment with the same campaignId/prefix and active window, allowing unauthorized claims on that other contract."
            },
            {
                "title": "Upgradeable implementation can be initialized directly",
                "category": "upgradeability",
                "evidence": "No constructor disables initializers; `initialize` is public and uses the `initializer` modifier.",
                "severity": "low",
                "locations": [
                    "contracts/contracts/CampaignRewardDistribution.sol:28"
                ],
                "recommendation": "Add a constructor that calls `_disableInitializers()` to lock the implementation contract.",
                "exploit_scenario": "An attacker can call `initialize` on the implementation contract (if deployed standalone), become owner, and drain any assets mistakenly sent to the implementation address or operate it directly."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
3
EXT*/BALANCE
2
Total opcodes
4032
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLVALUE
00000006: DUP1
00000007: ISZERO
00000008: PUSH2 0x0010
0000000b: JUMPI
0000000c: PUSH1 0x00
0000000e: DUP1
0000000f: REVERT
00000010: JUMPDEST
00000011: POP
00000012: PUSH1 0x04
00000014: CALLDATASIZE
00000015: LT
00000016: PUSH2 0x010b
00000019: JUMPI
0000001a: PUSH1 0x00
0000001c: CALLDATALOAD
0000001d: PUSH1 0xe0
0000001f: SHR
00000020: DUP1
00000021: PUSH4 0x7e45984b
00000026: GT
00000027: PUSH2 0x00a2
0000002a: JUMPI
0000002b: DUP1
0000002c: PUSH4 0xc4d66de8
00000031: GT
00000032: PUSH2 0x0071
00000035: JUMPI
00000036: DUP1
00000037: PUSH4 0xc4d66de8
0000003c: EQ
0000003d: PUSH2 0x0246
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0xcd70584f
00000047: EQ
00000048: PUSH2 0x0259
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0xd352c8b6
00000052: EQ
00000053: PUSH2 0x026c
00000056: JUMPI
00000057: DUP1
00000058: PUSH4 0xdd53c4a7
0000005d: EQ
0000005e: PUSH2 0x027f
00000061: JUMPI
00000062: DUP1
00000063: PUSH4 0xf2fde38b
00000068: EQ
00000069: PUSH2 0x0292
0000006c: JUMPI
0000006d: PUSH1 0x00
0000006f: DUP1
00000070: REVERT
00000071: JUMPDEST
00000072: DUP1
00000073: PUSH4 0x7e45984b
00000078: EQ
00000079: PUSH2 0x01fc
0000007c: JUMPI
0000007d: DUP1
0000007e: PUSH4 0x8da5cb5b
00000083: EQ
00000084: PUSH2 0x020f
00000087: JUMPI
00000088: DUP1
00000089: PUSH4 0x8fa2a9f0
0000008e: EQ
0000008f: PUSH2 0x0220
00000092: JUMPI
00000093: DUP1
00000094: PUSH4 0xa5328c99
00000099: EQ
0000009a: PUSH2 0x0233
0000009d: JUMPI
0000009e: PUSH1 0x00
000000a0: DUP1
000000a1: REVERT
000000a2: JUMPDEST
000000a3: DUP1
000000a4: PUSH4 0x30e07f3e
000000a9: GT
000000aa: PUSH2 0x00de
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0x30e07f3e
000000b4: EQ
000000b5: PUSH2 0x0190
000000b8: JUMPI
000000b9: DUP1
000000ba: PUSH4 0x4a0dcc21
000000bf: EQ
000000c0: PUSH2 0x01a3
000000c3: JUMPI
000000c4: DUP1
000000c5: PUSH4 0x4dd6c8de
000000ca: EQ
000000cb: PUSH2 0x01b6
000000ce: JUMPI
000000cf: DUP1
000000d0: PUSH4 0x715018a6
000000d5: EQ
000000d6: PUSH2 0x01f4
000000d9: JUMPI
000000da: PUSH1 0x00
000000dc: DUP1
000000dd: REVERT
000000de: JUMPDEST
000000df: DUP1
000000e0: PUSH4 0x141961bc
000000e5: EQ
000000e6: PUSH2 0x0110
000000e9: JUMPI
000000ea: DUP1
000000eb: PUSH4 0x19251fd5
000000f0: EQ
000000f1: PUSH2 0x013d
000000f4: JUMPI
000000f5: DUP1
000000f6: PUSH4 0x20a3cd01
000000fb: EQ
000000fc: PUSH2 0x0152
000000ff: JUMPI
00000100: DUP1
00000101: PUSH4 0x2ada8a32
00000106: EQ
00000107: PUSH2 0x017d
0000010a: JUMPI
0000010b: JUMPDEST
0000010c: PUSH1 0x00
0000010e: DUP1
0000010f: REVERT
00000110: JUMPDEST
00000111: PUSH2 0x0123
00000114: PUSH2 0x011e
00000117: CALLDATASIZE
00000118: PUSH1 0x04
0000011a: PUSH2 0x1614
0000011d: JUMP
0000011e: JUMPDEST
0000011f: PUSH2 0x02a5
00000122: JUMP
00000123: JUMPDEST
00000124: PUSH1 0x40
00000126: MLOAD
00000127: PUSH2 0x0134
0000012a: SWAP6
0000012b: SWAP5
0000012c: SWAP4
0000012d: SWAP3
0000012e: SWAP2
0000012f: SWAP1
00000130: PUSH2 0x17e1
00000133: JUMP
00000134: JUMPDEST
00000135: PUSH1 0x40
00000137: MLOAD
00000138: DUP1
00000139: SWAP2
0000013a: SUB
0000013b: SWAP1
0000013c: RETURN
0000013d: JUMPDEST
0000013e: PUSH2 0x0150
00000141: PUSH2 0x014b
00000144: CALLDATASIZE
00000145: PUSH1 0x04
00000147: PUSH2 0x162c
0000014a: JUMP
0000014b: JUMPDEST
0000014c: PUSH2 0x0368
0000014f: JUMP
00000150: JUMPDEST
00000151: STOP
00000152: JUMPDEST
00000153: PUSH1 0x67
00000155: SLOAD
00000156: PUSH2 0x0165
00000159: SWAP1
0000015a: PUSH1 0x01
0000015c: PUSH1 0x01
0000015e: PUSH1 0xa0
00000160: SHL
00000161: SUB
00000162: AND
00000163: DUP2
00000164: JUMP
00000165: JUMPDEST
00000166: PUSH1 0x40
00000168: MLOAD
00000169: PUSH1 0x01
0000016b: PUSH1 0x01
0000016d: PUSH1 0xa0
0000016f: SHL
00000170: SUB
00000171: SWAP1
00000172: SWAP2
00000173: AND
00000174: DUP2
00000175: MSTORE
00000176: PUSH1 0x20
00000178: ADD
00000179: PUSH2 0x0134
0000017c: JUMP
0000017d: JUMPDEST
0000017e: PUSH2 0x0150
00000181: PUSH2 0x018b
00000184: CALLDATASIZE
00000185: PUSH1 0x04
00000187: PUSH2 0x1586
0000018a: JUMP
0000018b: JUMPDEST
0000018c: PUSH2 0x03a5
0000018f: JUMP
00000190: JUMPDEST
00000191: PUSH2 0x0150
00000194: PUSH2 0x019e
00000197: CALLDATASIZE
00000198: PUSH1 0x04
0000019a: PUSH2 0x1734
0000019d: JUMP
0000019e: JUMPDEST
0000019f: PUSH2 0x061d
000001a2: JUMP
000001a3: JUMPDEST
000001a4: PUSH2 0x0150
000001a7: PUSH2 0x01b1
000001aa: CALLDATASIZE
000001ab: PUSH1 0x04
000001ad: PUSH2 0x1657
000001b0: JUMP
000001b1: JUMPDEST
000001b2: PUSH2 0x066a
000001b5: JUMP
000001b6: JUMPDEST
000001b7: PUSH2 0x01e4
000001ba: PUSH2 0x01c4
000001bd: CALLDATASIZE
000001be: PUSH1 0x04
000001c0: PUSH2 0x155d
000001c3: JUMP
000001c4: JUMPDEST
000001c5: PUSH1 0x66
000001c7: PUSH1 0x20
000001c9: SWAP1
000001ca: DUP2
000001cb: MSTORE
000001cc: PUSH1 0x00
000001ce: SWAP3
000001cf: DUP4
000001d0: MSTORE
000001d1: PUSH1 0x40
000001d3: DUP1
000001d4: DUP5
000001d5: KECCAK256
000001d6: SWAP1
000001d7: SWAP2
000001d8: MSTORE
000001d9: SWAP1
000001da: DUP3
000001db: MSTORE
000001dc: SWAP1
000001dd: KECCAK256
000001de: SLOAD
000001df: PUSH1 0xff
000001e1: AND
000001e2: DUP2
000001e3: JUMP
000001e4: JUMPDEST
000001e5: PUSH1 0x40
000001e7: MLOAD
000001e8: SWAP1
000001e9: ISZERO
000001ea: ISZERO
000001eb: DUP2
000001ec: MSTORE
000001ed: PUSH1 0x20
000001ef: ADD
000001f0: PUSH2 0x0134
000001f3: JUMP
000001f4: JUMPDEST
000001f5: PUSH2 0x0150
000001f8: PUSH2 0x0777
000001fb: JUMP
000001fc: JUMPDEST
000001fd: PUSH2 0x0150
00000200: PUSH2 0x020a
00000203: CALLDATASIZE
00000204: PUSH1 0x04
00000206: PUSH2 0x16ef
00000209: JUMP
0000020a: JUMPDEST
0000020b: PUSH2 0x078b
0000020e: JUMP
0000020f: JUMPDEST
00000210: PUSH1 0x33
00000212: SLOAD
00000213: PUSH1 0x01
00000215: PUSH1 0x01
00000217: PUSH1 0xa0
00000219: SHL
0000021a: SUB
0000021b: AND
0000021c: PUSH2 0x0165
0000021f: JUMP
00000220: JUMPDEST
00000221: PUSH2 0x0150
00000224: PUSH2 0x022e
00000227: CALLDATASIZE
00000228: PUSH1 0x04
0000022a: PUSH2 0x1543
0000022d: JUMP
0000022e: JUMPDEST
0000022f: PUSH2 0x07bd
00000232: JUMP
00000233: JUMPDEST
00000234: PUSH2 0x0150
00000237: PUSH2 0x0241
0000023a: CALLDATASIZE
0000023b: PUSH1 0x04
0000023d: PUSH2 0x1734
00000240: JUMP
00000241: JUMPDEST
00000242: PUSH2 0x07e7
00000245: JUMP
00000246: JUMPDEST
00000247: PUSH2 0x0150
0000024a: PUSH2 0x0254
0000024d: CALLDATASIZE
0000024e: PUSH1 0x04
00000250: PUSH2 0x1543
00000253: JUMP
00000254: JUMPDEST
00000255: PUSH2 0x08de
00000258: JUMP
00000259: JUMPDEST
0000025a: PUSH2 0x0150
0000025d: PUSH2 0x0267
00000260: CALLDATASIZE
00000261: PUSH1 0x04
00000263: PUSH2 0x1734
00000266: JUMP
00000267: JUMPDEST
00000268: PUSH2 0x0a0b
0000026b: JUMP
0000026c: JUMPDEST
0000026d: PUSH2 0x01e4
00000270: PUSH2 0x027a
00000273: CALLDATASIZE
00000274: PUSH1 0x04
00000276: PUSH2 0x1586
00000279: JUMP
0000027a: JUMPDEST
0000027b: PUSH2 0x0a9b
0000027e: JUMP
0000027f: JUMPDEST
00000280: PUSH2 0x0150
00000283: PUSH2 0x028d
00000286: CALLDATASIZE
00000287: PUSH1 0x04
00000289: PUSH2 0x16c0
0000028c: JUMP
0000028d: JUMPDEST
0000028e: PUSH2 0x0beb
00000291: JUMP
00000292: JUMPDEST
00000293: PUSH2 0x0150
00000296: PUSH2 0x02a0
00000299: CALLDATASIZE
0000029a: PUSH1 0x04
0000029c: PUSH2 0x1543
0000029f: JUMP
000002a0: JUMPDEST
000002a1: PUSH2 0x0c13
000002a4: JUMP
000002a5: JUMPDEST
000002a6: PUSH1 0x65
000002a8: PUSH1 0x20
000002aa: MSTORE
000002ab: PUSH1 0x00
000002ad: SWAP1
000002ae: DUP2
000002af: MSTORE
000002b0: PUSH1 0x40
000002b2: SWAP1
000002b3: KECCAK256
000002b4: DUP1
000002b5: SLOAD
000002b6: PUSH1 0x01
000002b8: DUP3
000002b9: ADD
000002ba: SLOAD
000002bb: PUSH1 0x02
000002bd: DUP4
000002be: ADD
000002bf: SLOAD
000002c0: PUSH1 0x03
000002c2: DUP5
000002c3: ADD
000002c4: DUP1
000002c5: SLOAD
000002c6: PUSH1 0xff
000002c8: DUP6
000002c9: AND
000002ca: SWAP6
000002cb: PUSH2 0x0100
000002ce: SWAP1
000002cf: SWAP6
000002d0: DIV
000002d1: PUSH1 0x01
000002d3: PUSH1 0x01
000002d5: PUSH1 0xa0
000002d7: SHL
000002d8: SUB
000002d9: AND
000002da: SWAP5
000002db: SWAP2
000002dc: SWAP1
000002dd: PUSH2 0x02e5
000002e0: SWAP1
000002e1: PUSH2 0x190f
000002e4: JUMP
000002e5: JUMPDEST
000002e6: DUP1
000002e7: PUSH1 0x1f
000002e9: ADD
000002ea: PUSH1 0x20
000002ec: DUP1
000002ed: SWAP2
000002ee: DIV
000002ef: MUL
000002f0: PUSH1 0x20
000002f2: ADD
000002f3: PUSH1 0x40
000002f5: MLOAD
000002f6: SWAP1
000002f7: DUP2
000002f8: ADD
000002f9: PUSH1 0x40
000002fb: MSTORE
000002fc: DUP1
000002fd: SWAP3
000002fe: SWAP2
000002ff: SWAP1
00000300: DUP2
00000301: DUP2
00000302: MSTORE
00000303: PUSH1 0x20
00000305: ADD
00000306: DUP3
00000307: DUP1
00000308: SLOAD
00000309: PUSH2 0x0311
0000030c: SWAP1
0000030d: PUSH2 0x190f
00000310: JUMP
00000311: JUMPDEST
00000312: DUP1
00000313: ISZERO
00000314: PUSH2 0x035e
00000317: JUMPI
00000318: DUP1
00000319: PUSH1 0x1f
0000031b: LT
0000031c: PUSH2 0x0333
0000031f: JUMPI
00000320: PUSH2 0x0100
00000323: DUP1
00000324: DUP4
00000325: SLOAD
00000326: DIV
00000327: MUL
00000328: DUP4
00000329: MSTORE
0000032a: SWAP2
0000032b: PUSH1 0x20
0000032d: ADD
0000032e: SWAP2
0000032f: PUSH2 0x035e
00000332: JUMP
00000333: JUMPDEST
00000334: DUP3
00000335: ADD
00000336: SWAP2
00000337: SWAP1
00000338: PUSH1 0x00
0000033a: MSTORE
0000033b: PUSH1 0x20
0000033d: PUSH1 0x00
0000033f: KECCAK256
00000340: SWAP1
00000341: JUMPDEST
00000342: DUP2
00000343: SLOAD
00000344: DUP2
00000345: MSTORE
00000346: SWAP1
00000347: PUSH1 0x01
00000349: ADD
0000034a: SWAP1
0000034b: PUSH1 0x20
0000034d: ADD
0000034e: DUP1
0000034f: DUP4
00000350: GT
00000351: PUSH2 0x0341
00000354: JUMPI
00000355: DUP3
00000356: SWAP1
00000357: SUB
00000358: PUSH1 0x1f
0000035a: AND
0000035b: DUP3
0000035c: ADD
0000035d: SWAP2
0000035e: JUMPDEST
0000035f: POP
00000360: POP
00000361: POP
00000362: POP
00000363: POP
00000364: SWAP1
00000365: POP
00000366: DUP6
00000367: JUMP
00000368: JUMPDEST
00000369: PUSH2 0x0370
0000036c: PUSH2 0x0c8c
0000036f: JUMP
00000370: JUMPDEST
00000371: PUSH1 0x00
00000373: SWAP2
00000374: DUP3
00000375: MSTORE
00000376: PUSH1 0x65
00000378: PUSH1 0x20
0000037a: MSTORE
0000037b: PUSH1 0x40
0000037d: SWAP1
0000037e: SWAP2
0000037f: KECCAK256
00000380: DUP1
00000381: SLOAD
00000382: PUSH1 0x01
00000384: PUSH1 0x01
00000386: PUSH1 0xa0
00000388: SHL
00000389: SUB
0000038a: SWAP1
0000038b: SWAP3
0000038c: AND
0000038d: PUSH2 0x0100
00000390: MUL
00000391: PUSH2 0x0100
00000394: PUSH1 0x01
00000396: PUSH1 0xa8
00000398: SHL
00000399: SUB
0000039a: NOT
0000039b: SWAP1
0000039c: SWAP3
0000039d: AND
0000039e: SWAP2
0000039f: SWAP1
000003a0: SWAP2
000003a1: OR
000003a2: SWAP1
000003a3: SSTORE
000003a4: JUMP
000003a5: JUMPDEST
000003a6: PUSH1 0x00
000003a8: DUP4
000003a9: DUP2
000003aa: MSTORE
000003ab: PUSH1 0x65
000003ad: PUSH1 0x20
000003af: MSTORE
000003b0: PUSH1 0x40
000003b2: SWAP1
000003b3: KECCAK256
000003b4: SLOAD
000003b5: PUSH1 0xff
000003b7: AND
000003b8: PUSH2 0x03ff
000003bb: JUMPI
000003bc: PUSH1 0x40
000003be: MLOAD
000003bf: PUSH3 0x461bcd
000003c3: PUSH1 0xe5
000003c5: SHL
000003c6: DUP2
000003c7: MSTORE
000003c8: PUSH1 0x20
000003ca: PUSH1 0x04
000003cc: DUP3
000003cd: ADD
000003ce: MSTORE
000003cf: PUSH1 0x14
000003d1: PUSH1 0x24
000003d3: DUP3
000003d4: ADD
000003d5: MSTORE
000003d6: PUSH20 0x18d85b5c185a59db881b9bdd08195b98589b1959
000003eb: PUSH1 0x62
000003ed: SHL
000003ee: PUSH1 0x44
000003f0: DUP3
000003f1: ADD
000003f2: MSTORE
000003f3: PUSH1 0x64
000003f5: ADD
000003f6: JUMPDEST
000003f7: PUSH1 0x40
000003f9: MLOAD
000003fa: DUP1
000003fb: SWAP2
000003fc: SUB
000003fd: SWAP1
000003fe: REVERT
000003ff: JUMPDEST
00000400: PUSH1 0x00
00000402: DUP4
00000403: DUP2
00000404: MSTORE
00000405: PUSH1 0x65
00000407: PUSH1 0x20
00000409: MSTORE
0000040a: PUSH1 0x40
0000040c: SWAP1
0000040d: KECCAK256
0000040e: PUSH1 0x01
00000410: ADD
00000411: SLOAD
00000412: TIMESTAMP
00000413: LT
00000414: ISZERO
00000415: PUSH2 0x0460
00000418: JUMPI
00000419: PUSH1 0x40
0000041b: MLOAD
0000041c: PUSH3 0x461bcd
00000420: PUSH1 0xe5
00000422: SHL
00000423: DUP2
00000424: MSTORE
00000425: PUSH1 0x20
00000427: PUSH1 0x04
00000429: DUP3
0000042a: ADD
0000042b: MSTORE
0000042c: PUSH1 0x1d
0000042e: PUSH1 0x24
00000430: DUP3
00000431: ADD
00000432: MSTORE
00000433: PUSH32 0x726577617264732063616e6e6f7420626520636c61696d656420796574000000
00000454: PUSH1 0x44
00000456: DUP3
00000457: ADD
00000458: MSTORE
00000459: PUSH1 0x64
0000045b: ADD
0000045c: PUSH2 0x03f6
0000045f: JUMP
00000460: JUMPDEST
00000461: PUSH1 0x00
00000463: DUP4
00000464: DUP2
00000465: MSTORE
00000466: PUSH1 0x65
00000468: PUSH1 0x20
0000046a: MSTORE
0000046b: PUSH1 0x40
0000046d: SWAP1
0000046e: KECCAK256
0000046f: PUSH1 0x02
00000471: ADD
00000472: SLOAD
00000473: TIMESTAMP
00000474: GT
00000475: ISZERO
00000476: PUSH2 0x04cb
00000479: JUMPI
0000047a: PUSH1 0x40
0000047c: MLOAD
0000047d: PUSH3 0x461bcd
00000481: PUSH1 0xe5
00000483: SHL
00000484: DUP2
00000485: MSTORE
00000486: PUSH1 0x20
00000488: PUSH1 0x04
0000048a: DUP3
0000048b: ADD
0000048c: MSTORE
0000048d: PUSH1 0x21
0000048f: PUSH1 0x24
00000491: DUP3
00000492: ADD
00000493: MSTORE
00000494: PUSH32 0x726577617264732063616e6e6f7420626520636c61696d656420616e796d6f72
000004b5: PUSH1 0x44
000004b7: DUP3
000004b8: ADD
000004b9: MSTORE
000004ba: PUSH1 0x65
000004bc: PUSH1 0xf8
000004be: SHL
000004bf: PUSH1 0x64
000004c1: DUP3
000004c2: ADD
000004c3: MSTORE
000004c4: PUSH1 0x84
000004c6: ADD
000004c7: PUSH2 0x03f6
000004ca: JUMP
000004cb: JUMPDEST
000004cc: PUSH1 0x01
000004ce: PUSH1 0x01
000004d0: PUSH1 0xa0
000004d2: SHL
000004d3: SUB
000004d4: DUP5
000004d5: AND
000004d6: PUSH1 0x00
000004d8: SWAP1
000004d9: DUP2
000004da: MSTORE
000004db: PUSH1 0x66
000004dd: PUSH1 0x20
000004df: SWAP1
000004e0: DUP2
000004e1: MSTORE
000004e2: PUSH1 0x40
000004e4: DUP1
000004e5: DUP4
000004e6: KECCAK256
000004e7: DUP7
000004e8: DUP5
000004e9: MSTORE
000004ea: SWAP1
000004eb: SWAP2
000004ec: MSTORE
000004ed: SWAP1
000004ee: KECCAK256
000004ef: SLOAD
000004f0: PUSH1 0xff
000004f2: AND
000004f3: ISZERO
000004f4: PUSH2 0x0538
000004f7: JUMPI
000004f8: PUSH1 0x40
000004fa: MLOAD
000004fb: PUSH3 0x461bcd
000004ff: PUSH1 0xe5
00000501: SHL
00000502: DUP2
00000503: MSTORE
00000504: PUSH1 0x20
00000506: PUSH1 0x04
00000508: DUP3
00000509: ADD
0000050a: MSTORE
0000050b: PUSH1 0x16
0000050d: PUSH1 0x24
0000050f: DUP3
00000510: ADD
00000511: MSTORE
00000512: PUSH22 0x1c995dd85c9908185b1c9958591e4818db185a5b5959
00000529: PUSH1 0x52
0000052b: SHL
0000052c: PUSH1 0x44
0000052e: DUP3
0000052f: ADD
00000530: MSTORE
00000531: PUSH1 0x64
00000533: ADD
00000534: PUSH2 0x03f6
00000537: JUMP
00000538: JUMPDEST
00000539: PUSH2 0x0544
0000053c: DUP5
0000053d: DUP5
0000053e: DUP5
0000053f: DUP5
00000540: PUSH2 0x0a9b
00000543: JUMP
00000544: JUMPDEST
00000545: PUSH2 0x0584
00000548: JUMPI
00000549: PUSH1 0x40
0000054b: MLOAD
0000054c: PUSH3 0x461bcd
00000550: PUSH1 0xe5
00000552: SHL
00000553: DUP2
00000554: MSTORE
00000555: PUSH1 0x20
00000557: PUSH1 0x04
00000559: DUP3
0000055a: ADD
0000055b: MSTORE
0000055c: PUSH1 0x11
0000055e: PUSH1 0x24
00000560: DUP3
00000561: ADD
00000562: MSTORE
00000563: PUSH17 0x696e76616c6964207369676e6174757265
00000575: PUSH1 0x78
00000577: SHL
00000578: PUSH1 0x44
0000057a: DUP3
0000057b: ADD
0000057c: MSTORE
0000057d: PUSH1 0x64
0000057f: ADD
00000580: PUSH2 0x03f6
00000583: JUMP
00000584: JUMPDEST
00000585: PUSH1 0x01
00000587: PUSH1 0x01
00000589: PUSH1 0xa0
0000058b: SHL
0000058c: SUB
0000058d: DUP1
0000058e: DUP6
0000058f: AND
00000590: PUSH1 0x00
00000592: SWAP1
00000593: DUP2
00000594: MSTORE
00000595: PUSH1 0x66
00000597: PUSH1 0x20
00000599: SWAP1
0000059a: DUP2
0000059b: MSTORE
0000059c: PUSH1 0x40
0000059e: DUP1
0000059f: DUP4
000005a0: KECCAK256
000005a1: DUP8
000005a2: DUP5
000005a3: MSTORE
000005a4: DUP3
000005a5: MSTORE
000005a6: DUP1
000005a7: DUP4
000005a8: KECCAK256
000005a9: DUP1
000005aa: SLOAD
000005ab: PUSH1 0xff
000005ad: NOT
000005ae: AND
000005af: PUSH1 0x01
000005b1: OR
000005b2: SWAP1
000005b3: SSTORE
000005b4: PUSH1 0x65
000005b6: SWAP1
000005b7: SWAP2
000005b8: MSTORE
000005b9: SWAP1
000005ba: KECCAK256
000005bb: SLOAD
000005bc: PUSH2 0x05cd
000005bf: SWAP2
000005c0: PUSH2 0x0100
000005c3: SWAP1
000005c4: SWAP2
000005c5: DIV
000005c6: AND
000005c7: DUP6
000005c8: DUP5
000005c9: PUSH2 0x0ce6
000005cc: JUMP
000005cd: JUMPDEST
000005ce: PUSH1 0x40
000005d0: DUP1
000005d1: MLOAD
000005d2: PUSH1 0x01
000005d4: PUSH1 0x01
000005d6: PUSH1 0xa0
000005d8: SHL
000005d9: SUB
000005da: DUP7
000005db: AND
000005dc: DUP2
000005dd: MSTORE
000005de: PUSH1 0x20
000005e0: DUP2
000005e1: ADD
000005e2: DUP6
000005e3: SWAP1
000005e4: MSTORE
000005e5: SWAP1
000005e6: DUP2
000005e7: ADD
000005e8: DUP4
000005e9: SWAP1
000005ea: MSTORE
000005eb: PUSH32 0xf01da32686223933d8a18a391060918c7f11a3648639edd87ae013e2e2731743
0000060c: SWAP1
0000060d: PUSH1 0x60
0000060f: ADD
00000610: PUSH1 0x40
00000612: MLOAD
00000613: DUP1
00000614: SWAP2
00000615: SUB
00000616: SWAP1
00000617: LOG1
00000618: POP
00000619: POP
0000061a: POP
0000061b: POP
0000061c: JUMP
0000061d: JUMPDEST
0000061e: PUSH2 0x0625
00000621: PUSH2 0x0c8c
00000624: JUMP
00000625: JUMPDEST
00000626: PUSH1 0x00
00000628: DUP3
00000629: DUP2
0000062a: MSTORE
0000062b: PUSH1 0x65
0000062d: PUSH1 0x20
0000062f: MSTORE
00000630: PUSH1 0x40
00000632: SWAP1
00000633: KECCAK256
00000634: PUSH1 0x02
00000636: ADD
00000637: SLOAD
00000638: DUP2
00000639: LT
0000063a: PUSH2 0x0655
0000063d: JUMPI
0000063e: PUSH1 0x40
00000640: MLOAD
00000641: PUSH3 0x461bcd
00000645: PUSH1 0xe5
00000647: SHL
00000648: DUP2
00000649: MSTORE
0000064a: PUSH1 0x04
0000064c: ADD
0000064d: PUSH2 0x03f6
00000650: SWAP1
00000651: PUSH2 0x1829
00000654: JUMP
00000655: JUMPDEST
00000656: PUSH1 0x00
00000658: SWAP2
00000659: DUP3
0000065a: MSTORE
0000065b: PUSH1 0x65
0000065d: PUSH1 0x20
0000065f: MSTORE
00000660: PUSH1 0x40
00000662: SWAP1
00000663: SWAP2
00000664: KECCAK256
00000665: PUSH1 0x01
00000667: ADD
00000668: SSTORE
00000669: JUMP
0000066a: JUMPDEST
0000066b: PUSH2 0x0672
0000066e: PUSH2 0x0c8c
00000671: JUMP
00000672: JUMPDEST
00000673: DUP2
00000674: DUP4
00000675: LT
00000676: PUSH2 0x0691
00000679: JUMPI
0000067a: PUSH1 0x40
0000067c: MLOAD
0000067d: PUSH3 0x461bcd
00000681: PUSH1 0xe5
00000683: SHL
00000684: DUP2
00000685: MSTORE
00000686: PUSH1 0x04
00000688: ADD
00000689: PUSH2 0x03f6
0000068c: SWAP1
0000068d: PUSH2 0x1829
00000690: JUMP
00000691: JUMPDEST
00000692: PUSH1 0x40
00000694: DUP1
00000695: MLOAD
00000696: PUSH1 0xa0
00000698: DUP2
00000699: ADD
0000069a: DUP3
0000069b: MSTORE
0000069c: PUSH1 0x01
0000069e: DUP1
0000069f: DUP3
000006a0: MSTORE
000006a1: PUSH1 0x01
000006a3: PUSH1 0x01
000006a5: PUSH1 0xa0
000006a7: SHL
000006a8: SUB
000006a9: DUP8
000006aa: DUP2
000006ab: AND
000006ac: PUSH1 0x20
000006ae: DUP1
000006af: DUP6
000006b0: ADD
000006b1: SWAP2
000006b2: DUP3
000006b3: MSTORE
000006b4: DUP5
000006b5: DUP7
000006b6: ADD
000006b7: DUP10
000006b8: DUP2
000006b9: MSTORE
000006ba: PUSH1 0x60
000006bc: DUP7
000006bd: ADD
000006be: DUP10
000006bf: DUP2
000006c0: MSTORE
000006c1: PUSH1 0x80
000006c3: DUP8
000006c4: ADD
000006c5: DUP10
000006c6: DUP2
000006c7: MSTORE
000006c8: PUSH1 0x00
000006ca: DUP15
000006cb: DUP2
000006cc: MSTORE
000006cd: PUSH1 0x65
000006cf: DUP6
000006d0: MSTORE
000006d1: SWAP9
000006d2: SWAP1
000006d3: SWAP9
000006d4: KECCAK256
000006d5: DUP8
000006d6: MLOAD
000006d7: DUP2
000006d8: SLOAD
000006d9: SWAP6
000006da: MLOAD
000006db: PUSH1 0x01
000006dd: PUSH1 0x01
000006df: PUSH1 0xa8
000006e1: SHL
000006e2: SUB
000006e3: NOT
000006e4: SWAP1
000006e5: SWAP7
000006e6: AND
000006e7: SWAP1
000006e8: ISZERO
000006e9: ISZERO
000006ea: PUSH2 0x0100
000006ed: PUSH1 0x01
000006ef: PUSH1 0xa8
000006f1: SHL
000006f2: SUB
000006f3: NOT
000006f4: AND
000006f5: OR
000006f6: PUSH2 0x0100
000006f9: SWAP6
000006fa: SWAP1
000006fb: SWAP7
000006fc: AND
000006fd: SWAP5
000006fe: SWAP1
000006ff: SWAP5
00000700: MUL
00000701: SWAP5
00000702: SWAP1
00000703: SWAP5
00000704: OR
00000705: DUP4
00000706: SSTORE
00000707: MLOAD
00000708: SWAP4
00000709: DUP3
0000070a: ADD
0000070b: SWAP4
0000070c: SWAP1
0000070d: SWAP4
0000070e: SSTORE
0000070f: SWAP1
00000710: MLOAD
00000711: PUSH1 0x02
00000713: DUP3
00000714: ADD
00000715: SSTORE
00000716: SWAP3
00000717: MLOAD
00000718: DUP1
00000719: MLOAD
0000071a: SWAP3
0000071b: SWAP4
0000071c: SWAP3
0000071d: PUSH2 0x072c
00000720: SWAP3
00000721: PUSH1 0x03
00000723: DUP6
00000724: ADD
00000725: SWAP3
00000726: ADD
00000727: SWAP1
00000728: PUSH2 0x13f9
0000072b: JUMP
0000072c: JUMPDEST
0000072d: POP
0000072e: POP
0000072f: PUSH1 0x40
00000731: DUP1
00000732: MLOAD
00000733: DUP8
00000734: DUP2
00000735: MSTORE
00000736: PUSH1 0x01
00000738: PUSH1 0x01
0000073a: PUSH1 0xa0
0000073c: SHL
0000073d: SUB
0000073e: DUP8
0000073f: AND
00000740: PUSH1 0x20
00000742: DUP3
00000743: ADD
00000744: MSTORE
00000745: PUSH32 0x633109eec20320eded000fc1e2634211aa7e92ba3f5b15faf6dcdafca05094e4
00000766: SWAP3
00000767: POP
00000768: ADD
00000769: PUSH1 0x40
0000076b: MLOAD
0000076c: DUP1
0000076d: SWAP2
0000076e: SUB
0000076f: SWAP1
00000770: LOG1
00000771: POP
00000772: POP
00000773: POP
00000774: POP
00000775: POP
00000776: JUMP
00000777: JUMPDEST
00000778: PUSH2 0x077f
0000077b: PUSH2 0x0c8c
0000077e: JUMP
0000077f: JUMPDEST
00000780: PUSH2 0x0789
00000783: PUSH1 0x00
00000785: PUSH2 0x0d38
00000788: JUMP
00000789: JUMPDEST
0000078a: JUMP
0000078b: JUMPDEST
0000078c: PUSH2 0x0793
0000078f: PUSH2 0x0c8c
00000792: JUMP
00000793: JUMPDEST
00000794: PUSH1 0x00
00000796: DUP3
00000797: DUP2
00000798: MSTORE
00000799: PUSH1 0x65
0000079b: PUSH1 0x20
0000079d: SWAP1
0000079e: DUP2
0000079f: MSTORE
000007a0: PUSH1 0x40
000007a2: SWAP1
000007a3: SWAP2
000007a4: KECCAK256
000007a5: DUP3
000007a6: MLOAD
000007a7: PUSH2 0x07b8
000007aa: SWAP3
000007ab: PUSH1 0x03
000007ad: SWAP1
000007ae: SWAP3
000007af: ADD
000007b0: SWAP2
000007b1: DUP5
000007b2: ADD
000007b3: SWAP1
000007b4: PUSH2 0x13f9
000007b7: JUMP
000007b8: JUMPDEST
000007b9: POP
000007ba: POP
000007bb: POP
000007bc: JUMP
000007bd: JUMPDEST
000007be: PUSH2 0x07c5
000007c1: PUSH2 0x0c8c
000007c4: JUMP
000007c5: JUMPDEST
000007c6: PUSH1 0x67
000007c8: DUP1
000007c9: SLOAD
000007ca: PUSH1 0x01
000007cc: PUSH1 0x01
000007ce: PUSH1 0xa0
000007d0: SHL
000007d1: SUB
000007d2: NOT
000007d3: AND
000007d4: PUSH1 0x01
000007d6: PUSH1 0x01
000007d8: PUSH1 0xa0
000007da: SHL
000007db: SUB
000007dc: SWAP3
000007dd: SWAP1
000007de: SWAP3
000007df: AND
000007e0: SWAP2
000007e1: SWAP1
000007e2: SWAP2
000007e3: OR
000007e4: SWAP1
000007e5: SSTORE
000007e6: JUMP
000007e7: JUMPDEST
000007e8: PUSH2 0x07ef
000007eb: PUSH2 0x0c8c
000007ee: JUMP
000007ef: JUMPDEST
000007f0: PUSH2 0x0828
000007f3: PUSH2 0x0804
000007f6: PUSH1 0x33
000007f8: SLOAD
000007f9: PUSH1 0x01
000007fb: PUSH1 0x01
000007fd: PUSH1 0xa0
000007ff: SHL
00000800: SUB
00000801: AND
00000802: SWAP1
00000803: JUMP
00000804: JUMPDEST
00000805: PUSH1 0x00
00000807: DUP5
00000808: DUP2
00000809: MSTORE
0000080a: PUSH1 0x65
0000080c: PUSH1 0x20
0000080e: MSTORE
0000080f: PUSH1 0x40
00000811: SWAP1
00000812: KECCAK256
00000813: SLOAD
00000814: PUSH2 0x0100
00000817: SWAP1
00000818: DIV
00000819: PUSH1 0x01
0000081b: PUSH1 0x01
0000081d: PUSH1 0xa0
0000081f: SHL
00000820: SUB
00000821: AND
00000822: SWAP1
00000823: DUP4
00000824: PUSH2 0x0ce6
00000827: JUMP
00000828: JUMPDEST
00000829: SELFBALANCE
0000082a: DUP1
0000082b: ISZERO
0000082c: PUSH2 0x07b8
0000082f: JUMPI
00000830: PUSH1 0x00
00000832: PUSH2 0x0843
00000835: PUSH1 0x33
00000837: SLOAD
00000838: PUSH1 0x01
0000083a: PUSH1 0x01
0000083c: PUSH1 0xa0
0000083e: SHL
0000083f: SUB
00000840: AND
00000841: SWAP1
00000842: JUMP
00000843: JUMPDEST
00000844: PUSH1 0x01
00000846: PUSH1 0x01
00000848: PUSH1 0xa0
0000084a: SHL
0000084b: SUB
0000084c: AND
0000084d: SELFBALANCE
0000084e: PUSH1 0x40
00000850: MLOAD
00000851: PUSH1 0x00
00000853: PUSH1 0x40
00000855: MLOAD
00000856: DUP1
00000857: DUP4
00000858: SUB
00000859: DUP2
0000085a: DUP6
0000085b: DUP8
0000085c: GAS
0000085d: CALL
0000085e: SWAP3
0000085f: POP
00000860: POP
00000861: POP
00000862: RETURNDATASIZE
00000863: DUP1
00000864: PUSH1 0x00
00000866: DUP2
00000867: EQ
00000868: PUSH2 0x088d
0000086b: JUMPI
0000086c: PUSH1 0x40
0000086e: MLOAD
0000086f: SWAP2
00000870: POP
00000871: PUSH1 0x1f
00000873: NOT
00000874: PUSH1 0x3f
00000876: RETURNDATASIZE
00000877: ADD
00000878: AND
00000879: DUP3
0000087a: ADD
0000087b: PUSH1 0x40
0000087d: MSTORE
0000087e: RETURNDATASIZE
0000087f: DUP3
00000880: MSTORE
00000881: RETURNDATASIZE
00000882: PUSH1 0x00
00000884: PUSH1 0x20
00000886: DUP5
00000887: ADD
00000888: RETURNDATACOPY
00000889: PUSH2 0x0892
0000088c: JUMP
0000088d: JUMPDEST
0000088e: PUSH1 0x60
00000890: SWAP2
00000891: POP
00000892: JUMPDEST
00000893: POP
00000894: POP
00000895: SWAP1
00000896: POP
00000897: DUP1
00000898: PUSH2 0x08d8
0000089b: JUMPI
0000089c: PUSH1 0x40
0000089e: MLOAD
0000089f: PUSH3 0x461bcd
000008a3: PUSH1 0xe5
000008a5: SHL
000008a6: DUP2
000008a7: MSTORE
000008a8: PUSH1 0x20
000008aa: PUSH1 0x04
000008ac: DUP3
000008ad: ADD
000008ae: MSTORE
000008af: PUSH1 0x12
000008b1: PUSH1 0x24
000008b3: DUP3
000008b4: ADD
000008b5: MSTORE
000008b6: PUSH18 0x4641494c45445f544f5f5749544844524157
000008c9: PUSH1 0x70
000008cb: SHL
000008cc: PUSH1 0x44
000008ce: DUP3
000008cf: ADD
000008d0: MSTORE
000008d1: PUSH1 0x64
000008d3: ADD
000008d4: PUSH2 0x03f6
000008d7: JUMP
000008d8: JUMPDEST
000008d9: POP
000008da: POP
000008db: POP
000008dc: POP
000008dd: JUMP
000008de: JUMPDEST
000008df: PUSH1 0x00
000008e1: SLOAD
000008e2: PUSH2 0x0100
000008e5: SWAP1
000008e6: DIV
000008e7: PUSH1 0xff
000008e9: AND
000008ea: ISZERO
000008eb: DUP1
000008ec: DUP1
000008ed: ISZERO
000008ee: PUSH2 0x08fe
000008f1: JUMPI
000008f2: POP
000008f3: PUSH1 0x00
000008f5: SLOAD
000008f6: PUSH1 0x01
000008f8: PUSH1 0xff
000008fa: SWAP1
000008fb: SWAP2
000008fc: AND
000008fd: LT
000008fe: JUMPDEST
000008ff: DUP1
00000900: PUSH2 0x0918
00000903: JUMPI
00000904: POP
00000905: ADDRESS
00000906: EXTCODESIZE
00000907: ISZERO
00000908: DUP1
00000909: ISZERO
0000090a: PUSH2 0x0918
0000090d: JUMPI
0000090e: POP
0000090f: PUSH1 0x00
00000911: SLOAD
00000912: PUSH1 0xff
00000914: AND
00000915: PUSH1 0x01
00000917: EQ
00000918: JUMPDEST
00000919: PUSH2 0x097b
0000091c: JUMPI
0000091d: PUSH1 0x40
0000091f: MLOAD
00000920: PUSH3 0x461bcd
00000924: PUSH1 0xe5
00000926: SHL
00000927: DUP2
00000928: MSTORE
00000929: PUSH1 0x20
0000092b: PUSH1 0x04
0000092d: DUP3
0000092e: ADD
0000092f: MSTORE
00000930: PUSH1 0x2e
00000932: PUSH1 0x24
00000934: DUP3
00000935: ADD
00000936: MSTORE
00000937: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561
00000958: PUSH1 0x44
0000095a: DUP3
0000095b: ADD
0000095c: MSTORE
0000095d: PUSH14 0x191e481a5b9a5d1a585b1a5e9959
0000096c: PUSH1 0x92
0000096e: SHL
0000096f: PUSH1 0x64
00000971: DUP3
00000972: ADD
00000973: MSTORE
00000974: PUSH1 0x84
00000976: ADD
00000977: PUSH2 0x03f6
0000097a: JUMP
0000097b: JUMPDEST
0000097c: PUSH1 0x00
0000097e: DUP1
0000097f: SLOAD
00000980: PUSH1 0xff
00000982: NOT
00000983: AND
00000984: PUSH1 0x01
00000986: OR
00000987: SWAP1
00000988: SSTORE
00000989: DUP1
0000098a: ISZERO
0000098b: PUSH2 0x099e
0000098e: JUMPI
0000098f: PUSH1 0x00
00000991: DUP1
00000992: SLOAD
00000993: PUSH2 0xff00
00000996: NOT
00000997: AND
00000998: PUSH2 0x0100
0000099b: OR
0000099c: SWAP1
0000099d: SSTORE
0000099e: JUMPDEST
0000099f: PUSH2 0x09a6
000009a2: PUSH2 0x0d8a
000009a5: JUMP
000009a6: JUMPDEST
000009a7: PUSH1 0x67
000009a9: DUP1
000009aa: SLOAD
000009ab: PUSH1 0x01
000009ad: PUSH1 0x01
000009af: PUSH1 0xa0
000009b1: SHL
000009b2: SUB
000009b3: NOT
000009b4: AND
000009b5: PUSH1 0x01
000009b7: PUSH1 0x01
000009b9: PUSH1 0xa0
000009bb: SHL
000009bc: SUB
000009bd: DUP5
000009be: AND
000009bf: OR
000009c0: SWAP1
000009c1: SSTORE
000009c2: DUP1
000009c3: ISZERO
000009c4: PUSH2 0x0a07
000009c7: JUMPI
000009c8: PUSH1 0x00
000009ca: DUP1
000009cb: SLOAD
000009cc: PUSH2 0xff00
000009cf: NOT
000009d0: AND
000009d1: SWAP1
000009d2: SSTORE
000009d3: PUSH1 0x40
000009d5: MLOAD
000009d6: PUSH1 0x01
000009d8: DUP2
000009d9: MSTORE
000009da: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498
000009fb: SWAP1
000009fc: PUSH1 0x20
000009fe: ADD
000009ff: PUSH1 0x40
00000a01: MLOAD
00000a02: DUP1
00000a03: SWAP2
00000a04: SUB
00000a05: SWAP1
00000a06: LOG1
00000a07: JUMPDEST
00000a08: POP
00000a09: POP
00000a0a: JUMP
00000a0b: JUMPDEST
00000a0c: PUSH2 0x0a13
00000a0f: PUSH2 0x0c8c
00000a12: JUMP
00000a13: JUMPDEST
00000a14: PUSH1 0x00
00000a16: DUP3
00000a17: DUP2
00000a18: MSTORE
00000a19: PUSH1 0x65
00000a1b: PUSH1 0x20
00000a1d: MSTORE
00000a1e: PUSH1 0x40
00000a20: SWAP1
00000a21: KECCAK256
00000a22: PUSH1 0x01
00000a24: ADD
00000a25: SLOAD
00000a26: DUP2
00000a27: GT
00000a28: PUSH2 0x0a86
00000a2b: JUMPI
00000a2c: PUSH1 0x40
00000a2e: MLOAD
00000a2f: PUSH3 0x461bcd
00000a33: PUSH1 0xe5
00000a35: SHL
00000a36: DUP2
00000a37: MSTORE
00000a38: PUSH1 0x20
00000a3a: PUSH1 0x04
00000a3c: DUP3
00000a3d: ADD
00000a3e: MSTORE
00000a3f: PUSH1 0x2a
00000a41: PUSH1 0x24
00000a43: DUP3
00000a44: ADD
00000a45: MSTORE
00000a46: PUSH32 0x636c61696d61626c65556e74696c206d75737420626520616674657220636c61
00000a67: PUSH1 0x44
00000a69: DUP3
00000a6a: ADD
00000a6b: MSTORE
00000a6c: PUSH10 0x696d61626c6546726f6d
00000a77: PUSH1 0xb0
00000a79: SHL
00000a7a: PUSH1 0x64
00000a7c: DUP3
00000a7d: ADD
00000a7e: MSTORE
00000a7f: PUSH1 0x84
00000a81: ADD
00000a82: PUSH2 0x03f6
00000a85: JUMP
00000a86: JUMPDEST
00000a87: PUSH1 0x00
00000a89: SWAP2
00000a8a: DUP3
00000a8b: MSTORE
00000a8c: PUSH1 0x65
00000a8e: PUSH1 0x20
00000a90: MSTORE
00000a91: PUSH1 0x40
00000a93: SWAP1
00000a94: SWAP2
00000a95: KECCAK256
00000a96: PUSH1 0x02
00000a98: ADD
00000a99: SSTORE
00000a9a: JUMP
00000a9b: JUMPDEST
00000a9c: PUSH1 0x00
00000a9e: DUP4
00000a9f: DUP2
00000aa0: MSTORE
00000aa1: PUSH1 0x65
00000aa3: PUSH1 0x20
00000aa5: MSTORE
00000aa6: PUSH1 0x40
00000aa8: DUP2
00000aa9: KECCAK256
00000aaa: PUSH1 0x03
00000aac: ADD
00000aad: DUP1
00000aae: SLOAD
00000aaf: DUP3
00000ab0: SWAP2
00000ab1: SWAP1
00000ab2: PUSH2 0x0aba
00000ab5: SWAP1
00000ab6: PUSH2 0x190f
00000ab9: JUMP
00000aba: JUMPDEST
00000abb: DUP1
00000abc: PUSH1 0x1f
00000abe: ADD
00000abf: PUSH1 0x20
00000ac1: DUP1
00000ac2: SWAP2
00000ac3: DIV
00000ac4: MUL
00000ac5: PUSH1 0x20
00000ac7: ADD
00000ac8: PUSH1 0x40
00000aca: MLOAD
00000acb: SWAP1
00000acc: DUP2
00000acd: ADD
00000ace: PUSH1 0x40
00000ad0: MSTORE
00000ad1: DUP1
00000ad2: SWAP3
00000ad3: SWAP2
00000ad4: SWAP1
00000ad5: DUP2
00000ad6: DUP2
00000ad7: MSTORE
00000ad8: PUSH1 0x20
00000ada: ADD
00000adb: DUP3
00000adc: DUP1
00000add: SLOAD
00000ade: PUSH2 0x0ae6
00000ae1: SWAP1
00000ae2: PUSH2 0x190f
00000ae5: JUMP
00000ae6: JUMPDEST
00000ae7: DUP1
00000ae8: ISZERO
00000ae9: PUSH2 0x0b33
00000aec: JUMPI
00000aed: DUP1
00000aee: PUSH1 0x1f
00000af0: LT
00000af1: PUSH2 0x0b08
00000af4: JUMPI
00000af5: PUSH2 0x0100
00000af8: DUP1
00000af9: DUP4
00000afa: SLOAD
00000afb: DIV
00000afc: MUL
00000afd: DUP4
00000afe: MSTORE
00000aff: SWAP2
00000b00: PUSH1 0x20
00000b02: ADD
00000b03: SWAP2
00000b04: PUSH2 0x0b33
00000b07: JUMP
00000b08: JUMPDEST
00000b09: DUP3
00000b0a: ADD
00000b0b: SWAP2
00000b0c: SWAP1
00000b0d: PUSH1 0x00
00000b0f: MSTORE
00000b10: PUSH1 0x20
00000b12: PUSH1 0x00
00000b14: KECCAK256
00000b15: SWAP1
00000b16: JUMPDEST
00000b17: DUP2
00000b18: SLOAD
00000b19: DUP2
00000b1a: MSTORE
00000b1b: SWAP1
00000b1c: PUSH1 0x01
00000b1e: ADD
00000b1f: SWAP1
00000b20: PUSH1 0x20
00000b22: ADD
00000b23: DUP1
00000b24: DUP4
00000b25: GT
00000b26: PUSH2 0x0b16
00000b29: JUMPI
00000b2a: DUP3
00000b2b: SWAP1
00000b2c: SUB
00000b2d: PUSH1 0x1f
00000b2f: AND
00000b30: DUP3
00000b31: ADD
00000b32: SWAP2
00000b33: JUMPDEST
00000b34: POP
00000b35: POP
00000b36: POP
00000b37: POP
00000b38: POP
00000b39: SWAP1
00000b3a: POP
00000b3b: PUSH1 0x00
00000b3d: DUP2
00000b3e: DUP8
00000b3f: DUP8
00000b40: DUP8
00000b41: PUSH1 0x40
00000b43: MLOAD
00000b44: PUSH1 0x20
00000b46: ADD
00000b47: PUSH2 0x0b53
00000b4a: SWAP5
00000b4b: SWAP4
00000b4c: SWAP3
00000b4d: SWAP2
00000b4e: SWAP1
00000b4f: PUSH2 0x179d
00000b52: JUMP
00000b53: JUMPDEST
00000b54: PUSH1 0x40
00000b56: MLOAD
00000b57: PUSH1 0x20
00000b59: DUP2
00000b5a: DUP4
00000b5b: SUB
00000b5c: SUB
00000b5d: DUP2
00000b5e: MSTORE
00000b5f: SWAP1
00000b60: PUSH1 0x40
00000b62: MSTORE
00000b63: DUP1
00000b64: MLOAD
00000b65: SWAP1
00000b66: PUSH1 0x20
00000b68: ADD
00000b69: KECCAK256
00000b6a: SWAP1
00000b6b: POP
00000b6c: PUSH1 0x00
00000b6e: PUSH2 0x0bce
00000b71: DUP6
00000b72: PUSH2 0x0bc8
00000b75: DUP5
00000b76: PUSH1 0x40
00000b78: MLOAD
00000b79: PUSH32 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000
00000b9a: PUSH1 0x20
00000b9c: DUP3
00000b9d: ADD
00000b9e: MSTORE
00000b9f: PUSH1 0x3c
00000ba1: DUP2
00000ba2: ADD
00000ba3: DUP3
00000ba4: SWAP1
00000ba5: MSTORE
00000ba6: PUSH1 0x00
00000ba8: SWAP1
00000ba9: PUSH1 0x5c
00000bab: ADD
00000bac: PUSH1 0x40
00000bae: MLOAD
00000baf: PUSH1 0x20
00000bb1: DUP2
00000bb2: DUP4
00000bb3: SUB
00000bb4: SUB
00000bb5: DUP2
00000bb6: MSTORE
00000bb7: SWAP1
00000bb8: PUSH1 0x40
00000bba: MSTORE
00000bbb: DUP1
00000bbc: MLOAD
00000bbd: SWAP1
00000bbe: PUSH1 0x20
00000bc0: ADD
00000bc1: KECCAK256
00000bc2: SWAP1
00000bc3: POP
00000bc4: SWAP2
00000bc5: SWAP1
00000bc6: POP
00000bc7: JUMP
00000bc8: JUMPDEST
00000bc9: SWAP1
00000bca: PUSH2 0x0db9
00000bcd: JUMP
00000bce: JUMPDEST
00000bcf: PUSH1 0x67
00000bd1: SLOAD
00000bd2: PUSH1 0x01
00000bd4: PUSH1 0x01
00000bd6: PUSH1 0xa0
00000bd8: SHL
00000bd9: SUB
00000bda: SWAP1
00000bdb: DUP2
00000bdc: AND
00000bdd: SWAP2
00000bde: AND
00000bdf: EQ
00000be0: SWAP9
00000be1: SWAP8
00000be2: POP
00000be3: POP
00000be4: POP
00000be5: POP
00000be6: POP
00000be7: POP
00000be8: POP
00000be9: POP
00000bea: JUMP
00000beb: JUMPDEST
00000bec: PUSH2 0x0bf3
00000bef: PUSH2 0x0c8c
00000bf2: JUMP
00000bf3: JUMPDEST
00000bf4: PUSH1 0x00
00000bf6: SWAP2
00000bf7: DUP3
00000bf8: MSTORE
00000bf9: PUSH1 0x65
00000bfb: PUSH1 0x20
00000bfd: MSTORE
00000bfe: PUSH1 0x40
00000c00: SWAP1
00000c01: SWAP2
00000c02: KECCAK256
00000c03: DUP1
00000c04: SLOAD
00000c05: PUSH1 0xff
00000c07: NOT
00000c08: AND
00000c09: SWAP2
00000c0a: ISZERO
00000c0b: ISZERO
00000c0c: SWAP2
00000c0d: SWAP1
00000c0e: SWAP2
00000c0f: OR
00000c10: SWAP1
00000c11: SSTORE
00000c12: JUMP
00000c13: JUMPDEST
00000c14: PUSH2 0x0c1b
00000c17: PUSH2 0x0c8c
00000c1a: JUMP
00000c1b: JUMPDEST
00000c1c: PUSH1 0x01
00000c1e: PUSH1 0x01
00000c20: PUSH1 0xa0
00000c22: SHL
00000c23: SUB
00000c24: DUP2
00000c25: AND
00000c26: PUSH2 0x0c80
00000c29: JUMPI
00000c2a: PUSH1 0x40
00000c2c: MLOAD
00000c2d: PUSH3 0x461bcd
00000c31: PUSH1 0xe5
00000c33: SHL
00000c34: DUP2
00000c35: MSTORE
00000c36: PUSH1 0x20
00000c38: PUSH1 0x04
00000c3a: DUP3
00000c3b: ADD
00000c3c: MSTORE
00000c3d: PUSH1 0x26
00000c3f: PUSH1 0x24
00000c41: DUP3
00000c42: ADD
00000c43: MSTORE
00000c44: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061
00000c65: PUSH1 0x44
00000c67: DUP3
00000c68: ADD
00000c69: MSTORE
00000c6a: PUSH6 0x646472657373
00000c71: PUSH1 0xd0
00000c73: SHL
00000c74: PUSH1 0x64
00000c76: DUP3
00000c77: ADD
00000c78: MSTORE
00000c79: PUSH1 0x84
00000c7b: ADD
00000c7c: PUSH2 0x03f6
00000c7f: JUMP
00000c80: JUMPDEST
00000c81: PUSH2 0x0c89
00000c84: DUP2
00000c85: PUSH2 0x0d38
00000c88: JUMP
00000c89: JUMPDEST
00000c8a: POP
00000c8b: JUMP
00000c8c: JUMPDEST
00000c8d: PUSH1 0x33
00000c8f: SLOAD
00000c90: PUSH1 0x01
00000c92: PUSH1 0x01
00000c94: PUSH1 0xa0
00000c96: SHL
00000c97: SUB
00000c98: AND
00000c99: CALLER
00000c9a: EQ
00000c9b: PUSH2 0x0789
00000c9e: JUMPI
00000c9f: PUSH1 0x40
00000ca1: MLOAD
00000ca2: PUSH3 0x461bcd
00000ca6: PUSH1 0xe5
00000ca8: SHL
00000ca9: DUP2
00000caa: MSTORE
00000cab: PUSH1 0x20
00000cad: PUSH1 0x04
00000caf: DUP3
00000cb0: ADD
00000cb1: DUP2
00000cb2: SWAP1
00000cb3: MSTORE
00000cb4: PUSH1 0x24
00000cb6: DUP3
00000cb7: ADD
00000cb8: MSTORE
00000cb9: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00000cda: PUSH1 0x44
00000cdc: DUP3
00000cdd: ADD
00000cde: MSTORE
00000cdf: PUSH1 0x64
00000ce1: ADD
00000ce2: PUSH2 0x03f6
00000ce5: JUMP
00000ce6: JUMPDEST
00000ce7: PUSH1 0x40
00000ce9: DUP1
00000cea: MLOAD
00000ceb: PUSH1 0x01
00000ced: PUSH1 0x01
00000cef: PUSH1 0xa0
00000cf1: SHL
00000cf2: SUB
00000cf3: DUP5
00000cf4: AND
00000cf5: PUSH1 0x24
00000cf7: DUP3
00000cf8: ADD
00000cf9: MSTORE
00000cfa: PUSH1 0x44
00000cfc: DUP1
00000cfd: DUP3
00000cfe: ADD
00000cff: DUP5
00000d00: SWAP1
00000d01: MSTORE
00000d02: DUP3
00000d03: MLOAD
00000d04: DUP1
00000d05: DUP4
00000d06: SUB
00000d07: SWAP1
00000d08: SWAP2
00000d09: ADD
00000d0a: DUP2
00000d0b: MSTORE
00000d0c: PUSH1 0x64
00000d0e: SWAP1
00000d0f: SWAP2
00000d10: ADD
00000d11: SWAP1
00000d12: SWAP2
00000d13: MSTORE
00000d14: PUSH1 0x20
00000d16: DUP2
00000d17: ADD
00000d18: DUP1
00000d19: MLOAD
00000d1a: PUSH1 0x01
00000d1c: PUSH1 0x01
00000d1e: PUSH1 0xe0
00000d20: SHL
00000d21: SUB
00000d22: AND
00000d23: PUSH4 0xa9059cbb
00000d28: PUSH1 0xe0
00000d2a: SHL
00000d2b: OR
00000d2c: SWAP1
00000d2d: MSTORE
00000d2e: PUSH2 0x07b8
00000d31: SWAP1
00000d32: DUP5
00000d33: SWAP1
00000d34: PUSH2 0x0ddd
00000d37: JUMP
00000d38: JUMPDEST
00000d39: PUSH1 0x33
00000d3b: DUP1
00000d3c: SLOAD
00000d3d: PUSH1 0x01
00000d3f: PUSH1 0x01
00000d41: PUSH1 0xa0
00000d43: SHL
00000d44: SUB
00000d45: DUP4
00000d46: DUP2
00000d47: AND
00000d48: PUSH1 0x01
00000d4a: PUSH1 0x01
00000d4c: PUSH1 0xa0
00000d4e: SHL
00000d4f: SUB
00000d50: NOT
00000d51: DUP4
00000d52: AND
00000d53: DUP2
00000d54: OR
00000d55: SWAP1
00000d56: SWAP4
00000d57: SSTORE
00000d58: PUSH1 0x40
00000d5a: MLOAD
00000d5b: SWAP2
00000d5c: AND
00000d5d: SWAP2
00000d5e: SWAP1
00000d5f: DUP3
00000d60: SWAP1
00000d61: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00000d82: SWAP1
00000d83: PUSH1 0x00
00000d85: SWAP1
00000d86: LOG3
00000d87: POP
00000d88: POP
00000d89: JUMP
00000d8a: JUMPDEST
00000d8b: PUSH1 0x00
00000d8d: SLOAD
00000d8e: PUSH2 0x0100
00000d91: SWAP1
00000d92: DIV
00000d93: PUSH1 0xff
00000d95: AND
00000d96: PUSH2 0x0db1
00000d99: JUMPI
00000d9a: PUSH1 0x40
00000d9c: MLOAD
00000d9d: PUSH3 0x461bcd
00000da1: PUSH1 0xe5
00000da3: SHL
00000da4: DUP2
00000da5: MSTORE
00000da6: PUSH1 0x04
00000da8: ADD
00000da9: PUSH2 0x03f6
00000dac: SWAP1
00000dad: PUSH2 0x1874
00000db0: JUMP
00000db1: JUMPDEST
00000db2: PUSH2 0x0789
00000db5: PUSH2 0x0eaf
00000db8: JUMP
00000db9: JUMPDEST
00000dba: PUSH1 0x00
00000dbc: DUP1
00000dbd: PUSH1 0x00
00000dbf: PUSH2 0x0dc8
00000dc2: DUP6
00000dc3: DUP6
00000dc4: PUSH2 0x0edf
00000dc7: JUMP
00000dc8: JUMPDEST
00000dc9: SWAP2
00000dca: POP
00000dcb: SWAP2
00000dcc: POP
00000dcd: PUSH2 0x0dd5
00000dd0: DUP2
00000dd1: PUSH2 0x0f4f
00000dd4: JUMP
00000dd5: JUMPDEST
00000dd6: POP
00000dd7: SWAP4
00000dd8: SWAP3
00000dd9: POP
00000dda: POP
00000ddb: POP
00000ddc: JUMP
00000ddd: JUMPDEST
00000dde: PUSH1 0x00
00000de0: PUSH2 0x0e32
00000de3: DUP3
00000de4: PUSH1 0x40
00000de6: MLOAD
00000de7: DUP1
00000de8: PUSH1 0x40
00000dea: ADD
00000deb: PUSH1 0x40
00000ded: MSTORE
00000dee: DUP1
00000def: PUSH1 0x20
00000df1: DUP2
00000df2: MSTORE
00000df3: PUSH1 0x20
00000df5: ADD
00000df6: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00000e17: DUP2
00000e18: MSTORE
00000e19: POP
00000e1a: DUP6
00000e1b: PUSH1 0x01
00000e1d: PUSH1 0x01
00000e1f: PUSH1 0xa0
00000e21: SHL
00000e22: SUB
00000e23: AND
00000e24: PUSH2 0x1150
00000e27: SWAP1
00000e28: SWAP3
00000e29: SWAP2
00000e2a: SWAP1
00000e2b: PUSH4 0xffffffff
00000e30: AND
00000e31: JUMP
00000e32: JUMPDEST
00000e33: DUP1
00000e34: MLOAD
00000e35: SWAP1
00000e36: SWAP2
00000e37: POP
00000e38: ISZERO
00000e39: PUSH2 0x07b8
00000e3c: JUMPI
00000e3d: DUP1
00000e3e: DUP1
00000e3f: PUSH1 0x20
00000e41: ADD
00000e42: SWAP1
00000e43: MLOAD
00000e44: DUP2
00000e45: ADD
00000e46: SWAP1
00000e47: PUSH2 0x0e50
00000e4a: SWAP2
00000e4b: SWAP1
00000e4c: PUSH2 0x15f8
00000e4f: JUMP
00000e50: JUMPDEST
00000e51: PUSH2 0x07b8
00000e54: JUMPI
00000e55: PUSH1 0x40
00000e57: MLOAD
00000e58: PUSH3 0x461bcd
00000e5c: PUSH1 0xe5
00000e5e: SHL
00000e5f: DUP2
00000e60: MSTORE
00000e61: PUSH1 0x20
00000e63: PUSH1 0x04
00000e65: DUP3
00000e66: ADD
00000e67: MSTORE
00000e68: PUSH1 0x2a
00000e6a: PUSH1 0x24
00000e6c: DUP3
00000e6d: ADD
00000e6e: MSTORE
00000e6f: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
00000e90: PUSH1 0x44
00000e92: DUP3
00000e93: ADD
00000e94: MSTORE
00000e95: PUSH10 0x1bdd081cdd58d8d95959
00000ea0: PUSH1 0xb2
00000ea2: SHL
00000ea3: PUSH1 0x64
00000ea5: DUP3
00000ea6: ADD
00000ea7: MSTORE
00000ea8: PUSH1 0x84
00000eaa: ADD
00000eab: PUSH2 0x03f6
00000eae: JUMP
00000eaf: JUMPDEST
00000eb0: PUSH1 0x00
00000eb2: SLOAD
00000eb3: PUSH2 0x0100
00000eb6: SWAP1
00000eb7: DIV
00000eb8: PUSH1 0xff
00000eba: AND
00000ebb: PUSH2 0x0ed6
00000ebe: JUMPI
00000ebf: PUSH1 0x40
00000ec1: MLOAD
00000ec2: PUSH3 0x461bcd
00000ec6: PUSH1 0xe5
00000ec8: SHL
00000ec9: DUP2
00000eca: MSTORE
00000ecb: PUSH1 0x04
00000ecd: ADD
00000ece: PUSH2 0x03f6
00000ed1: SWAP1
00000ed2: PUSH2 0x1874
00000ed5: JUMP
00000ed6: JUMPDEST
00000ed7: PUSH2 0x0789
00000eda: CALLER
00000edb: PUSH2 0x0d38
00000ede: JUMP
00000edf: JUMPDEST
00000ee0: PUSH1 0x00
00000ee2: DUP1
00000ee3: DUP3
00000ee4: MLOAD
00000ee5: PUSH1 0x41
00000ee7: EQ
00000ee8: ISZERO
00000ee9: PUSH2 0x0f16
00000eec: JUMPI
00000eed: PUSH1 0x20
00000eef: DUP4
00000ef0: ADD
00000ef1: MLOAD
00000ef2: PUSH1 0x40
00000ef4: DUP5
00000ef5: ADD
00000ef6: MLOAD
00000ef7: PUSH1 0x60
00000ef9: DUP6
00000efa: ADD
00000efb: MLOAD
00000efc: PUSH1 0x00
00000efe: BYTE
00000eff: PUSH2 0x0f0a
00000f02: DUP8
00000f03: DUP3
00000f04: DUP6
00000f05: DUP6
00000f06: PUSH2 0x1169
00000f09: JUMP
00000f0a: JUMPDEST
00000f0b: SWAP5
00000f0c: POP
00000f0d: SWAP5
00000f0e: POP
00000f0f: POP
00000f10: POP
00000f11: POP
00000f12: PUSH2 0x0f48
00000f15: JUMP
00000f16: JUMPDEST
00000f17: DUP3
00000f18: MLOAD
00000f19: PUSH1 0x40
00000f1b: EQ
00000f1c: ISZERO
00000f1d: PUSH2 0x0f40
00000f20: JUMPI
00000f21: PUSH1 0x20
00000f23: DUP4
00000f24: ADD
00000f25: MLOAD
00000f26: PUSH1 0x40
00000f28: DUP5
00000f29: ADD
00000f2a: MLOAD
00000f2b: PUSH2 0x0f35
00000f2e: DUP7
00000f2f: DUP4
00000f30: DUP4
00000f31: PUSH2 0x1256
00000f34: JUMP
00000f35: JUMPDEST
00000f36: SWAP4
00000f37: POP
00000f38: SWAP4
00000f39: POP
00000f3a: POP
00000f3b: POP
00000f3c: PUSH2 0x0f48
00000f3f: JUMP
00000f40: JUMPDEST
00000f41: POP
00000f42: PUSH1 0x00
00000f44: SWAP1
00000f45: POP
00000f46: PUSH1 0x02
00000f48: JUMPDEST
00000f49: SWAP3
00000f4a: POP
00000f4b: SWAP3
00000f4c: SWAP1
00000f4d: POP
00000f4e: JUMP
00000f4f: JUMPDEST
00000f50: PUSH1 0x00
00000f52: DUP2
00000f53: PUSH1 0x04
00000f55: DUP2
00000f56: GT
00000f57: ISZERO
00000f58: PUSH2 0x0f71
00000f5b: JUMPI
00000f5c: PUSH4 0x4e487b71
00000f61: PUSH1 0xe0
00000f63: SHL
00000f64: PUSH1 0x00
00000f66: MSTORE
00000f67: PUSH1 0x21
00000f69: PUSH1 0x04
00000f6b: MSTORE
00000f6c: PUSH1 0x24
00000f6e: PUSH1 0x00
00000f70: REVERT
00000f71: JUMPDEST
00000f72: EQ
00000f73: ISZERO
00000f74: PUSH2 0x0f7a
00000f77: JUMPI
00000f78: POP
00000f79: JUMP
00000f7a: JUMPDEST
00000f7b: PUSH1 0x01
00000f7d: DUP2
00000f7e: PUSH1 0x04
00000f80: DUP2
00000f81: GT
00000f82: ISZERO
00000f83: PUSH2 0x0f9c
00000f86: JUMPI
00000f87: PUSH4 0x4e487b71
00000f8c: PUSH1 0xe0
00000f8e: SHL
00000f8f: PUSH1 0x00
00000f91: MSTORE
00000f92: PUSH1 0x21
00000f94: PUSH1 0x04
00000f96: MSTORE
00000f97: PUSH1 0x24
00000f99: PUSH1 0x00
00000f9b: REVERT
00000f9c: JUMPDEST
00000f9d: EQ
00000f9e: ISZERO
00000f9f: PUSH2 0x0fea
00000fa2: JUMPI
00000fa3: PUSH1 0x40
00000fa5: MLOAD
00000fa6: PUSH3 0x461bcd
00000faa: PUSH1 0xe5
00000fac: SHL
00000fad: DUP2
00000fae: MSTORE
00000faf: PUSH1 0x20
00000fb1: PUSH1 0x04
00000fb3: DUP3
00000fb4: ADD
00000fb5: MSTORE
00000fb6: PUSH1 0x18
00000fb8: PUSH1 0x24
00000fba: DUP3
00000fbb: ADD
00000fbc: MSTORE
00000fbd: PUSH32 0x45434453413a20696e76616c6964207369676e61747572650000000000000000
00000fde: PUSH1 0x44
00000fe0: DUP3
00000fe1: ADD
00000fe2: MSTORE
00000fe3: PUSH1 0x64
00000fe5: ADD
00000fe6: PUSH2 0x03f6
00000fe9: JUMP
00000fea: JUMPDEST
00000feb: PUSH1 0x02
00000fed: DUP2
00000fee: PUSH1 0x04
00000ff0: DUP2
00000ff1: GT
00000ff2: ISZERO
00000ff3: PUSH2 0x100c
00000ff6: JUMPI
00000ff7: PUSH4 0x4e487b71
00000ffc: PUSH1 0xe0
00000ffe: SHL
00000fff: PUSH1 0x00
00001001: MSTORE
00001002: PUSH1 0x21
00001004: PUSH1 0x04
00001006: MSTORE
00001007: PUSH1 0x24
00001009: PUSH1 0x00
0000100b: REVERT
0000100c: JUMPDEST
0000100d: EQ
0000100e: ISZERO
0000100f: PUSH2 0x105a
00001012: JUMPI
00001013: PUSH1 0x40
00001015: MLOAD
00001016: PUSH3 0x461bcd
0000101a: PUSH1 0xe5
0000101c: SHL
0000101d: DUP2
0000101e: MSTORE
0000101f: PUSH1 0x20
00001021: PUSH1 0x04
00001023: DUP3
00001024: ADD
00001025: MSTORE
00001026: PUSH1 0x1f
00001028: PUSH1 0x24
0000102a: DUP3
0000102b: ADD
0000102c: MSTORE
0000102d: PUSH32 0x45434453413a20696e76616c6964207369676e6174757265206c656e67746800
0000104e: PUSH1 0x44
00001050: DUP3
00001051: ADD
00001052: MSTORE
00001053: PUSH1 0x64
00001055: ADD
00001056: PUSH2 0x03f6
00001059: JUMP
0000105a: JUMPDEST
0000105b: PUSH1 0x03
0000105d: DUP2
0000105e: PUSH1 0x04
00001060: DUP2
00001061: GT
00001062: ISZERO
00001063: PUSH2 0x107c
00001066: JUMPI
00001067: PUSH4 0x4e487b71
0000106c: PUSH1 0xe0
0000106e: SHL
0000106f: PUSH1 0x00
00001071: MSTORE
00001072: PUSH1 0x21
00001074: PUSH1 0x04
00001076: MSTORE
00001077: PUSH1 0x24
00001079: PUSH1 0x00
0000107b: REVERT
0000107c: JUMPDEST
0000107d: EQ
0000107e: ISZERO
0000107f: PUSH2 0x10d5
00001082: JUMPI
00001083: PUSH1 0x40
00001085: MLOAD
00001086: PUSH3 0x461bcd
0000108a: PUSH1 0xe5
0000108c: SHL
0000108d: DUP2
0000108e: MSTORE
0000108f: PUSH1 0x20
00001091: PUSH1 0x04
00001093: DUP3
00001094: ADD
00001095: MSTORE
00001096: PUSH1 0x22
00001098: PUSH1 0x24
0000109a: DUP3
0000109b: ADD
0000109c: MSTORE
0000109d: PUSH32 0x45434453413a20696e76616c6964207369676e6174757265202773272076616c
000010be: PUSH1 0x44
000010c0: DUP3
000010c1: ADD
000010c2: MSTORE
000010c3: PUSH2 0x7565
000010c6: PUSH1 0xf0
000010c8: SHL
000010c9: PUSH1 0x64
000010cb: DUP3
000010cc: ADD
000010cd: MSTORE
000010ce: PUSH1 0x84
000010d0: ADD
000010d1: PUSH2 0x03f6
000010d4: JUMP
000010d5: JUMPDEST
000010d6: PUSH1 0x04
000010d8: DUP2
000010d9: PUSH1 0x04
000010db: DUP2
000010dc: GT
000010dd: ISZERO
000010de: PUSH2 0x10f7
000010e1: JUMPI
000010e2: PUSH4 0x4e487b71
000010e7: PUSH1 0xe0
000010e9: SHL
000010ea: PUSH1 0x00
000010ec: MSTORE
000010ed: PUSH1 0x21
000010ef: PUSH1 0x04
000010f1: MSTORE
000010f2: PUSH1 0x24
000010f4: PUSH1 0x00
000010f6: REVERT
000010f7: JUMPDEST
000010f8: EQ
000010f9: ISZERO
000010fa: PUSH2 0x0c89
000010fd: JUMPI
000010fe: PUSH1 0x40
00001100: MLOAD
00001101: PUSH3 0x461bcd
00001105: PUSH1 0xe5
00001107: SHL
00001108: DUP2
00001109: MSTORE
0000110a: PUSH1 0x20
0000110c: PUSH1 0x04
0000110e: DUP3
0000110f: ADD
00001110: MSTORE
00001111: PUSH1 0x22
00001113: PUSH1 0x24
00001115: DUP3
00001116: ADD
00001117: MSTORE
00001118: PUSH32 0x45434453413a20696e76616c6964207369676e6174757265202776272076616c
00001139: PUSH1 0x44
0000113b: DUP3
0000113c: ADD
0000113d: MSTORE
0000113e: PUSH2 0x7565
00001141: PUSH1 0xf0
00001143: SHL
00001144: PUSH1 0x64
00001146: DUP3
00001147: ADD
00001148: MSTORE
00001149: PUSH1 0x84
0000114b: ADD
0000114c: PUSH2 0x03f6
0000114f: JUMP
00001150: JUMPDEST
00001151: PUSH1 0x60
00001153: PUSH2 0x115f
00001156: DUP5
00001157: DUP5
00001158: PUSH1 0x00
0000115a: DUP6
0000115b: PUSH2 0x128f
0000115e: JUMP
0000115f: JUMPDEST
00001160: SWAP1
00001161: POP
00001162: JUMPDEST
00001163: SWAP4
00001164: SWAP3
00001165: POP
00001166: POP
00001167: POP
00001168: JUMP
00001169: JUMPDEST
0000116a: PUSH1 0x00
0000116c: DUP1
0000116d: PUSH32 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0
0000118e: DUP4
0000118f: GT
00001190: ISZERO
00001191: PUSH2 0x11a0
00001194: JUMPI
00001195: POP
00001196: PUSH1 0x00
00001198: SWAP1
00001199: POP
0000119a: PUSH1 0x03
0000119c: PUSH2 0x124d
0000119f: JUMP
000011a0: JUMPDEST
000011a1: DUP5
000011a2: PUSH1 0xff
000011a4: AND
000011a5: PUSH1 0x1b
000011a7: EQ
000011a8: ISZERO
000011a9: DUP1
000011aa: ISZERO
000011ab: PUSH2 0x11b8
000011ae: JUMPI
000011af: POP
000011b0: DUP5
000011b1: PUSH1 0xff
000011b3: AND
000011b4: PUSH1 0x1c
000011b6: EQ
000011b7: ISZERO
000011b8: JUMPDEST
000011b9: ISZERO
000011ba: PUSH2 0x11c9
000011bd: JUMPI
000011be: POP
000011bf: PUSH1 0x00
000011c1: SWAP1
000011c2: POP
000011c3: PUSH1 0x04
000011c5: PUSH2 0x124d
000011c8: JUMP
000011c9: JUMPDEST
000011ca: PUSH1 0x40
000011cc: DUP1
000011cd: MLOAD
000011ce: PUSH1 0x00
000011d0: DUP1
000011d1: DUP3
000011d2: MSTORE
000011d3: PUSH1 0x20
000011d5: DUP3
000011d6: ADD
000011d7: DUP1
000011d8: DUP5
000011d9: MSTORE
000011da: DUP10
000011db: SWAP1
000011dc: MSTORE
000011dd: PUSH1 0xff
000011df: DUP9
000011e0: AND
000011e1: SWAP3
000011e2: DUP3
000011e3: ADD
000011e4: SWAP3
000011e5: SWAP1
000011e6: SWAP3
000011e7: MSTORE
000011e8: PUSH1 0x60
000011ea: DUP2
000011eb: ADD
000011ec: DUP7
000011ed: SWAP1
000011ee: MSTORE
000011ef: PUSH1 0x80
000011f1: DUP2
000011f2: ADD
000011f3: DUP6
000011f4: SWAP1
000011f5: MSTORE
000011f6: PUSH1 0x01
000011f8: SWAP1
000011f9: PUSH1 0xa0
000011fb: ADD
000011fc: PUSH1 0x20
000011fe: PUSH1 0x40
00001200: MLOAD
00001201: PUSH1 0x20
00001203: DUP2
00001204: SUB
00001205: SWAP1
00001206: DUP1
00001207: DUP5
00001208: SUB
00001209: SWAP1
0000120a: DUP6
0000120b: GAS
0000120c: STATICCALL
0000120d: ISZERO
0000120e: DUP1
0000120f: ISZERO
00001210: PUSH2 0x121d
00001213: JUMPI
00001214: RETURNDATASIZE
00001215: PUSH1 0x00
00001217: DUP1
00001218: RETURNDATACOPY
00001219: RETURNDATASIZE
0000121a: PUSH1 0x00
0000121c: REVERT
0000121d: JUMPDEST
0000121e: POP
0000121f: POP
00001220: PUSH1 0x40
00001222: MLOAD
00001223: PUSH1 0x1f
00001225: NOT
00001226: ADD
00001227: MLOAD
00001228: SWAP2
00001229: POP
0000122a: POP
0000122b: PUSH1 0x01
0000122d: PUSH1 0x01
0000122f: PUSH1 0xa0
00001231: SHL
00001232: SUB
00001233: DUP2
00001234: AND
00001235: PUSH2 0x1246
00001238: JUMPI
00001239: PUSH1 0x00
0000123b: PUSH1 0x01
0000123d: SWAP3
0000123e: POP
0000123f: SWAP3
00001240: POP
00001241: POP
00001242: PUSH2 0x124d
00001245: JUMP
00001246: JUMPDEST
00001247: SWAP2
00001248: POP
00001249: PUSH1 0x00
0000124b: SWAP1
0000124c: POP
0000124d: JUMPDEST
0000124e: SWAP5
0000124f: POP
00001250: SWAP5
00001251: SWAP3
00001252: POP
00001253: POP
00001254: POP
00001255: JUMP
00001256: JUMPDEST
00001257: PUSH1 0x00
00001259: DUP1
0000125a: PUSH1 0x01
0000125c: PUSH1 0x01
0000125e: PUSH1 0xff
00001260: SHL
00001261: SUB
00001262: DUP4
00001263: AND
00001264: DUP2
00001265: PUSH2 0x1273
00001268: PUSH1 0xff
0000126a: DUP7
0000126b: SWAP1
0000126c: SHR
0000126d: PUSH1 0x1b
0000126f: PUSH2 0x18bf
00001272: JUMP
00001273: JUMPDEST
00001274: SWAP1
00001275: POP
00001276: PUSH2 0x1281
00001279: DUP8
0000127a: DUP3
0000127b: DUP9
0000127c: DUP6
0000127d: PUSH2 0x1169
00001280: JUMP
00001281: JUMPDEST
00001282: SWAP4
00001283: POP
00001284: SWAP4
00001285: POP
00001286: POP
00001287: POP
00001288: SWAP4
00001289: POP
0000128a: SWAP4
0000128b: SWAP2
0000128c: POP
0000128d: POP
0000128e: JUMP
0000128f: JUMPDEST
00001290: PUSH1 0x60
00001292: DUP3
00001293: SELFBALANCE
00001294: LT
00001295: ISZERO
00001296: PUSH2 0x12f0
00001299: JUMPI
0000129a: PUSH1 0x40
0000129c: MLOAD
0000129d: PUSH3 0x461bcd
000012a1: PUSH1 0xe5
000012a3: SHL
000012a4: DUP2
000012a5: MSTORE
000012a6: PUSH1 0x20
000012a8: PUSH1 0x04
000012aa: DUP3
000012ab: ADD
000012ac: MSTORE
000012ad: PUSH1 0x26
000012af: PUSH1 0x24
000012b1: DUP3
000012b2: ADD
000012b3: MSTORE
000012b4: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f
000012d5: PUSH1 0x44
000012d7: DUP3
000012d8: ADD
000012d9: MSTORE
000012da: PUSH6 0x1c8818d85b1b
000012e1: PUSH1 0xd2
000012e3: SHL
000012e4: PUSH1 0x64
000012e6: DUP3
000012e7: ADD
000012e8: MSTORE
000012e9: PUSH1 0x84
000012eb: ADD
000012ec: PUSH2 0x03f6
000012ef: JUMP
000012f0: JUMPDEST
000012f1: PUSH1 0x01
000012f3: PUSH1 0x01
000012f5: PUSH1 0xa0
000012f7: SHL
000012f8: SUB
000012f9: DUP6
000012fa: AND
000012fb: EXTCODESIZE
000012fc: PUSH2 0x1347
000012ff: JUMPI
00001300: PUSH1 0x40
00001302: MLOAD
00001303: PUSH3 0x461bcd
00001307: PUSH1 0xe5
00001309: SHL
0000130a: DUP2
0000130b: MSTORE
0000130c: PUSH1 0x20
0000130e: PUSH1 0x04
00001310: DUP3
00001311: ADD
00001312: MSTORE
00001313: PUSH1 0x1d
00001315: PUSH1 0x24
00001317: DUP3
00001318: ADD
00001319: MSTORE
0000131a: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
0000133b: PUSH1 0x44
0000133d: DUP3
0000133e: ADD
0000133f: MSTORE
00001340: PUSH1 0x64
00001342: ADD
00001343: PUSH2 0x03f6
00001346: JUMP
00001347: JUMPDEST
00001348: PUSH1 0x00
0000134a: DUP1
0000134b: DUP7
0000134c: PUSH1 0x01
0000134e: PUSH1 0x01
00001350: PUSH1 0xa0
00001352: SHL
00001353: SUB
00001354: AND
00001355: DUP6
00001356: DUP8
00001357: PUSH1 0x40
00001359: MLOAD
0000135a: PUSH2 0x1363
0000135d: SWAP2
0000135e: SWAP1
0000135f: PUSH2 0x1781
00001362: JUMP
00001363: JUMPDEST
00001364: PUSH1 0x00
00001366: PUSH1 0x40
00001368: MLOAD
00001369: DUP1
0000136a: DUP4
0000136b: SUB
0000136c: DUP2
0000136d: DUP6
0000136e: DUP8
0000136f: GAS
00001370: CALL
00001371: SWAP3
00001372: POP
00001373: POP
00001374: POP
00001375: RETURNDATASIZE
00001376: DUP1
00001377: PUSH1 0x00
00001379: DUP2
0000137a: EQ
0000137b: PUSH2 0x13a0
0000137e: JUMPI
0000137f: PUSH1 0x40
00001381: MLOAD
00001382: SWAP2
00001383: POP
00001384: PUSH1 0x1f
00001386: NOT
00001387: PUSH1 0x3f
00001389: RETURNDATASIZE
0000138a: ADD
0000138b: AND
0000138c: DUP3
0000138d: ADD
0000138e: PUSH1 0x40
00001390: MSTORE
00001391: RETURNDATASIZE
00001392: DUP3
00001393: MSTORE
00001394: RETURNDATASIZE
00001395: PUSH1 0x00
00001397: PUSH1 0x20
00001399: DUP5
0000139a: ADD
0000139b: RETURNDATACOPY
0000139c: PUSH2 0x13a5
0000139f: JUMP
000013a0: JUMPDEST
000013a1: PUSH1 0x60
000013a3: SWAP2
000013a4: POP
000013a5: JUMPDEST
000013a6: POP
000013a7: SWAP2
000013a8: POP
000013a9: SWAP2
000013aa: POP
000013ab: PUSH2 0x13b5
000013ae: DUP3
000013af: DUP3
000013b0: DUP7
000013b1: PUSH2 0x13c0
000013b4: JUMP
000013b5: JUMPDEST
000013b6: SWAP8
000013b7: SWAP7
000013b8: POP
000013b9: POP
000013ba: POP
000013bb: POP
000013bc: POP
000013bd: POP
000013be: POP
000013bf: JUMP
000013c0: JUMPDEST
000013c1: PUSH1 0x60
000013c3: DUP4
000013c4: ISZERO
000013c5: PUSH2 0x13cf
000013c8: JUMPI
000013c9: POP
000013ca: DUP2
000013cb: PUSH2 0x1162
000013ce: JUMP
000013cf: JUMPDEST
000013d0: DUP3
000013d1: MLOAD
000013d2: ISZERO
000013d3: PUSH2 0x13df
000013d6: JUMPI
000013d7: DUP3
000013d8: MLOAD
000013d9: DUP1
000013da: DUP5
000013db: PUSH1 0x20
000013dd: ADD
000013de: REVERT
000013df: JUMPDEST
000013e0: DUP2
000013e1: PUSH1 0x40
000013e3: MLOAD
000013e4: PUSH3 0x461bcd
000013e8: PUSH1 0xe5
000013ea: SHL
000013eb: DUP2
000013ec: MSTORE
000013ed: PUSH1 0x04
000013ef: ADD
000013f0: PUSH2 0x03f6
000013f3: SWAP2
000013f4: SWAP1
000013f5: PUSH2 0x1816
000013f8: JUMP
000013f9: JUMPDEST
000013fa: DUP3
000013fb: DUP1
000013fc: SLOAD
000013fd: PUSH2 0x1405
00001400: SWAP1
00001401: PUSH2 0x190f
00001404: JUMP
00001405: JUMPDEST
00001406: SWAP1
00001407: PUSH1 0x00
00001409: MSTORE
0000140a: PUSH1 0x20
0000140c: PUSH1 0x00
0000140e: KECCAK256
0000140f: SWAP1
00001410: PUSH1 0x1f
00001412: ADD
00001413: PUSH1 0x20
00001415: SWAP1
00001416: DIV
00001417: DUP2
00001418: ADD
00001419: SWAP3
0000141a: DUP3
0000141b: PUSH2 0x1427
0000141e: JUMPI
0000141f: PUSH1 0x00
00001421: DUP6
00001422: SSTORE
00001423: PUSH2 0x146d
00001426: JUMP
00001427: JUMPDEST
00001428: DUP3
00001429: PUSH1 0x1f
0000142b: LT
0000142c: PUSH2 0x1440
0000142f: JUMPI
00001430: DUP1
00001431: MLOAD
00001432: PUSH1 0xff
00001434: NOT
00001435: AND
00001436: DUP4
00001437: DUP1
00001438: ADD
00001439: OR
0000143a: DUP6
0000143b: SSTORE
0000143c: PUSH2 0x146d
0000143f: JUMP
00001440: JUMPDEST
00001441: DUP3
00001442: DUP1
00001443: ADD
00001444: PUSH1 0x01
00001446: ADD
00001447: DUP6
00001448: SSTORE
00001449: DUP3
0000144a: ISZERO
0000144b: PUSH2 0x146d
0000144e: JUMPI
0000144f: SWAP2
00001450: DUP3
00001451: ADD
00001452: JUMPDEST
00001453: DUP3
00001454: DUP2
00001455: GT
00001456: ISZERO
00001457: PUSH2 0x146d
0000145a: JUMPI
0000145b: DUP3
0000145c: MLOAD
0000145d: DUP3
0000145e: SSTORE
0000145f: SWAP2
00001460: PUSH1 0x20
00001462: ADD
00001463: SWAP2
00001464: SWAP1
00001465: PUSH1 0x01
00001467: ADD
00001468: SWAP1
00001469: PUSH2 0x1452
0000146c: JUMP
0000146d: JUMPDEST
0000146e: POP
0000146f: PUSH2 0x1479
00001472: SWAP3
00001473: SWAP2
00001474: POP
00001475: PUSH2 0x147d
00001478: JUMP
00001479: JUMPDEST
0000147a: POP
0000147b: SWAP1
0000147c: JUMP
0000147d: JUMPDEST
0000147e: JUMPDEST
0000147f: DUP1
00001480: DUP3
00001481: GT
00001482: ISZERO
00001483: PUSH2 0x1479
00001486: JUMPI
00001487: PUSH1 0x00
00001489: DUP2
0000148a: SSTORE
0000148b: PUSH1 0x01
0000148d: ADD
0000148e: PUSH2 0x147e
00001491: JUMP
00001492: JUMPDEST
00001493: PUSH1 0x00
00001495: PUSH8 0xffffffffffffffff
0000149e: DUP1
0000149f: DUP5
000014a0: GT
000014a1: ISZERO
000014a2: PUSH2 0x14ad
000014a5: JUMPI
000014a6: PUSH2 0x14ad
000014a9: PUSH2 0x194a
000014ac: JUMP
000014ad: JUMPDEST
000014ae: PUSH1 0x40
000014b0: MLOAD
000014b1: PUSH1 0x1f
000014b3: DUP6
000014b4: ADD
000014b5: PUSH1 0x1f
000014b7: NOT
000014b8: SWAP1
000014b9: DUP2
000014ba: AND
000014bb: PUSH1 0x3f
000014bd: ADD
000014be: AND
000014bf: DUP2
000014c0: ADD
000014c1: SWAP1
000014c2: DUP3
000014c3: DUP3
000014c4: GT
000014c5: DUP2
000014c6: DUP4
000014c7: LT
000014c8: OR
000014c9: ISZERO
000014ca: PUSH2 0x14d5
000014cd: JUMPI
000014ce: PUSH2 0x14d5
000014d1: PUSH2 0x194a
000014d4: JUMP
000014d5: JUMPDEST
000014d6: DUP2
000014d7: PUSH1 0x40
000014d9: MSTORE
000014da: DUP1
000014db: SWAP4
000014dc: POP
000014dd: DUP6
000014de: DUP2
000014df: MSTORE
000014e0: DUP7
000014e1: DUP7
000014e2: DUP7
000014e3: ADD
000014e4: GT
000014e5: ISZERO
000014e6: PUSH2 0x14ee
000014e9: JUMPI
000014ea: PUSH1 0x00
000014ec: DUP1
000014ed: REVERT
000014ee: JUMPDEST
000014ef: DUP6
000014f0: DUP6
000014f1: PUSH1 0x20
000014f3: DUP4
000014f4: ADD
000014f5: CALLDATACOPY
000014f6: PUSH1 0x00
000014f8: PUSH1 0x20
000014fa: DUP8
000014fb: DUP4
000014fc: ADD
000014fd: ADD
000014fe: MSTORE
000014ff: POP
00001500: POP
00001501: POP
00001502: SWAP4
00001503: SWAP3
00001504: POP
00001505: POP
00001506: POP
00001507: JUMP
00001508: JUMPDEST
00001509: DUP1
0000150a: CALLDATALOAD
0000150b: PUSH1 0x01
0000150d: PUSH1 0x01
0000150f: PUSH1 0xa0
00001511: SHL
00001512: SUB
00001513: DUP2
00001514: AND
00001515: DUP2
00001516: EQ
00001517: PUSH2 0x151f
0000151a: JUMPI
0000151b: PUSH1 0x00
0000151d: DUP1
0000151e: REVERT
0000151f: JUMPDEST
00001520: SWAP2
00001521: SWAP1
00001522: POP
00001523: JUMP
00001524: JUMPDEST
00001525: PUSH1 0x00
00001527: DUP3
00001528: PUSH1 0x1f
0000152a: DUP4
0000152b: ADD
0000152c: SLT
0000152d: PUSH2 0x1534
00001530: JUMPI
00001531: DUP1
00001532: DUP2
00001533: REVERT
00001534: JUMPDEST
00001535: PUSH2 0x1162
00001538: DUP4
00001539: DUP4
0000153a: CALLDATALOAD
0000153b: PUSH1 0x20
0000153d: DUP6
0000153e: ADD
0000153f: PUSH2 0x1492
00001542: JUMP
00001543: JUMPDEST
00001544: PUSH1 0x00
00001546: PUSH1 0x20
00001548: DUP3
00001549: DUP5
0000154a: SUB
0000154b: SLT
0000154c: ISZERO
0000154d: PUSH2 0x1554
00001550: JUMPI
00001551: DUP1
00001552: DUP2
00001553: REVERT
00001554: JUMPDEST
00001555: PUSH2 0x1162
00001558: DUP3
00001559: PUSH2 0x1508
0000155c: JUMP
0000155d: JUMPDEST
0000155e: PUSH1 0x00
00001560: DUP1
00001561: PUSH1 0x40
00001563: DUP4
00001564: DUP6
00001565: SUB
00001566: SLT
00001567: ISZERO
00001568: PUSH2 0x156f
0000156b: JUMPI
0000156c: DUP1
0000156d: DUP2
0000156e: REVERT
0000156f: JUMPDEST
00001570: PUSH2 0x1578
00001573: DUP4
00001574: PUSH2 0x1508
00001577: JUMP
00001578: JUMPDEST
00001579: SWAP5
0000157a: PUSH1 0x20
0000157c: SWAP4
0000157d: SWAP1
0000157e: SWAP4
0000157f: ADD
00001580: CALLDATALOAD
00001581: SWAP4
00001582: POP
00001583: POP
00001584: POP
00001585: JUMP
00001586: JUMPDEST
00001587: PUSH1 0x00
00001589: DUP1
0000158a: PUSH1 0x00
0000158c: DUP1
0000158d: PUSH1 0x80
0000158f: DUP6
00001590: DUP8
00001591: SUB
00001592: SLT
00001593: ISZERO
00001594: PUSH2 0x159b
00001597: JUMPI
00001598: DUP2
00001599: DUP3
0000159a: REVERT
0000159b: JUMPDEST
0000159c: PUSH2 0x15a4
0000159f: DUP6
000015a0: PUSH2 0x1508
000015a3: JUMP
000015a4: JUMPDEST
000015a5: SWAP4
000015a6: POP
000015a7: PUSH1 0x20
000015a9: DUP6
000015aa: ADD
000015ab: CALLDATALOAD
000015ac: SWAP3
000015ad: POP
000015ae: PUSH1 0x40
000015b0: DUP6
000015b1: ADD
000015b2: CALLDATALOAD
000015b3: SWAP2
000015b4: POP
000015b5: PUSH1 0x60
000015b7: DUP6
000015b8: ADD
000015b9: CALLDATALOAD
000015ba: PUSH8 0xffffffffffffffff
000015c3: DUP2
000015c4: GT
000015c5: ISZERO
000015c6: PUSH2 0x15cd
000015c9: JUMPI
000015ca: DUP2
000015cb: DUP3
000015cc: REVERT
000015cd: JUMPDEST
000015ce: DUP6
000015cf: ADD
000015d0: PUSH1 0x1f
000015d2: DUP2
000015d3: ADD
000015d4: DUP8
000015d5: SGT
000015d6: PUSH2 0x15dd
000015d9: JUMPI
000015da: DUP2
000015db: DUP3
000015dc: REVERT
000015dd: JUMPDEST
000015de: PUSH2 0x15ec
000015e1: DUP8
000015e2: DUP3
000015e3: CALLDATALOAD
000015e4: PUSH1 0x20
000015e6: DUP5
000015e7: ADD
000015e8: PUSH2 0x1492
000015eb: JUMP
000015ec: JUMPDEST
000015ed: SWAP2
000015ee: POP
000015ef: POP
000015f0: SWAP3
000015f1: SWAP6
000015f2: SWAP2
000015f3: SWAP5
000015f4: POP
000015f5: SWAP3
000015f6: POP
000015f7: JUMP
000015f8: JUMPDEST
000015f9: PUSH1 0x00
000015fb: PUSH1 0x20
000015fd: DUP3
000015fe: DUP5
000015ff: SUB
00001600: SLT
00001601: ISZERO
00001602: PUSH2 0x1609
00001605: JUMPI
00001606: DUP1
00001607: DUP2
00001608: REVERT
00001609: JUMPDEST
0000160a: DUP2
0000160b: MLOAD
0000160c: PUSH2 0x1162
0000160f: DUP2
00001610: PUSH2 0x1960
00001613: JUMP
00001614: JUMPDEST
00001615: PUSH1 0x00
00001617: PUSH1 0x20
00001619: DUP3
0000161a: DUP5
0000161b: SUB
0000161c: SLT
0000161d: ISZERO
0000161e: PUSH2 0x1625
00001621: JUMPI
00001622: DUP1
00001623: DUP2
00001624: REVERT
00001625: JUMPDEST
00001626: POP
00001627: CALLDATALOAD
00001628: SWAP2
00001629: SWAP1
0000162a: POP
0000162b: JUMP
0000162c: JUMPDEST
0000162d: PUSH1 0x00
0000162f: DUP1
00001630: PUSH1 0x40
00001632: DUP4
00001633: DUP6
00001634: SUB
00001635: SLT
00001636: ISZERO
00001637: PUSH2 0x163e
0000163a: JUMPI
0000163b: DUP2
0000163c: DUP3
0000163d: REVERT
0000163e: JUMPDEST
0000163f: DUP3
00001640: CALLDATALOAD
00001641: SWAP2
00001642: POP
00001643: PUSH2 0x164e
00001646: PUSH1 0x20
00001648: DUP5
00001649: ADD
0000164a: PUSH2 0x1508
0000164d: JUMP
0000164e: JUMPDEST
0000164f: SWAP1
00001650: POP
00001651: SWAP3
00001652: POP
00001653: SWAP3
00001654: SWAP1
00001655: POP
00001656: JUMP
00001657: JUMPDEST
00001658: PUSH1 0x00
0000165a: DUP1
0000165b: PUSH1 0x00
0000165d: DUP1
0000165e: PUSH1 0x00
00001660: PUSH1 0xa0
00001662: DUP7
00001663: DUP9
00001664: SUB
00001665: SLT
00001666: ISZERO
00001667: PUSH2 0x166e
0000166a: JUMPI
0000166b: DUP1
0000166c: DUP2
0000166d: REVERT
0000166e: JUMPDEST
0000166f: DUP6
00001670: CALLDATALOAD
00001671: SWAP5
00001672: POP
00001673: PUSH2 0x167e
00001676: PUSH1 0x20
00001678: DUP8
00001679: ADD
0000167a: PUSH2 0x1508
0000167d: JUMP
0000167e: JUMPDEST
0000167f: SWAP4
00001680: POP
00001681: PUSH1 0x40
00001683: DUP7
00001684: ADD
00001685: CALLDATALOAD
00001686: SWAP3
00001687: POP
00001688: PUSH1 0x60
0000168a: DUP7
0000168b: ADD
0000168c: CALLDATALOAD
0000168d: SWAP2
0000168e: POP
0000168f: PUSH1 0x80
00001691: DUP7
00001692: ADD
00001693: CALLDATALOAD
00001694: PUSH8 0xffffffffffffffff
0000169d: DUP2
0000169e: GT
0000169f: ISZERO
000016a0: PUSH2 0x16a7
000016a3: JUMPI
000016a4: DUP2
000016a5: DUP3
000016a6: REVERT
000016a7: JUMPDEST
000016a8: PUSH2 0x16b3
000016ab: DUP9
000016ac: DUP3
000016ad: DUP10
000016ae: ADD
000016af: PUSH2 0x1524
000016b2: JUMP
000016b3: JUMPDEST
000016b4: SWAP2
000016b5: POP
000016b6: POP
000016b7: SWAP3
000016b8: SWAP6
000016b9: POP
000016ba: SWAP3
000016bb: SWAP6
000016bc: SWAP1
000016bd: SWAP4
000016be: POP
000016bf: JUMP
000016c0: JUMPDEST
000016c1: PUSH1 0x00
000016c3: DUP1
000016c4: PUSH1 0x40
000016c6: DUP4
000016c7: DUP6
000016c8: SUB
000016c9: SLT
000016ca: ISZERO
000016cb: PUSH2 0x16d2
000016ce: JUMPI
000016cf: DUP2
000016d0: DUP3
000016d1: REVERT
000016d2: JUMPDEST
000016d3: DUP3
000016d4: CALLDATALOAD
000016d5: SWAP2
000016d6: POP
000016d7: PUSH1 0x20
000016d9: DUP4
000016da: ADD
000016db: CALLDATALOAD
000016dc: PUSH2 0x16e4
000016df: DUP2
000016e0: PUSH2 0x1960
000016e3: JUMP
000016e4: JUMPDEST
000016e5: DUP1
000016e6: SWAP2
000016e7: POP
000016e8: POP
000016e9: SWAP3
000016ea: POP
000016eb: SWAP3
000016ec: SWAP1
000016ed: POP
000016ee: JUMP
000016ef: JUMPDEST
000016f0: PUSH1 0x00
000016f2: DUP1
000016f3: PUSH1 0x40
000016f5: DUP4
000016f6: DUP6
000016f7: SUB
000016f8: SLT
000016f9: ISZERO
000016fa: PUSH2 0x1701
000016fd: JUMPI
000016fe: DUP2
000016ff: DUP3
00001700: REVERT
00001701: JUMPDEST
00001702: DUP3
00001703: CALLDATALOAD
00001704: SWAP2
00001705: POP
00001706: PUSH1 0x20
00001708: DUP4
00001709: ADD
0000170a: CALLDATALOAD
0000170b: PUSH8 0xffffffffffffffff
00001714: DUP2
00001715: GT
00001716: ISZERO
00001717: PUSH2 0x171e
0000171a: JUMPI
0000171b: DUP2
0000171c: DUP3
0000171d: REVERT
0000171e: JUMPDEST
0000171f: PUSH2 0x172a
00001722: DUP6
00001723: DUP3
00001724: DUP7
00001725: ADD
00001726: PUSH2 0x1524
00001729: JUMP
0000172a: JUMPDEST
0000172b: SWAP2
0000172c: POP
0000172d: POP
0000172e: SWAP3
0000172f: POP
00001730: SWAP3
00001731: SWAP1
00001732: POP
00001733: JUMP
00001734: JUMPDEST
00001735: PUSH1 0x00
00001737: DUP1
00001738: PUSH1 0x40
0000173a: DUP4
0000173b: DUP6
0000173c: SUB
0000173d: SLT
0000173e: ISZERO
0000173f: PUSH2 0x1746
00001742: JUMPI
00001743: DUP2
00001744: DUP3
00001745: REVERT
00001746: JUMPDEST
00001747: POP
00001748: POP
00001749: DUP1
0000174a: CALLDATALOAD
0000174b: SWAP3
0000174c: PUSH1 0x20
0000174e: SWAP1
0000174f: SWAP2
00001750: ADD
00001751: CALLDATALOAD
00001752: SWAP2
00001753: POP
00001754: JUMP
00001755: JUMPDEST
00001756: PUSH1 0x00
00001758: DUP2
00001759: MLOAD
0000175a: DUP1
0000175b: DUP5
0000175c: MSTORE
0000175d: PUSH2 0x176d
00001760: DUP2
00001761: PUSH1 0x20
00001763: DUP7
00001764: ADD
00001765: PUSH1 0x20
00001767: DUP7
00001768: ADD
00001769: PUSH2 0x18e3
0000176c: JUMP
0000176d: JUMPDEST
0000176e: PUSH1 0x1f
00001770: ADD
00001771: PUSH1 0x1f
00001773: NOT
00001774: AND
00001775: SWAP3
00001776: SWAP1
00001777: SWAP3
00001778: ADD
00001779: PUSH1 0x20
0000177b: ADD
0000177c: SWAP3
0000177d: SWAP2
0000177e: POP
0000177f: POP
00001780: JUMP
00001781: JUMPDEST
00001782: PUSH1 0x00
00001784: DUP3
00001785: MLOAD
00001786: PUSH2 0x1793
00001789: DUP2
0000178a: DUP5
0000178b: PUSH1 0x20
0000178d: DUP8
0000178e: ADD
0000178f: PUSH2 0x18e3
00001792: JUMP
00001793: JUMPDEST
00001794: SWAP2
00001795: SWAP1
00001796: SWAP2
00001797: ADD
00001798: SWAP3
00001799: SWAP2
0000179a: POP
0000179b: POP
0000179c: JUMP
0000179d: JUMPDEST
0000179e: PUSH1 0x00
000017a0: DUP6
000017a1: MLOAD
000017a2: PUSH2 0x17af
000017a5: DUP2
000017a6: DUP5
000017a7: PUSH1 0x20
000017a9: DUP11
000017aa: ADD
000017ab: PUSH2 0x18e3
000017ae: JUMP
000017af: JUMPDEST
000017b0: PUSH1 0x60
000017b2: SWAP6
000017b3: SWAP1
000017b4: SWAP6
000017b5: SHL
000017b6: PUSH12 0xffffffffffffffffffffffff
000017c3: NOT
000017c4: AND
000017c5: SWAP2
000017c6: SWAP1
000017c7: SWAP5
000017c8: ADD
000017c9: SWAP1
000017ca: DUP2
000017cb: MSTORE
000017cc: PUSH1 0x14
000017ce: DUP2
000017cf: ADD
000017d0: SWAP3
000017d1: SWAP1
000017d2: SWAP3
000017d3: MSTORE
000017d4: PUSH1 0x34
000017d6: DUP3
000017d7: ADD
000017d8: MSTORE
000017d9: PUSH1 0x54
000017db: ADD
000017dc: SWAP3
000017dd: SWAP2
000017de: POP
000017df: POP
000017e0: JUMP
000017e1: JUMPDEST
000017e2: DUP6
000017e3: ISZERO
000017e4: ISZERO
000017e5: DUP2
000017e6: MSTORE
000017e7: PUSH1 0x01
000017e9: DUP1
000017ea: PUSH1 0xa0
000017ec: SHL
000017ed: SUB
000017ee: DUP6
000017ef: AND
000017f0: PUSH1 0x20
000017f2: DUP3
000017f3: ADD
000017f4: MSTORE
000017f5: DUP4
000017f6: PUSH1 0x40
000017f8: DUP3
000017f9: ADD
000017fa: MSTORE
000017fb: DUP3
000017fc: PUSH1 0x60
000017fe: DUP3
000017ff: ADD
00001800: MSTORE
00001801: PUSH1 0xa0
00001803: PUSH1 0x80
00001805: DUP3
00001806: ADD
00001807: MSTORE
00001808: PUSH1 0x00
0000180a: PUSH2 0x13b5
0000180d: PUSH1 0xa0
0000180f: DUP4
00001810: ADD
00001811: DUP5
00001812: PUSH2 0x1755
00001815: JUMP
00001816: JUMPDEST
00001817: PUSH1 0x20
00001819: DUP2
0000181a: MSTORE
0000181b: PUSH1 0x00
0000181d: PUSH2 0x1162
00001820: PUSH1 0x20
00001822: DUP4
00001823: ADD
00001824: DUP5
00001825: PUSH2 0x1755
00001828: JUMP
00001829: JUMPDEST
0000182a: PUSH1 0x20
0000182c: DUP1
0000182d: DUP3
0000182e: MSTORE
0000182f: PUSH1 0x2b
00001831: SWAP1
00001832: DUP3
00001833: ADD
00001834: MSTORE
00001835: PUSH32 0x636c61696d61626c6546726f6d206d757374206265206265666f726520636c61
00001856: PUSH1 0x40
00001858: DUP3
00001859: ADD
0000185a: MSTORE
0000185b: PUSH11 0x1a5b58589b19555b9d1a5b
00001867: PUSH1 0xaa
00001869: SHL
0000186a: PUSH1 0x60
0000186c: DUP3
0000186d: ADD
0000186e: MSTORE
0000186f: PUSH1 0x80
00001871: ADD
00001872: SWAP1
00001873: JUMP
00001874: JUMPDEST
00001875: PUSH1 0x20
00001877: DUP1
00001878: DUP3
00001879: MSTORE
0000187a: PUSH1 0x2b
0000187c: SWAP1
0000187d: DUP3
0000187e: ADD
0000187f: MSTORE
00001880: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069
000018a1: PUSH1 0x40
000018a3: DUP3
000018a4: ADD
000018a5: MSTORE
000018a6: PUSH11 0x6e697469616c697a696e67
000018b2: PUSH1 0xa8
000018b4: SHL
000018b5: PUSH1 0x60
000018b7: DUP3
000018b8: ADD
000018b9: MSTORE
000018ba: PUSH1 0x80
000018bc: ADD
000018bd: SWAP1
000018be: JUMP
000018bf: JUMPDEST
000018c0: PUSH1 0x00
000018c2: DUP3
000018c3: NOT
000018c4: DUP3
000018c5: GT
000018c6: ISZERO
000018c7: PUSH2 0x18de
000018ca: JUMPI
000018cb: PUSH4 0x4e487b71
000018d0: PUSH1 0xe0
000018d2: SHL
000018d3: DUP2
000018d4: MSTORE
000018d5: PUSH1 0x11
000018d7: PUSH1 0x04
000018d9: MSTORE
000018da: PUSH1 0x24
000018dc: DUP2
000018dd: REVERT
000018de: JUMPDEST
000018df: POP
000018e0: ADD
000018e1: SWAP1
000018e2: JUMP
000018e3: JUMPDEST
000018e4: PUSH1 0x00
000018e6: JUMPDEST
000018e7: DUP4
000018e8: DUP2
000018e9: LT
000018ea: ISZERO
000018eb: PUSH2 0x18fe
000018ee: JUMPI
000018ef: DUP2
000018f0: DUP2
000018f1: ADD
000018f2: MLOAD
000018f3: DUP4
000018f4: DUP3
000018f5: ADD
000018f6: MSTORE
000018f7: PUSH1 0x20
000018f9: ADD
000018fa: PUSH2 0x18e6
000018fd: JUMP
000018fe: JUMPDEST
000018ff: DUP4
00001900: DUP2
00001901: GT
00001902: ISZERO
00001903: PUSH2 0x08d8
00001906: JUMPI
00001907: POP
00001908: POP
00001909: PUSH1 0x00
0000190b: SWAP2
0000190c: ADD
0000190d: MSTORE
0000190e: JUMP
0000190f: JUMPDEST
00001910: PUSH1 0x01
00001912: DUP2
00001913: DUP2
00001914: SHR
00001915: SWAP1
00001916: DUP3
00001917: AND
00001918: DUP1
00001919: PUSH2 0x1923
0000191c: JUMPI
0000191d: PUSH1 0x7f
0000191f: DUP3
00001920: AND
00001921: SWAP2
00001922: POP
00001923: JUMPDEST
00001924: PUSH1 0x20
00001926: DUP3
00001927: LT
00001928: DUP2
00001929: EQ
0000192a: ISZERO
0000192b: PUSH2 0x1944
0000192e: JUMPI
0000192f: PUSH4 0x4e487b71
00001934: PUSH1 0xe0
00001936: SHL
00001937: PUSH1 0x00
00001939: MSTORE
0000193a: PUSH1 0x22
0000193c: PUSH1 0x04
0000193e: MSTORE
0000193f: PUSH1 0x24
00001941: PUSH1 0x00
00001943: REVERT
00001944: JUMPDEST
00001945: POP
00001946: SWAP2
00001947: SWAP1
00001948: POP
00001949: JUMP
0000194a: JUMPDEST
0000194b: PUSH4 0x4e487b71
00001950: PUSH1 0xe0
00001952: SHL
00001953: PUSH1 0x00
00001955: MSTORE
00001956: PUSH1 0x41
00001958: PUSH1 0x04
0000195a: MSTORE
0000195b: PUSH1 0x24
0000195d: PUSH1 0x00
0000195f: REVERT
00001960: JUMPDEST
00001961: DUP1
00001962: ISZERO
00001963: ISZERO
00001964: DUP2
00001965: EQ
00001966: PUSH2 0x0c89
00001969: JUMPI
0000196a: PUSH1 0x00
0000196c: DUP1
0000196d: REVERT
0000196e: INVALID
0000196f: LOG2
00001970: PUSH5 0x6970667358
00001976: UNKNOWN(0x22)
00001977: SLT
00001978: KECCAK256
00001979: PUSH26 0xeadf82ae9079b6c560feef029812efa951e09fa8f6f49ae285d4
00001994: SWAP13
00001995: UNKNOWN(0xBE)
00001996: UNKNOWN(0xC6)
00001997: SWAP10
00001998: UNKNOWN(0xCB)
00001999: PUSH5 0x736f6c6343
0000199f: STOP
000019a0: ADDMOD
000019a1: DIV
000019a2: STOP
000019a3: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x496042c200569246fcb2af8f04478724c5e6838fa5cf38e0c988a1845cd06401
call_targets: 0x717d0bf97ce58e14945f5e0320ee98381aeaddaf
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x496042c200569246fcb2af8f04478724c5e6838fa5cf38e0c988a1845cd06401",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x717d0bf97ce58e14945f5e0320ee98381aeaddaf"
    ],
    "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": "0xc4d66de8",
            "selector": "0xc4d66de8",
            "calldata_variants": [
                "0xc4d66de8",
                "0xc4d66de80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcd70584f",
            "selector": "0xcd70584f",
            "calldata_variants": [
                "0xcd70584f",
                "0xcd70584f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd352c8b6",
            "selector": "0xd352c8b6",
            "calldata_variants": [
                "0xd352c8b6",
                "0xd352c8b60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd53c4a7",
            "selector": "0xdd53c4a7",
            "calldata_variants": [
                "0xdd53c4a7",
                "0xdd53c4a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7e45984b",
            "selector": "0x7e45984b",
            "calldata_variants": [
                "0x7e45984b",
                "0x7e45984b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8fa2a9f0",
            "selector": "0x8fa2a9f0",
            "calldata_variants": [
                "0x8fa2a9f0",
                "0x8fa2a9f00000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2141,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4976,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 2,
    "guards_detected": [],
    "untrusted_call_count": 2
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x496042c200569246fcb2af8f04478724c5e6838fa5cf38e0c988a1845cd06401
call_targets: 0x717d0bf97ce58e14945f5e0320ee98381aeaddaf
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x496042c200569246fcb2af8f04478724c5e6838fa5cf38e0c988a1845cd06401",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x717d0bf97ce58e14945f5e0320ee98381aeaddaf"
    ],
    "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": "0xc4d66de8",
            "selector": "0xc4d66de8",
            "calldata_variants": [
                "0xc4d66de8",
                "0xc4d66de80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcd70584f",
            "selector": "0xcd70584f",
            "calldata_variants": [
                "0xcd70584f",
                "0xcd70584f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd352c8b6",
            "selector": "0xd352c8b6",
            "calldata_variants": [
                "0xd352c8b6",
                "0xd352c8b60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd53c4a7",
            "selector": "0xdd53c4a7",
            "calldata_variants": [
                "0xdd53c4a7",
                "0xdd53c4a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7e45984b",
            "selector": "0x7e45984b",
            "calldata_variants": [
                "0x7e45984b",
                "0x7e45984b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8fa2a9f0",
            "selector": "0x8fa2a9f0",
            "calldata_variants": [
                "0x8fa2a9f0",
                "0x8fa2a9f00000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2141,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4976,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 2,
    "guards_detected": []
}
medium auth codex Signatures lack domain separation, enabling cross-contract/chain replay 75 no
view
evidence_json
{
    "evidence": "`isSignatureValid` hashes only `prefix`, `user`, `campaignId`, and `amount`, without `address(this)` or `chainId`.",
    "locations": [
        "contracts/contracts/CampaignRewardDistribution.sol:33"
    ],
    "recommendation": "Include domain separation in the signed payload (at least `address(this)` and `block.chainid`), or move to EIP-712 typed data with a contract-specific domain separator.",
    "exploit_scenario": "If the same masterSigner key is reused across deployments or chains, a signature intended for one deployment can be replayed against another deployment with the same campaignId/prefix and active window, allowing unauthorized claims on that other contract."
}
low upgradeability codex Upgradeable implementation can be initialized directly 65 no
view
evidence_json
{
    "evidence": "No constructor disables initializers; `initialize` is public and uses the `initializer` modifier.",
    "locations": [
        "contracts/contracts/CampaignRewardDistribution.sol:28"
    ],
    "recommendation": "Add a constructor that calls `_disableInitializers()` to lock the implementation contract.",
    "exploit_scenario": "An attacker can call `initialize` on the implementation contract (if deployed standalone), become owner, and drain any assets mistakenly sent to the implementation address or operate it directly."
}