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

Analysis Run

019ba9e0-be27-70f7-98f5-d834a3811afc

failed
Chain ID
1
Address
Block Number
Created
Sat, Jan 10, 2026 9:47 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
SELFDESTRUCT present
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
38075 artifact.fetch complete 1 / 3 3 months ago
38076 proxy.resolve complete 1 / 3 3 months ago
38077 tool.cast_disasm complete 1 / 3 3 months ago
38078 analysis.bundle complete 1 / 3 3 months ago
38079 capability.graph complete 1 / 3 3 months ago
38080 detector.run complete 1 / 3 3 months ago
38081 validation.fork complete 1 / 3 3 months ago
38178 report.consolidate complete 1 / 6 3 months ago
38179 tool.slither failed 2 / 2 3 months ago

Artifact

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

Slither

tool.slither
Status
failed slither failed (exit 1): 'forge clean' running (wd: /tmp/slither-nud0t0fi) 'forge config --json' running 'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-nud0t0fi) 'forge' returned non-zero exit code 1 Compiling 1 files with Solc 0.4.19 stdout: Solc 0.4.19 finished in 13.71ms Error: Compiler run failed: stderr: Error: Expected token Semicolon got 'LParen' stderr: contracts/Contract.sol:94:32: ParserError: Expected token Semicolon got 'LParen' stderr: emit SetFuturesContract(futuresContract, isFuturesContract); stderr: ^ Traceback (most recent call last): File "/var/www/tripwire/.venv/bin/slither", line 10, in <module> sys.exit(main()) ~~~~^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 776, in main main_impl(all_detector_classes=detectors, all_printer_classes=printers) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 882, in main_impl ) = process_all(filename, args, detector_classes, printer_classes) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 96, in process_all compilations = compile_all(target, **vars(args)) File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 722, in compile_all compilations.append(CryticCompile(target, **kwargs)) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 211, in __init__ self._compile(**kwargs) ~~~~~~~~~~~~~^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 633, in _compile self._platform.compile(self, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/foundry.py", line 102, in compile hardhat_like_parsing( ~~~~~~~~~~~~~~~~~~~~^ crytic_compile, str(self._target), build_directory, str(self._project_root) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/hardhat.py", line 52, in hardhat_like_parsing raise InvalidCompilation(txt) crytic_compile.platform.exceptions.InvalidCompilation: Compilation failed. Can you run build command? /tmp/slither-nud0t0fi/out/build-info is not a directory.
Attempts
2 / 2
Findings
0
Solc
View stderr
Traceback (most recent call last):
  File "/var/www/tripwire/worker/worker.py", line 198, in main
    payload = dispatch_job(job_type, job_id, job_meta, run_data, config, laravel_client)
  File "/var/www/tripwire/worker/worker.py", line 114, in dispatch_job
    return slither_run.run(job_id, job_meta, run_data, config, log, laravel_client)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/worker/jobs/slither_run.py", line 1084, in run
    stdout_text, stderr_text, result_json = _run_slither(
                                            ~~~~~~~~~~~~^
        workspace,
        ^^^^^^^^^^
    ...<4 lines>...
        target_path=target_path,
        ^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/var/www/tripwire/worker/jobs/slither_run.py", line 958, in _run_slither
    raise RuntimeError(f"slither failed (exit {result.returncode}): {stderr_text or stdout_text}")
RuntimeError: slither failed (exit 1): 'forge clean' running (wd: /tmp/slither-nud0t0fi)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-nud0t0fi)
'forge' returned non-zero exit code 1
Compiling 1 files with Solc 0.4.19
stdout: Solc 0.4.19 finished in 13.71ms
Error: Compiler run failed:
stderr: Error: Expected token Semicolon got 'LParen'
stderr: contracts/Contract.sol:94:32: ParserError: Expected token Semicolon got 'LParen'
stderr:         emit SetFuturesContract(futuresContract, isFuturesContract);
stderr:                                ^
Traceback (most recent call last):
  File "/var/www/tripwire/.venv/bin/slither", line 10, in <module>
    sys.exit(main())
             ~~~~^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 776, in main
    main_impl(all_detector_classes=detectors, all_printer_classes=printers)
    ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 882, in main_impl
    ) = process_all(filename, args, detector_classes, printer_classes)
        ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 96, in process_all
    compilations = compile_all(target, **vars(args))
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 722, in compile_all
    compilations.append(CryticCompile(target, **kwargs))
                        ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 211, in __init__
    self._compile(**kwargs)
    ~~~~~~~~~~~~~^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 633, in _compile
    self._platform.compile(self, **kwargs)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/foundry.py", line 102, in compile
    hardhat_like_parsing(
    ~~~~~~~~~~~~~~~~~~~~^
        crytic_compile, str(self._target), build_directory, str(self._project_root)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/hardhat.py", line 52, in hardhat_like_parsing
    raise InvalidCompilation(txt)
crytic_compile.platform.exceptions.InvalidCompilation: Compilation failed. Can you run build command?
/tmp/slither-nud0t0fi/out/build-info is not a directory.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
2
No findings?
no
Summary
Two issues: signature hashing for pToken redemptions is collision-prone, and token deposit accounting assumes full transfer amounts (breaks on fee-on-transfer tokens).
View stdout
{"no_findings":false,"summary":"Two issues: signature hashing for pToken redemptions is collision-prone, and token deposit accounting assumes full transfer amounts (breaks on fee-on-transfer tokens).","findings":[{"severity":"medium","category":"auth","title":"Packed hashing with string enables signature collisions in pTokenRedeemForUser","exploit_scenario":"A user signs a pToken redemption request, but the hash is built with packed encoding of a dynamic string (`destinationAddress`). Because packed encoding has no length delimiter, an attacker who controls the withdrawal relay (or a compromised admin) can craft a different `(destinationAddress, feeWithdrawal)` pair that yields the same hash, or even reuse a withdraw signature for pTokenRedeemForUser with an empty destination string. This allows redemptions to a different BTC address or with altered fees than the user intended.","recommendation":"Switch to `keccak256(abi.encode(...))` with typed fields, or hash the destination string separately (`keccak256(bytes(destinationAddress))`) and include a function-specific domain separator/EIP-712 typed data so parameters cannot be reinterpreted.","evidence":"`bytes32 hash = keccak256(this, token, amount, user, nonce, destinationAddress, feeWithdrawal);` uses packed encoding with a dynamic string.","locations":["contracts/Contract.sol:427"]},{"severity":"medium","category":"other","title":"Token deposits credit full amount without verifying actual tokens received","exploit_scenario":"For fee-on-transfer or deflationary tokens, `transferFrom` can deliver fewer tokens than `amount`, yet the contract credits the full `amount` to the user. The user can then withdraw the inflated balance, draining pooled liquidity or causing insolvency for that token.","recommendation":"Credit based on actual balance delta (`balanceAfter - balanceBefore`), or explicitly whitelist standard ERC20s that do not charge transfer fees.","evidence":"Balances are incremented before `transferFrom` and no balance-delta check is performed.","locations":["contracts/Contract.sol:295","contracts/Contract.sol:304","contracts/Contract.sol:312"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-8jnw2cba
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019baa6b-bb49-7833-9b61-a4a77389a75b
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.

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

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

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

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

================================================================================
FILE: contracts/Contract.sol
================================================================================
pragma solidity ^0.4.19;

/* Interface for ERC20 Tokens */
contract Token {
    bytes32 public standard;
    bytes32 public name;
    bytes32 public symbol;
    uint256 public totalSupply;
    uint8 public decimals;
    bool public allowTransactions;
    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) public allowance;
    function transfer(address _to, uint256 _value) returns (bool success);
    function approveAndCall(address _spender, uint256 _value, bytes _extraData) returns (bool success);



thinking
**Analyzing Solidity 0.4.19 vulnerabilities**

I'm carefully examining the DMEX_Base contract for issues like reentrancy, signature collisions, accounting bugs, and access control problems. I notice potential vulnerabilities with packed data overflows, unchecked token behaviors (like deflationary tokens causing imbalances), logic bugs in the destroyContract function that prevent proper contract disablement, and subtle risks in ecrecover usage and calldata encoding that might be exploitable under certain conditions. It’s a dense set of findings, but I’m focusing on the interplay of external calls, state updates, and signature validations to highlight real security concerns.
thinking
**Examining encoding, control flow, and reentrancy details**

There is a nuanced issue with hash collisions between withdrawForUser and pTokenRedeemForUser due to packed encoding of dynamic strings, enabling potential replay of user signatures across functions when the destinationAddress is empty. I’m also noticing ignored destroyed flags preventing proper contract disablement, public functions lacking destroyed checks, and subtle reentrancy possibilities via malicious token contracts interacting during external calls. The interplay of fixed- and dynamic-length arguments in hashing and careful state management highlights real concerns worth flagging.
thinking
**Highlighting key contract risks and next steps**

I'm pinpointing core issues: denial-of-service potential from using `.send` with limited gas, medium-severity signature replay via packed encoding ambiguity, and accounting mismatches with fee-on-transfer tokens causing internal ledger imbalances. Also, the destroy flag is never set properly, creating logical dead-ends for contract disablement. I'll detail these findings with relevant function references and prepare to provide a structured JSON summary including file locations for clarity.
exec
/bin/bash -lc 'rg --files' in /tmp/codex-8jnw2cba succeeded in 44ms:
codex-output-schema.json
AUDIT_BUNDLE.txt
contracts/Contract.sol

thinking
**Planning to number lines in Contract.sol**
exec
/bin/bash -lc 'nl -ba contracts/Contract.sol' in /tmp/codex-8jnw2cba succeeded in 6ms:
     1	pragma solidity ^0.4.19;
     2	
     3	/* Interface for ERC20 Tokens */
     4	contract Token {
     5	    bytes32 public standard;
     6	    bytes32 public name;
     7	    bytes32 public symbol;
     8	    uint256 public totalSupply;
     9	    uint8 public decimals;
    10	    bool public allowTransactions;
    11	    mapping (address => uint256) public balanceOf;
    12	    mapping (address => mapping (address => uint256)) public allowance;
    13	    function transfer(address _to, uint256 _value) returns (bool success);
    14	    function approveAndCall(address _spender, uint256 _value, bytes _extraData) returns (bool success);
    15	    function approve(address _spender, uint256 _value) returns (bool success);
    16	    function transferFrom(address _from, address _to, uint256 _value) returns (bool success);
    17	}
    18	
    19	/* Interface for pTokens contract */
    20	contract pToken {

thinking
**Summarizing audit findings for vulnerabilities**

I'll organize the key vulnerabilities found: signature hash collision due to packed encoding causing parameter substitution and cross-function replay, and deposit accounting trusting transferFrom amount that can break with fee-on-transfer tokens. I'll also note severity, categories, and provide exploit scenarios and recommendations clearly with line references.
codex
{"no_findings":false,"summary":"Two issues: signature hashing for pToken redemptions is collision-prone, and token deposit accounting assumes full transfer amounts (breaks on fee-on-transfer tokens).","findings":[{"severity":"medium","category":"auth","title":"Packed hashing with string enables signature collisions in pTokenRedeemForUser","exploit_scenario":"A user signs a pToken redemption request, but the hash is built with packed encoding of a dynamic string (`destinationAddress`). Because packed encoding has no length delimiter, an attacker who controls the withdrawal relay (or a compromised admin) can craft a different `(destinationAddress, feeWithdrawal)` pair that yields the same hash, or even reuse a withdraw signature for pTokenRedeemForUser with an empty destination string. This allows redemptions to a different BTC address or with altered fees than the user intended.","recommendation":"Switch to `keccak256(abi.encode(...))` with typed fields, or hash the destination string separately (`keccak256(bytes(destinationAddress))`) and include a function-specific domain separator/EIP-712 typed data so parameters cannot be reinterpreted.","evidence":"`bytes32 hash = keccak256(this, token, amount, user, nonce, destinationAddress, feeWithdrawal);` uses packed encoding with a dynamic string.","locations":["contracts/Contract.sol:427"]},{"severity":"medium","category":"other","title":"Token deposits credit full amount without verifying actual tokens received","exploit_scenario":"For fee-on-transfer or deflationary tokens, `transferFrom` can deliver fewer tokens than `amount`, yet the contract credits the full `amount` to the user. The user can then withdraw the inflated balance, draining pooled liquidity or causing insolvency for that token.","recommendation":"Credit based on actual balance delta (`balanceAfter - balanceBefore`), or explicitly whitelist standard ERC20s that do not charge transfer fees.","evidence":"Balances are incremented before `transferFrom` and no balance-delta check is performed.","locations":["contracts/Contract.sol:295","contracts/Contract.sol:304","contracts/Contract.sol:312"]}]}
tokens used
26,221
Metadata
{
    "codex": {
        "ran_at": "2026-01-11T00:22:20.146867+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 1,
        "import_count": 0,
        "first_party_contracts_count": 1
    },
    "summary": "Two issues: signature hashing for pToken redemptions is collision-prone, and token deposit accounting assumes full transfer amounts (breaks on fee-on-transfer tokens).",
    "raw_final": {
        "summary": "Two issues: signature hashing for pToken redemptions is collision-prone, and token deposit accounting assumes full transfer amounts (breaks on fee-on-transfer tokens).",
        "findings": [
            {
                "title": "Packed hashing with string enables signature collisions in pTokenRedeemForUser",
                "category": "auth",
                "evidence": "`bytes32 hash = keccak256(this, token, amount, user, nonce, destinationAddress, feeWithdrawal);` uses packed encoding with a dynamic string.",
                "severity": "medium",
                "locations": [
                    "contracts/Contract.sol:427"
                ],
                "recommendation": "Switch to `keccak256(abi.encode(...))` with typed fields, or hash the destination string separately (`keccak256(bytes(destinationAddress))`) and include a function-specific domain separator/EIP-712 typed data so parameters cannot be reinterpreted.",
                "exploit_scenario": "A user signs a pToken redemption request, but the hash is built with packed encoding of a dynamic string (`destinationAddress`). Because packed encoding has no length delimiter, an attacker who controls the withdrawal relay (or a compromised admin) can craft a different `(destinationAddress, feeWithdrawal)` pair that yields the same hash, or even reuse a withdraw signature for pTokenRedeemForUser with an empty destination string. This allows redemptions to a different BTC address or with altered fees than the user intended."
            },
            {
                "title": "Token deposits credit full amount without verifying actual tokens received",
                "category": "other",
                "evidence": "Balances are incremented before `transferFrom` and no balance-delta check is performed.",
                "severity": "medium",
                "locations": [
                    "contracts/Contract.sol:295",
                    "contracts/Contract.sol:304",
                    "contracts/Contract.sol:312"
                ],
                "recommendation": "Credit based on actual balance delta (`balanceAfter - balanceBefore`), or explicitly whitelist standard ERC20s that do not charge transfer fees.",
                "exploit_scenario": "For fee-on-transfer or deflationary tokens, `transferFrom` can deliver fewer tokens than `amount`, yet the contract credits the full `amount` to the user. The user can then withdraw the inflated balance, draining pooled liquidity or causing insolvency for that token."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
1
CREATE2
1
CALL-family (heavy)
13
EXT*/BALANCE
9
Total opcodes
6406
Flags
selfdestruct_present create_opcodes_present heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x022f
0000000c: JUMPI
0000000d: PUSH4 0xffffffff
00000012: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000030: PUSH1 0x00
00000032: CALLDATALOAD
00000033: DIV
00000034: AND
00000035: PUSH4 0x02ce8c4d
0000003a: DUP2
0000003b: EQ
0000003c: PUSH2 0x0241
0000003f: JUMPI
00000040: DUP1
00000041: PUSH4 0x0674763c
00000046: EQ
00000047: PUSH2 0x0276
0000004a: JUMPI
0000004b: DUP1
0000004c: PUSH4 0x06c5ac42
00000051: EQ
00000052: PUSH2 0x0292
00000055: JUMPI
00000056: DUP1
00000057: PUSH4 0x092a5cce
0000005c: EQ
0000005d: PUSH2 0x02c6
00000060: JUMPI
00000061: DUP1
00000062: PUSH4 0x13af4035
00000067: EQ
00000068: PUSH2 0x02db
0000006b: JUMPI
0000006c: DUP1
0000006d: PUSH4 0x14fe6af9
00000072: EQ
00000073: PUSH2 0x02fc
00000076: JUMPI
00000077: DUP1
00000078: PUSH4 0x1db89da1
0000007d: EQ
0000007e: PUSH2 0x0323
00000081: JUMPI
00000082: DUP1
00000083: PUSH4 0x1e452a90
00000088: EQ
00000089: PUSH2 0x0354
0000008c: JUMPI
0000008d: DUP1
0000008e: PUSH4 0x20a0851f
00000093: EQ
00000094: PUSH2 0x0381
00000097: JUMPI
00000098: DUP1
00000099: PUSH4 0x2a7575ee
0000009e: EQ
0000009f: PUSH2 0x03a7
000000a2: JUMPI
000000a3: DUP1
000000a4: PUSH4 0x359cbbc9
000000a9: EQ
000000aa: PUSH2 0x03ce
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0x3823d66c
000000b4: EQ
000000b5: PUSH2 0x03e3
000000b8: JUMPI
000000b9: DUP1
000000ba: PUSH4 0x3aa9f991
000000bf: EQ
000000c0: PUSH2 0x03fb
000000c3: JUMPI
000000c4: DUP1
000000c5: PUSH4 0x3e3a5b96
000000ca: EQ
000000cb: PUSH2 0x0425
000000ce: JUMPI
000000cf: DUP1
000000d0: PUSH4 0x429b62e5
000000d5: EQ
000000d6: PUSH2 0x0609
000000d9: JUMPI
000000da: DUP1
000000db: PUSH4 0x4b0bddd2
000000e0: EQ
000000e1: PUSH2 0x062a
000000e4: JUMPI
000000e5: DUP1
000000e6: PUSH4 0x4e5978e1
000000eb: EQ
000000ec: PUSH2 0x0650
000000ef: JUMPI
000000f0: DUP1
000000f1: PUSH4 0x5278366a
000000f6: EQ
000000f7: PUSH2 0x067d
000000fa: JUMPI
000000fb: DUP1
000000fc: PUSH4 0x5d44ec0a
00000101: EQ
00000102: PUSH2 0x06aa
00000105: JUMPI
00000106: DUP1
00000107: PUSH4 0x664fcc3e
0000010c: EQ
0000010d: PUSH2 0x0713
00000110: JUMPI
00000111: DUP1
00000112: PUSH4 0x6a523c5e
00000117: EQ
00000118: PUSH2 0x074a
0000011b: JUMPI
0000011c: DUP1
0000011d: PUSH4 0x893d20e8
00000122: EQ
00000123: PUSH2 0x075e
00000126: JUMPI
00000127: DUP1
00000128: PUSH4 0x8da5cb5b
0000012d: EQ
0000012e: PUSH2 0x0773
00000131: JUMPI
00000132: DUP1
00000133: PUSH4 0x92c60611
00000138: EQ
00000139: PUSH2 0x0788
0000013c: JUMPI
0000013d: DUP1
0000013e: PUSH4 0xa293d1e8
00000143: EQ
00000144: PUSH2 0x07ed
00000147: JUMPI
00000148: DUP1
00000149: PUSH4 0xa7a278b1
0000014e: EQ
0000014f: PUSH2 0x0808
00000152: JUMPI
00000153: DUP1
00000154: PUSH4 0xa874fe2f
00000159: EQ
0000015a: PUSH2 0x081d
0000015d: JUMPI
0000015e: DUP1
0000015f: PUSH4 0xa99463bc
00000164: EQ
00000165: PUSH2 0x084a
00000168: JUMPI
00000169: DUP1
0000016a: PUSH4 0xad895d7e
0000016f: EQ
00000170: PUSH2 0x086b
00000173: JUMPI
00000174: DUP1
00000175: PUSH4 0xb5c9cbbe
0000017a: EQ
0000017b: PUSH2 0x0898
0000017e: JUMPI
0000017f: DUP1
00000180: PUSH4 0xc23f001f
00000185: EQ
00000186: PUSH2 0x08c2
00000189: JUMPI
0000018a: DUP1
0000018b: PUSH4 0xc719e57f
00000190: EQ
00000191: PUSH2 0x08e9
00000194: JUMPI
00000195: DUP1
00000196: PUSH4 0xcb2ec549
0000019b: EQ
0000019c: PUSH2 0x0927
0000019f: JUMPI
000001a0: DUP1
000001a1: PUSH4 0xcbc3ab53
000001a6: EQ
000001a7: PUSH2 0x094b
000001aa: JUMPI
000001ab: DUP1
000001ac: PUSH4 0xcc9ff632
000001b1: EQ
000001b2: PUSH2 0x0972
000001b5: JUMPI
000001b6: DUP1
000001b7: PUSH4 0xce4ff5e9
000001bc: EQ
000001bd: PUSH2 0x0987
000001c0: JUMPI
000001c1: DUP1
000001c2: PUSH4 0xd05c78da
000001c7: EQ
000001c8: PUSH2 0x09ae
000001cb: JUMPI
000001cc: DUP1
000001cd: PUSH4 0xd0e30db0
000001d2: EQ
000001d3: PUSH2 0x09c9
000001d6: JUMPI
000001d7: DUP1
000001d8: PUSH4 0xd8c67819
000001dd: EQ
000001de: PUSH2 0x09d1
000001e1: JUMPI
000001e2: DUP1
000001e3: PUSH4 0xdbb7dc95
000001e8: EQ
000001e9: PUSH2 0x0a5b
000001ec: JUMPI
000001ed: DUP1
000001ee: PUSH4 0xdd93c74a
000001f3: EQ
000001f4: PUSH2 0x0a98
000001f7: JUMPI
000001f8: DUP1
000001f9: PUSH4 0xe6cb9013
000001fe: EQ
000001ff: PUSH2 0x0ab0
00000202: JUMPI
00000203: DUP1
00000204: PUSH4 0xf31174ee
00000209: EQ
0000020a: PUSH2 0x0acb
0000020d: JUMPI
0000020e: DUP1
0000020f: PUSH4 0xf3fef3a3
00000214: EQ
00000215: PUSH2 0x0ae0
00000218: JUMPI
00000219: DUP1
0000021a: PUSH4 0xf7888aec
0000021f: EQ
00000220: PUSH2 0x0b04
00000223: JUMPI
00000224: DUP1
00000225: PUSH4 0xfe053772
0000022a: EQ
0000022b: PUSH2 0x0b2b
0000022e: JUMPI
0000022f: JUMPDEST
00000230: CALLVALUE
00000231: DUP1
00000232: ISZERO
00000233: PUSH2 0x023b
00000236: JUMPI
00000237: PUSH1 0x00
00000239: DUP1
0000023a: REVERT
0000023b: JUMPDEST
0000023c: POP
0000023d: PUSH1 0x00
0000023f: DUP1
00000240: REVERT
00000241: JUMPDEST
00000242: CALLVALUE
00000243: DUP1
00000244: ISZERO
00000245: PUSH2 0x024d
00000248: JUMPI
00000249: PUSH1 0x00
0000024b: DUP1
0000024c: REVERT
0000024d: JUMPDEST
0000024e: POP
0000024f: PUSH2 0x0262
00000252: PUSH1 0x01
00000254: PUSH1 0xa0
00000256: PUSH1 0x02
00000258: EXP
00000259: SUB
0000025a: PUSH1 0x04
0000025c: CALLDATALOAD
0000025d: AND
0000025e: PUSH2 0x0b40
00000261: JUMP
00000262: JUMPDEST
00000263: PUSH1 0x40
00000265: DUP1
00000266: MLOAD
00000267: SWAP2
00000268: ISZERO
00000269: ISZERO
0000026a: DUP3
0000026b: MSTORE
0000026c: MLOAD
0000026d: SWAP1
0000026e: DUP2
0000026f: SWAP1
00000270: SUB
00000271: PUSH1 0x20
00000273: ADD
00000274: SWAP1
00000275: RETURN
00000276: JUMPDEST
00000277: CALLVALUE
00000278: DUP1
00000279: ISZERO
0000027a: PUSH2 0x0282
0000027d: JUMPI
0000027e: PUSH1 0x00
00000280: DUP1
00000281: REVERT
00000282: JUMPDEST
00000283: POP
00000284: PUSH2 0x0290
00000287: PUSH1 0x04
00000289: CALLDATALOAD
0000028a: ISZERO
0000028b: ISZERO
0000028c: PUSH2 0x0b55
0000028f: JUMP
00000290: JUMPDEST
00000291: STOP
00000292: JUMPDEST
00000293: CALLVALUE
00000294: DUP1
00000295: ISZERO
00000296: PUSH2 0x029e
00000299: JUMPI
0000029a: PUSH1 0x00
0000029c: DUP1
0000029d: REVERT
0000029e: JUMPDEST
0000029f: POP
000002a0: PUSH2 0x0290
000002a3: PUSH1 0x01
000002a5: PUSH1 0xa0
000002a7: PUSH1 0x02
000002a9: EXP
000002aa: SUB
000002ab: PUSH1 0x04
000002ad: CALLDATALOAD
000002ae: DUP2
000002af: AND
000002b0: SWAP1
000002b1: PUSH1 0x01
000002b3: PUSH1 0x80
000002b5: PUSH1 0x02
000002b7: EXP
000002b8: SUB
000002b9: PUSH1 0x24
000002bb: CALLDATALOAD
000002bc: AND
000002bd: SWAP1
000002be: PUSH1 0x44
000002c0: CALLDATALOAD
000002c1: AND
000002c2: PUSH2 0x0b64
000002c5: JUMP
000002c6: JUMPDEST
000002c7: CALLVALUE
000002c8: DUP1
000002c9: ISZERO
000002ca: PUSH2 0x02d2
000002cd: JUMPI
000002ce: PUSH1 0x00
000002d0: DUP1
000002d1: REVERT
000002d2: JUMPDEST
000002d3: POP
000002d4: PUSH2 0x0262
000002d7: PUSH2 0x0c7a
000002da: JUMP
000002db: JUMPDEST
000002dc: CALLVALUE
000002dd: DUP1
000002de: ISZERO
000002df: PUSH2 0x02e7
000002e2: JUMPI
000002e3: PUSH1 0x00
000002e5: DUP1
000002e6: REVERT
000002e7: JUMPDEST
000002e8: POP
000002e9: PUSH2 0x0290
000002ec: PUSH1 0x01
000002ee: PUSH1 0xa0
000002f0: PUSH1 0x02
000002f2: EXP
000002f3: SUB
000002f4: PUSH1 0x04
000002f6: CALLDATALOAD
000002f7: AND
000002f8: PUSH2 0x0cac
000002fb: JUMP
000002fc: JUMPDEST
000002fd: CALLVALUE
000002fe: DUP1
000002ff: ISZERO
00000300: PUSH2 0x0308
00000303: JUMPI
00000304: PUSH1 0x00
00000306: DUP1
00000307: REVERT
00000308: JUMPDEST
00000309: POP
0000030a: PUSH2 0x0311
0000030d: PUSH2 0x0d2b
00000310: JUMP
00000311: JUMPDEST
00000312: PUSH1 0x40
00000314: DUP1
00000315: MLOAD
00000316: SWAP2
00000317: DUP3
00000318: MSTORE
00000319: MLOAD
0000031a: SWAP1
0000031b: DUP2
0000031c: SWAP1
0000031d: SUB
0000031e: PUSH1 0x20
00000320: ADD
00000321: SWAP1
00000322: RETURN
00000323: JUMPDEST
00000324: CALLVALUE
00000325: DUP1
00000326: ISZERO
00000327: PUSH2 0x032f
0000032a: JUMPI
0000032b: PUSH1 0x00
0000032d: DUP1
0000032e: REVERT
0000032f: JUMPDEST
00000330: POP
00000331: PUSH2 0x0338
00000334: PUSH2 0x0d31
00000337: JUMP
00000338: JUMPDEST
00000339: PUSH1 0x40
0000033b: DUP1
0000033c: MLOAD
0000033d: PUSH1 0x01
0000033f: PUSH1 0xa0
00000341: PUSH1 0x02
00000343: EXP
00000344: SUB
00000345: SWAP1
00000346: SWAP3
00000347: AND
00000348: DUP3
00000349: MSTORE
0000034a: MLOAD
0000034b: SWAP1
0000034c: DUP2
0000034d: SWAP1
0000034e: SUB
0000034f: PUSH1 0x20
00000351: ADD
00000352: SWAP1
00000353: RETURN
00000354: JUMPDEST
00000355: CALLVALUE
00000356: DUP1
00000357: ISZERO
00000358: PUSH2 0x0360
0000035b: JUMPI
0000035c: PUSH1 0x00
0000035e: DUP1
0000035f: REVERT
00000360: JUMPDEST
00000361: POP
00000362: PUSH2 0x0262
00000365: PUSH1 0x01
00000367: PUSH1 0xa0
00000369: PUSH1 0x02
0000036b: EXP
0000036c: SUB
0000036d: PUSH1 0x04
0000036f: CALLDATALOAD
00000370: DUP2
00000371: AND
00000372: SWAP1
00000373: PUSH1 0x24
00000375: CALLDATALOAD
00000376: AND
00000377: PUSH1 0x44
00000379: CALLDATALOAD
0000037a: PUSH1 0x64
0000037c: CALLDATALOAD
0000037d: PUSH2 0x0d40
00000380: JUMP
00000381: JUMPDEST
00000382: CALLVALUE
00000383: DUP1
00000384: ISZERO
00000385: PUSH2 0x038d
00000388: JUMPI
00000389: PUSH1 0x00
0000038b: DUP1
0000038c: REVERT
0000038d: JUMPDEST
0000038e: POP
0000038f: PUSH2 0x0290
00000392: PUSH1 0x01
00000394: PUSH1 0xa0
00000396: PUSH1 0x02
00000398: EXP
00000399: SUB
0000039a: PUSH1 0x04
0000039c: CALLDATALOAD
0000039d: AND
0000039e: PUSH1 0x24
000003a0: CALLDATALOAD
000003a1: ISZERO
000003a2: ISZERO
000003a3: PUSH2 0x0db3
000003a6: JUMP
000003a7: JUMPDEST
000003a8: CALLVALUE
000003a9: DUP1
000003aa: ISZERO
000003ab: PUSH2 0x03b3
000003ae: JUMPI
000003af: PUSH1 0x00
000003b1: DUP1
000003b2: REVERT
000003b3: JUMPDEST
000003b4: POP
000003b5: PUSH2 0x0311
000003b8: PUSH1 0x01
000003ba: PUSH1 0xa0
000003bc: PUSH1 0x02
000003be: EXP
000003bf: SUB
000003c0: PUSH1 0x04
000003c2: CALLDATALOAD
000003c3: DUP2
000003c4: AND
000003c5: SWAP1
000003c6: PUSH1 0x24
000003c8: CALLDATALOAD
000003c9: AND
000003ca: PUSH2 0x0e72
000003cd: JUMP
000003ce: JUMPDEST
000003cf: CALLVALUE
000003d0: DUP1
000003d1: ISZERO
000003d2: PUSH2 0x03da
000003d5: JUMPI
000003d6: PUSH1 0x00
000003d8: DUP1
000003d9: REVERT
000003da: JUMPDEST
000003db: POP
000003dc: PUSH2 0x0262
000003df: PUSH2 0x0e99
000003e2: JUMP
000003e3: JUMPDEST
000003e4: CALLVALUE
000003e5: DUP1
000003e6: ISZERO
000003e7: PUSH2 0x03ef
000003ea: JUMPI
000003eb: PUSH1 0x00
000003ed: DUP1
000003ee: REVERT
000003ef: JUMPDEST
000003f0: POP
000003f1: PUSH2 0x0262
000003f4: PUSH1 0x04
000003f6: CALLDATALOAD
000003f7: PUSH2 0x0ea2
000003fa: JUMP
000003fb: JUMPDEST
000003fc: CALLVALUE
000003fd: DUP1
000003fe: ISZERO
000003ff: PUSH2 0x0407
00000402: JUMPI
00000403: PUSH1 0x00
00000405: DUP1
00000406: REVERT
00000407: JUMPDEST
00000408: POP
00000409: PUSH2 0x0262
0000040c: PUSH1 0x01
0000040e: PUSH1 0xa0
00000410: PUSH1 0x02
00000412: EXP
00000413: SUB
00000414: PUSH1 0x04
00000416: CALLDATALOAD
00000417: DUP2
00000418: AND
00000419: SWAP1
0000041a: PUSH1 0x24
0000041c: CALLDATALOAD
0000041d: AND
0000041e: PUSH1 0x44
00000420: CALLDATALOAD
00000421: PUSH2 0x0eb7
00000424: JUMP
00000425: JUMPDEST
00000426: CALLVALUE
00000427: DUP1
00000428: ISZERO
00000429: PUSH2 0x0431
0000042c: JUMPI
0000042d: PUSH1 0x00
0000042f: DUP1
00000430: REVERT
00000431: JUMPDEST
00000432: POP
00000433: PUSH1 0x40
00000435: DUP1
00000436: MLOAD
00000437: PUSH1 0x20
00000439: PUSH1 0x04
0000043b: DUP1
0000043c: CALLDATALOAD
0000043d: DUP1
0000043e: DUP3
0000043f: ADD
00000440: CALLDATALOAD
00000441: DUP4
00000442: DUP2
00000443: MUL
00000444: DUP1
00000445: DUP7
00000446: ADD
00000447: DUP6
00000448: ADD
00000449: SWAP1
0000044a: SWAP7
0000044b: MSTORE
0000044c: DUP1
0000044d: DUP6
0000044e: MSTORE
0000044f: PUSH2 0x0290
00000452: SWAP6
00000453: CALLDATASIZE
00000454: SWAP6
00000455: SWAP4
00000456: SWAP5
00000457: PUSH1 0x24
00000459: SWAP5
0000045a: SWAP4
0000045b: DUP6
0000045c: ADD
0000045d: SWAP3
0000045e: SWAP2
0000045f: DUP3
00000460: SWAP2
00000461: DUP6
00000462: ADD
00000463: SWAP1
00000464: DUP5
00000465: SWAP1
00000466: DUP1
00000467: DUP3
00000468: DUP5
00000469: CALLDATACOPY
0000046a: POP
0000046b: POP
0000046c: PUSH1 0x40
0000046e: DUP1
0000046f: MLOAD
00000470: DUP8
00000471: CALLDATALOAD
00000472: DUP10
00000473: ADD
00000474: DUP1
00000475: CALLDATALOAD
00000476: PUSH1 0x20
00000478: DUP2
00000479: DUP2
0000047a: MUL
0000047b: DUP5
0000047c: DUP2
0000047d: ADD
0000047e: DUP3
0000047f: ADD
00000480: SWAP1
00000481: SWAP6
00000482: MSTORE
00000483: DUP2
00000484: DUP5
00000485: MSTORE
00000486: SWAP9
00000487: SWAP12
00000488: SWAP11
00000489: SWAP10
0000048a: DUP10
0000048b: ADD
0000048c: SWAP9
0000048d: SWAP3
0000048e: SWAP8
0000048f: POP
00000490: SWAP1
00000491: DUP3
00000492: ADD
00000493: SWAP6
00000494: POP
00000495: SWAP4
00000496: POP
00000497: DUP4
00000498: SWAP3
00000499: POP
0000049a: DUP6
0000049b: ADD
0000049c: SWAP1
0000049d: DUP5
0000049e: SWAP1
0000049f: DUP1
000004a0: DUP3
000004a1: DUP5
000004a2: CALLDATACOPY
000004a3: POP
000004a4: POP
000004a5: PUSH1 0x40
000004a7: DUP1
000004a8: MLOAD
000004a9: DUP8
000004aa: CALLDATALOAD
000004ab: DUP10
000004ac: ADD
000004ad: DUP1
000004ae: CALLDATALOAD
000004af: PUSH1 0x20
000004b1: DUP2
000004b2: DUP2
000004b3: MUL
000004b4: DUP5
000004b5: DUP2
000004b6: ADD
000004b7: DUP3
000004b8: ADD
000004b9: SWAP1
000004ba: SWAP6
000004bb: MSTORE
000004bc: DUP2
000004bd: DUP5
000004be: MSTORE
000004bf: SWAP9
000004c0: SWAP12
000004c1: SWAP11
000004c2: SWAP10
000004c3: DUP10
000004c4: ADD
000004c5: SWAP9
000004c6: SWAP3
000004c7: SWAP8
000004c8: POP
000004c9: SWAP1
000004ca: DUP3
000004cb: ADD
000004cc: SWAP6
000004cd: POP
000004ce: SWAP4
000004cf: POP
000004d0: DUP4
000004d1: SWAP3
000004d2: POP
000004d3: DUP6
000004d4: ADD
000004d5: SWAP1
000004d6: DUP5
000004d7: SWAP1
000004d8: DUP1
000004d9: DUP3
000004da: DUP5
000004db: CALLDATACOPY
000004dc: POP
000004dd: POP
000004de: PUSH1 0x40
000004e0: DUP1
000004e1: MLOAD
000004e2: DUP8
000004e3: CALLDATALOAD
000004e4: DUP10
000004e5: ADD
000004e6: DUP1
000004e7: CALLDATALOAD
000004e8: PUSH1 0x20
000004ea: DUP2
000004eb: DUP2
000004ec: MUL
000004ed: DUP5
000004ee: DUP2
000004ef: ADD
000004f0: DUP3
000004f1: ADD
000004f2: SWAP1
000004f3: SWAP6
000004f4: MSTORE
000004f5: DUP2
000004f6: DUP5
000004f7: MSTORE
000004f8: SWAP9
000004f9: SWAP12
000004fa: SWAP11
000004fb: SWAP10
000004fc: DUP10
000004fd: ADD
000004fe: SWAP9
000004ff: SWAP3
00000500: SWAP8
00000501: POP
00000502: SWAP1
00000503: DUP3
00000504: ADD
00000505: SWAP6
00000506: POP
00000507: SWAP4
00000508: POP
00000509: DUP4
0000050a: SWAP3
0000050b: POP
0000050c: DUP6
0000050d: ADD
0000050e: SWAP1
0000050f: DUP5
00000510: SWAP1
00000511: DUP1
00000512: DUP3
00000513: DUP5
00000514: CALLDATACOPY
00000515: POP
00000516: POP
00000517: PUSH1 0x40
00000519: DUP1
0000051a: MLOAD
0000051b: DUP8
0000051c: CALLDATALOAD
0000051d: DUP10
0000051e: ADD
0000051f: DUP1
00000520: CALLDATALOAD
00000521: PUSH1 0x20
00000523: DUP2
00000524: DUP2
00000525: MUL
00000526: DUP5
00000527: DUP2
00000528: ADD
00000529: DUP3
0000052a: ADD
0000052b: SWAP1
0000052c: SWAP6
0000052d: MSTORE
0000052e: DUP2
0000052f: DUP5
00000530: MSTORE
00000531: SWAP9
00000532: SWAP12
00000533: SWAP11
00000534: SWAP10
00000535: DUP10
00000536: ADD
00000537: SWAP9
00000538: SWAP3
00000539: SWAP8
0000053a: POP
0000053b: SWAP1
0000053c: DUP3
0000053d: ADD
0000053e: SWAP6
0000053f: POP
00000540: SWAP4
00000541: POP
00000542: DUP4
00000543: SWAP3
00000544: POP
00000545: DUP6
00000546: ADD
00000547: SWAP1
00000548: DUP5
00000549: SWAP1
0000054a: DUP1
0000054b: DUP3
0000054c: DUP5
0000054d: CALLDATACOPY
0000054e: POP
0000054f: POP
00000550: PUSH1 0x40
00000552: DUP1
00000553: MLOAD
00000554: DUP8
00000555: CALLDATALOAD
00000556: DUP10
00000557: ADD
00000558: DUP1
00000559: CALLDATALOAD
0000055a: PUSH1 0x20
0000055c: DUP2
0000055d: DUP2
0000055e: MUL
0000055f: DUP5
00000560: DUP2
00000561: ADD
00000562: DUP3
00000563: ADD
00000564: SWAP1
00000565: SWAP6
00000566: MSTORE
00000567: DUP2
00000568: DUP5
00000569: MSTORE
0000056a: SWAP9
0000056b: SWAP12
0000056c: SWAP11
0000056d: SWAP10
0000056e: DUP10
0000056f: ADD
00000570: SWAP9
00000571: SWAP3
00000572: SWAP8
00000573: POP
00000574: SWAP1
00000575: DUP3
00000576: ADD
00000577: SWAP6
00000578: POP
00000579: SWAP4
0000057a: POP
0000057b: DUP4
0000057c: SWAP3
0000057d: POP
0000057e: DUP6
0000057f: ADD
00000580: SWAP1
00000581: DUP5
00000582: SWAP1
00000583: DUP1
00000584: DUP3
00000585: DUP5
00000586: CALLDATACOPY
00000587: POP
00000588: POP
00000589: PUSH1 0x40
0000058b: DUP1
0000058c: MLOAD
0000058d: DUP8
0000058e: CALLDATALOAD
0000058f: DUP10
00000590: ADD
00000591: DUP1
00000592: CALLDATALOAD
00000593: PUSH1 0x20
00000595: DUP2
00000596: DUP2
00000597: MUL
00000598: DUP5
00000599: DUP2
0000059a: ADD
0000059b: DUP3
0000059c: ADD
0000059d: SWAP1
0000059e: SWAP6
0000059f: MSTORE
000005a0: DUP2
000005a1: DUP5
000005a2: MSTORE
000005a3: SWAP9
000005a4: SWAP12
000005a5: SWAP11
000005a6: SWAP10
000005a7: DUP10
000005a8: ADD
000005a9: SWAP9
000005aa: SWAP3
000005ab: SWAP8
000005ac: POP
000005ad: SWAP1
000005ae: DUP3
000005af: ADD
000005b0: SWAP6
000005b1: POP
000005b2: SWAP4
000005b3: POP
000005b4: DUP4
000005b5: SWAP3
000005b6: POP
000005b7: DUP6
000005b8: ADD
000005b9: SWAP1
000005ba: DUP5
000005bb: SWAP1
000005bc: DUP1
000005bd: DUP3
000005be: DUP5
000005bf: CALLDATACOPY
000005c0: POP
000005c1: POP
000005c2: PUSH1 0x40
000005c4: DUP1
000005c5: MLOAD
000005c6: DUP8
000005c7: CALLDATALOAD
000005c8: DUP10
000005c9: ADD
000005ca: DUP1
000005cb: CALLDATALOAD
000005cc: PUSH1 0x20
000005ce: DUP2
000005cf: DUP2
000005d0: MUL
000005d1: DUP5
000005d2: DUP2
000005d3: ADD
000005d4: DUP3
000005d5: ADD
000005d6: SWAP1
000005d7: SWAP6
000005d8: MSTORE
000005d9: DUP2
000005da: DUP5
000005db: MSTORE
000005dc: SWAP9
000005dd: SWAP12
000005de: SWAP11
000005df: SWAP10
000005e0: DUP10
000005e1: ADD
000005e2: SWAP9
000005e3: SWAP3
000005e4: SWAP8
000005e5: POP
000005e6: SWAP1
000005e7: DUP3
000005e8: ADD
000005e9: SWAP6
000005ea: POP
000005eb: SWAP4
000005ec: POP
000005ed: DUP4
000005ee: SWAP3
000005ef: POP
000005f0: DUP6
000005f1: ADD
000005f2: SWAP1
000005f3: DUP5
000005f4: SWAP1
000005f5: DUP1
000005f6: DUP3
000005f7: DUP5
000005f8: CALLDATACOPY
000005f9: POP
000005fa: SWAP5
000005fb: SWAP8
000005fc: POP
000005fd: PUSH2 0x0eea
00000600: SWAP7
00000601: POP
00000602: POP
00000603: POP
00000604: POP
00000605: POP
00000606: POP
00000607: POP
00000608: JUMP
00000609: JUMPDEST
0000060a: CALLVALUE
0000060b: DUP1
0000060c: ISZERO
0000060d: PUSH2 0x0615
00000610: JUMPI
00000611: PUSH1 0x00
00000613: DUP1
00000614: REVERT
00000615: JUMPDEST
00000616: POP
00000617: PUSH2 0x0262
0000061a: PUSH1 0x01
0000061c: PUSH1 0xa0
0000061e: PUSH1 0x02
00000620: EXP
00000621: SUB
00000622: PUSH1 0x04
00000624: CALLDATALOAD
00000625: AND
00000626: PUSH2 0x1009
00000629: JUMP
0000062a: JUMPDEST
0000062b: CALLVALUE
0000062c: DUP1
0000062d: ISZERO
0000062e: PUSH2 0x0636
00000631: JUMPI
00000632: PUSH1 0x00
00000634: DUP1
00000635: REVERT
00000636: JUMPDEST
00000637: POP
00000638: PUSH2 0x0290
0000063b: PUSH1 0x01
0000063d: PUSH1 0xa0
0000063f: PUSH1 0x02
00000641: EXP
00000642: SUB
00000643: PUSH1 0x04
00000645: CALLDATALOAD
00000646: AND
00000647: PUSH1 0x24
00000649: CALLDATALOAD
0000064a: ISZERO
0000064b: ISZERO
0000064c: PUSH2 0x101e
0000064f: JUMP
00000650: JUMPDEST
00000651: CALLVALUE
00000652: DUP1
00000653: ISZERO
00000654: PUSH2 0x065c
00000657: JUMPI
00000658: PUSH1 0x00
0000065a: DUP1
0000065b: REVERT
0000065c: JUMPDEST
0000065d: POP
0000065e: PUSH2 0x0262
00000661: PUSH1 0x01
00000663: PUSH1 0xa0
00000665: PUSH1 0x02
00000667: EXP
00000668: SUB
00000669: PUSH1 0x04
0000066b: CALLDATALOAD
0000066c: DUP2
0000066d: AND
0000066e: SWAP1
0000066f: PUSH1 0x24
00000671: CALLDATALOAD
00000672: AND
00000673: PUSH1 0x44
00000675: CALLDATALOAD
00000676: PUSH1 0x64
00000678: CALLDATALOAD
00000679: PUSH2 0x1060
0000067c: JUMP
0000067d: JUMPDEST
0000067e: CALLVALUE
0000067f: DUP1
00000680: ISZERO
00000681: PUSH2 0x0689
00000684: JUMPI
00000685: PUSH1 0x00
00000687: DUP1
00000688: REVERT
00000689: JUMPDEST
0000068a: POP
0000068b: PUSH2 0x0262
0000068e: PUSH1 0x01
00000690: PUSH1 0xa0
00000692: PUSH1 0x02
00000694: EXP
00000695: SUB
00000696: PUSH1 0x04
00000698: CALLDATALOAD
00000699: DUP2
0000069a: AND
0000069b: SWAP1
0000069c: PUSH1 0x24
0000069e: CALLDATALOAD
0000069f: AND
000006a0: PUSH1 0x44
000006a2: CALLDATALOAD
000006a3: PUSH1 0x64
000006a5: CALLDATALOAD
000006a6: PUSH2 0x10c9
000006a9: JUMP
000006aa: JUMPDEST
000006ab: CALLVALUE
000006ac: DUP1
000006ad: ISZERO
000006ae: PUSH2 0x06b6
000006b1: JUMPI
000006b2: PUSH1 0x00
000006b4: DUP1
000006b5: REVERT
000006b6: JUMPDEST
000006b7: POP
000006b8: PUSH1 0x40
000006ba: DUP1
000006bb: MLOAD
000006bc: PUSH1 0x20
000006be: PUSH1 0x04
000006c0: PUSH1 0x44
000006c2: CALLDATALOAD
000006c3: DUP2
000006c4: DUP2
000006c5: ADD
000006c6: CALLDATALOAD
000006c7: PUSH1 0x1f
000006c9: DUP2
000006ca: ADD
000006cb: DUP5
000006cc: SWAP1
000006cd: DIV
000006ce: DUP5
000006cf: MUL
000006d0: DUP6
000006d1: ADD
000006d2: DUP5
000006d3: ADD
000006d4: SWAP1
000006d5: SWAP6
000006d6: MSTORE
000006d7: DUP5
000006d8: DUP5
000006d9: MSTORE
000006da: PUSH2 0x0262
000006dd: SWAP5
000006de: DUP3
000006df: CALLDATALOAD
000006e0: PUSH1 0x01
000006e2: PUSH1 0xa0
000006e4: PUSH1 0x02
000006e6: EXP
000006e7: SUB
000006e8: AND
000006e9: SWAP5
000006ea: PUSH1 0x24
000006ec: DUP1
000006ed: CALLDATALOAD
000006ee: SWAP6
000006ef: CALLDATASIZE
000006f0: SWAP6
000006f1: SWAP5
000006f2: PUSH1 0x64
000006f4: SWAP5
000006f5: SWAP3
000006f6: ADD
000006f7: SWAP2
000006f8: SWAP1
000006f9: DUP2
000006fa: SWAP1
000006fb: DUP5
000006fc: ADD
000006fd: DUP4
000006fe: DUP3
000006ff: DUP1
00000700: DUP3
00000701: DUP5
00000702: CALLDATACOPY
00000703: POP
00000704: SWAP5
00000705: SWAP8
00000706: POP
00000707: PUSH2 0x1112
0000070a: SWAP7
0000070b: POP
0000070c: POP
0000070d: POP
0000070e: POP
0000070f: POP
00000710: POP
00000711: POP
00000712: JUMP
00000713: JUMPDEST
00000714: CALLVALUE
00000715: DUP1
00000716: ISZERO
00000717: PUSH2 0x071f
0000071a: JUMPI
0000071b: PUSH1 0x00
0000071d: DUP1
0000071e: REVERT
0000071f: JUMPDEST
00000720: POP
00000721: PUSH2 0x0290
00000724: PUSH1 0x01
00000726: PUSH1 0xa0
00000728: PUSH1 0x02
0000072a: EXP
0000072b: SUB
0000072c: PUSH1 0x04
0000072e: CALLDATALOAD
0000072f: DUP2
00000730: AND
00000731: SWAP1
00000732: PUSH1 0x01
00000734: PUSH1 0x80
00000736: PUSH1 0x02
00000738: EXP
00000739: SUB
0000073a: PUSH1 0x24
0000073c: CALLDATALOAD
0000073d: AND
0000073e: SWAP1
0000073f: PUSH1 0x44
00000741: CALLDATALOAD
00000742: AND
00000743: PUSH1 0x64
00000745: CALLDATALOAD
00000746: PUSH2 0x12f2
00000749: JUMP
0000074a: JUMPDEST
0000074b: PUSH2 0x0290
0000074e: PUSH1 0x01
00000750: PUSH1 0xa0
00000752: PUSH1 0x02
00000754: EXP
00000755: SUB
00000756: PUSH1 0x04
00000758: CALLDATALOAD
00000759: AND
0000075a: PUSH2 0x146c
0000075d: JUMP
0000075e: JUMPDEST
0000075f: CALLVALUE
00000760: DUP1
00000761: ISZERO
00000762: PUSH2 0x076a
00000765: JUMPI
00000766: PUSH1 0x00
00000768: DUP1
00000769: REVERT
0000076a: JUMPDEST
0000076b: POP
0000076c: PUSH2 0x0338
0000076f: PUSH2 0x14c9
00000772: JUMP
00000773: JUMPDEST
00000774: CALLVALUE
00000775: DUP1
00000776: ISZERO
00000777: PUSH2 0x077f
0000077a: JUMPI
0000077b: PUSH1 0x00
0000077d: DUP1
0000077e: REVERT
0000077f: JUMPDEST
00000780: POP
00000781: PUSH2 0x0338
00000784: PUSH2 0x14d8
00000787: JUMP
00000788: JUMPDEST
00000789: CALLVALUE
0000078a: DUP1
0000078b: ISZERO
0000078c: PUSH2 0x0794
0000078f: JUMPI
00000790: PUSH1 0x00
00000792: DUP1
00000793: REVERT
00000794: JUMPDEST
00000795: POP
00000796: PUSH2 0x07b5
00000799: PUSH1 0x01
0000079b: PUSH1 0xa0
0000079d: PUSH1 0x02
0000079f: EXP
000007a0: SUB
000007a1: PUSH1 0x04
000007a3: CALLDATALOAD
000007a4: DUP2
000007a5: AND
000007a6: SWAP1
000007a7: PUSH1 0x24
000007a9: CALLDATALOAD
000007aa: DUP2
000007ab: AND
000007ac: SWAP1
000007ad: PUSH1 0x44
000007af: CALLDATALOAD
000007b0: AND
000007b1: PUSH2 0x14e7
000007b4: JUMP
000007b5: JUMPDEST
000007b6: PUSH1 0x40
000007b8: MLOAD
000007b9: DUP1
000007ba: DUP3
000007bb: PUSH1 0x80
000007bd: DUP1
000007be: DUP4
000007bf: DUP4
000007c0: PUSH1 0x00
000007c2: JUMPDEST
000007c3: DUP4
000007c4: DUP2
000007c5: LT
000007c6: ISZERO
000007c7: PUSH2 0x07da
000007ca: JUMPI
000007cb: DUP2
000007cc: DUP2
000007cd: ADD
000007ce: MLOAD
000007cf: DUP4
000007d0: DUP3
000007d1: ADD
000007d2: MSTORE
000007d3: PUSH1 0x20
000007d5: ADD
000007d6: PUSH2 0x07c2
000007d9: JUMP
000007da: JUMPDEST
000007db: POP
000007dc: POP
000007dd: POP
000007de: POP
000007df: SWAP1
000007e0: POP
000007e1: ADD
000007e2: SWAP2
000007e3: POP
000007e4: POP
000007e5: PUSH1 0x40
000007e7: MLOAD
000007e8: DUP1
000007e9: SWAP2
000007ea: SUB
000007eb: SWAP1
000007ec: RETURN
000007ed: JUMPDEST
000007ee: CALLVALUE
000007ef: DUP1
000007f0: ISZERO
000007f1: PUSH2 0x07f9
000007f4: JUMPI
000007f5: PUSH1 0x00
000007f7: DUP1
000007f8: REVERT
000007f9: JUMPDEST
000007fa: POP
000007fb: PUSH2 0x0311
000007fe: PUSH1 0x04
00000800: CALLDATALOAD
00000801: PUSH1 0x24
00000803: CALLDATALOAD
00000804: PUSH2 0x153c
00000807: JUMP
00000808: JUMPDEST
00000809: CALLVALUE
0000080a: DUP1
0000080b: ISZERO
0000080c: PUSH2 0x0814
0000080f: JUMPI
00000810: PUSH1 0x00
00000812: DUP1
00000813: REVERT
00000814: JUMPDEST
00000815: POP
00000816: PUSH2 0x0311
00000819: PUSH2 0x1550
0000081c: JUMP
0000081d: JUMPDEST
0000081e: CALLVALUE
0000081f: DUP1
00000820: ISZERO
00000821: PUSH2 0x0829
00000824: JUMPI
00000825: PUSH1 0x00
00000827: DUP1
00000828: REVERT
00000829: JUMPDEST
0000082a: POP
0000082b: PUSH2 0x0262
0000082e: PUSH1 0x01
00000830: PUSH1 0xa0
00000832: PUSH1 0x02
00000834: EXP
00000835: SUB
00000836: PUSH1 0x04
00000838: CALLDATALOAD
00000839: DUP2
0000083a: AND
0000083b: SWAP1
0000083c: PUSH1 0x24
0000083e: CALLDATALOAD
0000083f: AND
00000840: PUSH1 0x44
00000842: CALLDATALOAD
00000843: PUSH1 0x64
00000845: CALLDATALOAD
00000846: PUSH2 0x1556
00000849: JUMP
0000084a: JUMPDEST
0000084b: CALLVALUE
0000084c: DUP1
0000084d: ISZERO
0000084e: PUSH2 0x0856
00000851: JUMPI
00000852: PUSH1 0x00
00000854: DUP1
00000855: REVERT
00000856: JUMPDEST
00000857: POP
00000858: PUSH2 0x0311
0000085b: PUSH1 0x01
0000085d: PUSH1 0xa0
0000085f: PUSH1 0x02
00000861: EXP
00000862: SUB
00000863: PUSH1 0x04
00000865: CALLDATALOAD
00000866: AND
00000867: PUSH2 0x1586
0000086a: JUMP
0000086b: JUMPDEST
0000086c: CALLVALUE
0000086d: DUP1
0000086e: ISZERO
0000086f: PUSH2 0x0877
00000872: JUMPI
00000873: PUSH1 0x00
00000875: DUP1
00000876: REVERT
00000877: JUMPDEST
00000878: POP
00000879: PUSH2 0x0290
0000087c: PUSH1 0x01
0000087e: PUSH1 0xa0
00000880: PUSH1 0x02
00000882: EXP
00000883: SUB
00000884: PUSH1 0x04
00000886: CALLDATALOAD
00000887: AND
00000888: PUSH1 0x01
0000088a: PUSH1 0x80
0000088c: PUSH1 0x02
0000088e: EXP
0000088f: SUB
00000890: PUSH1 0x24
00000892: CALLDATALOAD
00000893: AND
00000894: PUSH2 0x1598
00000897: JUMP
00000898: JUMPDEST
00000899: CALLVALUE
0000089a: DUP1
0000089b: ISZERO
0000089c: PUSH2 0x08a4
0000089f: JUMPI
000008a0: PUSH1 0x00
000008a2: DUP1
000008a3: REVERT
000008a4: JUMPDEST
000008a5: POP
000008a6: PUSH2 0x0262
000008a9: PUSH1 0x01
000008ab: PUSH1 0xa0
000008ad: PUSH1 0x02
000008af: EXP
000008b0: SUB
000008b1: PUSH1 0x04
000008b3: CALLDATALOAD
000008b4: DUP2
000008b5: AND
000008b6: SWAP1
000008b7: PUSH1 0x24
000008b9: CALLDATALOAD
000008ba: AND
000008bb: PUSH1 0x44
000008bd: CALLDATALOAD
000008be: PUSH2 0x16b4
000008c1: JUMP
000008c2: JUMPDEST
000008c3: CALLVALUE
000008c4: DUP1
000008c5: ISZERO
000008c6: PUSH2 0x08ce
000008c9: JUMPI
000008ca: PUSH1 0x00
000008cc: DUP1
000008cd: REVERT
000008ce: JUMPDEST
000008cf: POP
000008d0: PUSH2 0x0311
000008d3: PUSH1 0x01
000008d5: PUSH1 0xa0
000008d7: PUSH1 0x02
000008d9: EXP
000008da: SUB
000008db: PUSH1 0x04
000008dd: CALLDATALOAD
000008de: DUP2
000008df: AND
000008e0: SWAP1
000008e1: PUSH1 0x24
000008e3: CALLDATALOAD
000008e4: AND
000008e5: PUSH2 0x16dd
000008e8: JUMP
000008e9: JUMPDEST
000008ea: CALLVALUE
000008eb: DUP1
000008ec: ISZERO
000008ed: PUSH2 0x08f5
000008f0: JUMPI
000008f1: PUSH1 0x00
000008f3: DUP1
000008f4: REVERT
000008f5: JUMPDEST
000008f6: POP
000008f7: PUSH2 0x0910
000008fa: PUSH1 0x01
000008fc: PUSH1 0xa0
000008fe: PUSH1 0x02
00000900: EXP
00000901: SUB
00000902: PUSH1 0x04
00000904: CALLDATALOAD
00000905: DUP2
00000906: AND
00000907: SWAP1
00000908: PUSH1 0x24
0000090a: CALLDATALOAD
0000090b: AND
0000090c: PUSH2 0x16fa
0000090f: JUMP
00000910: JUMPDEST
00000911: PUSH1 0x40
00000913: DUP1
00000914: MLOAD
00000915: DUP3
00000916: MLOAD
00000917: DUP2
00000918: MSTORE
00000919: SWAP1
0000091a: DUP2
0000091b: SWAP1
0000091c: DUP4
0000091d: SWAP1
0000091e: DUP1
0000091f: DUP4
00000920: DUP4
00000921: PUSH1 0x20
00000923: PUSH2 0x07c2
00000926: JUMP
00000927: JUMPDEST
00000928: CALLVALUE
00000929: DUP1
0000092a: ISZERO
0000092b: PUSH2 0x0933
0000092e: JUMPI
0000092f: PUSH1 0x00
00000931: DUP1
00000932: REVERT
00000933: JUMPDEST
00000934: POP
00000935: PUSH2 0x0262
00000938: PUSH1 0x01
0000093a: PUSH1 0xa0
0000093c: PUSH1 0x02
0000093e: EXP
0000093f: SUB
00000940: PUSH1 0x04
00000942: CALLDATALOAD
00000943: AND
00000944: PUSH1 0x24
00000946: CALLDATALOAD
00000947: PUSH2 0x172f
0000094a: JUMP
0000094b: JUMPDEST
0000094c: CALLVALUE
0000094d: DUP1
0000094e: ISZERO
0000094f: PUSH2 0x0957
00000952: JUMPI
00000953: PUSH1 0x00
00000955: DUP1
00000956: REVERT
00000957: JUMPDEST
00000958: POP
00000959: PUSH2 0x0311
0000095c: PUSH1 0x01
0000095e: PUSH1 0xa0
00000960: PUSH1 0x02
00000962: EXP
00000963: SUB
00000964: PUSH1 0x04
00000966: CALLDATALOAD
00000967: DUP2
00000968: AND
00000969: SWAP1
0000096a: PUSH1 0x24
0000096c: CALLDATALOAD
0000096d: AND
0000096e: PUSH2 0x184d
00000971: JUMP
00000972: JUMPDEST
00000973: CALLVALUE
00000974: DUP1
00000975: ISZERO
00000976: PUSH2 0x097e
00000979: JUMPI
0000097a: PUSH1 0x00
0000097c: DUP1
0000097d: REVERT
0000097e: JUMPDEST
0000097f: POP
00000980: PUSH2 0x0311
00000983: PUSH2 0x1868
00000986: JUMP
00000987: JUMPDEST
00000988: CALLVALUE
00000989: DUP1
0000098a: ISZERO
0000098b: PUSH2 0x0993
0000098e: JUMPI
0000098f: PUSH1 0x00
00000991: DUP1
00000992: REVERT
00000993: JUMPDEST
00000994: POP
00000995: PUSH2 0x0910
00000998: PUSH1 0x01
0000099a: PUSH1 0xa0
0000099c: PUSH1 0x02
0000099e: EXP
0000099f: SUB
000009a0: PUSH1 0x04
000009a2: CALLDATALOAD
000009a3: DUP2
000009a4: AND
000009a5: SWAP1
000009a6: PUSH1 0x24
000009a8: CALLDATALOAD
000009a9: AND
000009aa: PUSH2 0x186e
000009ad: JUMP
000009ae: JUMPDEST
000009af: CALLVALUE
000009b0: DUP1
000009b1: ISZERO
000009b2: PUSH2 0x09ba
000009b5: JUMPI
000009b6: PUSH1 0x00
000009b8: DUP1
000009b9: REVERT
000009ba: JUMPDEST
000009bb: POP
000009bc: PUSH2 0x0311
000009bf: PUSH1 0x04
000009c1: CALLDATALOAD
000009c2: PUSH1 0x24
000009c4: CALLDATALOAD
000009c5: PUSH2 0x18d2
000009c8: JUMP
000009c9: JUMPDEST
000009ca: PUSH2 0x0290
000009cd: PUSH2 0x18fd
000009d0: JUMP
000009d1: JUMPDEST
000009d2: CALLVALUE
000009d3: DUP1
000009d4: ISZERO
000009d5: PUSH2 0x09dd
000009d8: JUMPI
000009d9: PUSH1 0x00
000009db: DUP1
000009dc: REVERT
000009dd: JUMPDEST
000009de: POP
000009df: PUSH1 0x40
000009e1: DUP1
000009e2: MLOAD
000009e3: PUSH1 0x20
000009e5: PUSH1 0x1f
000009e7: PUSH1 0x64
000009e9: CALLDATALOAD
000009ea: PUSH1 0x04
000009ec: DUP2
000009ed: DUP2
000009ee: ADD
000009ef: CALLDATALOAD
000009f0: SWAP3
000009f1: DUP4
000009f2: ADD
000009f3: DUP5
000009f4: SWAP1
000009f5: DIV
000009f6: DUP5
000009f7: MUL
000009f8: DUP6
000009f9: ADD
000009fa: DUP5
000009fb: ADD
000009fc: SWAP1
000009fd: SWAP6
000009fe: MSTORE
000009ff: DUP2
00000a00: DUP5
00000a01: MSTORE
00000a02: PUSH2 0x0262
00000a05: SWAP5
00000a06: PUSH1 0x01
00000a08: PUSH1 0xa0
00000a0a: PUSH1 0x02
00000a0c: EXP
00000a0d: SUB
00000a0e: DUP2
00000a0f: CALLDATALOAD
00000a10: DUP2
00000a11: AND
00000a12: SWAP6
00000a13: PUSH1 0x24
00000a15: DUP1
00000a16: CALLDATALOAD
00000a17: SWAP7
00000a18: PUSH1 0x44
00000a1a: CALLDATALOAD
00000a1b: SWAP1
00000a1c: SWAP4
00000a1d: AND
00000a1e: SWAP6
00000a1f: CALLDATASIZE
00000a20: SWAP6
00000a21: PUSH1 0x84
00000a23: SWAP5
00000a24: SWAP3
00000a25: ADD
00000a26: SWAP2
00000a27: DUP2
00000a28: SWAP1
00000a29: DUP5
00000a2a: ADD
00000a2b: DUP4
00000a2c: DUP3
00000a2d: DUP1
00000a2e: DUP3
00000a2f: DUP5
00000a30: CALLDATACOPY
00000a31: POP
00000a32: SWAP5
00000a33: SWAP8
00000a34: POP
00000a35: POP
00000a36: DUP5
00000a37: CALLDATALOAD
00000a38: SWAP6
00000a39: POP
00000a3a: POP
00000a3b: POP
00000a3c: POP
00000a3d: PUSH1 0x20
00000a3f: DUP3
00000a40: ADD
00000a41: CALLDATALOAD
00000a42: PUSH1 0xff
00000a44: AND
00000a45: SWAP2
00000a46: PUSH1 0x40
00000a48: DUP2
00000a49: ADD
00000a4a: CALLDATALOAD
00000a4b: SWAP2
00000a4c: POP
00000a4d: PUSH1 0x60
00000a4f: DUP2
00000a50: ADD
00000a51: CALLDATALOAD
00000a52: SWAP1
00000a53: PUSH1 0x80
00000a55: ADD
00000a56: CALLDATALOAD
00000a57: PUSH2 0x1979
00000a5a: JUMP
00000a5b: JUMPDEST
00000a5c: CALLVALUE
00000a5d: DUP1
00000a5e: ISZERO
00000a5f: PUSH2 0x0a67
00000a62: JUMPI
00000a63: PUSH1 0x00
00000a65: DUP1
00000a66: REVERT
00000a67: JUMPDEST
00000a68: POP
00000a69: PUSH2 0x0262
00000a6c: PUSH1 0x01
00000a6e: PUSH1 0xa0
00000a70: PUSH1 0x02
00000a72: EXP
00000a73: SUB
00000a74: PUSH1 0x04
00000a76: CALLDATALOAD
00000a77: DUP2
00000a78: AND
00000a79: SWAP1
00000a7a: PUSH1 0x24
00000a7c: CALLDATALOAD
00000a7d: SWAP1
00000a7e: PUSH1 0x44
00000a80: CALLDATALOAD
00000a81: AND
00000a82: PUSH1 0x64
00000a84: CALLDATALOAD
00000a85: PUSH1 0xff
00000a87: PUSH1 0x84
00000a89: CALLDATALOAD
00000a8a: AND
00000a8b: PUSH1 0xa4
00000a8d: CALLDATALOAD
00000a8e: PUSH1 0xc4
00000a90: CALLDATALOAD
00000a91: PUSH1 0xe4
00000a93: CALLDATALOAD
00000a94: PUSH2 0x1d88
00000a97: JUMP
00000a98: JUMPDEST
00000a99: CALLVALUE
00000a9a: DUP1
00000a9b: ISZERO
00000a9c: PUSH2 0x0aa4
00000a9f: JUMPI
00000aa0: PUSH1 0x00
00000aa2: DUP1
00000aa3: REVERT
00000aa4: JUMPDEST
00000aa5: POP
00000aa6: PUSH2 0x0262
00000aa9: PUSH1 0x04
00000aab: CALLDATALOAD
00000aac: PUSH2 0x20ac
00000aaf: JUMP
00000ab0: JUMPDEST
00000ab1: CALLVALUE
00000ab2: DUP1
00000ab3: ISZERO
00000ab4: PUSH2 0x0abc
00000ab7: JUMPI
00000ab8: PUSH1 0x00
00000aba: DUP1
00000abb: REVERT
00000abc: JUMPDEST
00000abd: POP
00000abe: PUSH2 0x0311
00000ac1: PUSH1 0x04
00000ac3: CALLDATALOAD
00000ac4: PUSH1 0x24
00000ac6: CALLDATALOAD
00000ac7: PUSH2 0x2114
00000aca: JUMP
00000acb: JUMPDEST
00000acc: CALLVALUE
00000acd: DUP1
00000ace: ISZERO
00000acf: PUSH2 0x0ad7
00000ad2: JUMPI
00000ad3: PUSH1 0x00
00000ad5: DUP1
00000ad6: REVERT
00000ad7: JUMPDEST
00000ad8: POP
00000ad9: PUSH2 0x0311
00000adc: PUSH2 0x2130
00000adf: JUMP
00000ae0: JUMPDEST
00000ae1: CALLVALUE
00000ae2: DUP1
00000ae3: ISZERO
00000ae4: PUSH2 0x0aec
00000ae7: JUMPI
00000ae8: PUSH1 0x00
00000aea: DUP1
00000aeb: REVERT
00000aec: JUMPDEST
00000aed: POP
00000aee: PUSH2 0x0262
00000af1: PUSH1 0x01
00000af3: PUSH1 0xa0
00000af5: PUSH1 0x02
00000af7: EXP
00000af8: SUB
00000af9: PUSH1 0x04
00000afb: CALLDATALOAD
00000afc: AND
00000afd: PUSH1 0x24
00000aff: CALLDATALOAD
00000b00: PUSH2 0x2136
00000b03: JUMP
00000b04: JUMPDEST
00000b05: CALLVALUE
00000b06: DUP1
00000b07: ISZERO
00000b08: PUSH2 0x0b10
00000b0b: JUMPI
00000b0c: PUSH1 0x00
00000b0e: DUP1
00000b0f: REVERT
00000b10: JUMPDEST
00000b11: POP
00000b12: PUSH2 0x0311
00000b15: PUSH1 0x01
00000b17: PUSH1 0xa0
00000b19: PUSH1 0x02
00000b1b: EXP
00000b1c: SUB
00000b1d: PUSH1 0x04
00000b1f: CALLDATALOAD
00000b20: DUP2
00000b21: AND
00000b22: SWAP1
00000b23: PUSH1 0x24
00000b25: CALLDATALOAD
00000b26: AND
00000b27: PUSH2 0x2290
00000b2a: JUMP
00000b2b: JUMPDEST
00000b2c: CALLVALUE
00000b2d: DUP1
00000b2e: ISZERO
00000b2f: PUSH2 0x0b37
00000b32: JUMPI
00000b33: PUSH1 0x00
00000b35: DUP1
00000b36: REVERT
00000b37: JUMPDEST
00000b38: POP
00000b39: PUSH2 0x0338
00000b3c: PUSH2 0x22a3
00000b3f: JUMP
00000b40: JUMPDEST
00000b41: PUSH1 0x02
00000b43: PUSH1 0x20
00000b45: MSTORE
00000b46: PUSH1 0x00
00000b48: SWAP1
00000b49: DUP2
00000b4a: MSTORE
00000b4b: PUSH1 0x40
00000b4d: SWAP1
00000b4e: KECCAK256
00000b4f: SLOAD
00000b50: PUSH1 0xff
00000b52: AND
00000b53: DUP2
00000b54: JUMP
00000b55: JUMPDEST
00000b56: DUP1
00000b57: ISZERO
00000b58: ISZERO
00000b59: PUSH2 0x0b61
00000b5c: JUMPI
00000b5d: PUSH1 0x00
00000b5f: DUP1
00000b60: REVERT
00000b61: JUMPDEST
00000b62: POP
00000b63: JUMP
00000b64: JUMPDEST
00000b65: PUSH2 0x0b78
00000b68: DUP4
00000b69: DUP3
00000b6a: DUP5
00000b6b: PUSH1 0x01
00000b6d: PUSH1 0x80
00000b6f: PUSH1 0x02
00000b71: EXP
00000b72: SUB
00000b73: AND
00000b74: PUSH2 0x22b2
00000b77: JUMP
00000b78: JUMPDEST
00000b79: PUSH1 0x40
00000b7b: DUP1
00000b7c: MLOAD
00000b7d: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000
00000b9e: DUP2
00000b9f: MSTORE
00000ba0: CALLER
00000ba1: PUSH1 0x04
00000ba3: DUP3
00000ba4: ADD
00000ba5: MSTORE
00000ba6: ADDRESS
00000ba7: PUSH1 0x24
00000ba9: DUP3
00000baa: ADD
00000bab: MSTORE
00000bac: PUSH1 0x01
00000bae: PUSH1 0x80
00000bb0: PUSH1 0x02
00000bb2: EXP
00000bb3: SUB
00000bb4: DUP5
00000bb5: AND
00000bb6: PUSH1 0x44
00000bb8: DUP3
00000bb9: ADD
00000bba: MSTORE
00000bbb: SWAP1
00000bbc: MLOAD
00000bbd: PUSH1 0x01
00000bbf: PUSH1 0xa0
00000bc1: PUSH1 0x02
00000bc3: EXP
00000bc4: SUB
00000bc5: DUP6
00000bc6: AND
00000bc7: SWAP2
00000bc8: PUSH4 0x23b872dd
00000bcd: SWAP2
00000bce: PUSH1 0x64
00000bd0: DUP1
00000bd1: DUP4
00000bd2: ADD
00000bd3: SWAP3
00000bd4: PUSH1 0x20
00000bd6: SWAP3
00000bd7: SWAP2
00000bd8: SWAP1
00000bd9: DUP3
00000bda: SWAP1
00000bdb: SUB
00000bdc: ADD
00000bdd: DUP2
00000bde: PUSH1 0x00
00000be0: DUP8
00000be1: DUP1
00000be2: EXTCODESIZE
00000be3: ISZERO
00000be4: DUP1
00000be5: ISZERO
00000be6: PUSH2 0x0bee
00000be9: JUMPI
00000bea: PUSH1 0x00
00000bec: DUP1
00000bed: REVERT
00000bee: JUMPDEST
00000bef: POP
00000bf0: GAS
00000bf1: CALL
00000bf2: ISZERO
00000bf3: DUP1
00000bf4: ISZERO
00000bf5: PUSH2 0x0c02
00000bf8: JUMPI
00000bf9: RETURNDATASIZE
00000bfa: PUSH1 0x00
00000bfc: DUP1
00000bfd: RETURNDATACOPY
00000bfe: RETURNDATASIZE
00000bff: PUSH1 0x00
00000c01: REVERT
00000c02: JUMPDEST
00000c03: POP
00000c04: POP
00000c05: POP
00000c06: POP
00000c07: PUSH1 0x40
00000c09: MLOAD
00000c0a: RETURNDATASIZE
00000c0b: PUSH1 0x20
00000c0d: DUP2
00000c0e: LT
00000c0f: ISZERO
00000c10: PUSH2 0x0c18
00000c13: JUMPI
00000c14: PUSH1 0x00
00000c16: DUP1
00000c17: REVERT
00000c18: JUMPDEST
00000c19: POP
00000c1a: MLOAD
00000c1b: ISZERO
00000c1c: ISZERO
00000c1d: PUSH2 0x0c25
00000c20: JUMPI
00000c21: PUSH1 0x00
00000c23: DUP1
00000c24: REVERT
00000c25: JUMPDEST
00000c26: DUP1
00000c27: PUSH1 0x01
00000c29: PUSH1 0xa0
00000c2b: PUSH1 0x02
00000c2d: EXP
00000c2e: SUB
00000c2f: AND
00000c30: DUP4
00000c31: PUSH1 0x01
00000c33: PUSH1 0xa0
00000c35: PUSH1 0x02
00000c37: EXP
00000c38: SUB
00000c39: AND
00000c3a: PUSH1 0x00
00000c3c: DUP1
00000c3d: MLOAD
00000c3e: PUSH1 0x20
00000c40: PUSH2 0x2425
00000c43: DUP4
00000c44: CODECOPY
00000c45: DUP2
00000c46: MLOAD
00000c47: SWAP2
00000c48: MSTORE
00000c49: DUP5
00000c4a: PUSH2 0x0c53
00000c4d: DUP8
00000c4e: DUP7
00000c4f: PUSH2 0x2290
00000c52: JUMP
00000c53: JUMPDEST
00000c54: PUSH1 0x40
00000c56: DUP1
00000c57: MLOAD
00000c58: PUSH1 0x01
00000c5a: PUSH1 0x80
00000c5c: PUSH1 0x02
00000c5e: EXP
00000c5f: SUB
00000c60: SWAP1
00000c61: SWAP4
00000c62: AND
00000c63: DUP4
00000c64: MSTORE
00000c65: PUSH1 0x20
00000c67: DUP4
00000c68: ADD
00000c69: SWAP2
00000c6a: SWAP1
00000c6b: SWAP2
00000c6c: MSTORE
00000c6d: DUP1
00000c6e: MLOAD
00000c6f: SWAP2
00000c70: DUP3
00000c71: SWAP1
00000c72: SUB
00000c73: ADD
00000c74: SWAP1
00000c75: LOG3
00000c76: POP
00000c77: POP
00000c78: POP
00000c79: JUMP
00000c7a: JUMPDEST
00000c7b: PUSH1 0x00
00000c7d: DUP1
00000c7e: SLOAD
00000c7f: PUSH2 0x0c92
00000c82: SWAP1
00000c83: PUSH1 0x01
00000c85: PUSH1 0xa0
00000c87: PUSH1 0x02
00000c89: EXP
00000c8a: SUB
00000c8b: AND
00000c8c: CALLER
00000c8d: EQ
00000c8e: PUSH2 0x0b55
00000c91: JUMP
00000c92: JUMPDEST
00000c93: PUSH1 0x09
00000c95: SLOAD
00000c96: PUSH1 0xff
00000c98: AND
00000c99: ISZERO
00000c9a: PUSH2 0x0ca2
00000c9d: JUMPI
00000c9e: PUSH1 0x00
00000ca0: DUP1
00000ca1: REVERT
00000ca2: JUMPDEST
00000ca3: POP
00000ca4: NUMBER
00000ca5: PUSH1 0x0b
00000ca7: SSTORE
00000ca8: PUSH1 0x01
00000caa: SWAP1
00000cab: JUMP
00000cac: JUMPDEST
00000cad: PUSH1 0x00
00000caf: SLOAD
00000cb0: PUSH2 0x0cc3
00000cb3: SWAP1
00000cb4: PUSH1 0x01
00000cb6: PUSH1 0xa0
00000cb8: PUSH1 0x02
00000cba: EXP
00000cbb: SUB
00000cbc: AND
00000cbd: CALLER
00000cbe: EQ
00000cbf: PUSH2 0x0b55
00000cc2: JUMP
00000cc3: JUMPDEST
00000cc4: PUSH1 0x00
00000cc6: DUP1
00000cc7: SLOAD
00000cc8: PUSH1 0x40
00000cca: MLOAD
00000ccb: PUSH1 0x01
00000ccd: PUSH1 0xa0
00000ccf: PUSH1 0x02
00000cd1: EXP
00000cd2: SUB
00000cd3: DUP1
00000cd4: DUP6
00000cd5: AND
00000cd6: SWAP4
00000cd7: SWAP3
00000cd8: AND
00000cd9: SWAP2
00000cda: PUSH32 0xcbf985117192c8f614a58aaf97226bb80a754772f5f6edf06f87c675f2e6c663
00000cfb: SWAP2
00000cfc: LOG3
00000cfd: PUSH1 0x00
00000cff: DUP1
00000d00: SLOAD
00000d01: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d16: NOT
00000d17: AND
00000d18: PUSH1 0x01
00000d1a: PUSH1 0xa0
00000d1c: PUSH1 0x02
00000d1e: EXP
00000d1f: SUB
00000d20: SWAP3
00000d21: SWAP1
00000d22: SWAP3
00000d23: AND
00000d24: SWAP2
00000d25: SWAP1
00000d26: SWAP2
00000d27: OR
00000d28: SWAP1
00000d29: SSTORE
00000d2a: JUMP
00000d2b: JUMPDEST
00000d2c: PUSH1 0x0b
00000d2e: SLOAD
00000d2f: DUP2
00000d30: JUMP
00000d31: JUMPDEST
00000d32: PUSH1 0x05
00000d34: SLOAD
00000d35: PUSH1 0x01
00000d37: PUSH1 0xa0
00000d39: PUSH1 0x02
00000d3b: EXP
00000d3c: SUB
00000d3d: AND
00000d3e: DUP2
00000d3f: JUMP
00000d40: JUMPDEST
00000d41: CALLER
00000d42: PUSH1 0x00
00000d44: SWAP1
00000d45: DUP2
00000d46: MSTORE
00000d47: PUSH1 0x02
00000d49: PUSH1 0x20
00000d4b: MSTORE
00000d4c: PUSH1 0x40
00000d4e: DUP2
00000d4f: KECCAK256
00000d50: SLOAD
00000d51: PUSH1 0xff
00000d53: AND
00000d54: ISZERO
00000d55: ISZERO
00000d56: PUSH2 0x0d5e
00000d59: JUMPI
00000d5a: PUSH1 0x00
00000d5c: DUP1
00000d5d: REVERT
00000d5e: JUMPDEST
00000d5f: DUP3
00000d60: PUSH2 0x0d69
00000d63: DUP7
00000d64: DUP7
00000d65: PUSH2 0x2290
00000d68: JUMP
00000d69: JUMPDEST
00000d6a: LT
00000d6b: ISZERO
00000d6c: PUSH2 0x0d77
00000d6f: JUMPI
00000d70: POP
00000d71: PUSH1 0x00
00000d73: PUSH2 0x0dab
00000d76: JUMP
00000d77: JUMPDEST
00000d78: PUSH2 0x0da7
00000d7b: DUP6
00000d7c: DUP6
00000d7d: PUSH2 0x0d8f
00000d80: PUSH2 0x0d89
00000d83: DUP10
00000d84: DUP10
00000d85: PUSH2 0x2290
00000d88: JUMP
00000d89: JUMPDEST
00000d8a: DUP8
00000d8b: PUSH2 0x153c
00000d8e: JUMP
00000d8f: JUMPDEST
00000d90: PUSH2 0x0da2
00000d93: PUSH2 0x0d9c
00000d96: DUP11
00000d97: DUP11
00000d98: PUSH2 0x184d
00000d9b: JUMP
00000d9c: JUMPDEST
00000d9d: DUP8
00000d9e: PUSH2 0x2114
00000da1: JUMP
00000da2: JUMPDEST
00000da3: PUSH2 0x22d5
00000da6: JUMP
00000da7: JUMPDEST
00000da8: POP
00000da9: PUSH1 0x01
00000dab: JUMPDEST
00000dac: SWAP5
00000dad: SWAP4
00000dae: POP
00000daf: POP
00000db0: POP
00000db1: POP
00000db2: JUMP
00000db3: JUMPDEST
00000db4: PUSH1 0x00
00000db6: SLOAD
00000db7: PUSH2 0x0dca
00000dba: SWAP1
00000dbb: PUSH1 0x01
00000dbd: PUSH1 0xa0
00000dbf: PUSH1 0x02
00000dc1: EXP
00000dc2: SUB
00000dc3: AND
00000dc4: CALLER
00000dc5: EQ
00000dc6: PUSH2 0x0b55
00000dc9: JUMP
00000dca: JUMPDEST
00000dcb: PUSH1 0x06
00000dcd: SLOAD
00000dce: PUSH1 0x01
00000dd0: PUSH1 0xa0
00000dd2: PUSH1 0x02
00000dd4: EXP
00000dd5: SUB
00000dd6: AND
00000dd7: ISZERO
00000dd8: ISZERO
00000dd9: PUSH2 0x0e09
00000ddc: JUMPI
00000ddd: PUSH1 0x06
00000ddf: DUP1
00000de0: SLOAD
00000de1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000df6: NOT
00000df7: AND
00000df8: PUSH1 0x01
00000dfa: PUSH1 0xa0
00000dfc: PUSH1 0x02
00000dfe: EXP
00000dff: SUB
00000e00: DUP5
00000e01: AND
00000e02: OR
00000e03: SWAP1
00000e04: SSTORE
00000e05: PUSH2 0x0e0e
00000e08: JUMP
00000e09: JUMPDEST
00000e0a: PUSH1 0x00
00000e0c: DUP1
00000e0d: REVERT
00000e0e: JUMPDEST
00000e0f: PUSH1 0x01
00000e11: PUSH1 0xa0
00000e13: PUSH1 0x02
00000e15: EXP
00000e16: SUB
00000e17: DUP3
00000e18: AND
00000e19: PUSH1 0x00
00000e1b: DUP2
00000e1c: DUP2
00000e1d: MSTORE
00000e1e: PUSH1 0x02
00000e20: PUSH1 0x20
00000e22: SWAP1
00000e23: DUP2
00000e24: MSTORE
00000e25: PUSH1 0x40
00000e27: SWAP2
00000e28: DUP3
00000e29: SWAP1
00000e2a: KECCAK256
00000e2b: DUP1
00000e2c: SLOAD
00000e2d: PUSH1 0xff
00000e2f: NOT
00000e30: AND
00000e31: DUP6
00000e32: ISZERO
00000e33: ISZERO
00000e34: SWAP1
00000e35: DUP2
00000e36: OR
00000e37: SWAP1
00000e38: SWAP2
00000e39: SSTORE
00000e3a: DUP3
00000e3b: MLOAD
00000e3c: SWAP4
00000e3d: DUP5
00000e3e: MSTORE
00000e3f: SWAP1
00000e40: DUP4
00000e41: ADD
00000e42: MSTORE
00000e43: DUP1
00000e44: MLOAD
00000e45: PUSH32 0xd52650aadc7286c5cbc5259bdddd3d967821bd6bfd78babe1d68ba30a0474367
00000e66: SWAP3
00000e67: DUP2
00000e68: SWAP1
00000e69: SUB
00000e6a: SWAP1
00000e6b: SWAP2
00000e6c: ADD
00000e6d: SWAP1
00000e6e: LOG1
00000e6f: POP
00000e70: POP
00000e71: JUMP
00000e72: JUMPDEST
00000e73: PUSH1 0x00
00000e75: PUSH2 0x0e90
00000e78: PUSH2 0x0e81
00000e7b: DUP5
00000e7c: DUP5
00000e7d: PUSH2 0x2290
00000e80: JUMP
00000e81: JUMPDEST
00000e82: PUSH2 0x0e8b
00000e85: DUP6
00000e86: DUP6
00000e87: PUSH2 0x184d
00000e8a: JUMP
00000e8b: JUMPDEST
00000e8c: PUSH2 0x153c
00000e8f: JUMP
00000e90: JUMPDEST
00000e91: SWAP1
00000e92: POP
00000e93: JUMPDEST
00000e94: SWAP3
00000e95: SWAP2
00000e96: POP
00000e97: POP
00000e98: JUMP
00000e99: JUMPDEST
00000e9a: PUSH1 0x09
00000e9c: SLOAD
00000e9d: PUSH1 0xff
00000e9f: AND
00000ea0: DUP2
00000ea1: JUMP
00000ea2: JUMPDEST
00000ea3: PUSH1 0x08
00000ea5: PUSH1 0x20
00000ea7: MSTORE
00000ea8: PUSH1 0x00
00000eaa: SWAP1
00000eab: DUP2
00000eac: MSTORE
00000ead: PUSH1 0x40
00000eaf: SWAP1
00000eb0: KECCAK256
00000eb1: SLOAD
00000eb2: PUSH1 0xff
00000eb4: AND
00000eb5: DUP2
00000eb6: JUMP
00000eb7: JUMPDEST
00000eb8: CALLER
00000eb9: PUSH1 0x00
00000ebb: SWAP1
00000ebc: DUP2
00000ebd: MSTORE
00000ebe: PUSH1 0x02
00000ec0: PUSH1 0x20
00000ec2: MSTORE
00000ec3: PUSH1 0x40
00000ec5: DUP2
00000ec6: KECCAK256
00000ec7: SLOAD
00000ec8: PUSH1 0xff
00000eca: AND
00000ecb: ISZERO
00000ecc: ISZERO
00000ecd: PUSH2 0x0ed5
00000ed0: JUMPI
00000ed1: PUSH1 0x00
00000ed3: DUP1
00000ed4: REVERT
00000ed5: JUMPDEST
00000ed6: PUSH2 0x0ee0
00000ed9: DUP5
00000eda: DUP5
00000edb: DUP5
00000edc: PUSH2 0x2319
00000edf: JUMP
00000ee0: JUMPDEST
00000ee1: POP
00000ee2: PUSH1 0x01
00000ee4: SWAP4
00000ee5: SWAP3
00000ee6: POP
00000ee7: POP
00000ee8: POP
00000ee9: JUMP
00000eea: JUMPDEST
00000eeb: PUSH1 0x00
00000eed: DUP1
00000eee: SLOAD
00000eef: PUSH1 0x01
00000ef1: PUSH1 0xa0
00000ef3: PUSH1 0x02
00000ef5: EXP
00000ef6: SUB
00000ef7: AND
00000ef8: CALLER
00000ef9: EQ
00000efa: DUP1
00000efb: ISZERO
00000efc: SWAP1
00000efd: PUSH2 0x0f16
00000f00: JUMPI
00000f01: POP
00000f02: CALLER
00000f03: PUSH1 0x00
00000f05: SWAP1
00000f06: DUP2
00000f07: MSTORE
00000f08: PUSH1 0x01
00000f0a: PUSH1 0x20
00000f0c: MSTORE
00000f0d: PUSH1 0x40
00000f0f: SWAP1
00000f10: KECCAK256
00000f11: SLOAD
00000f12: PUSH1 0xff
00000f14: AND
00000f15: ISZERO
00000f16: JUMPDEST
00000f17: ISZERO
00000f18: PUSH2 0x0f20
00000f1b: JUMPI
00000f1c: PUSH1 0x00
00000f1e: DUP1
00000f1f: REVERT
00000f20: JUMPDEST
00000f21: POP
00000f22: PUSH1 0x00
00000f24: JUMPDEST
00000f25: DUP8
00000f26: MLOAD
00000f27: DUP2
00000f28: LT
00000f29: ISZERO
00000f2a: PUSH2 0x0ffe
00000f2d: JUMPI
00000f2e: PUSH2 0x0ff5
00000f31: DUP10
00000f32: DUP3
00000f33: DUP2
00000f34: MLOAD
00000f35: DUP2
00000f36: LT
00000f37: ISZERO
00000f38: ISZERO
00000f39: PUSH2 0x0f3e
00000f3c: JUMPI
00000f3d: INVALID
00000f3e: JUMPDEST
00000f3f: SWAP1
00000f40: PUSH1 0x20
00000f42: ADD
00000f43: SWAP1
00000f44: PUSH1 0x20
00000f46: MUL
00000f47: ADD
00000f48: MLOAD
00000f49: DUP10
00000f4a: DUP4
00000f4b: DUP2
00000f4c: MLOAD
00000f4d: DUP2
00000f4e: LT
00000f4f: ISZERO
00000f50: ISZERO
00000f51: PUSH2 0x0f56
00000f54: JUMPI
00000f55: INVALID
00000f56: JUMPDEST
00000f57: SWAP1
00000f58: PUSH1 0x20
00000f5a: ADD
00000f5b: SWAP1
00000f5c: PUSH1 0x20
00000f5e: MUL
00000f5f: ADD
00000f60: MLOAD
00000f61: DUP10
00000f62: DUP5
00000f63: DUP2
00000f64: MLOAD
00000f65: DUP2
00000f66: LT
00000f67: ISZERO
00000f68: ISZERO
00000f69: PUSH2 0x0f6e
00000f6c: JUMPI
00000f6d: INVALID
00000f6e: JUMPDEST
00000f6f: SWAP1
00000f70: PUSH1 0x20
00000f72: ADD
00000f73: SWAP1
00000f74: PUSH1 0x20
00000f76: MUL
00000f77: ADD
00000f78: MLOAD
00000f79: DUP10
00000f7a: DUP6
00000f7b: DUP2
00000f7c: MLOAD
00000f7d: DUP2
00000f7e: LT
00000f7f: ISZERO
00000f80: ISZERO
00000f81: PUSH2 0x0f86
00000f84: JUMPI
00000f85: INVALID
00000f86: JUMPDEST
00000f87: SWAP1
00000f88: PUSH1 0x20
00000f8a: ADD
00000f8b: SWAP1
00000f8c: PUSH1 0x20
00000f8e: MUL
00000f8f: ADD
00000f90: MLOAD
00000f91: DUP10
00000f92: DUP7
00000f93: DUP2
00000f94: MLOAD
00000f95: DUP2
00000f96: LT
00000f97: ISZERO
00000f98: ISZERO
00000f99: PUSH2 0x0f9e
00000f9c: JUMPI
00000f9d: INVALID
00000f9e: JUMPDEST
00000f9f: SWAP1
00000fa0: PUSH1 0x20
00000fa2: ADD
00000fa3: SWAP1
00000fa4: PUSH1 0x20
00000fa6: MUL
00000fa7: ADD
00000fa8: MLOAD
00000fa9: DUP10
00000faa: DUP8
00000fab: DUP2
00000fac: MLOAD
00000fad: DUP2
00000fae: LT
00000faf: ISZERO
00000fb0: ISZERO
00000fb1: PUSH2 0x0fb6
00000fb4: JUMPI
00000fb5: INVALID
00000fb6: JUMPDEST
00000fb7: SWAP1
00000fb8: PUSH1 0x20
00000fba: ADD
00000fbb: SWAP1
00000fbc: PUSH1 0x20
00000fbe: MUL
00000fbf: ADD
00000fc0: MLOAD
00000fc1: DUP10
00000fc2: DUP9
00000fc3: DUP2
00000fc4: MLOAD
00000fc5: DUP2
00000fc6: LT
00000fc7: ISZERO
00000fc8: ISZERO
00000fc9: PUSH2 0x0fce
00000fcc: JUMPI
00000fcd: INVALID
00000fce: JUMPDEST
00000fcf: SWAP1
00000fd0: PUSH1 0x20
00000fd2: ADD
00000fd3: SWAP1
00000fd4: PUSH1 0x20
00000fd6: MUL
00000fd7: ADD
00000fd8: MLOAD
00000fd9: DUP10
00000fda: DUP10
00000fdb: DUP2
00000fdc: MLOAD
00000fdd: DUP2
00000fde: LT
00000fdf: ISZERO
00000fe0: ISZERO
00000fe1: PUSH2 0x0fe6
00000fe4: JUMPI
00000fe5: INVALID
00000fe6: JUMPDEST
00000fe7: SWAP1
00000fe8: PUSH1 0x20
00000fea: ADD
00000feb: SWAP1
00000fec: PUSH1 0x20
00000fee: MUL
00000fef: ADD
00000ff0: MLOAD
00000ff1: PUSH2 0x1d88
00000ff4: JUMP
00000ff5: JUMPDEST
00000ff6: POP
00000ff7: PUSH1 0x01
00000ff9: ADD
00000ffa: PUSH2 0x0f24
00000ffd: JUMP
00000ffe: JUMPDEST
00000fff: POP
00001000: POP
00001001: POP
00001002: POP
00001003: POP
00001004: POP
00001005: POP
00001006: POP
00001007: POP
00001008: JUMP
00001009: JUMPDEST
0000100a: PUSH1 0x01
0000100c: PUSH1 0x20
0000100e: MSTORE
0000100f: PUSH1 0x00
00001011: SWAP1
00001012: DUP2
00001013: MSTORE
00001014: PUSH1 0x40
00001016: SWAP1
00001017: KECCAK256
00001018: SLOAD
00001019: PUSH1 0xff
0000101b: AND
0000101c: DUP2
0000101d: JUMP
0000101e: JUMPDEST
0000101f: PUSH1 0x00
00001021: SLOAD
00001022: PUSH2 0x1035
00001025: SWAP1
00001026: PUSH1 0x01
00001028: PUSH1 0xa0
0000102a: PUSH1 0x02
0000102c: EXP
0000102d: SUB
0000102e: AND
0000102f: CALLER
00001030: EQ
00001031: PUSH2 0x0b55
00001034: JUMP
00001035: JUMPDEST
00001036: PUSH1 0x01
00001038: PUSH1 0xa0
0000103a: PUSH1 0x02
0000103c: EXP
0000103d: SUB
0000103e: SWAP2
0000103f: SWAP1
00001040: SWAP2
00001041: AND
00001042: PUSH1 0x00
00001044: SWAP1
00001045: DUP2
00001046: MSTORE
00001047: PUSH1 0x01
00001049: PUSH1 0x20
0000104b: MSTORE
0000104c: PUSH1 0x40
0000104e: SWAP1
0000104f: KECCAK256
00001050: DUP1
00001051: SLOAD
00001052: PUSH1 0xff
00001054: NOT
00001055: AND
00001056: SWAP2
00001057: ISZERO
00001058: ISZERO
00001059: SWAP2
0000105a: SWAP1
0000105b: SWAP2
0000105c: OR
0000105d: SWAP1
0000105e: SSTORE
0000105f: JUMP
00001060: JUMPDEST
00001061: CALLER
00001062: PUSH1 0x00
00001064: SWAP1
00001065: DUP2
00001066: MSTORE
00001067: PUSH1 0x02
00001069: PUSH1 0x20
0000106b: MSTORE
0000106c: PUSH1 0x40
0000106e: DUP2
0000106f: KECCAK256
00001070: SLOAD
00001071: PUSH1 0xff
00001073: AND
00001074: ISZERO
00001075: ISZERO
00001076: PUSH2 0x107e
00001079: JUMPI
0000107a: PUSH1 0x00
0000107c: DUP1
0000107d: REVERT
0000107e: JUMPDEST
0000107f: DUP3
00001080: PUSH2 0x1089
00001083: DUP7
00001084: DUP7
00001085: PUSH2 0x2290
00001088: JUMP
00001089: JUMPDEST
0000108a: LT
0000108b: DUP1
0000108c: PUSH2 0x109d
0000108f: JUMPI
00001090: POP
00001091: DUP2
00001092: PUSH2 0x109b
00001095: DUP7
00001096: DUP7
00001097: PUSH2 0x184d
0000109a: JUMP
0000109b: JUMPDEST
0000109c: LT
0000109d: JUMPDEST
0000109e: ISZERO
0000109f: PUSH2 0x10aa
000010a2: JUMPI
000010a3: POP
000010a4: PUSH1 0x00
000010a6: PUSH2 0x0dab
000010a9: JUMP
000010aa: JUMPDEST
000010ab: PUSH2 0x0da7
000010ae: DUP6
000010af: DUP6
000010b0: PUSH2 0x10bc
000010b3: PUSH2 0x0d89
000010b6: DUP10
000010b7: DUP10
000010b8: PUSH2 0x2290
000010bb: JUMP
000010bc: JUMPDEST
000010bd: PUSH2 0x0da2
000010c0: PUSH2 0x0d89
000010c3: DUP11
000010c4: DUP11
000010c5: PUSH2 0x184d
000010c8: JUMP
000010c9: JUMPDEST
000010ca: CALLER
000010cb: PUSH1 0x00
000010cd: SWAP1
000010ce: DUP2
000010cf: MSTORE
000010d0: PUSH1 0x02
000010d2: PUSH1 0x20
000010d4: MSTORE
000010d5: PUSH1 0x40
000010d7: DUP2
000010d8: KECCAK256
000010d9: SLOAD
000010da: PUSH1 0xff
000010dc: AND
000010dd: ISZERO
000010de: ISZERO
000010df: PUSH2 0x10e7
000010e2: JUMPI
000010e3: PUSH1 0x00
000010e5: DUP1
000010e6: REVERT
000010e7: JUMPDEST
000010e8: DUP2
000010e9: PUSH2 0x10f2
000010ec: DUP7
000010ed: DUP7
000010ee: PUSH2 0x184d
000010f1: JUMP
000010f2: JUMPDEST
000010f3: LT
000010f4: ISZERO
000010f5: PUSH2 0x1100
000010f8: JUMPI
000010f9: POP
000010fa: PUSH1 0x00
000010fc: PUSH2 0x0dab
000010ff: JUMP
00001100: JUMPDEST
00001101: PUSH2 0x0da7
00001104: DUP6
00001105: DUP6
00001106: PUSH2 0x10bc
00001109: PUSH2 0x0d9c
0000110c: DUP10
0000110d: DUP10
0000110e: PUSH2 0x2290
00001111: JUMP
00001112: JUMPDEST
00001113: PUSH1 0x00
00001115: DUP3
00001116: PUSH2 0x111f
00001119: DUP6
0000111a: CALLER
0000111b: PUSH2 0x0e72
0000111e: JUMP
0000111f: JUMPDEST
00001120: LT
00001121: ISZERO
00001122: PUSH2 0x112a
00001125: JUMPI
00001126: PUSH1 0x00
00001128: DUP1
00001129: REVERT
0000112a: JUMPDEST
0000112b: PUSH2 0x1135
0000112e: DUP5
0000112f: CALLER
00001130: DUP6
00001131: PUSH2 0x236d
00001134: JUMP
00001135: JUMPDEST
00001136: PUSH1 0x40
00001138: DUP1
00001139: MLOAD
0000113a: PUSH32 0x24b76fd500000000000000000000000000000000000000000000000000000000
0000115b: DUP2
0000115c: MSTORE
0000115d: PUSH1 0x04
0000115f: DUP2
00001160: ADD
00001161: DUP6
00001162: DUP2
00001163: MSTORE
00001164: PUSH1 0x24
00001166: DUP3
00001167: ADD
00001168: SWAP3
00001169: DUP4
0000116a: MSTORE
0000116b: DUP5
0000116c: MLOAD
0000116d: PUSH1 0x44
0000116f: DUP4
00001170: ADD
00001171: MSTORE
00001172: DUP5
00001173: MLOAD
00001174: PUSH1 0x01
00001176: PUSH1 0xa0
00001178: PUSH1 0x02
0000117a: EXP
0000117b: SUB
0000117c: DUP9
0000117d: AND
0000117e: SWAP4
0000117f: PUSH4 0x24b76fd5
00001184: SWAP4
00001185: DUP9
00001186: SWAP4
00001187: DUP9
00001188: SWAP4
00001189: SWAP1
0000118a: SWAP3
0000118b: SWAP2
0000118c: PUSH1 0x64
0000118e: ADD
0000118f: SWAP1
00001190: PUSH1 0x20
00001192: DUP6
00001193: ADD
00001194: SWAP1
00001195: DUP1
00001196: DUP4
00001197: DUP4
00001198: PUSH1 0x00
0000119a: JUMPDEST
0000119b: DUP4
0000119c: DUP2
0000119d: LT
0000119e: ISZERO
0000119f: PUSH2 0x11b2
000011a2: JUMPI
000011a3: DUP2
000011a4: DUP2
000011a5: ADD
000011a6: MLOAD
000011a7: DUP4
000011a8: DUP3
000011a9: ADD
000011aa: MSTORE
000011ab: PUSH1 0x20
000011ad: ADD
000011ae: PUSH2 0x119a
000011b1: JUMP
000011b2: JUMPDEST
000011b3: POP
000011b4: POP
000011b5: POP
000011b6: POP
000011b7: SWAP1
000011b8: POP
000011b9: SWAP1
000011ba: DUP2
000011bb: ADD
000011bc: SWAP1
000011bd: PUSH1 0x1f
000011bf: AND
000011c0: DUP1
000011c1: ISZERO
000011c2: PUSH2 0x11df
000011c5: JUMPI
000011c6: DUP1
000011c7: DUP3
000011c8: SUB
000011c9: DUP1
000011ca: MLOAD
000011cb: PUSH1 0x01
000011cd: DUP4
000011ce: PUSH1 0x20
000011d0: SUB
000011d1: PUSH2 0x0100
000011d4: EXP
000011d5: SUB
000011d6: NOT
000011d7: AND
000011d8: DUP2
000011d9: MSTORE
000011da: PUSH1 0x20
000011dc: ADD
000011dd: SWAP2
000011de: POP
000011df: JUMPDEST
000011e0: POP
000011e1: SWAP4
000011e2: POP
000011e3: POP
000011e4: POP
000011e5: POP
000011e6: PUSH1 0x20
000011e8: PUSH1 0x40
000011ea: MLOAD
000011eb: DUP1
000011ec: DUP4
000011ed: SUB
000011ee: DUP2
000011ef: PUSH1 0x00
000011f1: DUP8
000011f2: DUP1
000011f3: EXTCODESIZE
000011f4: ISZERO
000011f5: DUP1
000011f6: ISZERO
000011f7: PUSH2 0x11ff
000011fa: JUMPI
000011fb: PUSH1 0x00
000011fd: DUP1
000011fe: REVERT
000011ff: JUMPDEST
00001200: POP
00001201: GAS
00001202: CALL
00001203: ISZERO
00001204: DUP1
00001205: ISZERO
00001206: PUSH2 0x1213
00001209: JUMPI
0000120a: RETURNDATASIZE
0000120b: PUSH1 0x00
0000120d: DUP1
0000120e: RETURNDATACOPY
0000120f: RETURNDATASIZE
00001210: PUSH1 0x00
00001212: REVERT
00001213: JUMPDEST
00001214: POP
00001215: POP
00001216: POP
00001217: POP
00001218: PUSH1 0x40
0000121a: MLOAD
0000121b: RETURNDATASIZE
0000121c: PUSH1 0x20
0000121e: DUP2
0000121f: LT
00001220: ISZERO
00001221: PUSH2 0x1229
00001224: JUMPI
00001225: PUSH1 0x00
00001227: DUP1
00001228: REVERT
00001229: JUMPDEST
0000122a: POP
0000122b: MLOAD
0000122c: ISZERO
0000122d: ISZERO
0000122e: PUSH2 0x1236
00001231: JUMPI
00001232: PUSH1 0x00
00001234: DUP1
00001235: REVERT
00001236: JUMPDEST
00001237: CALLER
00001238: PUSH1 0x01
0000123a: PUSH1 0xa0
0000123c: PUSH1 0x02
0000123e: EXP
0000123f: SUB
00001240: AND
00001241: DUP5
00001242: PUSH1 0x01
00001244: PUSH1 0xa0
00001246: PUSH1 0x02
00001248: EXP
00001249: SUB
0000124a: AND
0000124b: PUSH32 0x9dfa686b7b2937e4fd677c02d58d6360465783882b284ba8378d52d957031f48
0000126c: DUP6
0000126d: DUP6
0000126e: PUSH1 0x40
00001270: MLOAD
00001271: DUP1
00001272: DUP4
00001273: DUP2
00001274: MSTORE
00001275: PUSH1 0x20
00001277: ADD
00001278: DUP1
00001279: PUSH1 0x20
0000127b: ADD
0000127c: DUP3
0000127d: DUP2
0000127e: SUB
0000127f: DUP3
00001280: MSTORE
00001281: DUP4
00001282: DUP2
00001283: DUP2
00001284: MLOAD
00001285: DUP2
00001286: MSTORE
00001287: PUSH1 0x20
00001289: ADD
0000128a: SWAP2
0000128b: POP
0000128c: DUP1
0000128d: MLOAD
0000128e: SWAP1
0000128f: PUSH1 0x20
00001291: ADD
00001292: SWAP1
00001293: DUP1
00001294: DUP4
00001295: DUP4
00001296: PUSH1 0x00
00001298: JUMPDEST
00001299: DUP4
0000129a: DUP2
0000129b: LT
0000129c: ISZERO
0000129d: PUSH2 0x12b0
000012a0: JUMPI
000012a1: DUP2
000012a2: DUP2
000012a3: ADD
000012a4: MLOAD
000012a5: DUP4
000012a6: DUP3
000012a7: ADD
000012a8: MSTORE
000012a9: PUSH1 0x20
000012ab: ADD
000012ac: PUSH2 0x1298
000012af: JUMP
000012b0: JUMPDEST
000012b1: POP
000012b2: POP
000012b3: POP
000012b4: POP
000012b5: SWAP1
000012b6: POP
000012b7: SWAP1
000012b8: DUP2
000012b9: ADD
000012ba: SWAP1
000012bb: PUSH1 0x1f
000012bd: AND
000012be: DUP1
000012bf: ISZERO
000012c0: PUSH2 0x12dd
000012c3: JUMPI
000012c4: DUP1
000012c5: DUP3
000012c6: SUB
000012c7: DUP1
000012c8: MLOAD
000012c9: PUSH1 0x01
000012cb: DUP4
000012cc: PUSH1 0x20
000012ce: SUB
000012cf: PUSH2 0x0100
000012d2: EXP
000012d3: SUB
000012d4: NOT
000012d5: AND
000012d6: DUP2
000012d7: MSTORE
000012d8: PUSH1 0x20
000012da: ADD
000012db: SWAP2
000012dc: POP
000012dd: JUMPDEST
000012de: POP
000012df: SWAP4
000012e0: POP
000012e1: POP
000012e2: POP
000012e3: POP
000012e4: PUSH1 0x40
000012e6: MLOAD
000012e7: DUP1
000012e8: SWAP2
000012e9: SUB
000012ea: SWAP1
000012eb: LOG3
000012ec: SWAP4
000012ed: SWAP3
000012ee: POP
000012ef: POP
000012f0: POP
000012f1: JUMP
000012f2: JUMPDEST
000012f3: PUSH8 0x016345785d8a0000
000012fc: DUP4
000012fd: PUSH1 0x01
000012ff: PUSH1 0x80
00001301: PUSH1 0x02
00001303: EXP
00001304: SUB
00001305: AND
00001306: PUSH2 0x1317
00001309: DUP4
0000130a: PUSH8 0x0de0b6b3a7640000
00001313: PUSH2 0x18d2
00001316: JUMP
00001317: JUMPDEST
00001318: DUP2
00001319: ISZERO
0000131a: ISZERO
0000131b: PUSH2 0x1320
0000131e: JUMPI
0000131f: INVALID
00001320: JUMPDEST
00001321: DIV
00001322: GT
00001323: ISZERO
00001324: PUSH2 0x132c
00001327: JUMPI
00001328: PUSH1 0x00
0000132a: DUP1
0000132b: REVERT
0000132c: JUMPDEST
0000132d: PUSH2 0x1349
00001330: DUP5
00001331: DUP4
00001332: PUSH2 0x1344
00001335: DUP7
00001336: PUSH1 0x01
00001338: PUSH1 0x80
0000133a: PUSH1 0x02
0000133c: EXP
0000133d: SUB
0000133e: AND
0000133f: DUP6
00001340: PUSH2 0x153c
00001343: JUMP
00001344: JUMPDEST
00001345: PUSH2 0x22b2
00001348: JUMP
00001349: JUMPDEST
0000134a: PUSH1 0x05
0000134c: SLOAD
0000134d: PUSH2 0x1361
00001350: SWAP1
00001351: DUP6
00001352: SWAP1
00001353: PUSH1 0x01
00001355: PUSH1 0xa0
00001357: PUSH1 0x02
00001359: EXP
0000135a: SUB
0000135b: AND
0000135c: DUP4
0000135d: PUSH2 0x22b2
00001360: JUMP
00001361: JUMPDEST
00001362: PUSH1 0x40
00001364: DUP1
00001365: MLOAD
00001366: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000
00001387: DUP2
00001388: MSTORE
00001389: CALLER
0000138a: PUSH1 0x04
0000138c: DUP3
0000138d: ADD
0000138e: MSTORE
0000138f: ADDRESS
00001390: PUSH1 0x24
00001392: DUP3
00001393: ADD
00001394: MSTORE
00001395: PUSH1 0x01
00001397: PUSH1 0x80
00001399: PUSH1 0x02
0000139b: EXP
0000139c: SUB
0000139d: DUP6
0000139e: AND
0000139f: PUSH1 0x44
000013a1: DUP3
000013a2: ADD
000013a3: MSTORE
000013a4: SWAP1
000013a5: MLOAD
000013a6: PUSH1 0x01
000013a8: PUSH1 0xa0
000013aa: PUSH1 0x02
000013ac: EXP
000013ad: SUB
000013ae: DUP7
000013af: AND
000013b0: SWAP2
000013b1: PUSH4 0x23b872dd
000013b6: SWAP2
000013b7: PUSH1 0x64
000013b9: DUP1
000013ba: DUP4
000013bb: ADD
000013bc: SWAP3
000013bd: PUSH1 0x20
000013bf: SWAP3
000013c0: SWAP2
000013c1: SWAP1
000013c2: DUP3
000013c3: SWAP1
000013c4: SUB
000013c5: ADD
000013c6: DUP2
000013c7: PUSH1 0x00
000013c9: DUP8
000013ca: DUP1
000013cb: EXTCODESIZE
000013cc: ISZERO
000013cd: DUP1
000013ce: ISZERO
000013cf: PUSH2 0x13d7
000013d2: JUMPI
000013d3: PUSH1 0x00
000013d5: DUP1
000013d6: REVERT
000013d7: JUMPDEST
000013d8: POP
000013d9: GAS
000013da: CALL
000013db: ISZERO
000013dc: DUP1
000013dd: ISZERO
000013de: PUSH2 0x13eb
000013e1: JUMPI
000013e2: RETURNDATASIZE
000013e3: PUSH1 0x00
000013e5: DUP1
000013e6: RETURNDATACOPY
000013e7: RETURNDATASIZE
000013e8: PUSH1 0x00
000013ea: REVERT
000013eb: JUMPDEST
000013ec: POP
000013ed: POP
000013ee: POP
000013ef: POP
000013f0: PUSH1 0x40
000013f2: MLOAD
000013f3: RETURNDATASIZE
000013f4: PUSH1 0x20
000013f6: DUP2
000013f7: LT
000013f8: ISZERO
000013f9: PUSH2 0x1401
000013fc: JUMPI
000013fd: PUSH1 0x00
000013ff: DUP1
00001400: REVERT
00001401: JUMPDEST
00001402: POP
00001403: MLOAD
00001404: ISZERO
00001405: ISZERO
00001406: PUSH2 0x140e
00001409: JUMPI
0000140a: PUSH1 0x00
0000140c: DUP1
0000140d: REVERT
0000140e: JUMPDEST
0000140f: DUP2
00001410: PUSH1 0x01
00001412: PUSH1 0xa0
00001414: PUSH1 0x02
00001416: EXP
00001417: SUB
00001418: AND
00001419: DUP5
0000141a: PUSH1 0x01
0000141c: PUSH1 0xa0
0000141e: PUSH1 0x02
00001420: EXP
00001421: SUB
00001422: AND
00001423: PUSH1 0x00
00001425: DUP1
00001426: MLOAD
00001427: PUSH1 0x20
00001429: PUSH2 0x2425
0000142c: DUP4
0000142d: CODECOPY
0000142e: DUP2
0000142f: MLOAD
00001430: SWAP2
00001431: MSTORE
00001432: PUSH2 0x1444
00001435: DUP7
00001436: PUSH1 0x01
00001438: PUSH1 0x80
0000143a: PUSH1 0x02
0000143c: EXP
0000143d: SUB
0000143e: AND
0000143f: DUP6
00001440: PUSH2 0x153c
00001443: JUMP
00001444: JUMPDEST
00001445: PUSH2 0x144e
00001448: DUP9
00001449: DUP8
0000144a: PUSH2 0x2290
0000144d: JUMP
0000144e: JUMPDEST
0000144f: PUSH1 0x40
00001451: DUP1
00001452: MLOAD
00001453: SWAP3
00001454: DUP4
00001455: MSTORE
00001456: PUSH1 0x20
00001458: DUP4
00001459: ADD
0000145a: SWAP2
0000145b: SWAP1
0000145c: SWAP2
0000145d: MSTORE
0000145e: DUP1
0000145f: MLOAD
00001460: SWAP2
00001461: DUP3
00001462: SWAP1
00001463: SUB
00001464: ADD
00001465: SWAP1
00001466: LOG3
00001467: POP
00001468: POP
00001469: POP
0000146a: POP
0000146b: JUMP
0000146c: JUMPDEST
0000146d: PUSH1 0x09
0000146f: SLOAD
00001470: PUSH1 0xff
00001472: AND
00001473: ISZERO
00001474: PUSH2 0x147c
00001477: JUMPI
00001478: PUSH1 0x00
0000147a: DUP1
0000147b: REVERT
0000147c: JUMPDEST
0000147d: PUSH2 0x1488
00001480: PUSH1 0x00
00001482: DUP3
00001483: CALLVALUE
00001484: PUSH2 0x22b2
00001487: JUMP
00001488: JUMPDEST
00001489: PUSH1 0x01
0000148b: PUSH1 0xa0
0000148d: PUSH1 0x02
0000148f: EXP
00001490: SUB
00001491: DUP2
00001492: AND
00001493: PUSH1 0x00
00001495: PUSH1 0x00
00001497: DUP1
00001498: MLOAD
00001499: PUSH1 0x20
0000149b: PUSH2 0x2425
0000149e: DUP4
0000149f: CODECOPY
000014a0: DUP2
000014a1: MLOAD
000014a2: SWAP2
000014a3: MSTORE
000014a4: CALLVALUE
000014a5: PUSH2 0x14ae
000014a8: DUP4
000014a9: DUP7
000014aa: PUSH2 0x2290
000014ad: JUMP
000014ae: JUMPDEST
000014af: PUSH1 0x40
000014b1: DUP1
000014b2: MLOAD
000014b3: SWAP3
000014b4: DUP4
000014b5: MSTORE
000014b6: PUSH1 0x20
000014b8: DUP4
000014b9: ADD
000014ba: SWAP2
000014bb: SWAP1
000014bc: SWAP2
000014bd: MSTORE
000014be: DUP1
000014bf: MLOAD
000014c0: SWAP2
000014c1: DUP3
000014c2: SWAP1
000014c3: SUB
000014c4: ADD
000014c5: SWAP1
000014c6: LOG3
000014c7: POP
000014c8: JUMP
000014c9: JUMPDEST
000014ca: PUSH1 0x00
000014cc: SLOAD
000014cd: PUSH1 0x01
000014cf: PUSH1 0xa0
000014d1: PUSH1 0x02
000014d3: EXP
000014d4: SUB
000014d5: AND
000014d6: SWAP1
000014d7: JUMP
000014d8: JUMPDEST
000014d9: PUSH1 0x00
000014db: SLOAD
000014dc: PUSH1 0x01
000014de: PUSH1 0xa0
000014e0: PUSH1 0x02
000014e2: EXP
000014e3: SUB
000014e4: AND
000014e5: DUP2
000014e6: JUMP
000014e7: JUMPDEST
000014e8: PUSH2 0x14ef
000014eb: PUSH2 0x23ea
000014ee: JUMP
000014ef: JUMPDEST
000014f0: PUSH1 0x80
000014f2: PUSH1 0x40
000014f4: MLOAD
000014f5: SWAP1
000014f6: DUP2
000014f7: ADD
000014f8: PUSH1 0x40
000014fa: MSTORE
000014fb: DUP1
000014fc: PUSH2 0x1505
000014ff: DUP7
00001500: DUP7
00001501: PUSH2 0x2290
00001504: JUMP
00001505: JUMPDEST
00001506: DUP2
00001507: MSTORE
00001508: PUSH1 0x20
0000150a: ADD
0000150b: PUSH2 0x1514
0000150e: DUP7
0000150f: DUP6
00001510: PUSH2 0x2290
00001513: JUMP
00001514: JUMPDEST
00001515: DUP2
00001516: MSTORE
00001517: PUSH1 0x20
00001519: ADD
0000151a: PUSH2 0x1523
0000151d: DUP7
0000151e: DUP7
0000151f: PUSH2 0x184d
00001522: JUMP
00001523: JUMPDEST
00001524: DUP2
00001525: MSTORE
00001526: PUSH1 0x20
00001528: ADD
00001529: PUSH2 0x1532
0000152c: DUP7
0000152d: DUP6
0000152e: PUSH2 0x184d
00001531: JUMP
00001532: JUMPDEST
00001533: SWAP1
00001534: MSTORE
00001535: SWAP5
00001536: SWAP4
00001537: POP
00001538: POP
00001539: POP
0000153a: POP
0000153b: JUMP
0000153c: JUMPDEST
0000153d: PUSH1 0x00
0000153f: PUSH2 0x154a
00001542: DUP4
00001543: DUP4
00001544: GT
00001545: ISZERO
00001546: PUSH2 0x0b55
00001549: JUMP
0000154a: JUMPDEST
0000154b: POP
0000154c: SWAP1
0000154d: SUB
0000154e: SWAP1
0000154f: JUMP
00001550: JUMPDEST
00001551: PUSH1 0x07
00001553: SLOAD
00001554: SWAP1
00001555: JUMP
00001556: JUMPDEST
00001557: CALLER
00001558: PUSH1 0x00
0000155a: SWAP1
0000155b: DUP2
0000155c: MSTORE
0000155d: PUSH1 0x02
0000155f: PUSH1 0x20
00001561: MSTORE
00001562: PUSH1 0x40
00001564: DUP2
00001565: KECCAK256
00001566: SLOAD
00001567: PUSH1 0xff
00001569: AND
0000156a: ISZERO
0000156b: ISZERO
0000156c: PUSH2 0x1574
0000156f: JUMPI
00001570: PUSH1 0x00
00001572: DUP1
00001573: REVERT
00001574: JUMPDEST
00001575: PUSH2 0x0dab
00001578: DUP6
00001579: DUP6
0000157a: PUSH2 0x0d8f
0000157d: PUSH2 0x0d9c
00001580: DUP10
00001581: DUP10
00001582: PUSH2 0x2290
00001585: JUMP
00001586: JUMPDEST
00001587: PUSH1 0x04
00001589: PUSH1 0x20
0000158b: MSTORE
0000158c: PUSH1 0x00
0000158e: SWAP1
0000158f: DUP2
00001590: MSTORE
00001591: PUSH1 0x40
00001593: SWAP1
00001594: KECCAK256
00001595: SLOAD
00001596: DUP2
00001597: JUMP
00001598: JUMPDEST
00001599: PUSH1 0x09
0000159b: SLOAD
0000159c: PUSH1 0xff
0000159e: AND
0000159f: ISZERO
000015a0: PUSH2 0x15a8
000015a3: JUMPI
000015a4: PUSH1 0x00
000015a6: DUP1
000015a7: REVERT
000015a8: JUMPDEST
000015a9: PUSH2 0x15bc
000015ac: DUP3
000015ad: CALLER
000015ae: DUP4
000015af: PUSH1 0x01
000015b1: PUSH1 0x80
000015b3: PUSH1 0x02
000015b5: EXP
000015b6: SUB
000015b7: AND
000015b8: PUSH2 0x22b2
000015bb: JUMP
000015bc: JUMPDEST
000015bd: PUSH1 0x40
000015bf: DUP1
000015c0: MLOAD
000015c1: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000
000015e2: DUP2
000015e3: MSTORE
000015e4: CALLER
000015e5: PUSH1 0x04
000015e7: DUP3
000015e8: ADD
000015e9: MSTORE
000015ea: ADDRESS
000015eb: PUSH1 0x24
000015ed: DUP3
000015ee: ADD
000015ef: MSTORE
000015f0: PUSH1 0x01
000015f2: PUSH1 0x80
000015f4: PUSH1 0x02
000015f6: EXP
000015f7: SUB
000015f8: DUP4
000015f9: AND
000015fa: PUSH1 0x44
000015fc: DUP3
000015fd: ADD
000015fe: MSTORE
000015ff: SWAP1
00001600: MLOAD
00001601: PUSH1 0x01
00001603: PUSH1 0xa0
00001605: PUSH1 0x02
00001607: EXP
00001608: SUB
00001609: DUP5
0000160a: AND
0000160b: SWAP2
0000160c: PUSH4 0x23b872dd
00001611: SWAP2
00001612: PUSH1 0x64
00001614: DUP1
00001615: DUP4
00001616: ADD
00001617: SWAP3
00001618: PUSH1 0x20
0000161a: SWAP3
0000161b: SWAP2
0000161c: SWAP1
0000161d: DUP3
0000161e: SWAP1
0000161f: SUB
00001620: ADD
00001621: DUP2
00001622: PUSH1 0x00
00001624: DUP8
00001625: DUP1
00001626: EXTCODESIZE
00001627: ISZERO
00001628: DUP1
00001629: ISZERO
0000162a: PUSH2 0x1632
0000162d: JUMPI
0000162e: PUSH1 0x00
00001630: DUP1
00001631: REVERT
00001632: JUMPDEST
00001633: POP
00001634: GAS
00001635: CALL
00001636: ISZERO
00001637: DUP1
00001638: ISZERO
00001639: PUSH2 0x1646
0000163c: JUMPI
0000163d: RETURNDATASIZE
0000163e: PUSH1 0x00
00001640: DUP1
00001641: RETURNDATACOPY
00001642: RETURNDATASIZE
00001643: PUSH1 0x00
00001645: REVERT
00001646: JUMPDEST
00001647: POP
00001648: POP
00001649: POP
0000164a: POP
0000164b: PUSH1 0x40
0000164d: MLOAD
0000164e: RETURNDATASIZE
0000164f: PUSH1 0x20
00001651: DUP2
00001652: LT
00001653: ISZERO
00001654: PUSH2 0x165c
00001657: JUMPI
00001658: PUSH1 0x00
0000165a: DUP1
0000165b: REVERT
0000165c: JUMPDEST
0000165d: POP
0000165e: MLOAD
0000165f: ISZERO
00001660: ISZERO
00001661: PUSH2 0x1669
00001664: JUMPI
00001665: PUSH1 0x00
00001667: DUP1
00001668: REVERT
00001669: JUMPDEST
0000166a: CALLER
0000166b: PUSH1 0x01
0000166d: PUSH1 0xa0
0000166f: PUSH1 0x02
00001671: EXP
00001672: SUB
00001673: DUP4
00001674: AND
00001675: PUSH1 0x00
00001677: DUP1
00001678: MLOAD
00001679: PUSH1 0x20
0000167b: PUSH2 0x2425
0000167e: DUP4
0000167f: CODECOPY
00001680: DUP2
00001681: MLOAD
00001682: SWAP2
00001683: MSTORE
00001684: DUP4
00001685: PUSH2 0x168e
00001688: DUP7
00001689: DUP6
0000168a: PUSH2 0x2290
0000168d: JUMP
0000168e: JUMPDEST
0000168f: PUSH1 0x40
00001691: DUP1
00001692: MLOAD
00001693: PUSH1 0x01
00001695: PUSH1 0x80
00001697: PUSH1 0x02
00001699: EXP
0000169a: SUB
0000169b: SWAP1
0000169c: SWAP4
0000169d: AND
0000169e: DUP4
0000169f: MSTORE
000016a0: PUSH1 0x20
000016a2: DUP4
000016a3: ADD
000016a4: SWAP2
000016a5: SWAP1
000016a6: SWAP2
000016a7: MSTORE
000016a8: DUP1
000016a9: MLOAD
000016aa: SWAP2
000016ab: DUP3
000016ac: SWAP1
000016ad: SUB
000016ae: ADD
000016af: SWAP1
000016b0: LOG3
000016b1: POP
000016b2: POP
000016b3: JUMP
000016b4: JUMPDEST
000016b5: CALLER
000016b6: PUSH1 0x00
000016b8: SWAP1
000016b9: DUP2
000016ba: MSTORE
000016bb: PUSH1 0x02
000016bd: PUSH1 0x20
000016bf: MSTORE
000016c0: PUSH1 0x40
000016c2: DUP2
000016c3: KECCAK256
000016c4: SLOAD
000016c5: PUSH1 0xff
000016c7: AND
000016c8: ISZERO
000016c9: ISZERO
000016ca: PUSH2 0x16d2
000016cd: JUMPI
000016ce: PUSH1 0x00
000016d0: DUP1
000016d1: REVERT
000016d2: JUMPDEST
000016d3: PUSH2 0x0da7
000016d6: DUP5
000016d7: DUP5
000016d8: DUP5
000016d9: PUSH2 0x239b
000016dc: JUMP
000016dd: JUMPDEST
000016de: PUSH1 0x03
000016e0: PUSH1 0x20
000016e2: SWAP1
000016e3: DUP2
000016e4: MSTORE
000016e5: PUSH1 0x00
000016e7: SWAP3
000016e8: DUP4
000016e9: MSTORE
000016ea: PUSH1 0x40
000016ec: DUP1
000016ed: DUP5
000016ee: KECCAK256
000016ef: SWAP1
000016f0: SWAP2
000016f1: MSTORE
000016f2: SWAP1
000016f3: DUP3
000016f4: MSTORE
000016f5: SWAP1
000016f6: KECCAK256
000016f7: SLOAD
000016f8: DUP2
000016f9: JUMP
000016fa: JUMPDEST
000016fb: PUSH2 0x1702
000016fe: PUSH2 0x2409
00001701: JUMP
00001702: JUMPDEST
00001703: PUSH1 0x40
00001705: DUP1
00001706: MLOAD
00001707: SWAP1
00001708: DUP2
00001709: ADD
0000170a: PUSH1 0x40
0000170c: MSTORE
0000170d: DUP1
0000170e: PUSH2 0x1717
00001711: DUP6
00001712: DUP6
00001713: PUSH2 0x2290
00001716: JUMP
00001717: JUMPDEST
00001718: DUP2
00001719: MSTORE
0000171a: PUSH1 0x20
0000171c: ADD
0000171d: PUSH2 0x1726
00001720: DUP6
00001721: DUP6
00001722: PUSH2 0x184d
00001725: JUMP
00001726: JUMPDEST
00001727: SWAP1
00001728: MSTORE
00001729: SWAP4
0000172a: SWAP3
0000172b: POP
0000172c: POP
0000172d: POP
0000172e: JUMP
0000172f: JUMPDEST
00001730: PUSH1 0x00
00001732: DUP1
00001733: SLOAD
00001734: PUSH2 0x1747
00001737: SWAP1
00001738: PUSH1 0x01
0000173a: PUSH1 0xa0
0000173c: PUSH1 0x02
0000173e: EXP
0000173f: SUB
00001740: AND
00001741: CALLER
00001742: EQ
00001743: PUSH2 0x0b55
00001746: JUMP
00001747: JUMPDEST
00001748: PUSH1 0x09
0000174a: SLOAD
0000174b: PUSH1 0xff
0000174d: AND
0000174e: ISZERO
0000174f: ISZERO
00001750: PUSH2 0x1758
00001753: JUMPI
00001754: PUSH1 0x00
00001756: DUP1
00001757: REVERT
00001758: JUMPDEST
00001759: NUMBER
0000175a: PUSH2 0x1767
0000175d: PUSH1 0x0b
0000175f: SLOAD
00001760: PUSH1 0x0a
00001762: SLOAD
00001763: PUSH2 0x2114
00001766: JUMP
00001767: JUMPDEST
00001768: GT
00001769: ISZERO
0000176a: PUSH2 0x1772
0000176d: JUMPI
0000176e: PUSH1 0x00
00001770: DUP1
00001771: REVERT
00001772: JUMPDEST
00001773: PUSH1 0x01
00001775: PUSH1 0xa0
00001777: PUSH1 0x02
00001779: EXP
0000177a: SUB
0000177b: DUP4
0000177c: AND
0000177d: ISZERO
0000177e: ISZERO
0000177f: PUSH2 0x17ae
00001782: JUMPI
00001783: PUSH1 0x40
00001785: MLOAD
00001786: CALLER
00001787: SWAP1
00001788: DUP4
00001789: ISZERO
0000178a: PUSH2 0x08fc
0000178d: MUL
0000178e: SWAP1
0000178f: DUP5
00001790: SWAP1
00001791: PUSH1 0x00
00001793: DUP2
00001794: DUP2
00001795: DUP2
00001796: DUP6
00001797: DUP9
00001798: DUP9
00001799: CALL
0000179a: SWAP4
0000179b: POP
0000179c: POP
0000179d: POP
0000179e: POP
0000179f: ISZERO
000017a0: ISZERO
000017a1: PUSH2 0x17a9
000017a4: JUMPI
000017a5: PUSH1 0x00
000017a7: DUP1
000017a8: REVERT
000017a9: JUMPDEST
000017aa: PUSH2 0x0e93
000017ad: JUMP
000017ae: JUMPDEST
000017af: PUSH1 0x40
000017b1: DUP1
000017b2: MLOAD
000017b3: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
000017d4: DUP2
000017d5: MSTORE
000017d6: CALLER
000017d7: PUSH1 0x04
000017d9: DUP3
000017da: ADD
000017db: MSTORE
000017dc: PUSH1 0x24
000017de: DUP2
000017df: ADD
000017e0: DUP5
000017e1: SWAP1
000017e2: MSTORE
000017e3: SWAP1
000017e4: MLOAD
000017e5: PUSH1 0x01
000017e7: PUSH1 0xa0
000017e9: PUSH1 0x02
000017eb: EXP
000017ec: SUB
000017ed: DUP6
000017ee: AND
000017ef: SWAP2
000017f0: PUSH4 0xa9059cbb
000017f5: SWAP2
000017f6: PUSH1 0x44
000017f8: DUP1
000017f9: DUP4
000017fa: ADD
000017fb: SWAP3
000017fc: PUSH1 0x20
000017fe: SWAP3
000017ff: SWAP2
00001800: SWAP1
00001801: DUP3
00001802: SWAP1
00001803: SUB
00001804: ADD
00001805: DUP2
00001806: PUSH1 0x00
00001808: DUP8
00001809: DUP1
0000180a: EXTCODESIZE
0000180b: ISZERO
0000180c: DUP1
0000180d: ISZERO
0000180e: PUSH2 0x1816
00001811: JUMPI
00001812: PUSH1 0x00
00001814: DUP1
00001815: REVERT
00001816: JUMPDEST
00001817: POP
00001818: GAS
00001819: CALL
0000181a: ISZERO
0000181b: DUP1
0000181c: ISZERO
0000181d: PUSH2 0x182a
00001820: JUMPI
00001821: RETURNDATASIZE
00001822: PUSH1 0x00
00001824: DUP1
00001825: RETURNDATACOPY
00001826: RETURNDATASIZE
00001827: PUSH1 0x00
00001829: REVERT
0000182a: JUMPDEST
0000182b: POP
0000182c: POP
0000182d: POP
0000182e: POP
0000182f: PUSH1 0x40
00001831: MLOAD
00001832: RETURNDATASIZE
00001833: PUSH1 0x20
00001835: DUP2
00001836: LT
00001837: ISZERO
00001838: PUSH2 0x1840
0000183b: JUMPI
0000183c: PUSH1 0x00
0000183e: DUP1
0000183f: REVERT
00001840: JUMPDEST
00001841: POP
00001842: MLOAD
00001843: ISZERO
00001844: ISZERO
00001845: PUSH2 0x0e93
00001848: JUMPI
00001849: PUSH1 0x00
0000184b: DUP1
0000184c: REVERT
0000184d: JUMPDEST
0000184e: PUSH1 0x00
00001850: PUSH2 0x1859
00001853: DUP4
00001854: DUP4
00001855: PUSH2 0x186e
00001858: JUMP
00001859: JUMPDEST
0000185a: PUSH1 0x01
0000185c: JUMPDEST
0000185d: PUSH1 0x20
0000185f: MUL
00001860: ADD
00001861: MLOAD
00001862: SWAP4
00001863: SWAP3
00001864: POP
00001865: POP
00001866: POP
00001867: JUMP
00001868: JUMPDEST
00001869: PUSH1 0x0a
0000186b: SLOAD
0000186c: DUP2
0000186d: JUMP
0000186e: JUMPDEST
0000186f: PUSH2 0x1876
00001872: PUSH2 0x2409
00001875: JUMP
00001876: JUMPDEST
00001877: POP
00001878: PUSH1 0x01
0000187a: PUSH1 0xa0
0000187c: PUSH1 0x02
0000187e: EXP
0000187f: SUB
00001880: SWAP2
00001881: DUP3
00001882: AND
00001883: PUSH1 0x00
00001885: SWAP1
00001886: DUP2
00001887: MSTORE
00001888: PUSH1 0x03
0000188a: PUSH1 0x20
0000188c: SWAP1
0000188d: DUP2
0000188e: MSTORE
0000188f: PUSH1 0x40
00001891: DUP1
00001892: DUP4
00001893: KECCAK256
00001894: SWAP4
00001895: SWAP1
00001896: SWAP5
00001897: AND
00001898: DUP3
00001899: MSTORE
0000189a: SWAP2
0000189b: DUP3
0000189c: MSTORE
0000189d: DUP3
0000189e: SWAP1
0000189f: KECCAK256
000018a0: SLOAD
000018a1: DUP3
000018a2: MLOAD
000018a3: DUP1
000018a4: DUP5
000018a5: ADD
000018a6: SWAP1
000018a7: SWAP4
000018a8: MSTORE
000018a9: PUSH1 0x01
000018ab: PUSH1 0x80
000018ad: PUSH1 0x02
000018af: EXP
000018b0: SUB
000018b1: DUP1
000018b2: DUP3
000018b3: AND
000018b4: DUP5
000018b5: MSTORE
000018b6: PUSH17 0x0100000000000000000000000000000000
000018c8: SWAP1
000018c9: SWAP2
000018ca: DIV
000018cb: AND
000018cc: SWAP1
000018cd: DUP3
000018ce: ADD
000018cf: MSTORE
000018d0: SWAP1
000018d1: JUMP
000018d2: JUMPDEST
000018d3: PUSH1 0x00
000018d5: DUP3
000018d6: DUP3
000018d7: MUL
000018d8: PUSH2 0x18f6
000018db: DUP5
000018dc: ISZERO
000018dd: DUP1
000018de: PUSH2 0x18f1
000018e1: JUMPI
000018e2: POP
000018e3: DUP4
000018e4: DUP6
000018e5: DUP4
000018e6: DUP2
000018e7: ISZERO
000018e8: ISZERO
000018e9: PUSH2 0x18ee
000018ec: JUMPI
000018ed: INVALID
000018ee: JUMPDEST
000018ef: DIV
000018f0: EQ
000018f1: JUMPDEST
000018f2: PUSH2 0x0b55
000018f5: JUMP
000018f6: JUMPDEST
000018f7: SWAP4
000018f8: SWAP3
000018f9: POP
000018fa: POP
000018fb: POP
000018fc: JUMP
000018fd: JUMPDEST
000018fe: PUSH1 0x09
00001900: SLOAD
00001901: PUSH1 0xff
00001903: AND
00001904: ISZERO
00001905: PUSH2 0x190d
00001908: JUMPI
00001909: PUSH1 0x00
0000190b: DUP1
0000190c: REVERT
0000190d: JUMPDEST
0000190e: PUSH2 0x1919
00001911: PUSH1 0x00
00001913: CALLER
00001914: CALLVALUE
00001915: PUSH2 0x22b2
00001918: JUMP
00001919: JUMPDEST
0000191a: CALLER
0000191b: PUSH1 0x00
0000191d: SWAP1
0000191e: DUP2
0000191f: MSTORE
00001920: PUSH1 0x04
00001922: PUSH1 0x20
00001924: MSTORE
00001925: PUSH1 0x40
00001927: SWAP1
00001928: KECCAK256
00001929: SLOAD
0000192a: ISZERO
0000192b: ISZERO
0000192c: PUSH2 0x1942
0000192f: JUMPI
00001930: CALLER
00001931: PUSH1 0x00
00001933: SWAP1
00001934: DUP2
00001935: MSTORE
00001936: PUSH1 0x04
00001938: PUSH1 0x20
0000193a: MSTORE
0000193b: PUSH1 0x40
0000193d: SWAP1
0000193e: KECCAK256
0000193f: NUMBER
00001940: SWAP1
00001941: SSTORE
00001942: JUMPDEST
00001943: CALLER
00001944: PUSH1 0x00
00001946: PUSH1 0x00
00001948: DUP1
00001949: MLOAD
0000194a: PUSH1 0x20
0000194c: PUSH2 0x2425
0000194f: DUP4
00001950: CODECOPY
00001951: DUP2
00001952: MLOAD
00001953: SWAP2
00001954: MSTORE
00001955: CALLVALUE
00001956: PUSH2 0x195f
00001959: DUP4
0000195a: DUP6
0000195b: PUSH2 0x2290
0000195e: JUMP
0000195f: JUMPDEST
00001960: PUSH1 0x40
00001962: DUP1
00001963: MLOAD
00001964: SWAP3
00001965: DUP4
00001966: MSTORE
00001967: PUSH1 0x20
00001969: DUP4
0000196a: ADD
0000196b: SWAP2
0000196c: SWAP1
0000196d: SWAP2
0000196e: MSTORE
0000196f: DUP1
00001970: MLOAD
00001971: SWAP2
00001972: DUP3
00001973: SWAP1
00001974: SUB
00001975: ADD
00001976: SWAP1
00001977: LOG3
00001978: JUMP
00001979: JUMPDEST
0000197a: PUSH1 0x00
0000197c: DUP1
0000197d: SLOAD
0000197e: DUP2
0000197f: SWAP1
00001980: PUSH1 0x01
00001982: PUSH1 0xa0
00001984: PUSH1 0x02
00001986: EXP
00001987: SUB
00001988: AND
00001989: CALLER
0000198a: EQ
0000198b: DUP1
0000198c: ISZERO
0000198d: SWAP1
0000198e: PUSH2 0x19a7
00001991: JUMPI
00001992: POP
00001993: CALLER
00001994: PUSH1 0x00
00001996: SWAP1
00001997: DUP2
00001998: MSTORE
00001999: PUSH1 0x01
0000199b: PUSH1 0x20
0000199d: MSTORE
0000199e: PUSH1 0x40
000019a0: SWAP1
000019a1: KECCAK256
000019a2: SLOAD
000019a3: PUSH1 0xff
000019a5: AND
000019a6: ISZERO
000019a7: JUMPDEST
000019a8: ISZERO
000019a9: PUSH2 0x19b1
000019ac: JUMPI
000019ad: PUSH1 0x00
000019af: DUP1
000019b0: REVERT
000019b1: JUMPDEST
000019b2: ADDRESS
000019b3: DUP12
000019b4: DUP12
000019b5: DUP12
000019b6: DUP11
000019b7: DUP13
000019b8: DUP9
000019b9: PUSH1 0x40
000019bb: MLOAD
000019bc: DUP1
000019bd: DUP9
000019be: PUSH1 0x01
000019c0: PUSH1 0xa0
000019c2: PUSH1 0x02
000019c4: EXP
000019c5: SUB
000019c6: AND
000019c7: PUSH1 0x01
000019c9: PUSH1 0xa0
000019cb: PUSH1 0x02
000019cd: EXP
000019ce: SUB
000019cf: AND
000019d0: PUSH13 0x01000000000000000000000000
000019de: MUL
000019df: DUP2
000019e0: MSTORE
000019e1: PUSH1 0x14
000019e3: ADD
000019e4: DUP8
000019e5: PUSH1 0x01
000019e7: PUSH1 0xa0
000019e9: PUSH1 0x02
000019eb: EXP
000019ec: SUB
000019ed: AND
000019ee: PUSH1 0x01
000019f0: PUSH1 0xa0
000019f2: PUSH1 0x02
000019f4: EXP
000019f5: SUB
000019f6: AND
000019f7: PUSH13 0x01000000000000000000000000
00001a05: MUL
00001a06: DUP2
00001a07: MSTORE
00001a08: PUSH1 0x14
00001a0a: ADD
00001a0b: DUP7
00001a0c: DUP2
00001a0d: MSTORE
00001a0e: PUSH1 0x20
00001a10: ADD
00001a11: DUP6
00001a12: PUSH1 0x01
00001a14: PUSH1 0xa0
00001a16: PUSH1 0x02
00001a18: EXP
00001a19: SUB
00001a1a: AND
00001a1b: PUSH1 0x01
00001a1d: PUSH1 0xa0
00001a1f: PUSH1 0x02
00001a21: EXP
00001a22: SUB
00001a23: AND
00001a24: PUSH13 0x01000000000000000000000000
00001a32: MUL
00001a33: DUP2
00001a34: MSTORE
00001a35: PUSH1 0x14
00001a37: ADD
00001a38: DUP5
00001a39: DUP2
00001a3a: MSTORE
00001a3b: PUSH1 0x20
00001a3d: ADD
00001a3e: DUP4
00001a3f: DUP1
00001a40: MLOAD
00001a41: SWAP1
00001a42: PUSH1 0x20
00001a44: ADD
00001a45: SWAP1
00001a46: DUP1
00001a47: DUP4
00001a48: DUP4
00001a49: JUMPDEST
00001a4a: PUSH1 0x20
00001a4c: DUP4
00001a4d: LT
00001a4e: PUSH2 0x1a68
00001a51: JUMPI
00001a52: DUP1
00001a53: MLOAD
00001a54: DUP3
00001a55: MSTORE
00001a56: PUSH1 0x1f
00001a58: NOT
00001a59: SWAP1
00001a5a: SWAP3
00001a5b: ADD
00001a5c: SWAP2
00001a5d: PUSH1 0x20
00001a5f: SWAP2
00001a60: DUP3
00001a61: ADD
00001a62: SWAP2
00001a63: ADD
00001a64: PUSH2 0x1a49
00001a67: JUMP
00001a68: JUMPDEST
00001a69: MLOAD
00001a6a: DUP2
00001a6b: MLOAD
00001a6c: PUSH1 0x20
00001a6e: SWAP4
00001a6f: DUP5
00001a70: SUB
00001a71: PUSH2 0x0100
00001a74: EXP
00001a75: PUSH1 0x00
00001a77: NOT
00001a78: ADD
00001a79: DUP1
00001a7a: NOT
00001a7b: SWAP1
00001a7c: SWAP3
00001a7d: AND
00001a7e: SWAP2
00001a7f: AND
00001a80: OR
00001a81: SWAP1
00001a82: MSTORE
00001a83: SWAP3
00001a84: ADD
00001a85: SWAP4
00001a86: DUP5
00001a87: MSTORE
00001a88: POP
00001a89: PUSH1 0x40
00001a8b: DUP1
00001a8c: MLOAD
00001a8d: SWAP4
00001a8e: DUP5
00001a8f: SWAP1
00001a90: SUB
00001a91: DUP3
00001a92: ADD
00001a93: SWAP1
00001a94: SWAP4
00001a95: KECCAK256
00001a96: PUSH1 0x00
00001a98: DUP2
00001a99: DUP2
00001a9a: MSTORE
00001a9b: PUSH1 0x08
00001a9d: SWAP1
00001a9e: SWAP3
00001a9f: MSTORE
00001aa0: SWAP3
00001aa1: SWAP1
00001aa2: KECCAK256
00001aa3: SLOAD
00001aa4: SWAP2
00001aa5: SWAP9
00001aa6: POP
00001aa7: POP
00001aa8: PUSH1 0xff
00001aaa: AND
00001aab: ISZERO
00001aac: SWAP6
00001aad: POP
00001aae: PUSH2 0x1abc
00001ab1: SWAP5
00001ab2: POP
00001ab3: POP
00001ab4: POP
00001ab5: POP
00001ab6: POP
00001ab7: JUMPI
00001ab8: PUSH1 0x00
00001aba: DUP1
00001abb: REVERT
00001abc: JUMPDEST
00001abd: PUSH1 0x00
00001abf: DUP2
00001ac0: DUP2
00001ac1: MSTORE
00001ac2: PUSH1 0x08
00001ac4: PUSH1 0x20
00001ac6: SWAP1
00001ac7: DUP2
00001ac8: MSTORE
00001ac9: PUSH1 0x40
00001acb: DUP1
00001acc: DUP4
00001acd: KECCAK256
00001ace: DUP1
00001acf: SLOAD
00001ad0: PUSH1 0xff
00001ad2: NOT
00001ad3: AND
00001ad4: PUSH1 0x01
00001ad6: SWAP1
00001ad7: DUP2
00001ad8: OR
00001ad9: SWAP1
00001ada: SWAP2
00001adb: SSTORE
00001adc: DUP2
00001add: MLOAD
00001ade: PUSH32 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000
00001aff: DUP2
00001b00: MSTORE
00001b01: PUSH1 0x1c
00001b03: DUP2
00001b04: ADD
00001b05: DUP7
00001b06: SWAP1
00001b07: MSTORE
00001b08: DUP3
00001b09: MLOAD
00001b0a: SWAP1
00001b0b: DUP2
00001b0c: SWAP1
00001b0d: SUB
00001b0e: PUSH1 0x3c
00001b10: ADD
00001b11: DUP2
00001b12: KECCAK256
00001b13: DUP6
00001b14: DUP3
00001b15: MSTORE
00001b16: DUP2
00001b17: DUP6
00001b18: ADD
00001b19: DUP1
00001b1a: DUP6
00001b1b: MSTORE
00001b1c: MSTORE
00001b1d: PUSH1 0xff
00001b1f: DUP12
00001b20: AND
00001b21: DUP2
00001b22: DUP5
00001b23: ADD
00001b24: MSTORE
00001b25: PUSH1 0x60
00001b27: DUP2
00001b28: ADD
00001b29: DUP11
00001b2a: SWAP1
00001b2b: MSTORE
00001b2c: PUSH1 0x80
00001b2e: DUP2
00001b2f: ADD
00001b30: DUP10
00001b31: SWAP1
00001b32: MSTORE
00001b33: SWAP2
00001b34: MLOAD
00001b35: PUSH1 0x01
00001b37: PUSH1 0xa0
00001b39: PUSH1 0x02
00001b3b: EXP
00001b3c: SUB
00001b3d: DUP15
00001b3e: AND
00001b3f: SWAP5
00001b40: SWAP2
00001b41: SWAP4
00001b42: PUSH1 0xa0
00001b44: DUP1
00001b45: DUP6
00001b46: ADD
00001b47: SWAP5
00001b48: SWAP2
00001b49: SWAP4
00001b4a: PUSH1 0x1f
00001b4c: NOT
00001b4d: DUP5
00001b4e: ADD
00001b4f: SWAP4
00001b50: SWAP3
00001b51: DUP4
00001b52: SWAP1
00001b53: SUB
00001b54: SWAP1
00001b55: SWAP2
00001b56: ADD
00001b57: SWAP2
00001b58: SWAP1
00001b59: DUP7
00001b5a: GAS
00001b5b: CALL
00001b5c: ISZERO
00001b5d: DUP1
00001b5e: ISZERO
00001b5f: PUSH2 0x1b6c
00001b62: JUMPI
00001b63: RETURNDATASIZE
00001b64: PUSH1 0x00
00001b66: DUP1
00001b67: RETURNDATACOPY
00001b68: RETURNDATASIZE
00001b69: PUSH1 0x00
00001b6b: REVERT
00001b6c: JUMPDEST
00001b6d: POP
00001b6e: POP
00001b6f: POP
00001b70: PUSH1 0x20
00001b72: PUSH1 0x40
00001b74: MLOAD
00001b75: SUB
00001b76: MLOAD
00001b77: PUSH1 0x01
00001b79: PUSH1 0xa0
00001b7b: PUSH1 0x02
00001b7d: EXP
00001b7e: SUB
00001b7f: AND
00001b80: EQ
00001b81: ISZERO
00001b82: ISZERO
00001b83: PUSH2 0x1b8b
00001b86: JUMPI
00001b87: PUSH1 0x00
00001b89: DUP1
00001b8a: REVERT
00001b8b: JUMPDEST
00001b8c: DUP10
00001b8d: PUSH2 0x1b96
00001b90: DUP13
00001b91: DUP12
00001b92: PUSH2 0x0e72
00001b95: JUMP
00001b96: JUMPDEST
00001b97: LT
00001b98: ISZERO
00001b99: PUSH2 0x1ba1
00001b9c: JUMPI
00001b9d: PUSH1 0x00
00001b9f: DUP1
00001ba0: REVERT
00001ba1: JUMPDEST
00001ba2: PUSH2 0x1bac
00001ba5: DUP12
00001ba6: DUP11
00001ba7: DUP13
00001ba8: PUSH2 0x236d
00001bab: JUMP
00001bac: JUMPDEST
00001bad: PUSH1 0x05
00001baf: SLOAD
00001bb0: PUSH2 0x1bc4
00001bb3: SWAP1
00001bb4: DUP13
00001bb5: SWAP1
00001bb6: PUSH1 0x01
00001bb8: PUSH1 0xa0
00001bba: PUSH1 0x02
00001bbc: EXP
00001bbd: SUB
00001bbe: AND
00001bbf: DUP6
00001bc0: PUSH2 0x22b2
00001bc3: JUMP
00001bc4: JUMPDEST
00001bc5: PUSH1 0x40
00001bc7: DUP1
00001bc8: MLOAD
00001bc9: PUSH32 0x24b76fd500000000000000000000000000000000000000000000000000000000
00001bea: DUP2
00001beb: MSTORE
00001bec: PUSH1 0x04
00001bee: DUP2
00001bef: ADD
00001bf0: DUP13
00001bf1: DUP2
00001bf2: MSTORE
00001bf3: PUSH1 0x24
00001bf5: DUP3
00001bf6: ADD
00001bf7: SWAP3
00001bf8: DUP4
00001bf9: MSTORE
00001bfa: DUP11
00001bfb: MLOAD
00001bfc: PUSH1 0x44
00001bfe: DUP4
00001bff: ADD
00001c00: MSTORE
00001c01: DUP11
00001c02: MLOAD
00001c03: PUSH1 0x01
00001c05: PUSH1 0xa0
00001c07: PUSH1 0x02
00001c09: EXP
00001c0a: SUB
00001c0b: DUP16
00001c0c: AND
00001c0d: SWAP4
00001c0e: PUSH4 0x24b76fd5
00001c13: SWAP4
00001c14: DUP16
00001c15: SWAP4
00001c16: DUP15
00001c17: SWAP4
00001c18: SWAP1
00001c19: SWAP3
00001c1a: SWAP2
00001c1b: PUSH1 0x64
00001c1d: ADD
00001c1e: SWAP1
00001c1f: PUSH1 0x20
00001c21: DUP6
00001c22: ADD
00001c23: SWAP1
00001c24: DUP1
00001c25: DUP4
00001c26: DUP4
00001c27: PUSH1 0x00
00001c29: JUMPDEST
00001c2a: DUP4
00001c2b: DUP2
00001c2c: LT
00001c2d: ISZERO
00001c2e: PUSH2 0x1c41
00001c31: JUMPI
00001c32: DUP2
00001c33: DUP2
00001c34: ADD
00001c35: MLOAD
00001c36: DUP4
00001c37: DUP3
00001c38: ADD
00001c39: MSTORE
00001c3a: PUSH1 0x20
00001c3c: ADD
00001c3d: PUSH2 0x1c29
00001c40: JUMP
00001c41: JUMPDEST
00001c42: POP
00001c43: POP
00001c44: POP
00001c45: POP
00001c46: SWAP1
00001c47: POP
00001c48: SWAP1
00001c49: DUP2
00001c4a: ADD
00001c4b: SWAP1
00001c4c: PUSH1 0x1f
00001c4e: AND
00001c4f: DUP1
00001c50: ISZERO
00001c51: PUSH2 0x1c6e
00001c54: JUMPI
00001c55: DUP1
00001c56: DUP3
00001c57: SUB
00001c58: DUP1
00001c59: MLOAD
00001c5a: PUSH1 0x01
00001c5c: DUP4
00001c5d: PUSH1 0x20
00001c5f: SUB
00001c60: PUSH2 0x0100
00001c63: EXP
00001c64: SUB
00001c65: NOT
00001c66: AND
00001c67: DUP2
00001c68: MSTORE
00001c69: PUSH1 0x20
00001c6b: ADD
00001c6c: SWAP2
00001c6d: POP
00001c6e: JUMPDEST
00001c6f: POP
00001c70: SWAP4
00001c71: POP
00001c72: POP
00001c73: POP
00001c74: POP
00001c75: PUSH1 0x20
00001c77: PUSH1 0x40
00001c79: MLOAD
00001c7a: DUP1
00001c7b: DUP4
00001c7c: SUB
00001c7d: DUP2
00001c7e: PUSH1 0x00
00001c80: DUP8
00001c81: DUP1
00001c82: EXTCODESIZE
00001c83: ISZERO
00001c84: DUP1
00001c85: ISZERO
00001c86: PUSH2 0x1c8e
00001c89: JUMPI
00001c8a: PUSH1 0x00
00001c8c: DUP1
00001c8d: REVERT
00001c8e: JUMPDEST
00001c8f: POP
00001c90: GAS
00001c91: CALL
00001c92: ISZERO
00001c93: DUP1
00001c94: ISZERO
00001c95: PUSH2 0x1ca2
00001c98: JUMPI
00001c99: RETURNDATASIZE
00001c9a: PUSH1 0x00
00001c9c: DUP1
00001c9d: RETURNDATACOPY
00001c9e: RETURNDATASIZE
00001c9f: PUSH1 0x00
00001ca1: REVERT
00001ca2: JUMPDEST
00001ca3: POP
00001ca4: POP
00001ca5: POP
00001ca6: POP
00001ca7: PUSH1 0x40
00001ca9: MLOAD
00001caa: RETURNDATASIZE
00001cab: PUSH1 0x20
00001cad: DUP2
00001cae: LT
00001caf: ISZERO
00001cb0: PUSH2 0x1cb8
00001cb3: JUMPI
00001cb4: PUSH1 0x00
00001cb6: DUP1
00001cb7: REVERT
00001cb8: JUMPDEST
00001cb9: POP
00001cba: MLOAD
00001cbb: ISZERO
00001cbc: ISZERO
00001cbd: PUSH2 0x1cc5
00001cc0: JUMPI
00001cc1: PUSH1 0x00
00001cc3: DUP1
00001cc4: REVERT
00001cc5: JUMPDEST
00001cc6: DUP9
00001cc7: PUSH1 0x01
00001cc9: PUSH1 0xa0
00001ccb: PUSH1 0x02
00001ccd: EXP
00001cce: SUB
00001ccf: AND
00001cd0: DUP12
00001cd1: PUSH1 0x01
00001cd3: PUSH1 0xa0
00001cd5: PUSH1 0x02
00001cd7: EXP
00001cd8: SUB
00001cd9: AND
00001cda: PUSH32 0x9dfa686b7b2937e4fd677c02d58d6360465783882b284ba8378d52d957031f48
00001cfb: DUP13
00001cfc: DUP12
00001cfd: PUSH1 0x40
00001cff: MLOAD
00001d00: DUP1
00001d01: DUP4
00001d02: DUP2
00001d03: MSTORE
00001d04: PUSH1 0x20
00001d06: ADD
00001d07: DUP1
00001d08: PUSH1 0x20
00001d0a: ADD
00001d0b: DUP3
00001d0c: DUP2
00001d0d: SUB
00001d0e: DUP3
00001d0f: MSTORE
00001d10: DUP4
00001d11: DUP2
00001d12: DUP2
00001d13: MLOAD
00001d14: DUP2
00001d15: MSTORE
00001d16: PUSH1 0x20
00001d18: ADD
00001d19: SWAP2
00001d1a: POP
00001d1b: DUP1
00001d1c: MLOAD
00001d1d: SWAP1
00001d1e: PUSH1 0x20
00001d20: ADD
00001d21: SWAP1
00001d22: DUP1
00001d23: DUP4
00001d24: DUP4
00001d25: PUSH1 0x00
00001d27: JUMPDEST
00001d28: DUP4
00001d29: DUP2
00001d2a: LT
00001d2b: ISZERO
00001d2c: PUSH2 0x1d3f
00001d2f: JUMPI
00001d30: DUP2
00001d31: DUP2
00001d32: ADD
00001d33: MLOAD
00001d34: DUP4
00001d35: DUP3
00001d36: ADD
00001d37: MSTORE
00001d38: PUSH1 0x20
00001d3a: ADD
00001d3b: PUSH2 0x1d27
00001d3e: JUMP
00001d3f: JUMPDEST
00001d40: POP
00001d41: POP
00001d42: POP
00001d43: POP
00001d44: SWAP1
00001d45: POP
00001d46: SWAP1
00001d47: DUP2
00001d48: ADD
00001d49: SWAP1
00001d4a: PUSH1 0x1f
00001d4c: AND
00001d4d: DUP1
00001d4e: ISZERO
00001d4f: PUSH2 0x1d6c
00001d52: JUMPI
00001d53: DUP1
00001d54: DUP3
00001d55: SUB
00001d56: DUP1
00001d57: MLOAD
00001d58: PUSH1 0x01
00001d5a: DUP4
00001d5b: PUSH1 0x20
00001d5d: SUB
00001d5e: PUSH2 0x0100
00001d61: EXP
00001d62: SUB
00001d63: NOT
00001d64: AND
00001d65: DUP2
00001d66: MSTORE
00001d67: PUSH1 0x20
00001d69: ADD
00001d6a: SWAP2
00001d6b: POP
00001d6c: JUMPDEST
00001d6d: POP
00001d6e: SWAP4
00001d6f: POP
00001d70: POP
00001d71: POP
00001d72: POP
00001d73: PUSH1 0x40
00001d75: MLOAD
00001d76: DUP1
00001d77: SWAP2
00001d78: SUB
00001d79: SWAP1
00001d7a: LOG3
00001d7b: POP
00001d7c: SWAP10
00001d7d: SWAP9
00001d7e: POP
00001d7f: POP
00001d80: POP
00001d81: POP
00001d82: POP
00001d83: POP
00001d84: POP
00001d85: POP
00001d86: POP
00001d87: JUMP
00001d88: JUMPDEST
00001d89: PUSH1 0x00
00001d8b: DUP1
00001d8c: SLOAD
00001d8d: DUP2
00001d8e: SWAP1
00001d8f: PUSH1 0x01
00001d91: PUSH1 0xa0
00001d93: PUSH1 0x02
00001d95: EXP
00001d96: SUB
00001d97: AND
00001d98: CALLER
00001d99: EQ
00001d9a: DUP1
00001d9b: ISZERO
00001d9c: SWAP1
00001d9d: PUSH2 0x1db6
00001da0: JUMPI
00001da1: POP
00001da2: CALLER
00001da3: PUSH1 0x00
00001da5: SWAP1
00001da6: DUP2
00001da7: MSTORE
00001da8: PUSH1 0x01
00001daa: PUSH1 0x20
00001dac: MSTORE
00001dad: PUSH1 0x40
00001daf: SWAP1
00001db0: KECCAK256
00001db1: SLOAD
00001db2: PUSH1 0xff
00001db4: AND
00001db5: ISZERO
00001db6: JUMPDEST
00001db7: ISZERO
00001db8: PUSH2 0x1dc0
00001dbb: JUMPI
00001dbc: PUSH1 0x00
00001dbe: DUP1
00001dbf: REVERT
00001dc0: JUMPDEST
00001dc1: POP
00001dc2: PUSH1 0x40
00001dc4: DUP1
00001dc5: MLOAD
00001dc6: PUSH13 0x01000000000000000000000000
00001dd4: ADDRESS
00001dd5: DUP2
00001dd6: MUL
00001dd7: DUP3
00001dd8: MSTORE
00001dd9: PUSH1 0x01
00001ddb: PUSH1 0xa0
00001ddd: PUSH1 0x02
00001ddf: EXP
00001de0: SUB
00001de1: DUP1
00001de2: DUP14
00001de3: AND
00001de4: DUP3
00001de5: MUL
00001de6: PUSH1 0x14
00001de8: DUP5
00001de9: ADD
00001dea: MSTORE
00001deb: PUSH1 0x28
00001ded: DUP4
00001dee: ADD
00001def: DUP13
00001df0: SWAP1
00001df1: MSTORE
00001df2: DUP11
00001df3: AND
00001df4: MUL
00001df5: PUSH1 0x48
00001df7: DUP3
00001df8: ADD
00001df9: MSTORE
00001dfa: PUSH1 0x5c
00001dfc: DUP2
00001dfd: ADD
00001dfe: DUP9
00001dff: SWAP1
00001e00: MSTORE
00001e01: PUSH1 0x7c
00001e03: DUP2
00001e04: ADD
00001e05: DUP5
00001e06: SWAP1
00001e07: MSTORE
00001e08: DUP2
00001e09: MLOAD
00001e0a: SWAP1
00001e0b: DUP2
00001e0c: SWAP1
00001e0d: SUB
00001e0e: PUSH1 0x9c
00001e10: ADD
00001e11: SWAP1
00001e12: KECCAK256
00001e13: PUSH1 0x00
00001e15: DUP2
00001e16: DUP2
00001e17: MSTORE
00001e18: PUSH1 0x08
00001e1a: PUSH1 0x20
00001e1c: MSTORE
00001e1d: SWAP2
00001e1e: SWAP1
00001e1f: SWAP2
00001e20: KECCAK256
00001e21: SLOAD
00001e22: PUSH1 0xff
00001e24: AND
00001e25: ISZERO
00001e26: PUSH2 0x1e2e
00001e29: JUMPI
00001e2a: PUSH1 0x00
00001e2c: DUP1
00001e2d: REVERT
00001e2e: JUMPDEST
00001e2f: PUSH1 0x00
00001e31: DUP2
00001e32: DUP2
00001e33: MSTORE
00001e34: PUSH1 0x08
00001e36: PUSH1 0x20
00001e38: SWAP1
00001e39: DUP2
00001e3a: MSTORE
00001e3b: PUSH1 0x40
00001e3d: DUP1
00001e3e: DUP4
00001e3f: KECCAK256
00001e40: DUP1
00001e41: SLOAD
00001e42: PUSH1 0xff
00001e44: NOT
00001e45: AND
00001e46: PUSH1 0x01
00001e48: SWAP1
00001e49: DUP2
00001e4a: OR
00001e4b: SWAP1
00001e4c: SWAP2
00001e4d: SSTORE
00001e4e: DUP2
00001e4f: MLOAD
00001e50: PUSH32 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000
00001e71: DUP2
00001e72: MSTORE
00001e73: PUSH1 0x1c
00001e75: DUP2
00001e76: ADD
00001e77: DUP7
00001e78: SWAP1
00001e79: MSTORE
00001e7a: DUP3
00001e7b: MLOAD
00001e7c: SWAP1
00001e7d: DUP2
00001e7e: SWAP1
00001e7f: SUB
00001e80: PUSH1 0x3c
00001e82: ADD
00001e83: DUP2
00001e84: KECCAK256
00001e85: DUP6
00001e86: DUP3
00001e87: MSTORE
00001e88: DUP2
00001e89: DUP6
00001e8a: ADD
00001e8b: DUP1
00001e8c: DUP6
00001e8d: MSTORE
00001e8e: MSTORE
00001e8f: PUSH1 0xff
00001e91: DUP12
00001e92: AND
00001e93: DUP2
00001e94: DUP5
00001e95: ADD
00001e96: MSTORE
00001e97: PUSH1 0x60
00001e99: DUP2
00001e9a: ADD
00001e9b: DUP11
00001e9c: SWAP1
00001e9d: MSTORE
00001e9e: PUSH1 0x80
00001ea0: DUP2
00001ea1: ADD
00001ea2: DUP10
00001ea3: SWAP1
00001ea4: MSTORE
00001ea5: SWAP2
00001ea6: MLOAD
00001ea7: PUSH1 0x01
00001ea9: PUSH1 0xa0
00001eab: PUSH1 0x02
00001ead: EXP
00001eae: SUB
00001eaf: DUP14
00001eb0: AND
00001eb1: SWAP5
00001eb2: SWAP2
00001eb3: SWAP4
00001eb4: PUSH1 0xa0
00001eb6: DUP1
00001eb7: DUP6
00001eb8: ADD
00001eb9: SWAP5
00001eba: SWAP2
00001ebb: SWAP4
00001ebc: PUSH1 0x1f
00001ebe: NOT
00001ebf: DUP5
00001ec0: ADD
00001ec1: SWAP4
00001ec2: SWAP3
00001ec3: DUP4
00001ec4: SWAP1
00001ec5: SUB
00001ec6: SWAP1
00001ec7: SWAP2
00001ec8: ADD
00001ec9: SWAP2
00001eca: SWAP1
00001ecb: DUP7
00001ecc: GAS
00001ecd: CALL
00001ece: ISZERO
00001ecf: DUP1
00001ed0: ISZERO
00001ed1: PUSH2 0x1ede
00001ed4: JUMPI
00001ed5: RETURNDATASIZE
00001ed6: PUSH1 0x00
00001ed8: DUP1
00001ed9: RETURNDATACOPY
00001eda: RETURNDATASIZE
00001edb: PUSH1 0x00
00001edd: REVERT
00001ede: JUMPDEST
00001edf: POP
00001ee0: POP
00001ee1: POP
00001ee2: PUSH1 0x20
00001ee4: PUSH1 0x40
00001ee6: MLOAD
00001ee7: SUB
00001ee8: MLOAD
00001ee9: PUSH1 0x01
00001eeb: PUSH1 0xa0
00001eed: PUSH1 0x02
00001eef: EXP
00001ef0: SUB
00001ef1: AND
00001ef2: EQ
00001ef3: ISZERO
00001ef4: ISZERO
00001ef5: PUSH2 0x1efd
00001ef8: JUMPI
00001ef9: PUSH1 0x00
00001efb: DUP1
00001efc: REVERT
00001efd: JUMPDEST
00001efe: DUP9
00001eff: PUSH2 0x1f08
00001f02: DUP12
00001f03: DUP11
00001f04: PUSH2 0x0e72
00001f07: JUMP
00001f08: JUMPDEST
00001f09: LT
00001f0a: ISZERO
00001f0b: PUSH2 0x1f13
00001f0e: JUMPI
00001f0f: PUSH1 0x00
00001f11: DUP1
00001f12: REVERT
00001f13: JUMPDEST
00001f14: PUSH2 0x1f1e
00001f17: DUP11
00001f18: DUP10
00001f19: DUP12
00001f1a: PUSH2 0x236d
00001f1d: JUMP
00001f1e: JUMPDEST
00001f1f: PUSH1 0x05
00001f21: SLOAD
00001f22: PUSH2 0x1f36
00001f25: SWAP1
00001f26: DUP12
00001f27: SWAP1
00001f28: PUSH1 0x01
00001f2a: PUSH1 0xa0
00001f2c: PUSH1 0x02
00001f2e: EXP
00001f2f: SUB
00001f30: AND
00001f31: DUP6
00001f32: PUSH2 0x22b2
00001f35: JUMP
00001f36: JUMPDEST
00001f37: PUSH1 0x01
00001f39: PUSH1 0xa0
00001f3b: PUSH1 0x02
00001f3d: EXP
00001f3e: SUB
00001f3f: DUP11
00001f40: AND
00001f41: ISZERO
00001f42: ISZERO
00001f43: PUSH2 0x1f84
00001f46: JUMPI
00001f47: DUP8
00001f48: PUSH1 0x01
00001f4a: PUSH1 0xa0
00001f4c: PUSH1 0x02
00001f4e: EXP
00001f4f: SUB
00001f50: AND
00001f51: PUSH2 0x08fc
00001f54: PUSH2 0x1f5d
00001f57: DUP12
00001f58: DUP7
00001f59: PUSH2 0x153c
00001f5c: JUMP
00001f5d: JUMPDEST
00001f5e: PUSH1 0x40
00001f60: MLOAD
00001f61: DUP2
00001f62: ISZERO
00001f63: SWAP1
00001f64: SWAP3
00001f65: MUL
00001f66: SWAP2
00001f67: PUSH1 0x00
00001f69: DUP2
00001f6a: DUP2
00001f6b: DUP2
00001f6c: DUP6
00001f6d: DUP9
00001f6e: DUP9
00001f6f: CALL
00001f70: SWAP4
00001f71: POP
00001f72: POP
00001f73: POP
00001f74: POP
00001f75: ISZERO
00001f76: ISZERO
00001f77: PUSH2 0x1f7f
00001f7a: JUMPI
00001f7b: PUSH1 0x00
00001f7d: DUP1
00001f7e: REVERT
00001f7f: JUMPDEST
00001f80: PUSH2 0x2040
00001f83: JUMP
00001f84: JUMPDEST
00001f85: DUP10
00001f86: PUSH1 0x01
00001f88: PUSH1 0xa0
00001f8a: PUSH1 0x02
00001f8c: EXP
00001f8d: SUB
00001f8e: AND
00001f8f: PUSH4 0xa9059cbb
00001f94: DUP10
00001f95: PUSH2 0x1f9e
00001f98: DUP13
00001f99: DUP8
00001f9a: PUSH2 0x153c
00001f9d: JUMP
00001f9e: JUMPDEST
00001f9f: PUSH1 0x40
00001fa1: MLOAD
00001fa2: DUP4
00001fa3: PUSH4 0xffffffff
00001fa8: AND
00001fa9: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00001fc7: MUL
00001fc8: DUP2
00001fc9: MSTORE
00001fca: PUSH1 0x04
00001fcc: ADD
00001fcd: DUP1
00001fce: DUP4
00001fcf: PUSH1 0x01
00001fd1: PUSH1 0xa0
00001fd3: PUSH1 0x02
00001fd5: EXP
00001fd6: SUB
00001fd7: AND
00001fd8: PUSH1 0x01
00001fda: PUSH1 0xa0
00001fdc: PUSH1 0x02
00001fde: EXP
00001fdf: SUB
00001fe0: AND
00001fe1: DUP2
00001fe2: MSTORE
00001fe3: PUSH1 0x20
00001fe5: ADD
00001fe6: DUP3
00001fe7: DUP2
00001fe8: MSTORE
00001fe9: PUSH1 0x20
00001feb: ADD
00001fec: SWAP3
00001fed: POP
00001fee: POP
00001fef: POP
00001ff0: PUSH1 0x20
00001ff2: PUSH1 0x40
00001ff4: MLOAD
00001ff5: DUP1
00001ff6: DUP4
00001ff7: SUB
00001ff8: DUP2
00001ff9: PUSH1 0x00
00001ffb: DUP8
00001ffc: DUP1
00001ffd: EXTCODESIZE
00001ffe: ISZERO
00001fff: DUP1
00002000: ISZERO
00002001: PUSH2 0x2009
00002004: JUMPI
00002005: PUSH1 0x00
00002007: DUP1
00002008: REVERT
00002009: JUMPDEST
0000200a: POP
0000200b: GAS
0000200c: CALL
0000200d: ISZERO
0000200e: DUP1
0000200f: ISZERO
00002010: PUSH2 0x201d
00002013: JUMPI
00002014: RETURNDATASIZE
00002015: PUSH1 0x00
00002017: DUP1
00002018: RETURNDATACOPY
00002019: RETURNDATASIZE
0000201a: PUSH1 0x00
0000201c: REVERT
0000201d: JUMPDEST
0000201e: POP
0000201f: POP
00002020: POP
00002021: POP
00002022: PUSH1 0x40
00002024: MLOAD
00002025: RETURNDATASIZE
00002026: PUSH1 0x20
00002028: DUP2
00002029: LT
0000202a: ISZERO
0000202b: PUSH2 0x2033
0000202e: JUMPI
0000202f: PUSH1 0x00
00002031: DUP1
00002032: REVERT
00002033: JUMPDEST
00002034: POP
00002035: MLOAD
00002036: ISZERO
00002037: ISZERO
00002038: PUSH2 0x2040
0000203b: JUMPI
0000203c: PUSH1 0x00
0000203e: DUP1
0000203f: REVERT
00002040: JUMPDEST
00002041: DUP8
00002042: PUSH1 0x01
00002044: PUSH1 0xa0
00002046: PUSH1 0x02
00002048: EXP
00002049: SUB
0000204a: AND
0000204b: DUP11
0000204c: PUSH1 0x01
0000204e: PUSH1 0xa0
00002050: PUSH1 0x02
00002052: EXP
00002053: SUB
00002054: AND
00002055: PUSH32 0xebff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f
00002076: DUP12
00002077: PUSH2 0x2080
0000207a: DUP15
0000207b: DUP14
0000207c: PUSH2 0x2290
0000207f: JUMP
00002080: JUMPDEST
00002081: PUSH1 0x40
00002083: DUP1
00002084: MLOAD
00002085: SWAP3
00002086: DUP4
00002087: MSTORE
00002088: PUSH1 0x20
0000208a: DUP4
0000208b: ADD
0000208c: SWAP2
0000208d: SWAP1
0000208e: SWAP2
0000208f: MSTORE
00002090: DUP2
00002091: DUP2
00002092: ADD
00002093: DUP9
00002094: SWAP1
00002095: MSTORE
00002096: MLOAD
00002097: SWAP1
00002098: DUP2
00002099: SWAP1
0000209a: SUB
0000209b: PUSH1 0x60
0000209d: ADD
0000209e: SWAP1
0000209f: LOG3
000020a0: POP
000020a1: SWAP9
000020a2: SWAP8
000020a3: POP
000020a4: POP
000020a5: POP
000020a6: POP
000020a7: POP
000020a8: POP
000020a9: POP
000020aa: POP
000020ab: JUMP
000020ac: JUMPDEST
000020ad: PUSH1 0x00
000020af: DUP1
000020b0: SLOAD
000020b1: PUSH2 0x20c4
000020b4: SWAP1
000020b5: PUSH1 0x01
000020b7: PUSH1 0xa0
000020b9: PUSH1 0x02
000020bb: EXP
000020bc: SUB
000020bd: AND
000020be: CALLER
000020bf: EQ
000020c0: PUSH2 0x0b55
000020c3: JUMP
000020c4: JUMPDEST
000020c5: PUSH3 0x0f4240
000020c9: DUP3
000020ca: GT
000020cb: ISZERO
000020cc: PUSH2 0x20d4
000020cf: JUMPI
000020d0: PUSH1 0x00
000020d2: DUP1
000020d3: REVERT
000020d4: JUMPDEST
000020d5: PUSH1 0x07
000020d7: DUP3
000020d8: SWAP1
000020d9: SSTORE
000020da: PUSH1 0x40
000020dc: DUP1
000020dd: MLOAD
000020de: DUP4
000020df: DUP2
000020e0: MSTORE
000020e1: SWAP1
000020e2: MLOAD
000020e3: PUSH32 0x19ead489622e1c2974a8b824d87f439caa95e609c9ec1beff8e3641b546781d3
00002104: SWAP2
00002105: DUP2
00002106: SWAP1
00002107: SUB
00002108: PUSH1 0x20
0000210a: ADD
0000210b: SWAP1
0000210c: LOG1
0000210d: POP
0000210e: PUSH1 0x01
00002110: SWAP2
00002111: SWAP1
00002112: POP
00002113: JUMP
00002114: JUMPDEST
00002115: PUSH1 0x00
00002117: DUP3
00002118: DUP3
00002119: ADD
0000211a: PUSH2 0x18f6
0000211d: DUP5
0000211e: DUP3
0000211f: LT
00002120: DUP1
00002121: ISZERO
00002122: SWAP1
00002123: PUSH2 0x18f1
00002126: JUMPI
00002127: POP
00002128: DUP4
00002129: DUP3
0000212a: LT
0000212b: ISZERO
0000212c: PUSH2 0x0b55
0000212f: JUMP
00002130: JUMPDEST
00002131: PUSH1 0x07
00002133: SLOAD
00002134: DUP2
00002135: JUMP
00002136: JUMPDEST
00002137: PUSH1 0x00
00002139: DUP2
0000213a: PUSH2 0x2143
0000213d: DUP5
0000213e: CALLER
0000213f: PUSH2 0x0e72
00002142: JUMP
00002143: JUMPDEST
00002144: LT
00002145: ISZERO
00002146: PUSH2 0x214e
00002149: JUMPI
0000214a: PUSH1 0x00
0000214c: DUP1
0000214d: REVERT
0000214e: JUMPDEST
0000214f: PUSH2 0x2159
00002152: DUP4
00002153: CALLER
00002154: DUP5
00002155: PUSH2 0x236d
00002158: JUMP
00002159: JUMPDEST
0000215a: PUSH1 0x01
0000215c: PUSH1 0xa0
0000215e: PUSH1 0x02
00002160: EXP
00002161: SUB
00002162: DUP4
00002163: AND
00002164: ISZERO
00002165: ISZERO
00002166: PUSH2 0x2195
00002169: JUMPI
0000216a: PUSH1 0x40
0000216c: MLOAD
0000216d: CALLER
0000216e: SWAP1
0000216f: DUP4
00002170: ISZERO
00002171: PUSH2 0x08fc
00002174: MUL
00002175: SWAP1
00002176: DUP5
00002177: SWAP1
00002178: PUSH1 0x00
0000217a: DUP2
0000217b: DUP2
0000217c: DUP2
0000217d: DUP6
0000217e: DUP9
0000217f: DUP9
00002180: CALL
00002181: SWAP4
00002182: POP
00002183: POP
00002184: POP
00002185: POP
00002186: ISZERO
00002187: ISZERO
00002188: PUSH2 0x2190
0000218b: JUMPI
0000218c: PUSH1 0x00
0000218e: DUP1
0000218f: REVERT
00002190: JUMPDEST
00002191: PUSH2 0x2234
00002194: JUMP
00002195: JUMPDEST
00002196: PUSH1 0x40
00002198: DUP1
00002199: MLOAD
0000219a: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
000021bb: DUP2
000021bc: MSTORE
000021bd: CALLER
000021be: PUSH1 0x04
000021c0: DUP3
000021c1: ADD
000021c2: MSTORE
000021c3: PUSH1 0x24
000021c5: DUP2
000021c6: ADD
000021c7: DUP5
000021c8: SWAP1
000021c9: MSTORE
000021ca: SWAP1
000021cb: MLOAD
000021cc: PUSH1 0x01
000021ce: PUSH1 0xa0
000021d0: PUSH1 0x02
000021d2: EXP
000021d3: SUB
000021d4: DUP6
000021d5: AND
000021d6: SWAP2
000021d7: PUSH4 0xa9059cbb
000021dc: SWAP2
000021dd: PUSH1 0x44
000021df: DUP1
000021e0: DUP4
000021e1: ADD
000021e2: SWAP3
000021e3: PUSH1 0x20
000021e5: SWAP3
000021e6: SWAP2
000021e7: SWAP1
000021e8: DUP3
000021e9: SWAP1
000021ea: SUB
000021eb: ADD
000021ec: DUP2
000021ed: PUSH1 0x00
000021ef: DUP8
000021f0: DUP1
000021f1: EXTCODESIZE
000021f2: ISZERO
000021f3: DUP1
000021f4: ISZERO
000021f5: PUSH2 0x21fd
000021f8: JUMPI
000021f9: PUSH1 0x00
000021fb: DUP1
000021fc: REVERT
000021fd: JUMPDEST
000021fe: POP
000021ff: GAS
00002200: CALL
00002201: ISZERO
00002202: DUP1
00002203: ISZERO
00002204: PUSH2 0x2211
00002207: JUMPI
00002208: RETURNDATASIZE
00002209: PUSH1 0x00
0000220b: DUP1
0000220c: RETURNDATACOPY
0000220d: RETURNDATASIZE
0000220e: PUSH1 0x00
00002210: REVERT
00002211: JUMPDEST
00002212: POP
00002213: POP
00002214: POP
00002215: POP
00002216: PUSH1 0x40
00002218: MLOAD
00002219: RETURNDATASIZE
0000221a: PUSH1 0x20
0000221c: DUP2
0000221d: LT
0000221e: ISZERO
0000221f: PUSH2 0x2227
00002222: JUMPI
00002223: PUSH1 0x00
00002225: DUP1
00002226: REVERT
00002227: JUMPDEST
00002228: POP
00002229: MLOAD
0000222a: ISZERO
0000222b: ISZERO
0000222c: PUSH2 0x2234
0000222f: JUMPI
00002230: PUSH1 0x00
00002232: DUP1
00002233: REVERT
00002234: JUMPDEST
00002235: CALLER
00002236: PUSH1 0x01
00002238: PUSH1 0xa0
0000223a: PUSH1 0x02
0000223c: EXP
0000223d: SUB
0000223e: DUP5
0000223f: AND
00002240: PUSH32 0xebff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f
00002261: DUP5
00002262: PUSH2 0x226b
00002265: DUP8
00002266: DUP6
00002267: PUSH2 0x2290
0000226a: JUMP
0000226b: JUMPDEST
0000226c: PUSH1 0x40
0000226e: DUP1
0000226f: MLOAD
00002270: SWAP3
00002271: DUP4
00002272: MSTORE
00002273: PUSH1 0x20
00002275: DUP4
00002276: ADD
00002277: SWAP2
00002278: SWAP1
00002279: SWAP2
0000227a: MSTORE
0000227b: PUSH1 0x00
0000227d: DUP3
0000227e: DUP3
0000227f: ADD
00002280: MSTORE
00002281: MLOAD
00002282: SWAP1
00002283: DUP2
00002284: SWAP1
00002285: SUB
00002286: PUSH1 0x60
00002288: ADD
00002289: SWAP1
0000228a: LOG3
0000228b: SWAP3
0000228c: SWAP2
0000228d: POP
0000228e: POP
0000228f: JUMP
00002290: JUMPDEST
00002291: PUSH1 0x00
00002293: PUSH2 0x229c
00002296: DUP4
00002297: DUP4
00002298: PUSH2 0x186e
0000229b: JUMP
0000229c: JUMPDEST
0000229d: PUSH1 0x00
0000229f: PUSH2 0x185c
000022a2: JUMP
000022a3: JUMPDEST
000022a4: PUSH1 0x06
000022a6: SLOAD
000022a7: PUSH1 0x01
000022a9: PUSH1 0xa0
000022ab: PUSH1 0x02
000022ad: EXP
000022ae: SUB
000022af: AND
000022b0: DUP2
000022b1: JUMP
000022b2: JUMPDEST
000022b3: PUSH2 0x22cf
000022b6: DUP4
000022b7: DUP4
000022b8: PUSH2 0x22ca
000022bb: PUSH2 0x22c4
000022be: DUP8
000022bf: DUP8
000022c0: PUSH2 0x2290
000022c3: JUMP
000022c4: JUMPDEST
000022c5: DUP6
000022c6: PUSH2 0x2114
000022c9: JUMP
000022ca: JUMPDEST
000022cb: PUSH2 0x239b
000022ce: JUMP
000022cf: JUMPDEST
000022d0: POP
000022d1: POP
000022d2: POP
000022d3: POP
000022d4: JUMP
000022d5: JUMPDEST
000022d6: PUSH1 0x01
000022d8: PUSH1 0xa0
000022da: PUSH1 0x02
000022dc: EXP
000022dd: SUB
000022de: SWAP4
000022df: DUP5
000022e0: AND
000022e1: PUSH1 0x00
000022e3: SWAP1
000022e4: DUP2
000022e5: MSTORE
000022e6: PUSH1 0x03
000022e8: PUSH1 0x20
000022ea: SWAP1
000022eb: DUP2
000022ec: MSTORE
000022ed: PUSH1 0x40
000022ef: DUP1
000022f0: DUP4
000022f1: KECCAK256
000022f2: SWAP6
000022f3: SWAP1
000022f4: SWAP7
000022f5: AND
000022f6: DUP3
000022f7: MSTORE
000022f8: SWAP4
000022f9: SWAP1
000022fa: SWAP4
000022fb: MSTORE
000022fc: SWAP3
000022fd: SWAP1
000022fe: SWAP2
000022ff: KECCAK256
00002300: PUSH17 0x0100000000000000000000000000000000
00002312: SWAP1
00002313: SWAP3
00002314: MUL
00002315: OR
00002316: SWAP1
00002317: SSTORE
00002318: JUMP
00002319: JUMPDEST
0000231a: PUSH1 0x00
0000231c: PUSH2 0x2325
0000231f: DUP5
00002320: DUP5
00002321: PUSH2 0x2290
00002324: JUMP
00002325: JUMPDEST
00002326: PUSH1 0x01
00002328: PUSH1 0xa0
0000232a: PUSH1 0x02
0000232c: EXP
0000232d: SUB
0000232e: SWAP5
0000232f: DUP6
00002330: AND
00002331: PUSH1 0x00
00002333: SWAP1
00002334: DUP2
00002335: MSTORE
00002336: PUSH1 0x03
00002338: PUSH1 0x20
0000233a: SWAP1
0000233b: DUP2
0000233c: MSTORE
0000233d: PUSH1 0x40
0000233f: DUP1
00002340: DUP4
00002341: KECCAK256
00002342: SWAP7
00002343: SWAP1
00002344: SWAP8
00002345: AND
00002346: DUP3
00002347: MSTORE
00002348: SWAP5
00002349: SWAP1
0000234a: SWAP5
0000234b: MSTORE
0000234c: SWAP4
0000234d: SWAP1
0000234e: SWAP3
0000234f: KECCAK256
00002350: PUSH17 0x0100000000000000000000000000000000
00002362: SWAP1
00002363: SWAP2
00002364: MUL
00002365: SWAP1
00002366: SWAP3
00002367: OR
00002368: SWAP1
00002369: SWAP2
0000236a: SSTORE
0000236b: POP
0000236c: JUMP
0000236d: JUMPDEST
0000236e: DUP1
0000236f: PUSH2 0x2378
00002372: DUP5
00002373: DUP5
00002374: PUSH2 0x0e72
00002377: JUMP
00002378: JUMPDEST
00002379: LT
0000237a: ISZERO
0000237b: PUSH2 0x2383
0000237e: JUMPI
0000237f: PUSH1 0x00
00002381: DUP1
00002382: REVERT
00002383: JUMPDEST
00002384: PUSH2 0x22cf
00002387: DUP4
00002388: DUP4
00002389: PUSH2 0x22ca
0000238c: PUSH2 0x2395
0000238f: DUP8
00002390: DUP8
00002391: PUSH2 0x2290
00002394: JUMP
00002395: JUMPDEST
00002396: DUP6
00002397: PUSH2 0x153c
0000239a: JUMP
0000239b: JUMPDEST
0000239c: PUSH1 0x00
0000239e: DUP2
0000239f: PUSH1 0x80
000023a1: PUSH2 0x23aa
000023a4: DUP7
000023a5: DUP7
000023a6: PUSH2 0x184d
000023a9: JUMP
000023aa: JUMPDEST
000023ab: PUSH1 0x01
000023ad: PUSH1 0xa0
000023af: PUSH1 0x02
000023b1: EXP
000023b2: SUB
000023b3: DUP1
000023b4: DUP9
000023b5: AND
000023b6: PUSH1 0x00
000023b8: SWAP1
000023b9: DUP2
000023ba: MSTORE
000023bb: PUSH1 0x03
000023bd: PUSH1 0x20
000023bf: SWAP1
000023c0: DUP2
000023c1: MSTORE
000023c2: PUSH1 0x40
000023c4: DUP1
000023c5: DUP4
000023c6: KECCAK256
000023c7: SWAP4
000023c8: DUP11
000023c9: AND
000023ca: DUP4
000023cb: MSTORE
000023cc: SWAP3
000023cd: SWAP1
000023ce: MSTORE
000023cf: KECCAK256
000023d0: PUSH1 0x02
000023d2: SWAP3
000023d3: SWAP1
000023d4: SWAP3
000023d5: EXP
000023d6: MUL
000023d7: SWAP2
000023d8: SWAP1
000023d9: SWAP2
000023da: OR
000023db: SWAP1
000023dc: DUP2
000023dd: SWAP1
000023de: SSTORE
000023df: PUSH1 0x01
000023e1: SWAP2
000023e2: POP
000023e3: POP
000023e4: SWAP4
000023e5: SWAP3
000023e6: POP
000023e7: POP
000023e8: POP
000023e9: JUMP
000023ea: JUMPDEST
000023eb: PUSH1 0x80
000023ed: PUSH1 0x40
000023ef: MLOAD
000023f0: SWAP1
000023f1: DUP2
000023f2: ADD
000023f3: PUSH1 0x40
000023f5: MSTORE
000023f6: DUP1
000023f7: PUSH1 0x04
000023f9: SWAP1
000023fa: PUSH1 0x20
000023fc: DUP3
000023fd: MUL
000023fe: DUP1
000023ff: CODESIZE
00002400: DUP4
00002401: CODECOPY
00002402: POP
00002403: SWAP2
00002404: SWAP3
00002405: SWAP2
00002406: POP
00002407: POP
00002408: JUMP
00002409: JUMPDEST
0000240a: PUSH1 0x40
0000240c: DUP1
0000240d: MLOAD
0000240e: DUP1
0000240f: DUP3
00002410: ADD
00002411: DUP3
00002412: MSTORE
00002413: SWAP1
00002414: PUSH1 0x02
00002416: SWAP1
00002417: DUP3
00002418: SWAP1
00002419: DUP1
0000241a: CODESIZE
0000241b: DUP4
0000241c: CODECOPY
0000241d: POP
0000241e: SWAP2
0000241f: SWAP3
00002420: SWAP2
00002421: POP
00002422: POP
00002423: JUMP
00002424: STOP
00002425: UNKNOWN(0xDC)
00002426: UNKNOWN(0xBC)
00002427: SHR
00002428: SDIV
00002429: UNKNOWN(0x24)
0000242a: UNKNOWN(0x0F)
0000242b: BALANCE
0000242c: SELFDESTRUCT
0000242d: GASPRICE
0000242e: UNKNOWN(0xD0)
0000242f: PUSH8 0xef1ee35ce4997762
00002438: PUSH22 0x2e3a095284754544f4c709d7a165627a7a7230582082
0000244f: UNKNOWN(0xE8)
00002450: PUSH12 0xab0e1b4a29fb7d7791db1dd8
0000245d: XOR
0000245e: DUP2
0000245f: SELFBALANCE
00002460: INVALID
00002461: UNKNOWN(0xAE)
00002462: JUMP
00002463: UNKNOWN(0xCC)
00002464: MSTORE8
00002465: UNKNOWN(0xD8)
00002466: UNKNOWN(0xDA)
00002467: NUMBER
00002468: UNKNOWN(0xCD)
00002469: UNKNOWN(0xC2)
0000246a: UNKNOWN(0x22)
0000246b: UNKNOWN(0xD8)
0000246c: SAR
0000246d: CREATE2
0000246e: STOP
0000246f: UNKNOWN(0x29)

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other cast SELFDESTRUCT present 85 no
view
evidence_json
{
    "notes": "selfdestruct can remove contract code and send funds; review reachability",
    "selfdestruct_count": 1
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x7781fcf19966ea5b5990d61eb8c0160b080de48d5a55cdbc3fb552e626bcdeb9
call_targets: 0x2101e480e22c953b37b9d0fe6551c1354fe705e6
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x7781fcf19966ea5b5990d61eb8c0160b080de48d5a55cdbc3fb552e626bcdeb9",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x2101e480e22c953b37b9d0fe6551c1354fe705e6"
    ],
    "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": "0x02ce8c4d",
            "selector": "0x02ce8c4d",
            "calldata_variants": [
                "0x02ce8c4d",
                "0x02ce8c4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0674763c",
            "selector": "0x0674763c",
            "calldata_variants": [
                "0x0674763c",
                "0x0674763c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06c5ac42",
            "selector": "0x06c5ac42",
            "calldata_variants": [
                "0x06c5ac42",
                "0x06c5ac420000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x092a5cce",
            "selector": "0x092a5cce",
            "calldata_variants": [
                "0x092a5cce",
                "0x092a5cce0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x13af4035",
            "selector": "0x13af4035",
            "calldata_variants": [
                "0x13af4035",
                "0x13af40350000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x14fe6af9",
            "selector": "0x14fe6af9",
            "calldata_variants": [
                "0x14fe6af9",
                "0x14fe6af90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1db89da1",
            "selector": "0x1db89da1",
            "calldata_variants": [
                "0x1db89da1",
                "0x1db89da10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1e452a90",
            "selector": "0x1e452a90",
            "calldata_variants": [
                "0x1e452a90",
                "0x1e452a900000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3057,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4610,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5082,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 13,
    "guards_detected": [],
    "untrusted_call_count": 13
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x7781fcf19966ea5b5990d61eb8c0160b080de48d5a55cdbc3fb552e626bcdeb9
call_targets: 0x2101e480e22c953b37b9d0fe6551c1354fe705e6
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x7781fcf19966ea5b5990d61eb8c0160b080de48d5a55cdbc3fb552e626bcdeb9",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x2101e480e22c953b37b9d0fe6551c1354fe705e6"
    ],
    "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": "0x02ce8c4d",
            "selector": "0x02ce8c4d",
            "calldata_variants": [
                "0x02ce8c4d",
                "0x02ce8c4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0674763c",
            "selector": "0x0674763c",
            "calldata_variants": [
                "0x0674763c",
                "0x0674763c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06c5ac42",
            "selector": "0x06c5ac42",
            "calldata_variants": [
                "0x06c5ac42",
                "0x06c5ac420000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x092a5cce",
            "selector": "0x092a5cce",
            "calldata_variants": [
                "0x092a5cce",
                "0x092a5cce0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x13af4035",
            "selector": "0x13af4035",
            "calldata_variants": [
                "0x13af4035",
                "0x13af40350000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x14fe6af9",
            "selector": "0x14fe6af9",
            "calldata_variants": [
                "0x14fe6af9",
                "0x14fe6af90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1db89da1",
            "selector": "0x1db89da1",
            "calldata_variants": [
                "0x1db89da1",
                "0x1db89da10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1e452a90",
            "selector": "0x1e452a90",
            "calldata_variants": [
                "0x1e452a90",
                "0x1e452a900000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3057,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4610,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5082,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 13,
    "guards_detected": []
}
high other detector SELFDESTRUCT reachable 65 no no
view
trace_id: 0x5997c1c8b6e0bed0891d56438a09116806ebdae3375f65f4bd5ac634f73207c6
validation_json
{
    "sink": "SELFDESTRUCT",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0x5997c1c8b6e0bed0891d56438a09116806ebdae3375f65f4bd5ac634f73207c6",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x02ce8c4d",
            "selector": "0x02ce8c4d",
            "calldata_variants": [
                "0x02ce8c4d",
                "0x02ce8c4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0674763c",
            "selector": "0x0674763c",
            "calldata_variants": [
                "0x0674763c",
                "0x0674763c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06c5ac42",
            "selector": "0x06c5ac42",
            "calldata_variants": [
                "0x06c5ac42",
                "0x06c5ac420000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x092a5cce",
            "selector": "0x092a5cce",
            "calldata_variants": [
                "0x092a5cce",
                "0x092a5cce0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x13af4035",
            "selector": "0x13af4035",
            "calldata_variants": [
                "0x13af4035",
                "0x13af40350000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x14fe6af9",
            "selector": "0x14fe6af9",
            "calldata_variants": [
                "0x14fe6af9",
                "0x14fe6af90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1db89da1",
            "selector": "0x1db89da1",
            "calldata_variants": [
                "0x1db89da1",
                "0x1db89da10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1e452a90",
            "selector": "0x1e452a90",
            "calldata_variants": [
                "0x1e452a90",
                "0x1e452a900000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [],
    "selfdestruct_count": 1
}
medium other codex Token deposits credit full amount without verifying actual tokens received 75 no
view
evidence_json
{
    "evidence": "Balances are incremented before `transferFrom` and no balance-delta check is performed.",
    "locations": [
        "contracts/Contract.sol:295",
        "contracts/Contract.sol:304",
        "contracts/Contract.sol:312"
    ],
    "recommendation": "Credit based on actual balance delta (`balanceAfter - balanceBefore`), or explicitly whitelist standard ERC20s that do not charge transfer fees.",
    "exploit_scenario": "For fee-on-transfer or deflationary tokens, `transferFrom` can deliver fewer tokens than `amount`, yet the contract credits the full `amount` to the user. The user can then withdraw the inflated balance, draining pooled liquidity or causing insolvency for that token."
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0x5997c1c8b6e0bed0891d56438a09116806ebdae3375f65f4bd5ac634f73207c6
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0x5997c1c8b6e0bed0891d56438a09116806ebdae3375f65f4bd5ac634f73207c6",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x02ce8c4d",
            "selector": "0x02ce8c4d",
            "calldata_variants": [
                "0x02ce8c4d",
                "0x02ce8c4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0674763c",
            "selector": "0x0674763c",
            "calldata_variants": [
                "0x0674763c",
                "0x0674763c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06c5ac42",
            "selector": "0x06c5ac42",
            "calldata_variants": [
                "0x06c5ac42",
                "0x06c5ac420000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x092a5cce",
            "selector": "0x092a5cce",
            "calldata_variants": [
                "0x092a5cce",
                "0x092a5cce0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x13af4035",
            "selector": "0x13af4035",
            "calldata_variants": [
                "0x13af4035",
                "0x13af40350000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x14fe6af9",
            "selector": "0x14fe6af9",
            "calldata_variants": [
                "0x14fe6af9",
                "0x14fe6af90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1db89da1",
            "selector": "0x1db89da1",
            "calldata_variants": [
                "0x1db89da1",
                "0x1db89da10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1e452a90",
            "selector": "0x1e452a90",
            "calldata_variants": [
                "0x1e452a90",
                "0x1e452a900000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 0,
    "create2_count": 1
}
medium auth codex Packed hashing with string enables signature collisions in pTokenRedeemForUser 75 no
view
evidence_json
{
    "evidence": "`bytes32 hash = keccak256(this, token, amount, user, nonce, destinationAddress, feeWithdrawal);` uses packed encoding with a dynamic string.",
    "locations": [
        "contracts/Contract.sol:427"
    ],
    "recommendation": "Switch to `keccak256(abi.encode(...))` with typed fields, or hash the destination string separately (`keccak256(bytes(destinationAddress))`) and include a function-specific domain separator/EIP-712 typed data so parameters cannot be reinterpreted.",
    "exploit_scenario": "A user signs a pToken redemption request, but the hash is built with packed encoding of a dynamic string (`destinationAddress`). Because packed encoding has no length delimiter, an attacker who controls the withdrawal relay (or a compromised admin) can craft a different `(destinationAddress, feeWithdrawal)` pair that yields the same hash, or even reuse a withdraw signature for pTokenRedeemForUser with an empty destination string. This allows redemptions to a different BTC address or with altered fees than the user intended."
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 0,
    "create2_count": 1
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 9
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 13
}