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

Analysis Run

019bb491-3724-7173-a4ff-65108bf7b085

complete
Chain ID
1
Address
Block Number
Created
Mon, Jan 12, 2026 11:36 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
Bytecode only
Review Backing
Present
Best current signal
Authorization based on tx.origin
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
40189 artifact.fetch complete 1 / 3 3 months ago
40190 proxy.resolve complete 1 / 3 3 months ago
40191 tool.cast_disasm complete 1 / 3 3 months ago
40192 analysis.bundle complete 1 / 3 3 months ago
40193 capability.graph complete 1 / 3 3 months ago
40194 detector.run complete 1 / 3 3 months ago
40195 validation.fork complete 1 / 3 3 months ago
40266 report.consolidate complete 1 / 6 3 months ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
3
No findings?
no
Summary
Bytecode-only review flags a tx.origin-based auth pattern and computed DELEGATECALL targets (proxy/plugin style). There is also a CALL with nonzero ETH value to a constant target (likely self), which could enable reentrancy depending on state-update ordering.
View stdout
{"no_findings":false,"summary":"Bytecode-only review flags a tx.origin-based auth pattern and computed DELEGATECALL targets (proxy/plugin style). There is also a CALL with nonzero ETH value to a constant target (likely self), which could enable reentrancy depending on state-update ordering.","findings":[{"severity":"medium","category":"auth","title":"Authorization uses tx.origin (phishable)","exploit_scenario":"If a privileged path relies on tx.origin, an attacker can deploy a malicious contract that tricks the privileged EOA into calling it; the malicious contract then calls this contract, bypassing the intended check because tx.origin remains the victim EOA. Bytecode-only: exact sink not confirmed.","recommendation":"Replace tx.origin checks with msg.sender-based authorization or explicit signature verification (EIP-712). If a whitelist is intended, store and check msg.sender in storage.","evidence":"Detector flagged a tx.origin-based guard at pc 10502 (\"tx_origin_used\"). Validation did not map a specific sink, so this is heuristic.","locations":["pc:0x2906"]},{"severity":"medium","category":"upgradeability","title":"DELEGATECALL to computed target without confirmed access control","exploit_scenario":"Two DELEGATECALL sites use computed targets. If an attacker can influence the target address (e.g., via an unprotected upgrade/admin setter or writable storage slot), they can execute arbitrary code in the contract’s storage context and seize control. Bytecode-only: access control around target-setting is unknown.","recommendation":"Verify that implementation/target storage slots are only modifiable by a trusted admin and that upgrades validate code size. Consider emitting upgrade events and using standardized EIP-1967/UUPS controls.","evidence":"Detector reports 2 DELEGATECALL sites with computed targets at pc 8860 and pc 9402; untrusted_delegatecall_count=2; returndata checks not shown.","locations":["pc:0x229c","pc:0x24ba"]},{"severity":"low","category":"reentrancy","title":"External CALL with nonzero value to a constant target (likely self)","exploit_scenario":"A CALL with nonzero ETH value to the contract’s own address can re-enter via the fallback/receive path. If state updates occur before this CALL, reentrancy may be possible. Bytecode-only: call context and ordering are unknown.","recommendation":"Audit the surrounding control flow for state changes before the value transfer; if state is mutated first, add reentrancy guards or move state updates after external calls.","evidence":"Detector shows a CALL at pc 10467 with constant target 0xa1dff47e3e9c4a18d341e386c6707a18686fb834 and constant nonzero value; returndata checks unknown.","locations":["pc:0x28e3"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-7ngyy4ed
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bb4c5-f1dc-75c1-907b-7f90e36c7c3c
--------
user
You are a security auditor. You ONLY have runtime bytecode + analysis artifacts.
You MUST read `BYTECODE_BUNDLE.json` before concluding; it contains the bytecode summary,
evidence bundle, callsites, storage slots, and detector findings.

Special cases when reasoning from bytecode (be explicit about uncertainty):
- Selector inference is best-effort; missing selectors are common.
- Fallback/receive paths may be the only entrypoints.
- CALL vs DELEGATECALL semantics differ; DELEGATECALL executes in caller storage.
- Proxy patterns (EIP-1967, minimal proxies, beacon) change which storage is authoritative.
- Storage slots are raw; mappings/arrays appear via keccak patterns, names are unknown.
- Guard detection is heuristic; absence of guards does NOT mean unguarded.
- Returndata checking is unknown unless explicitly shown in evidence.
- Precompiles (0x1..0x9) and common ERC20 transfer selectors may appear; do not over-claim.

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.
- Locations can be pc references like "pc:0x123" or selectors like "selector:0xa9059cbb".

Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation,
accounting/invariant breaks, dangerous delegatecall, and untrusted external calls.
Be conservative: if evidence is weak, mark severity low/medium and explain why.
mcp startup: no servers

thinking
**Reading BYTECODE_BUNDLE.json**
exec
/bin/bash -lc ls in /tmp/codex-7ngyy4ed succeeded in 5ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-7ngyy4ed succeeded in 9ms:
{
  "analysis_artifact": {
    "address": "0xa1dff47e3e9c4a18d341e386c6707a18686fb834",
    "artifact_hash": "0x57accd8cd17643101a7aae699ddcdc328ab0622d76dbe662eb9e23bf630fbd49",
    "artifact_json": {
      "auth": {
        "guards": [
          {
            "pc": 4735,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
          },
          {
            "pc": 6777,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
          },
          {
            "pc": 8709,
            "type": "msg_sender_eq_const",

thinking
**Investigating detector findings and evidence**
exec
/bin/bash -lc 'rg -n "storage" BYTECODE_BUNDLE.json' in /tmp/codex-7ngyy4ed succeeded in 12ms:
13412:          "storage": {
13796:          "storage": {
14180:          "storage": {
14564:          "storage": {
14948:          "storage": {
15332:          "storage": {
15716:          "storage": {
16100:          "storage": {
16484:          "storage": {
16868:          "storage": {
17252:          "storage": {
17636:          "storage": {
18020:          "storage": {
18404:          "storage": {
18788:          "storage": {
19172:          "storage": {
19556:          "storage": {
19940:          "storage": {
20324:          "storage": {
20708:          "storage": {

thinking
**Searching for evidence bundles**
exec
/bin/bash -lc 'rg -n "evidence" BYTECODE_BUNDLE.json' in /tmp/codex-7ngyy4ed succeeded in 32ms:
41897:      "proxy_evidence": {
50542:      "evidence_json": {
50583:      "evidence_json": {
50651:      "evidence_json": {
50714:      "evidence_json": {

thinking
**Examining proxy evidence**
exec
/bin/bash -lc "sed -n '41870,42050p' BYTECODE_BUNDLE.json" in /tmp/codex-7ngyy4ed succeeded in 12ms:
          "block_number": null,
          "chain_id": 1,
          "created_at": "2026-01-12T23:35:56.000000Z",
          "id": "019bb490-f330-732b-874c-9489d47f6791",
          "status": "complete",
          "updated_at": "2026-01-12T23:46:17.000000Z"
        },
        "parent_run_id": "019bb490-f330-732b-874c-9489d47f6791",
        "updated_at": "2026-01-12T23:36:14.000000Z"
      }
    ],
    "status": "running",
    "updated_at": "2026-01-12T23:41:52.000000Z"
  },
  "artifact": {
    "codehash": "0x47be58f58b3fd30fa0598b71ccd455b09e290a5a2e323027aaa96d0caf60891f",
    "compiler_json": {
      "compiler_version": null,
      "etherscan": {
        "contract_name": null,

thinking
**Analyzing proxy patterns and bytecode behavior**

I'm piecing together whether this contract is a proxy or an implementation by investigating delegatecalls, admin functions, EIP-1967 slots, and the large dispatch table; it looks like a proxy with upgradeability features despite the artifact saying otherwise, so I’m focusing on possible security findings around untrusted delegatecall, tx.origin usage, and upgrade admin controls while carefully noting the uncertainty from bytecode-only data.
exec
/bin/bash -lc "sed -n '41492,41560p' BYTECODE_BUNDLE.json" in /tmp/codex-7ngyy4ed succeeded in 10ms:
      "storage": {
        "keccak_count": 44,
        "reads": 105,
        "slots": [
          {
            "op": "SLOAD",
            "pc": 4214,
            "slot": "0x000000000000000000000000000000000000000000000000000000000000002e"
          },
          {
            "op": "SLOAD",
            "pc": 4284,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000009"
          },
          {
            "op": "SLOAD",
            "pc": 4314,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000009"
          },
          {

thinking
**Analyzing storage slot patterns**
exec
/bin/bash -lc 'rg -n "10d6a54a" BYTECODE_BUNDLE.json' in /tmp/codex-7ngyy4ed succeeded in 6ms:
13743:                "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
14127:                "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
14511:                "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
14895:                "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
15279:                "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
15663:                "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
16047:                "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
16431:                "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
16815:                "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
17199:                "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
17583:                "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
17967:                "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
18351:                "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
18735:                "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
19119:                "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
19503:                "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
19887:                "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
20271:                "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
20655:                "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
21039:                "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"

thinking
**Analyzing proxy and upgradeability patterns**
codex
{"no_findings":false,"summary":"Bytecode-only review flags a tx.origin-based auth pattern and computed DELEGATECALL targets (proxy/plugin style). There is also a CALL with nonzero ETH value to a constant target (likely self), which could enable reentrancy depending on state-update ordering.","findings":[{"severity":"medium","category":"auth","title":"Authorization uses tx.origin (phishable)","exploit_scenario":"If a privileged path relies on tx.origin, an attacker can deploy a malicious contract that tricks the privileged EOA into calling it; the malicious contract then calls this contract, bypassing the intended check because tx.origin remains the victim EOA. Bytecode-only: exact sink not confirmed.","recommendation":"Replace tx.origin checks with msg.sender-based authorization or explicit signature verification (EIP-712). If a whitelist is intended, store and check msg.sender in storage.","evidence":"Detector flagged a tx.origin-based guard at pc 10502 (\"tx_origin_used\"). Validation did not map a specific sink, so this is heuristic.","locations":["pc:0x2906"]},{"severity":"medium","category":"upgradeability","title":"DELEGATECALL to computed target without confirmed access control","exploit_scenario":"Two DELEGATECALL sites use computed targets. If an attacker can influence the target address (e.g., via an unprotected upgrade/admin setter or writable storage slot), they can execute arbitrary code in the contract’s storage context and seize control. Bytecode-only: access control around target-setting is unknown.","recommendation":"Verify that implementation/target storage slots are only modifiable by a trusted admin and that upgrades validate code size. Consider emitting upgrade events and using standardized EIP-1967/UUPS controls.","evidence":"Detector reports 2 DELEGATECALL sites with computed targets at pc 8860 and pc 9402; untrusted_delegatecall_count=2; returndata checks not shown.","locations":["pc:0x229c","pc:0x24ba"]},{"severity":"low","category":"reentrancy","title":"External CALL with nonzero value to a constant target (likely self)","exploit_scenario":"A CALL with nonzero ETH value to the contract’s own address can re-enter via the fallback/receive path. If state updates occur before this CALL, reentrancy may be possible. Bytecode-only: call context and ordering are unknown.","recommendation":"Audit the surrounding control flow for state changes before the value transfer; if state is mutated first, add reentrancy guards or move state updates after external calls.","evidence":"Detector shows a CALL at pc 10467 with constant target 0xa1dff47e3e9c4a18d341e386c6707a18686fb834 and constant nonzero value; returndata checks unknown.","locations":["pc:0x28e3"]}]}
tokens used
49,077
Metadata
{
    "codex": {
        "ran_at": "2026-01-13T00:36:39.009674+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 21008,
        "bytecode_truncated": false,
        "capability_graph_present": true,
        "analysis_artifact_present": true
    },
    "summary": "Bytecode-only review flags a tx.origin-based auth pattern and computed DELEGATECALL targets (proxy/plugin style). There is also a CALL with nonzero ETH value to a constant target (likely self), which could enable reentrancy depending on state-update ordering.",
    "raw_final": {
        "summary": "Bytecode-only review flags a tx.origin-based auth pattern and computed DELEGATECALL targets (proxy/plugin style). There is also a CALL with nonzero ETH value to a constant target (likely self), which could enable reentrancy depending on state-update ordering.",
        "findings": [
            {
                "title": "Authorization uses tx.origin (phishable)",
                "category": "auth",
                "evidence": "Detector flagged a tx.origin-based guard at pc 10502 (\"tx_origin_used\"). Validation did not map a specific sink, so this is heuristic.",
                "severity": "medium",
                "locations": [
                    "pc:0x2906"
                ],
                "recommendation": "Replace tx.origin checks with msg.sender-based authorization or explicit signature verification (EIP-712). If a whitelist is intended, store and check msg.sender in storage.",
                "exploit_scenario": "If a privileged path relies on tx.origin, an attacker can deploy a malicious contract that tricks the privileged EOA into calling it; the malicious contract then calls this contract, bypassing the intended check because tx.origin remains the victim EOA. Bytecode-only: exact sink not confirmed."
            },
            {
                "title": "DELEGATECALL to computed target without confirmed access control",
                "category": "upgradeability",
                "evidence": "Detector reports 2 DELEGATECALL sites with computed targets at pc 8860 and pc 9402; untrusted_delegatecall_count=2; returndata checks not shown.",
                "severity": "medium",
                "locations": [
                    "pc:0x229c",
                    "pc:0x24ba"
                ],
                "recommendation": "Verify that implementation/target storage slots are only modifiable by a trusted admin and that upgrades validate code size. Consider emitting upgrade events and using standardized EIP-1967/UUPS controls.",
                "exploit_scenario": "Two DELEGATECALL sites use computed targets. If an attacker can influence the target address (e.g., via an unprotected upgrade/admin setter or writable storage slot), they can execute arbitrary code in the contract\u2019s storage context and seize control. Bytecode-only: access control around target-setting is unknown."
            },
            {
                "title": "External CALL with nonzero value to a constant target (likely self)",
                "category": "reentrancy",
                "evidence": "Detector shows a CALL at pc 10467 with constant target 0xa1dff47e3e9c4a18d341e386c6707a18686fb834 and constant nonzero value; returndata checks unknown.",
                "severity": "low",
                "locations": [
                    "pc:0x28e3"
                ],
                "recommendation": "Audit the surrounding control flow for state changes before the value transfer; if state is mutated first, add reentrancy guards or move state updates after external calls.",
                "exploit_scenario": "A CALL with nonzero ETH value to the contract\u2019s own address can re-enter via the fallback/receive path. If state updates occur before this CALL, reentrancy may be possible. Bytecode-only: call context and ordering are unknown."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
2
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
3
EXT*/BALANCE
11
Total opcodes
5169
Flags
delegatecall_present heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x04b6
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x83ae86cb
00000019: GT
0000001a: PUSH2 0x0279
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xba20715a
00000024: GT
00000025: PUSH2 0x015e
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xdc87454c
0000002f: GT
00000030: PUSH2 0x00d6
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xf2fde38b
0000003a: GT
0000003b: PUSH2 0x008a
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xf99eec8d
00000045: GT
00000046: PUSH2 0x006f
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xf99eec8d
00000050: EQ
00000051: PUSH2 0x0f25
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xfa845ca9
0000005b: EQ
0000005c: PUSH2 0x1004
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0xfbf35f46
00000066: EQ
00000067: PUSH2 0x1044
0000006a: JUMPI
0000006b: PUSH2 0x04b6
0000006e: JUMP
0000006f: JUMPDEST
00000070: DUP1
00000071: PUSH4 0xf2fde38b
00000076: EQ
00000077: PUSH2 0x0eac
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xf6558b00
00000081: EQ
00000082: PUSH2 0x0eec
00000085: JUMPI
00000086: PUSH2 0x04b6
00000089: JUMP
0000008a: JUMPDEST
0000008b: DUP1
0000008c: PUSH4 0xe8df077d
00000091: GT
00000092: PUSH2 0x00bb
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0xe8df077d
0000009c: EQ
0000009d: PUSH2 0x0e25
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0xf09a4016
000000a7: EQ
000000a8: PUSH2 0x0e3a
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0xf1a153a1
000000b2: EQ
000000b3: PUSH2 0x0e82
000000b6: JUMPI
000000b7: PUSH2 0x04b6
000000ba: JUMP
000000bb: JUMPDEST
000000bc: DUP1
000000bd: PUSH4 0xdc87454c
000000c2: EQ
000000c3: PUSH2 0x0dfb
000000c6: JUMPI
000000c7: DUP1
000000c8: PUSH4 0xe2a4157c
000000cd: EQ
000000ce: PUSH2 0x0e10
000000d1: JUMPI
000000d2: PUSH2 0x04b6
000000d5: JUMP
000000d6: JUMPDEST
000000d7: DUP1
000000d8: PUSH4 0xd60851a2
000000dd: GT
000000de: PUSH2 0x012d
000000e1: JUMPI
000000e2: DUP1
000000e3: PUSH4 0xd7da6b56
000000e8: GT
000000e9: PUSH2 0x0112
000000ec: JUMPI
000000ed: DUP1
000000ee: PUSH4 0xd7da6b56
000000f3: EQ
000000f4: PUSH2 0x0dbc
000000f7: JUMPI
000000f8: DUP1
000000f9: PUSH4 0xd8e9f45d
000000fe: EQ
000000ff: PUSH2 0x0dd1
00000102: JUMPI
00000103: DUP1
00000104: PUSH4 0xdb3d1ccf
00000109: EQ
0000010a: PUSH2 0x0de6
0000010d: JUMPI
0000010e: PUSH2 0x04b6
00000111: JUMP
00000112: JUMPDEST
00000113: DUP1
00000114: PUSH4 0xd60851a2
00000119: EQ
0000011a: PUSH2 0x0d92
0000011d: JUMPI
0000011e: DUP1
0000011f: PUSH4 0xd7615d37
00000124: EQ
00000125: PUSH2 0x0da7
00000128: JUMPI
00000129: PUSH2 0x04b6
0000012c: JUMP
0000012d: JUMPDEST
0000012e: DUP1
0000012f: PUSH4 0xba20715a
00000134: EQ
00000135: PUSH2 0x0cdc
00000138: JUMPI
00000139: DUP1
0000013a: PUSH4 0xbdbcb576
0000013f: EQ
00000140: PUSH2 0x0cf1
00000143: JUMPI
00000144: DUP1
00000145: PUSH4 0xc3ea3575
0000014a: EQ
0000014b: PUSH2 0x0d37
0000014e: JUMPI
0000014f: DUP1
00000150: PUSH4 0xce977bc2
00000155: EQ
00000156: PUSH2 0x0d4c
00000159: JUMPI
0000015a: PUSH2 0x04b6
0000015d: JUMP
0000015e: JUMPDEST
0000015f: DUP1
00000160: PUSH4 0xa7a53243
00000165: GT
00000166: PUSH2 0x01f1
00000169: JUMPI
0000016a: DUP1
0000016b: PUSH4 0xae2f89c2
00000170: GT
00000171: PUSH2 0x01c0
00000174: JUMPI
00000175: DUP1
00000176: PUSH4 0xb5050ea8
0000017b: GT
0000017c: PUSH2 0x01a5
0000017f: JUMPI
00000180: DUP1
00000181: PUSH4 0xb5050ea8
00000186: EQ
00000187: PUSH2 0x0c9d
0000018a: JUMPI
0000018b: DUP1
0000018c: PUSH4 0xb693c3be
00000191: EQ
00000192: PUSH2 0x0cb2
00000195: JUMPI
00000196: DUP1
00000197: PUSH4 0xb7ac4ff3
0000019c: EQ
0000019d: PUSH2 0x0cc7
000001a0: JUMPI
000001a1: PUSH2 0x04b6
000001a4: JUMP
000001a5: JUMPDEST
000001a6: DUP1
000001a7: PUSH4 0xae2f89c2
000001ac: EQ
000001ad: PUSH2 0x0c73
000001b0: JUMPI
000001b1: DUP1
000001b2: PUSH4 0xb1ace0b0
000001b7: EQ
000001b8: PUSH2 0x0c88
000001bb: JUMPI
000001bc: PUSH2 0x04b6
000001bf: JUMP
000001c0: JUMPDEST
000001c1: DUP1
000001c2: PUSH4 0xa7a53243
000001c7: EQ
000001c8: PUSH2 0x0bd9
000001cb: JUMPI
000001cc: DUP1
000001cd: PUSH4 0xa8b6b2b6
000001d2: EQ
000001d3: PUSH2 0x0bee
000001d6: JUMPI
000001d7: DUP1
000001d8: PUSH4 0xa940646d
000001dd: EQ
000001de: PUSH2 0x0c03
000001e1: JUMPI
000001e2: DUP1
000001e3: PUSH4 0xa9e74344
000001e8: EQ
000001e9: PUSH2 0x0c2d
000001ec: JUMPI
000001ed: PUSH2 0x04b6
000001f0: JUMP
000001f1: JUMPDEST
000001f2: DUP1
000001f3: PUSH4 0x9244adcd
000001f8: GT
000001f9: PUSH2 0x0248
000001fc: JUMPI
000001fd: DUP1
000001fe: PUSH4 0x9a8a2145
00000203: GT
00000204: PUSH2 0x022d
00000207: JUMPI
00000208: DUP1
00000209: PUSH4 0x9a8a2145
0000020e: EQ
0000020f: PUSH2 0x0b6f
00000212: JUMPI
00000213: DUP1
00000214: PUSH4 0x9f712f2f
00000219: EQ
0000021a: PUSH2 0x0b84
0000021d: JUMPI
0000021e: DUP1
0000021f: PUSH4 0xa03040c3
00000224: EQ
00000225: PUSH2 0x0bc4
00000228: JUMPI
00000229: PUSH2 0x04b6
0000022c: JUMP
0000022d: JUMPDEST
0000022e: DUP1
0000022f: PUSH4 0x9244adcd
00000234: EQ
00000235: PUSH2 0x0ab4
00000238: JUMPI
00000239: DUP1
0000023a: PUSH4 0x933dbf85
0000023f: EQ
00000240: PUSH2 0x0b5a
00000243: JUMPI
00000244: PUSH2 0x04b6
00000247: JUMP
00000248: JUMPDEST
00000249: DUP1
0000024a: PUSH4 0x83ae86cb
0000024f: EQ
00000250: PUSH2 0x0a60
00000253: JUMPI
00000254: DUP1
00000255: PUSH4 0x8a177973
0000025a: EQ
0000025b: PUSH2 0x0a75
0000025e: JUMPI
0000025f: DUP1
00000260: PUSH4 0x8da5cb5b
00000265: EQ
00000266: PUSH2 0x0a8a
00000269: JUMPI
0000026a: DUP1
0000026b: PUSH4 0x8f32d59b
00000270: EQ
00000271: PUSH2 0x0a9f
00000274: JUMPI
00000275: PUSH2 0x04b6
00000278: JUMP
00000279: JUMPDEST
0000027a: DUP1
0000027b: PUSH4 0x44841f4f
00000280: GT
00000281: PUSH2 0x039f
00000284: JUMPI
00000285: DUP1
00000286: PUSH4 0x5f88967b
0000028b: GT
0000028c: PUSH2 0x0317
0000028f: JUMPI
00000290: DUP1
00000291: PUSH4 0x7496780f
00000296: GT
00000297: PUSH2 0x02e6
0000029a: JUMPI
0000029b: DUP1
0000029c: PUSH4 0x789bc8e2
000002a1: GT
000002a2: PUSH2 0x02cb
000002a5: JUMPI
000002a6: DUP1
000002a7: PUSH4 0x789bc8e2
000002ac: EQ
000002ad: PUSH2 0x09e1
000002b0: JUMPI
000002b1: DUP1
000002b2: PUSH4 0x7cd9fb1c
000002b7: EQ
000002b8: PUSH2 0x09f6
000002bb: JUMPI
000002bc: DUP1
000002bd: PUSH4 0x821f9824
000002c2: EQ
000002c3: PUSH2 0x0a20
000002c6: JUMPI
000002c7: PUSH2 0x04b6
000002ca: JUMP
000002cb: JUMPDEST
000002cc: DUP1
000002cd: PUSH4 0x7496780f
000002d2: EQ
000002d3: PUSH2 0x09b7
000002d6: JUMPI
000002d7: DUP1
000002d8: PUSH4 0x751a2238
000002dd: EQ
000002de: PUSH2 0x09cc
000002e1: JUMPI
000002e2: PUSH2 0x04b6
000002e5: JUMP
000002e6: JUMPDEST
000002e7: DUP1
000002e8: PUSH4 0x5f88967b
000002ed: EQ
000002ee: PUSH2 0x0963
000002f1: JUMPI
000002f2: DUP1
000002f3: PUSH4 0x63b7bf20
000002f8: EQ
000002f9: PUSH2 0x0978
000002fc: JUMPI
000002fd: DUP1
000002fe: PUSH4 0x675fb9c4
00000303: EQ
00000304: PUSH2 0x098d
00000307: JUMPI
00000308: DUP1
00000309: PUSH4 0x715018a6
0000030e: EQ
0000030f: PUSH2 0x09a2
00000312: JUMPI
00000313: PUSH2 0x04b6
00000316: JUMP
00000317: JUMPDEST
00000318: DUP1
00000319: PUSH4 0x56f7e7ff
0000031e: GT
0000031f: PUSH2 0x036e
00000322: JUMPI
00000323: DUP1
00000324: PUSH4 0x5825b04c
00000329: GT
0000032a: PUSH2 0x0353
0000032d: JUMPI
0000032e: DUP1
0000032f: PUSH4 0x5825b04c
00000334: EQ
00000335: PUSH2 0x0884
00000338: JUMPI
00000339: DUP1
0000033a: PUSH4 0x5e068da5
0000033f: EQ
00000340: PUSH2 0x08c4
00000343: JUMPI
00000344: DUP1
00000345: PUSH4 0x5f2e5b46
0000034a: EQ
0000034b: PUSH2 0x094e
0000034e: JUMPI
0000034f: PUSH2 0x04b6
00000352: JUMP
00000353: JUMPDEST
00000354: DUP1
00000355: PUSH4 0x56f7e7ff
0000035a: EQ
0000035b: PUSH2 0x0814
0000035e: JUMPI
0000035f: DUP1
00000360: PUSH4 0x573c8409
00000365: EQ
00000366: PUSH2 0x083e
00000369: JUMPI
0000036a: PUSH2 0x04b6
0000036d: JUMP
0000036e: JUMPDEST
0000036f: DUP1
00000370: PUSH4 0x44841f4f
00000375: EQ
00000376: PUSH2 0x07c0
00000379: JUMPI
0000037a: DUP1
0000037b: PUSH4 0x467f0e06
00000380: EQ
00000381: PUSH2 0x07d5
00000384: JUMPI
00000385: DUP1
00000386: PUSH4 0x48ea7638
0000038b: EQ
0000038c: PUSH2 0x07ea
0000038f: JUMPI
00000390: DUP1
00000391: PUSH4 0x4f2094a1
00000396: EQ
00000397: PUSH2 0x07ff
0000039a: JUMPI
0000039b: PUSH2 0x04b6
0000039e: JUMP
0000039f: JUMPDEST
000003a0: DUP1
000003a1: PUSH4 0x1dbeef7c
000003a6: GT
000003a7: PUSH2 0x0432
000003aa: JUMPI
000003ab: DUP1
000003ac: PUSH4 0x3131be90
000003b1: GT
000003b2: PUSH2 0x0401
000003b5: JUMPI
000003b6: DUP1
000003b7: PUSH4 0x392e53cd
000003bc: GT
000003bd: PUSH2 0x03e6
000003c0: JUMPI
000003c1: DUP1
000003c2: PUSH4 0x392e53cd
000003c7: EQ
000003c8: PUSH2 0x0750
000003cb: JUMPI
000003cc: DUP1
000003cd: PUSH4 0x3e47158c
000003d2: EQ
000003d3: PUSH2 0x0765
000003d6: JUMPI
000003d7: DUP1
000003d8: PUSH4 0x404c568f
000003dd: EQ
000003de: PUSH2 0x077a
000003e1: JUMPI
000003e2: PUSH2 0x04b6
000003e5: JUMP
000003e6: JUMPDEST
000003e7: DUP1
000003e8: PUSH4 0x3131be90
000003ed: EQ
000003ee: PUSH2 0x06a1
000003f1: JUMPI
000003f2: DUP1
000003f3: PUSH4 0x32952b66
000003f8: EQ
000003f9: PUSH2 0x06b6
000003fc: JUMPI
000003fd: PUSH2 0x04b6
00000400: JUMP
00000401: JUMPDEST
00000402: DUP1
00000403: PUSH4 0x1dbeef7c
00000408: EQ
00000409: PUSH2 0x0622
0000040c: JUMPI
0000040d: DUP1
0000040e: PUSH4 0x25f842c5
00000413: EQ
00000414: PUSH2 0x0637
00000417: JUMPI
00000418: DUP1
00000419: PUSH4 0x2893f5cc
0000041e: EQ
0000041f: PUSH2 0x064c
00000422: JUMPI
00000423: DUP1
00000424: PUSH4 0x2f884710
00000429: EQ
0000042a: PUSH2 0x068c
0000042d: JUMPI
0000042e: PUSH2 0x04b6
00000431: JUMP
00000432: JUMPDEST
00000433: DUP1
00000434: PUSH4 0x0e187cac
00000439: GT
0000043a: PUSH2 0x0489
0000043d: JUMPI
0000043e: DUP1
0000043f: PUSH4 0x1476e600
00000444: GT
00000445: PUSH2 0x046e
00000448: JUMPI
00000449: DUP1
0000044a: PUSH4 0x1476e600
0000044f: EQ
00000450: PUSH2 0x05e3
00000453: JUMPI
00000454: DUP1
00000455: PUSH4 0x17ddc578
0000045a: EQ
0000045b: PUSH2 0x05f8
0000045e: JUMPI
0000045f: DUP1
00000460: PUSH4 0x1a454ea6
00000465: EQ
00000466: PUSH2 0x060d
00000469: JUMPI
0000046a: PUSH2 0x04b6
0000046d: JUMP
0000046e: JUMPDEST
0000046f: DUP1
00000470: PUSH4 0x0e187cac
00000475: EQ
00000476: PUSH2 0x057a
00000479: JUMPI
0000047a: DUP1
0000047b: PUSH4 0x13d3d00e
00000480: EQ
00000481: PUSH2 0x05ce
00000484: JUMPI
00000485: PUSH2 0x04b6
00000488: JUMP
00000489: JUMPDEST
0000048a: DUP1
0000048b: PUSH4 0x057fe949
00000490: EQ
00000491: PUSH2 0x04c0
00000494: JUMPI
00000495: DUP1
00000496: PUSH4 0x06d34c60
0000049b: EQ
0000049c: PUSH2 0x04fe
0000049f: JUMPI
000004a0: DUP1
000004a1: PUSH4 0x0bafd60e
000004a6: EQ
000004a7: PUSH2 0x0550
000004aa: JUMPI
000004ab: DUP1
000004ac: PUSH4 0x0c870f91
000004b1: EQ
000004b2: PUSH2 0x0565
000004b5: JUMPI
000004b6: JUMPDEST
000004b7: PUSH2 0x04be
000004ba: PUSH2 0x1059
000004bd: JUMP
000004be: JUMPDEST
000004bf: STOP
000004c0: JUMPDEST
000004c1: CALLVALUE
000004c2: DUP1
000004c3: ISZERO
000004c4: PUSH2 0x04cc
000004c7: JUMPI
000004c8: PUSH1 0x00
000004ca: DUP1
000004cb: REVERT
000004cc: JUMPDEST
000004cd: POP
000004ce: PUSH2 0x04d5
000004d1: PUSH2 0x1073
000004d4: JUMP
000004d5: JUMPDEST
000004d6: PUSH1 0x40
000004d8: DUP1
000004d9: MLOAD
000004da: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004ef: SWAP1
000004f0: SWAP3
000004f1: AND
000004f2: DUP3
000004f3: MSTORE
000004f4: MLOAD
000004f5: SWAP1
000004f6: DUP2
000004f7: SWAP1
000004f8: SUB
000004f9: PUSH1 0x20
000004fb: ADD
000004fc: SWAP1
000004fd: RETURN
000004fe: JUMPDEST
000004ff: CALLVALUE
00000500: DUP1
00000501: ISZERO
00000502: PUSH2 0x050a
00000505: JUMPI
00000506: PUSH1 0x00
00000508: DUP1
00000509: REVERT
0000050a: JUMPDEST
0000050b: POP
0000050c: PUSH2 0x053e
0000050f: PUSH1 0x04
00000511: DUP1
00000512: CALLDATASIZE
00000513: SUB
00000514: PUSH1 0x20
00000516: DUP2
00000517: LT
00000518: ISZERO
00000519: PUSH2 0x0521
0000051c: JUMPI
0000051d: PUSH1 0x00
0000051f: DUP1
00000520: REVERT
00000521: JUMPDEST
00000522: POP
00000523: CALLDATALOAD
00000524: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000539: AND
0000053a: PUSH2 0x108f
0000053d: JUMP
0000053e: JUMPDEST
0000053f: PUSH1 0x40
00000541: DUP1
00000542: MLOAD
00000543: SWAP2
00000544: DUP3
00000545: MSTORE
00000546: MLOAD
00000547: SWAP1
00000548: DUP2
00000549: SWAP1
0000054a: SUB
0000054b: PUSH1 0x20
0000054d: ADD
0000054e: SWAP1
0000054f: RETURN
00000550: JUMPDEST
00000551: CALLVALUE
00000552: DUP1
00000553: ISZERO
00000554: PUSH2 0x055c
00000557: JUMPI
00000558: PUSH1 0x00
0000055a: DUP1
0000055b: REVERT
0000055c: JUMPDEST
0000055d: POP
0000055e: PUSH2 0x04d5
00000561: PUSH2 0x11b2
00000564: JUMP
00000565: JUMPDEST
00000566: CALLVALUE
00000567: DUP1
00000568: ISZERO
00000569: PUSH2 0x0571
0000056c: JUMPI
0000056d: PUSH1 0x00
0000056f: DUP1
00000570: REVERT
00000571: JUMPDEST
00000572: POP
00000573: PUSH2 0x04d5
00000576: PUSH2 0x11d4
00000579: JUMP
0000057a: JUMPDEST
0000057b: CALLVALUE
0000057c: DUP1
0000057d: ISZERO
0000057e: PUSH2 0x0586
00000581: JUMPI
00000582: PUSH1 0x00
00000584: DUP1
00000585: REVERT
00000586: JUMPDEST
00000587: POP
00000588: PUSH2 0x05ba
0000058b: PUSH1 0x04
0000058d: DUP1
0000058e: CALLDATASIZE
0000058f: SUB
00000590: PUSH1 0x20
00000592: DUP2
00000593: LT
00000594: ISZERO
00000595: PUSH2 0x059d
00000598: JUMPI
00000599: PUSH1 0x00
0000059b: DUP1
0000059c: REVERT
0000059d: JUMPDEST
0000059e: POP
0000059f: CALLDATALOAD
000005a0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005b5: AND
000005b6: PUSH2 0x11e4
000005b9: JUMP
000005ba: JUMPDEST
000005bb: PUSH1 0x40
000005bd: DUP1
000005be: MLOAD
000005bf: SWAP2
000005c0: ISZERO
000005c1: ISZERO
000005c2: DUP3
000005c3: MSTORE
000005c4: MLOAD
000005c5: SWAP1
000005c6: DUP2
000005c7: SWAP1
000005c8: SUB
000005c9: PUSH1 0x20
000005cb: ADD
000005cc: SWAP1
000005cd: RETURN
000005ce: JUMPDEST
000005cf: CALLVALUE
000005d0: DUP1
000005d1: ISZERO
000005d2: PUSH2 0x05da
000005d5: JUMPI
000005d6: PUSH1 0x00
000005d8: DUP1
000005d9: REVERT
000005da: JUMPDEST
000005db: POP
000005dc: PUSH2 0x053e
000005df: PUSH2 0x11f9
000005e2: JUMP
000005e3: JUMPDEST
000005e4: CALLVALUE
000005e5: DUP1
000005e6: ISZERO
000005e7: PUSH2 0x05ef
000005ea: JUMPI
000005eb: PUSH1 0x00
000005ed: DUP1
000005ee: REVERT
000005ef: JUMPDEST
000005f0: POP
000005f1: PUSH2 0x053e
000005f4: PUSH2 0x11ff
000005f7: JUMP
000005f8: JUMPDEST
000005f9: CALLVALUE
000005fa: DUP1
000005fb: ISZERO
000005fc: PUSH2 0x0604
000005ff: JUMPI
00000600: PUSH1 0x00
00000602: DUP1
00000603: REVERT
00000604: JUMPDEST
00000605: POP
00000606: PUSH2 0x053e
00000609: PUSH2 0x120b
0000060c: JUMP
0000060d: JUMPDEST
0000060e: CALLVALUE
0000060f: DUP1
00000610: ISZERO
00000611: PUSH2 0x0619
00000614: JUMPI
00000615: PUSH1 0x00
00000617: DUP1
00000618: REVERT
00000619: JUMPDEST
0000061a: POP
0000061b: PUSH2 0x053e
0000061e: PUSH2 0x1211
00000621: JUMP
00000622: JUMPDEST
00000623: CALLVALUE
00000624: DUP1
00000625: ISZERO
00000626: PUSH2 0x062e
00000629: JUMPI
0000062a: PUSH1 0x00
0000062c: DUP1
0000062d: REVERT
0000062e: JUMPDEST
0000062f: POP
00000630: PUSH2 0x053e
00000633: PUSH2 0x121d
00000636: JUMP
00000637: JUMPDEST
00000638: CALLVALUE
00000639: DUP1
0000063a: ISZERO
0000063b: PUSH2 0x0643
0000063e: JUMPI
0000063f: PUSH1 0x00
00000641: DUP1
00000642: REVERT
00000643: JUMPDEST
00000644: POP
00000645: PUSH2 0x053e
00000648: PUSH2 0x1223
0000064b: JUMP
0000064c: JUMPDEST
0000064d: CALLVALUE
0000064e: DUP1
0000064f: ISZERO
00000650: PUSH2 0x0658
00000653: JUMPI
00000654: PUSH1 0x00
00000656: DUP1
00000657: REVERT
00000658: JUMPDEST
00000659: POP
0000065a: PUSH2 0x05ba
0000065d: PUSH1 0x04
0000065f: DUP1
00000660: CALLDATASIZE
00000661: SUB
00000662: PUSH1 0x20
00000664: DUP2
00000665: LT
00000666: ISZERO
00000667: PUSH2 0x066f
0000066a: JUMPI
0000066b: PUSH1 0x00
0000066d: DUP1
0000066e: REVERT
0000066f: JUMPDEST
00000670: POP
00000671: CALLDATALOAD
00000672: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000687: AND
00000688: PUSH2 0x1229
0000068b: JUMP
0000068c: JUMPDEST
0000068d: CALLVALUE
0000068e: DUP1
0000068f: ISZERO
00000690: PUSH2 0x0698
00000693: JUMPI
00000694: PUSH1 0x00
00000696: DUP1
00000697: REVERT
00000698: JUMPDEST
00000699: POP
0000069a: PUSH2 0x053e
0000069d: PUSH2 0x123e
000006a0: JUMP
000006a1: JUMPDEST
000006a2: CALLVALUE
000006a3: DUP1
000006a4: ISZERO
000006a5: PUSH2 0x06ad
000006a8: JUMPI
000006a9: PUSH1 0x00
000006ab: DUP1
000006ac: REVERT
000006ad: JUMPDEST
000006ae: POP
000006af: PUSH2 0x04d5
000006b2: PUSH2 0x1244
000006b5: JUMP
000006b6: JUMPDEST
000006b7: CALLVALUE
000006b8: DUP1
000006b9: ISZERO
000006ba: PUSH2 0x06c2
000006bd: JUMPI
000006be: PUSH1 0x00
000006c0: DUP1
000006c1: REVERT
000006c2: JUMPDEST
000006c3: POP
000006c4: PUSH2 0x04be
000006c7: PUSH1 0x04
000006c9: DUP1
000006ca: CALLDATASIZE
000006cb: SUB
000006cc: PUSH1 0x40
000006ce: DUP2
000006cf: LT
000006d0: ISZERO
000006d1: PUSH2 0x06d9
000006d4: JUMPI
000006d5: PUSH1 0x00
000006d7: DUP1
000006d8: REVERT
000006d9: JUMPDEST
000006da: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006ef: DUP3
000006f0: CALLDATALOAD
000006f1: AND
000006f2: SWAP2
000006f3: SWAP1
000006f4: DUP2
000006f5: ADD
000006f6: SWAP1
000006f7: PUSH1 0x40
000006f9: DUP2
000006fa: ADD
000006fb: PUSH1 0x20
000006fd: DUP3
000006fe: ADD
000006ff: CALLDATALOAD
00000700: PUSH5 0x0100000000
00000706: DUP2
00000707: GT
00000708: ISZERO
00000709: PUSH2 0x0711
0000070c: JUMPI
0000070d: PUSH1 0x00
0000070f: DUP1
00000710: REVERT
00000711: JUMPDEST
00000712: DUP3
00000713: ADD
00000714: DUP4
00000715: PUSH1 0x20
00000717: DUP3
00000718: ADD
00000719: GT
0000071a: ISZERO
0000071b: PUSH2 0x0723
0000071e: JUMPI
0000071f: PUSH1 0x00
00000721: DUP1
00000722: REVERT
00000723: JUMPDEST
00000724: DUP1
00000725: CALLDATALOAD
00000726: SWAP1
00000727: PUSH1 0x20
00000729: ADD
0000072a: SWAP2
0000072b: DUP5
0000072c: PUSH1 0x01
0000072e: DUP4
0000072f: MUL
00000730: DUP5
00000731: ADD
00000732: GT
00000733: PUSH5 0x0100000000
00000739: DUP4
0000073a: GT
0000073b: OR
0000073c: ISZERO
0000073d: PUSH2 0x0745
00000740: JUMPI
00000741: PUSH1 0x00
00000743: DUP1
00000744: REVERT
00000745: JUMPDEST
00000746: POP
00000747: SWAP1
00000748: SWAP3
00000749: POP
0000074a: SWAP1
0000074b: POP
0000074c: PUSH2 0x1260
0000074f: JUMP
00000750: JUMPDEST
00000751: CALLVALUE
00000752: DUP1
00000753: ISZERO
00000754: PUSH2 0x075c
00000757: JUMPI
00000758: PUSH1 0x00
0000075a: DUP1
0000075b: REVERT
0000075c: JUMPDEST
0000075d: POP
0000075e: PUSH2 0x05ba
00000761: PUSH2 0x12ed
00000764: JUMP
00000765: JUMPDEST
00000766: CALLVALUE
00000767: DUP1
00000768: ISZERO
00000769: PUSH2 0x0771
0000076c: JUMPI
0000076d: PUSH1 0x00
0000076f: DUP1
00000770: REVERT
00000771: JUMPDEST
00000772: POP
00000773: PUSH2 0x04d5
00000776: PUSH2 0x1310
00000779: JUMP
0000077a: JUMPDEST
0000077b: CALLVALUE
0000077c: DUP1
0000077d: ISZERO
0000077e: PUSH2 0x0786
00000781: JUMPI
00000782: PUSH1 0x00
00000784: DUP1
00000785: REVERT
00000786: JUMPDEST
00000787: POP
00000788: PUSH2 0x04d5
0000078b: PUSH1 0x04
0000078d: DUP1
0000078e: CALLDATASIZE
0000078f: SUB
00000790: PUSH1 0x40
00000792: DUP2
00000793: LT
00000794: ISZERO
00000795: PUSH2 0x079d
00000798: JUMPI
00000799: PUSH1 0x00
0000079b: DUP1
0000079c: REVERT
0000079d: JUMPDEST
0000079e: POP
0000079f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007b4: DUP2
000007b5: CALLDATALOAD
000007b6: AND
000007b7: SWAP1
000007b8: PUSH1 0x20
000007ba: ADD
000007bb: CALLDATALOAD
000007bc: PUSH2 0x131a
000007bf: JUMP
000007c0: JUMPDEST
000007c1: CALLVALUE
000007c2: DUP1
000007c3: ISZERO
000007c4: PUSH2 0x07cc
000007c7: JUMPI
000007c8: PUSH1 0x00
000007ca: DUP1
000007cb: REVERT
000007cc: JUMPDEST
000007cd: POP
000007ce: PUSH2 0x053e
000007d1: PUSH2 0x135c
000007d4: JUMP
000007d5: JUMPDEST
000007d6: CALLVALUE
000007d7: DUP1
000007d8: ISZERO
000007d9: PUSH2 0x07e1
000007dc: JUMPI
000007dd: PUSH1 0x00
000007df: DUP1
000007e0: REVERT
000007e1: JUMPDEST
000007e2: POP
000007e3: PUSH2 0x04d5
000007e6: PUSH2 0x1362
000007e9: JUMP
000007ea: JUMPDEST
000007eb: CALLVALUE
000007ec: DUP1
000007ed: ISZERO
000007ee: PUSH2 0x07f6
000007f1: JUMPI
000007f2: PUSH1 0x00
000007f4: DUP1
000007f5: REVERT
000007f6: JUMPDEST
000007f7: POP
000007f8: PUSH2 0x053e
000007fb: PUSH2 0x137e
000007fe: JUMP
000007ff: JUMPDEST
00000800: CALLVALUE
00000801: DUP1
00000802: ISZERO
00000803: PUSH2 0x080b
00000806: JUMPI
00000807: PUSH1 0x00
00000809: DUP1
0000080a: REVERT
0000080b: JUMPDEST
0000080c: POP
0000080d: PUSH2 0x053e
00000810: PUSH2 0x1384
00000813: JUMP
00000814: JUMPDEST
00000815: CALLVALUE
00000816: DUP1
00000817: ISZERO
00000818: PUSH2 0x0820
0000081b: JUMPI
0000081c: PUSH1 0x00
0000081e: DUP1
0000081f: REVERT
00000820: JUMPDEST
00000821: POP
00000822: PUSH2 0x053e
00000825: PUSH1 0x04
00000827: DUP1
00000828: CALLDATASIZE
00000829: SUB
0000082a: PUSH1 0x20
0000082c: DUP2
0000082d: LT
0000082e: ISZERO
0000082f: PUSH2 0x0837
00000832: JUMPI
00000833: PUSH1 0x00
00000835: DUP1
00000836: REVERT
00000837: JUMPDEST
00000838: POP
00000839: CALLDATALOAD
0000083a: PUSH2 0x138b
0000083d: JUMP
0000083e: JUMPDEST
0000083f: CALLVALUE
00000840: DUP1
00000841: ISZERO
00000842: PUSH2 0x084a
00000845: JUMPI
00000846: PUSH1 0x00
00000848: DUP1
00000849: REVERT
0000084a: JUMPDEST
0000084b: POP
0000084c: PUSH2 0x05ba
0000084f: PUSH1 0x04
00000851: DUP1
00000852: CALLDATASIZE
00000853: SUB
00000854: PUSH1 0x40
00000856: DUP2
00000857: LT
00000858: ISZERO
00000859: PUSH2 0x0861
0000085c: JUMPI
0000085d: PUSH1 0x00
0000085f: DUP1
00000860: REVERT
00000861: JUMPDEST
00000862: POP
00000863: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000878: DUP2
00000879: CALLDATALOAD
0000087a: AND
0000087b: SWAP1
0000087c: PUSH1 0x20
0000087e: ADD
0000087f: CALLDATALOAD
00000880: PUSH2 0x139f
00000883: JUMP
00000884: JUMPDEST
00000885: CALLVALUE
00000886: DUP1
00000887: ISZERO
00000888: PUSH2 0x0890
0000088b: JUMPI
0000088c: PUSH1 0x00
0000088e: DUP1
0000088f: REVERT
00000890: JUMPDEST
00000891: POP
00000892: PUSH2 0x053e
00000895: PUSH1 0x04
00000897: DUP1
00000898: CALLDATASIZE
00000899: SUB
0000089a: PUSH1 0x20
0000089c: DUP2
0000089d: LT
0000089e: ISZERO
0000089f: PUSH2 0x08a7
000008a2: JUMPI
000008a3: PUSH1 0x00
000008a5: DUP1
000008a6: REVERT
000008a7: JUMPDEST
000008a8: POP
000008a9: CALLDATALOAD
000008aa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008bf: AND
000008c0: PUSH2 0x14e6
000008c3: JUMP
000008c4: JUMPDEST
000008c5: CALLVALUE
000008c6: DUP1
000008c7: ISZERO
000008c8: PUSH2 0x08d0
000008cb: JUMPI
000008cc: PUSH1 0x00
000008ce: DUP1
000008cf: REVERT
000008d0: JUMPDEST
000008d1: POP
000008d2: PUSH2 0x08d9
000008d5: PUSH2 0x15ca
000008d8: JUMP
000008d9: JUMPDEST
000008da: PUSH1 0x40
000008dc: DUP1
000008dd: MLOAD
000008de: PUSH1 0x20
000008e0: DUP1
000008e1: DUP3
000008e2: MSTORE
000008e3: DUP4
000008e4: MLOAD
000008e5: DUP2
000008e6: DUP4
000008e7: ADD
000008e8: MSTORE
000008e9: DUP4
000008ea: MLOAD
000008eb: SWAP2
000008ec: SWAP3
000008ed: DUP4
000008ee: SWAP3
000008ef: SWAP1
000008f0: DUP4
000008f1: ADD
000008f2: SWAP2
000008f3: DUP6
000008f4: ADD
000008f5: SWAP1
000008f6: DUP1
000008f7: DUP4
000008f8: DUP4
000008f9: PUSH1 0x00
000008fb: JUMPDEST
000008fc: DUP4
000008fd: DUP2
000008fe: LT
000008ff: ISZERO
00000900: PUSH2 0x0913
00000903: JUMPI
00000904: DUP2
00000905: DUP2
00000906: ADD
00000907: MLOAD
00000908: DUP4
00000909: DUP3
0000090a: ADD
0000090b: MSTORE
0000090c: PUSH1 0x20
0000090e: ADD
0000090f: PUSH2 0x08fb
00000912: JUMP
00000913: JUMPDEST
00000914: POP
00000915: POP
00000916: POP
00000917: POP
00000918: SWAP1
00000919: POP
0000091a: SWAP1
0000091b: DUP2
0000091c: ADD
0000091d: SWAP1
0000091e: PUSH1 0x1f
00000920: AND
00000921: DUP1
00000922: ISZERO
00000923: PUSH2 0x0940
00000926: JUMPI
00000927: DUP1
00000928: DUP3
00000929: SUB
0000092a: DUP1
0000092b: MLOAD
0000092c: PUSH1 0x01
0000092e: DUP4
0000092f: PUSH1 0x20
00000931: SUB
00000932: PUSH2 0x0100
00000935: EXP
00000936: SUB
00000937: NOT
00000938: AND
00000939: DUP2
0000093a: MSTORE
0000093b: PUSH1 0x20
0000093d: ADD
0000093e: SWAP2
0000093f: POP
00000940: JUMPDEST
00000941: POP
00000942: SWAP3
00000943: POP
00000944: POP
00000945: POP
00000946: PUSH1 0x40
00000948: MLOAD
00000949: DUP1
0000094a: SWAP2
0000094b: SUB
0000094c: SWAP1
0000094d: RETURN
0000094e: JUMPDEST
0000094f: CALLVALUE
00000950: DUP1
00000951: ISZERO
00000952: PUSH2 0x095a
00000955: JUMPI
00000956: PUSH1 0x00
00000958: DUP1
00000959: REVERT
0000095a: JUMPDEST
0000095b: POP
0000095c: PUSH2 0x053e
0000095f: PUSH2 0x167e
00000962: JUMP
00000963: JUMPDEST
00000964: CALLVALUE
00000965: DUP1
00000966: ISZERO
00000967: PUSH2 0x096f
0000096a: JUMPI
0000096b: PUSH1 0x00
0000096d: DUP1
0000096e: REVERT
0000096f: JUMPDEST
00000970: POP
00000971: PUSH2 0x05ba
00000974: PUSH2 0x1684
00000977: JUMP
00000978: JUMPDEST
00000979: CALLVALUE
0000097a: DUP1
0000097b: ISZERO
0000097c: PUSH2 0x0984
0000097f: JUMPI
00000980: PUSH1 0x00
00000982: DUP1
00000983: REVERT
00000984: JUMPDEST
00000985: POP
00000986: PUSH2 0x053e
00000989: PUSH2 0x1692
0000098c: JUMP
0000098d: JUMPDEST
0000098e: CALLVALUE
0000098f: DUP1
00000990: ISZERO
00000991: PUSH2 0x0999
00000994: JUMPI
00000995: PUSH1 0x00
00000997: DUP1
00000998: REVERT
00000999: JUMPDEST
0000099a: POP
0000099b: PUSH2 0x053e
0000099e: PUSH2 0x1698
000009a1: JUMP
000009a2: JUMPDEST
000009a3: CALLVALUE
000009a4: DUP1
000009a5: ISZERO
000009a6: PUSH2 0x09ae
000009a9: JUMPI
000009aa: PUSH1 0x00
000009ac: DUP1
000009ad: REVERT
000009ae: JUMPDEST
000009af: POP
000009b0: PUSH2 0x04be
000009b3: PUSH2 0x16a4
000009b6: JUMP
000009b7: JUMPDEST
000009b8: CALLVALUE
000009b9: DUP1
000009ba: ISZERO
000009bb: PUSH2 0x09c3
000009be: JUMPI
000009bf: PUSH1 0x00
000009c1: DUP1
000009c2: REVERT
000009c3: JUMPDEST
000009c4: POP
000009c5: PUSH2 0x053e
000009c8: PUSH2 0x1786
000009cb: JUMP
000009cc: JUMPDEST
000009cd: CALLVALUE
000009ce: DUP1
000009cf: ISZERO
000009d0: PUSH2 0x09d8
000009d3: JUMPI
000009d4: PUSH1 0x00
000009d6: DUP1
000009d7: REVERT
000009d8: JUMPDEST
000009d9: POP
000009da: PUSH2 0x053e
000009dd: PUSH2 0x1792
000009e0: JUMP
000009e1: JUMPDEST
000009e2: CALLVALUE
000009e3: DUP1
000009e4: ISZERO
000009e5: PUSH2 0x09ed
000009e8: JUMPI
000009e9: PUSH1 0x00
000009eb: DUP1
000009ec: REVERT
000009ed: JUMPDEST
000009ee: POP
000009ef: PUSH2 0x053e
000009f2: PUSH2 0x1798
000009f5: JUMP
000009f6: JUMPDEST
000009f7: CALLVALUE
000009f8: DUP1
000009f9: ISZERO
000009fa: PUSH2 0x0a02
000009fd: JUMPI
000009fe: PUSH1 0x00
00000a00: DUP1
00000a01: REVERT
00000a02: JUMPDEST
00000a03: POP
00000a04: PUSH2 0x053e
00000a07: PUSH1 0x04
00000a09: DUP1
00000a0a: CALLDATASIZE
00000a0b: SUB
00000a0c: PUSH1 0x20
00000a0e: DUP2
00000a0f: LT
00000a10: ISZERO
00000a11: PUSH2 0x0a19
00000a14: JUMPI
00000a15: PUSH1 0x00
00000a17: DUP1
00000a18: REVERT
00000a19: JUMPDEST
00000a1a: POP
00000a1b: CALLDATALOAD
00000a1c: PUSH2 0x179d
00000a1f: JUMP
00000a20: JUMPDEST
00000a21: CALLVALUE
00000a22: DUP1
00000a23: ISZERO
00000a24: PUSH2 0x0a2c
00000a27: JUMPI
00000a28: PUSH1 0x00
00000a2a: DUP1
00000a2b: REVERT
00000a2c: JUMPDEST
00000a2d: POP
00000a2e: PUSH2 0x053e
00000a31: PUSH1 0x04
00000a33: DUP1
00000a34: CALLDATASIZE
00000a35: SUB
00000a36: PUSH1 0x20
00000a38: DUP2
00000a39: LT
00000a3a: ISZERO
00000a3b: PUSH2 0x0a43
00000a3e: JUMPI
00000a3f: PUSH1 0x00
00000a41: DUP1
00000a42: REVERT
00000a43: JUMPDEST
00000a44: POP
00000a45: CALLDATALOAD
00000a46: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a5b: AND
00000a5c: PUSH2 0x1853
00000a5f: JUMP
00000a60: JUMPDEST
00000a61: CALLVALUE
00000a62: DUP1
00000a63: ISZERO
00000a64: PUSH2 0x0a6c
00000a67: JUMPI
00000a68: PUSH1 0x00
00000a6a: DUP1
00000a6b: REVERT
00000a6c: JUMPDEST
00000a6d: POP
00000a6e: PUSH2 0x053e
00000a71: PUSH2 0x1937
00000a74: JUMP
00000a75: JUMPDEST
00000a76: CALLVALUE
00000a77: DUP1
00000a78: ISZERO
00000a79: PUSH2 0x0a81
00000a7c: JUMPI
00000a7d: PUSH1 0x00
00000a7f: DUP1
00000a80: REVERT
00000a81: JUMPDEST
00000a82: POP
00000a83: PUSH2 0x04d5
00000a86: PUSH2 0x193d
00000a89: JUMP
00000a8a: JUMPDEST
00000a8b: CALLVALUE
00000a8c: DUP1
00000a8d: ISZERO
00000a8e: PUSH2 0x0a96
00000a91: JUMPI
00000a92: PUSH1 0x00
00000a94: DUP1
00000a95: REVERT
00000a96: JUMPDEST
00000a97: POP
00000a98: PUSH2 0x04d5
00000a9b: PUSH2 0x1959
00000a9e: JUMP
00000a9f: JUMPDEST
00000aa0: CALLVALUE
00000aa1: DUP1
00000aa2: ISZERO
00000aa3: PUSH2 0x0aab
00000aa6: JUMPI
00000aa7: PUSH1 0x00
00000aa9: DUP1
00000aaa: REVERT
00000aab: JUMPDEST
00000aac: POP
00000aad: PUSH2 0x05ba
00000ab0: PUSH2 0x1975
00000ab3: JUMP
00000ab4: JUMPDEST
00000ab5: CALLVALUE
00000ab6: DUP1
00000ab7: ISZERO
00000ab8: PUSH2 0x0ac0
00000abb: JUMPI
00000abc: PUSH1 0x00
00000abe: DUP1
00000abf: REVERT
00000ac0: JUMPDEST
00000ac1: POP
00000ac2: PUSH2 0x0afa
00000ac5: PUSH1 0x04
00000ac7: DUP1
00000ac8: CALLDATASIZE
00000ac9: SUB
00000aca: PUSH1 0x40
00000acc: DUP2
00000acd: LT
00000ace: ISZERO
00000acf: PUSH2 0x0ad7
00000ad2: JUMPI
00000ad3: PUSH1 0x00
00000ad5: DUP1
00000ad6: REVERT
00000ad7: JUMPDEST
00000ad8: POP
00000ad9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000aee: DUP2
00000aef: CALLDATALOAD
00000af0: AND
00000af1: SWAP1
00000af2: PUSH1 0x20
00000af4: ADD
00000af5: CALLDATALOAD
00000af6: PUSH2 0x19b3
00000af9: JUMP
00000afa: JUMPDEST
00000afb: PUSH1 0x40
00000afd: DUP1
00000afe: MLOAD
00000aff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b14: SWAP1
00000b15: SWAP11
00000b16: AND
00000b17: DUP11
00000b18: MSTORE
00000b19: PUSH1 0x20
00000b1b: DUP11
00000b1c: ADD
00000b1d: SWAP9
00000b1e: SWAP1
00000b1f: SWAP9
00000b20: MSTORE
00000b21: DUP9
00000b22: DUP9
00000b23: ADD
00000b24: SWAP7
00000b25: SWAP1
00000b26: SWAP7
00000b27: MSTORE
00000b28: PUSH1 0x60
00000b2a: DUP9
00000b2b: ADD
00000b2c: SWAP5
00000b2d: SWAP1
00000b2e: SWAP5
00000b2f: MSTORE
00000b30: PUSH1 0x80
00000b32: DUP8
00000b33: ADD
00000b34: SWAP3
00000b35: SWAP1
00000b36: SWAP3
00000b37: MSTORE
00000b38: PUSH1 0xa0
00000b3a: DUP7
00000b3b: ADD
00000b3c: MSTORE
00000b3d: PUSH1 0xc0
00000b3f: DUP6
00000b40: ADD
00000b41: MSTORE
00000b42: PUSH1 0xe0
00000b44: DUP5
00000b45: ADD
00000b46: MSTORE
00000b47: ISZERO
00000b48: ISZERO
00000b49: PUSH2 0x0100
00000b4c: DUP4
00000b4d: ADD
00000b4e: MSTORE
00000b4f: MLOAD
00000b50: SWAP1
00000b51: DUP2
00000b52: SWAP1
00000b53: SUB
00000b54: PUSH2 0x0120
00000b57: ADD
00000b58: SWAP1
00000b59: RETURN
00000b5a: JUMPDEST
00000b5b: CALLVALUE
00000b5c: DUP1
00000b5d: ISZERO
00000b5e: PUSH2 0x0b66
00000b61: JUMPI
00000b62: PUSH1 0x00
00000b64: DUP1
00000b65: REVERT
00000b66: JUMPDEST
00000b67: POP
00000b68: PUSH2 0x053e
00000b6b: PUSH2 0x1a32
00000b6e: JUMP
00000b6f: JUMPDEST
00000b70: CALLVALUE
00000b71: DUP1
00000b72: ISZERO
00000b73: PUSH2 0x0b7b
00000b76: JUMPI
00000b77: PUSH1 0x00
00000b79: DUP1
00000b7a: REVERT
00000b7b: JUMPDEST
00000b7c: POP
00000b7d: PUSH2 0x04d5
00000b80: PUSH2 0x1a3e
00000b83: JUMP
00000b84: JUMPDEST
00000b85: CALLVALUE
00000b86: DUP1
00000b87: ISZERO
00000b88: PUSH2 0x0b90
00000b8b: JUMPI
00000b8c: PUSH1 0x00
00000b8e: DUP1
00000b8f: REVERT
00000b90: JUMPDEST
00000b91: POP
00000b92: PUSH2 0x04be
00000b95: PUSH1 0x04
00000b97: DUP1
00000b98: CALLDATASIZE
00000b99: SUB
00000b9a: PUSH1 0x20
00000b9c: DUP2
00000b9d: LT
00000b9e: ISZERO
00000b9f: PUSH2 0x0ba7
00000ba2: JUMPI
00000ba3: PUSH1 0x00
00000ba5: DUP1
00000ba6: REVERT
00000ba7: JUMPDEST
00000ba8: POP
00000ba9: CALLDATALOAD
00000baa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bbf: AND
00000bc0: PUSH2 0x1a5a
00000bc3: JUMP
00000bc4: JUMPDEST
00000bc5: CALLVALUE
00000bc6: DUP1
00000bc7: ISZERO
00000bc8: PUSH2 0x0bd0
00000bcb: JUMPI
00000bcc: PUSH1 0x00
00000bce: DUP1
00000bcf: REVERT
00000bd0: JUMPDEST
00000bd1: POP
00000bd2: PUSH2 0x04d5
00000bd5: PUSH2 0x1b72
00000bd8: JUMP
00000bd9: JUMPDEST
00000bda: CALLVALUE
00000bdb: DUP1
00000bdc: ISZERO
00000bdd: PUSH2 0x0be5
00000be0: JUMPI
00000be1: PUSH1 0x00
00000be3: DUP1
00000be4: REVERT
00000be5: JUMPDEST
00000be6: POP
00000be7: PUSH2 0x053e
00000bea: PUSH2 0x1b8e
00000bed: JUMP
00000bee: JUMPDEST
00000bef: CALLVALUE
00000bf0: DUP1
00000bf1: ISZERO
00000bf2: PUSH2 0x0bfa
00000bf5: JUMPI
00000bf6: PUSH1 0x00
00000bf8: DUP1
00000bf9: REVERT
00000bfa: JUMPDEST
00000bfb: POP
00000bfc: PUSH2 0x053e
00000bff: PUSH2 0x1b9a
00000c02: JUMP
00000c03: JUMPDEST
00000c04: CALLVALUE
00000c05: DUP1
00000c06: ISZERO
00000c07: PUSH2 0x0c0f
00000c0a: JUMPI
00000c0b: PUSH1 0x00
00000c0d: DUP1
00000c0e: REVERT
00000c0f: JUMPDEST
00000c10: POP
00000c11: PUSH2 0x053e
00000c14: PUSH1 0x04
00000c16: DUP1
00000c17: CALLDATASIZE
00000c18: SUB
00000c19: PUSH1 0x20
00000c1b: DUP2
00000c1c: LT
00000c1d: ISZERO
00000c1e: PUSH2 0x0c26
00000c21: JUMPI
00000c22: PUSH1 0x00
00000c24: DUP1
00000c25: REVERT
00000c26: JUMPDEST
00000c27: POP
00000c28: CALLDATALOAD
00000c29: PUSH2 0x1ba6
00000c2c: JUMP
00000c2d: JUMPDEST
00000c2e: CALLVALUE
00000c2f: DUP1
00000c30: ISZERO
00000c31: PUSH2 0x0c39
00000c34: JUMPI
00000c35: PUSH1 0x00
00000c37: DUP1
00000c38: REVERT
00000c39: JUMPDEST
00000c3a: POP
00000c3b: PUSH2 0x05ba
00000c3e: PUSH1 0x04
00000c40: DUP1
00000c41: CALLDATASIZE
00000c42: SUB
00000c43: PUSH1 0x40
00000c45: DUP2
00000c46: LT
00000c47: ISZERO
00000c48: PUSH2 0x0c50
00000c4b: JUMPI
00000c4c: PUSH1 0x00
00000c4e: DUP1
00000c4f: REVERT
00000c50: JUMPDEST
00000c51: POP
00000c52: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c67: DUP2
00000c68: CALLDATALOAD
00000c69: AND
00000c6a: SWAP1
00000c6b: PUSH1 0x20
00000c6d: ADD
00000c6e: CALLDATALOAD
00000c6f: PUSH2 0x1c5a
00000c72: JUMP
00000c73: JUMPDEST
00000c74: CALLVALUE
00000c75: DUP1
00000c76: ISZERO
00000c77: PUSH2 0x0c7f
00000c7a: JUMPI
00000c7b: PUSH1 0x00
00000c7d: DUP1
00000c7e: REVERT
00000c7f: JUMPDEST
00000c80: POP
00000c81: PUSH2 0x053e
00000c84: PUSH2 0x1c7a
00000c87: JUMP
00000c88: JUMPDEST
00000c89: CALLVALUE
00000c8a: DUP1
00000c8b: ISZERO
00000c8c: PUSH2 0x0c94
00000c8f: JUMPI
00000c90: PUSH1 0x00
00000c92: DUP1
00000c93: REVERT
00000c94: JUMPDEST
00000c95: POP
00000c96: PUSH2 0x053e
00000c99: PUSH2 0x1c80
00000c9c: JUMP
00000c9d: JUMPDEST
00000c9e: CALLVALUE
00000c9f: DUP1
00000ca0: ISZERO
00000ca1: PUSH2 0x0ca9
00000ca4: JUMPI
00000ca5: PUSH1 0x00
00000ca7: DUP1
00000ca8: REVERT
00000ca9: JUMPDEST
00000caa: POP
00000cab: PUSH2 0x053e
00000cae: PUSH2 0x1c8b
00000cb1: JUMP
00000cb2: JUMPDEST
00000cb3: CALLVALUE
00000cb4: DUP1
00000cb5: ISZERO
00000cb6: PUSH2 0x0cbe
00000cb9: JUMPI
00000cba: PUSH1 0x00
00000cbc: DUP1
00000cbd: REVERT
00000cbe: JUMPDEST
00000cbf: POP
00000cc0: PUSH2 0x04d5
00000cc3: PUSH2 0x1c90
00000cc6: JUMP
00000cc7: JUMPDEST
00000cc8: CALLVALUE
00000cc9: DUP1
00000cca: ISZERO
00000ccb: PUSH2 0x0cd3
00000cce: JUMPI
00000ccf: PUSH1 0x00
00000cd1: DUP1
00000cd2: REVERT
00000cd3: JUMPDEST
00000cd4: POP
00000cd5: PUSH2 0x05ba
00000cd8: PUSH2 0x1cac
00000cdb: JUMP
00000cdc: JUMPDEST
00000cdd: CALLVALUE
00000cde: DUP1
00000cdf: ISZERO
00000ce0: PUSH2 0x0ce8
00000ce3: JUMPI
00000ce4: PUSH1 0x00
00000ce6: DUP1
00000ce7: REVERT
00000ce8: JUMPDEST
00000ce9: POP
00000cea: PUSH2 0x053e
00000ced: PUSH2 0x1cce
00000cf0: JUMP
00000cf1: JUMPDEST
00000cf2: CALLVALUE
00000cf3: DUP1
00000cf4: ISZERO
00000cf5: PUSH2 0x0cfd
00000cf8: JUMPI
00000cf9: PUSH1 0x00
00000cfb: DUP1
00000cfc: REVERT
00000cfd: JUMPDEST
00000cfe: POP
00000cff: PUSH2 0x053e
00000d02: PUSH1 0x04
00000d04: DUP1
00000d05: CALLDATASIZE
00000d06: SUB
00000d07: PUSH1 0x40
00000d09: DUP2
00000d0a: LT
00000d0b: ISZERO
00000d0c: PUSH2 0x0d14
00000d0f: JUMPI
00000d10: PUSH1 0x00
00000d12: DUP1
00000d13: REVERT
00000d14: JUMPDEST
00000d15: POP
00000d16: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d2b: DUP2
00000d2c: CALLDATALOAD
00000d2d: AND
00000d2e: SWAP1
00000d2f: PUSH1 0x20
00000d31: ADD
00000d32: CALLDATALOAD
00000d33: PUSH2 0x1cd4
00000d36: JUMP
00000d37: JUMPDEST
00000d38: CALLVALUE
00000d39: DUP1
00000d3a: ISZERO
00000d3b: PUSH2 0x0d43
00000d3e: JUMPI
00000d3f: PUSH1 0x00
00000d41: DUP1
00000d42: REVERT
00000d43: JUMPDEST
00000d44: POP
00000d45: PUSH2 0x04d5
00000d48: PUSH2 0x1dd7
00000d4b: JUMP
00000d4c: JUMPDEST
00000d4d: CALLVALUE
00000d4e: DUP1
00000d4f: ISZERO
00000d50: PUSH2 0x0d58
00000d53: JUMPI
00000d54: PUSH1 0x00
00000d56: DUP1
00000d57: REVERT
00000d58: JUMPDEST
00000d59: POP
00000d5a: PUSH2 0x05ba
00000d5d: PUSH1 0x04
00000d5f: DUP1
00000d60: CALLDATASIZE
00000d61: SUB
00000d62: PUSH1 0x40
00000d64: DUP2
00000d65: LT
00000d66: ISZERO
00000d67: PUSH2 0x0d6f
00000d6a: JUMPI
00000d6b: PUSH1 0x00
00000d6d: DUP1
00000d6e: REVERT
00000d6f: JUMPDEST
00000d70: POP
00000d71: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d86: DUP2
00000d87: CALLDATALOAD
00000d88: AND
00000d89: SWAP1
00000d8a: PUSH1 0x20
00000d8c: ADD
00000d8d: CALLDATALOAD
00000d8e: PUSH2 0x1df3
00000d91: JUMP
00000d92: JUMPDEST
00000d93: CALLVALUE
00000d94: DUP1
00000d95: ISZERO
00000d96: PUSH2 0x0d9e
00000d99: JUMPI
00000d9a: PUSH1 0x00
00000d9c: DUP1
00000d9d: REVERT
00000d9e: JUMPDEST
00000d9f: POP
00000da0: PUSH2 0x053e
00000da3: PUSH2 0x1efc
00000da6: JUMP
00000da7: JUMPDEST
00000da8: CALLVALUE
00000da9: DUP1
00000daa: ISZERO
00000dab: PUSH2 0x0db3
00000dae: JUMPI
00000daf: PUSH1 0x00
00000db1: DUP1
00000db2: REVERT
00000db3: JUMPDEST
00000db4: POP
00000db5: PUSH2 0x04d5
00000db8: PUSH2 0x1f02
00000dbb: JUMP
00000dbc: JUMPDEST
00000dbd: CALLVALUE
00000dbe: DUP1
00000dbf: ISZERO
00000dc0: PUSH2 0x0dc8
00000dc3: JUMPI
00000dc4: PUSH1 0x00
00000dc6: DUP1
00000dc7: REVERT
00000dc8: JUMPDEST
00000dc9: POP
00000dca: PUSH2 0x053e
00000dcd: PUSH2 0x1f1e
00000dd0: JUMP
00000dd1: JUMPDEST
00000dd2: CALLVALUE
00000dd3: DUP1
00000dd4: ISZERO
00000dd5: PUSH2 0x0ddd
00000dd8: JUMPI
00000dd9: PUSH1 0x00
00000ddb: DUP1
00000ddc: REVERT
00000ddd: JUMPDEST
00000dde: POP
00000ddf: PUSH2 0x053e
00000de2: PUSH2 0x1f24
00000de5: JUMP
00000de6: JUMPDEST
00000de7: CALLVALUE
00000de8: DUP1
00000de9: ISZERO
00000dea: PUSH2 0x0df2
00000ded: JUMPI
00000dee: PUSH1 0x00
00000df0: DUP1
00000df1: REVERT
00000df2: JUMPDEST
00000df3: POP
00000df4: PUSH2 0x04d5
00000df7: PUSH2 0x1f2a
00000dfa: JUMP
00000dfb: JUMPDEST
00000dfc: CALLVALUE
00000dfd: DUP1
00000dfe: ISZERO
00000dff: PUSH2 0x0e07
00000e02: JUMPI
00000e03: PUSH1 0x00
00000e05: DUP1
00000e06: REVERT
00000e07: JUMPDEST
00000e08: POP
00000e09: PUSH2 0x04d5
00000e0c: PUSH2 0x1f46
00000e0f: JUMP
00000e10: JUMPDEST
00000e11: CALLVALUE
00000e12: DUP1
00000e13: ISZERO
00000e14: PUSH2 0x0e1c
00000e17: JUMPI
00000e18: PUSH1 0x00
00000e1a: DUP1
00000e1b: REVERT
00000e1c: JUMPDEST
00000e1d: POP
00000e1e: PUSH2 0x05ba
00000e21: PUSH2 0x1f62
00000e24: JUMP
00000e25: JUMPDEST
00000e26: CALLVALUE
00000e27: DUP1
00000e28: ISZERO
00000e29: PUSH2 0x0e31
00000e2c: JUMPI
00000e2d: PUSH1 0x00
00000e2f: DUP1
00000e30: REVERT
00000e31: JUMPDEST
00000e32: POP
00000e33: PUSH2 0x05ba
00000e36: PUSH2 0x1f83
00000e39: JUMP
00000e3a: JUMPDEST
00000e3b: CALLVALUE
00000e3c: DUP1
00000e3d: ISZERO
00000e3e: PUSH2 0x0e46
00000e41: JUMPI
00000e42: PUSH1 0x00
00000e44: DUP1
00000e45: REVERT
00000e46: JUMPDEST
00000e47: POP
00000e48: PUSH2 0x04be
00000e4b: PUSH1 0x04
00000e4d: DUP1
00000e4e: CALLDATASIZE
00000e4f: SUB
00000e50: PUSH1 0x40
00000e52: DUP2
00000e53: LT
00000e54: ISZERO
00000e55: PUSH2 0x0e5d
00000e58: JUMPI
00000e59: PUSH1 0x00
00000e5b: DUP1
00000e5c: REVERT
00000e5d: JUMPDEST
00000e5e: POP
00000e5f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e74: DUP2
00000e75: CALLDATALOAD
00000e76: DUP2
00000e77: AND
00000e78: SWAP2
00000e79: PUSH1 0x20
00000e7b: ADD
00000e7c: CALLDATALOAD
00000e7d: AND
00000e7e: PUSH2 0x1f8c
00000e81: JUMP
00000e82: JUMPDEST
00000e83: CALLVALUE
00000e84: DUP1
00000e85: ISZERO
00000e86: PUSH2 0x0e8e
00000e89: JUMPI
00000e8a: PUSH1 0x00
00000e8c: DUP1
00000e8d: REVERT
00000e8e: JUMPDEST
00000e8f: POP
00000e90: PUSH2 0x053e
00000e93: PUSH1 0x04
00000e95: DUP1
00000e96: CALLDATASIZE
00000e97: SUB
00000e98: PUSH1 0x20
00000e9a: DUP2
00000e9b: LT
00000e9c: ISZERO
00000e9d: PUSH2 0x0ea5
00000ea0: JUMPI
00000ea1: PUSH1 0x00
00000ea3: DUP1
00000ea4: REVERT
00000ea5: JUMPDEST
00000ea6: POP
00000ea7: CALLDATALOAD
00000ea8: PUSH2 0x20ab
00000eab: JUMP
00000eac: JUMPDEST
00000ead: CALLVALUE
00000eae: DUP1
00000eaf: ISZERO
00000eb0: PUSH2 0x0eb8
00000eb3: JUMPI
00000eb4: PUSH1 0x00
00000eb6: DUP1
00000eb7: REVERT
00000eb8: JUMPDEST
00000eb9: POP
00000eba: PUSH2 0x04be
00000ebd: PUSH1 0x04
00000ebf: DUP1
00000ec0: CALLDATASIZE
00000ec1: SUB
00000ec2: PUSH1 0x20
00000ec4: DUP2
00000ec5: LT
00000ec6: ISZERO
00000ec7: PUSH2 0x0ecf
00000eca: JUMPI
00000ecb: PUSH1 0x00
00000ecd: DUP1
00000ece: REVERT
00000ecf: JUMPDEST
00000ed0: POP
00000ed1: CALLDATALOAD
00000ed2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ee7: AND
00000ee8: PUSH2 0x2161
00000eeb: JUMP
00000eec: JUMPDEST
00000eed: CALLVALUE
00000eee: DUP1
00000eef: ISZERO
00000ef0: PUSH2 0x0ef8
00000ef3: JUMPI
00000ef4: PUSH1 0x00
00000ef6: DUP1
00000ef7: REVERT
00000ef8: JUMPDEST
00000ef9: POP
00000efa: PUSH2 0x0f01
00000efd: PUSH2 0x21dd
00000f00: JUMP
00000f01: JUMPDEST
00000f02: PUSH1 0x40
00000f04: MLOAD
00000f05: DUP1
00000f06: DUP3
00000f07: PUSH1 0x01
00000f09: DUP2
00000f0a: GT
00000f0b: ISZERO
00000f0c: PUSH2 0x0f11
00000f0f: JUMPI
00000f10: INVALID
00000f11: JUMPDEST
00000f12: PUSH1 0xff
00000f14: AND
00000f15: DUP2
00000f16: MSTORE
00000f17: PUSH1 0x20
00000f19: ADD
00000f1a: SWAP2
00000f1b: POP
00000f1c: POP
00000f1d: PUSH1 0x40
00000f1f: MLOAD
00000f20: DUP1
00000f21: SWAP2
00000f22: SUB
00000f23: SWAP1
00000f24: RETURN
00000f25: JUMPDEST
00000f26: PUSH2 0x04be
00000f29: PUSH1 0x04
00000f2b: DUP1
00000f2c: CALLDATASIZE
00000f2d: SUB
00000f2e: PUSH1 0x60
00000f30: DUP2
00000f31: LT
00000f32: ISZERO
00000f33: PUSH2 0x0f3b
00000f36: JUMPI
00000f37: PUSH1 0x00
00000f39: DUP1
00000f3a: REVERT
00000f3b: JUMPDEST
00000f3c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f51: DUP3
00000f52: CALLDATALOAD
00000f53: AND
00000f54: SWAP2
00000f55: SWAP1
00000f56: DUP2
00000f57: ADD
00000f58: SWAP1
00000f59: PUSH1 0x40
00000f5b: DUP2
00000f5c: ADD
00000f5d: PUSH1 0x20
00000f5f: DUP3
00000f60: ADD
00000f61: CALLDATALOAD
00000f62: PUSH5 0x0100000000
00000f68: DUP2
00000f69: GT
00000f6a: ISZERO
00000f6b: PUSH2 0x0f73
00000f6e: JUMPI
00000f6f: PUSH1 0x00
00000f71: DUP1
00000f72: REVERT
00000f73: JUMPDEST
00000f74: DUP3
00000f75: ADD
00000f76: DUP4
00000f77: PUSH1 0x20
00000f79: DUP3
00000f7a: ADD
00000f7b: GT
00000f7c: ISZERO
00000f7d: PUSH2 0x0f85
00000f80: JUMPI
00000f81: PUSH1 0x00
00000f83: DUP1
00000f84: REVERT
00000f85: JUMPDEST
00000f86: DUP1
00000f87: CALLDATALOAD
00000f88: SWAP1
00000f89: PUSH1 0x20
00000f8b: ADD
00000f8c: SWAP2
00000f8d: DUP5
00000f8e: PUSH1 0x01
00000f90: DUP4
00000f91: MUL
00000f92: DUP5
00000f93: ADD
00000f94: GT
00000f95: PUSH5 0x0100000000
00000f9b: DUP4
00000f9c: GT
00000f9d: OR
00000f9e: ISZERO
00000f9f: PUSH2 0x0fa7
00000fa2: JUMPI
00000fa3: PUSH1 0x00
00000fa5: DUP1
00000fa6: REVERT
00000fa7: JUMPDEST
00000fa8: SWAP2
00000fa9: SWAP4
00000faa: SWAP1
00000fab: SWAP3
00000fac: SWAP1
00000fad: SWAP2
00000fae: PUSH1 0x20
00000fb0: DUP2
00000fb1: ADD
00000fb2: SWAP1
00000fb3: CALLDATALOAD
00000fb4: PUSH5 0x0100000000
00000fba: DUP2
00000fbb: GT
00000fbc: ISZERO
00000fbd: PUSH2 0x0fc5
00000fc0: JUMPI
00000fc1: PUSH1 0x00
00000fc3: DUP1
00000fc4: REVERT
00000fc5: JUMPDEST
00000fc6: DUP3
00000fc7: ADD
00000fc8: DUP4
00000fc9: PUSH1 0x20
00000fcb: DUP3
00000fcc: ADD
00000fcd: GT
00000fce: ISZERO
00000fcf: PUSH2 0x0fd7
00000fd2: JUMPI
00000fd3: PUSH1 0x00
00000fd5: DUP1
00000fd6: REVERT
00000fd7: JUMPDEST
00000fd8: DUP1
00000fd9: CALLDATALOAD
00000fda: SWAP1
00000fdb: PUSH1 0x20
00000fdd: ADD
00000fde: SWAP2
00000fdf: DUP5
00000fe0: PUSH1 0x01
00000fe2: DUP4
00000fe3: MUL
00000fe4: DUP5
00000fe5: ADD
00000fe6: GT
00000fe7: PUSH5 0x0100000000
00000fed: DUP4
00000fee: GT
00000fef: OR
00000ff0: ISZERO
00000ff1: PUSH2 0x0ff9
00000ff4: JUMPI
00000ff5: PUSH1 0x00
00000ff7: DUP1
00000ff8: REVERT
00000ff9: JUMPDEST
00000ffa: POP
00000ffb: SWAP1
00000ffc: SWAP3
00000ffd: POP
00000ffe: SWAP1
00000fff: POP
00001000: PUSH2 0x21e6
00001003: JUMP
00001004: JUMPDEST
00001005: CALLVALUE
00001006: DUP1
00001007: ISZERO
00001008: PUSH2 0x1010
0000100b: JUMPI
0000100c: PUSH1 0x00
0000100e: DUP1
0000100f: REVERT
00001010: JUMPDEST
00001011: POP
00001012: PUSH2 0x053e
00001015: PUSH1 0x04
00001017: DUP1
00001018: CALLDATASIZE
00001019: SUB
0000101a: PUSH1 0x20
0000101c: DUP2
0000101d: LT
0000101e: ISZERO
0000101f: PUSH2 0x1027
00001022: JUMPI
00001023: PUSH1 0x00
00001025: DUP1
00001026: REVERT
00001027: JUMPDEST
00001028: POP
00001029: CALLDATALOAD
0000102a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000103f: AND
00001040: PUSH2 0x22f3
00001043: JUMP
00001044: JUMPDEST
00001045: CALLVALUE
00001046: DUP1
00001047: ISZERO
00001048: PUSH2 0x1050
0000104b: JUMPI
0000104c: PUSH1 0x00
0000104e: DUP1
0000104f: REVERT
00001050: JUMPDEST
00001051: POP
00001052: PUSH2 0x04d5
00001055: PUSH2 0x23d7
00001058: JUMP
00001059: JUMPDEST
0000105a: PUSH2 0x1061
0000105d: PUSH2 0x23f3
00001060: JUMP
00001061: JUMPDEST
00001062: PUSH2 0x1071
00001065: PUSH2 0x106c
00001068: PUSH2 0x2487
0000106b: JUMP
0000106c: JUMPDEST
0000106d: PUSH2 0x24ac
00001070: JUMP
00001071: JUMPDEST
00001072: JUMP
00001073: JUMPDEST
00001074: PUSH1 0x2e
00001076: SLOAD
00001077: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000108c: AND
0000108d: DUP2
0000108e: JUMP
0000108f: JUMPDEST
00001090: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010a5: DUP2
000010a6: AND
000010a7: PUSH1 0x00
000010a9: SWAP1
000010aa: DUP2
000010ab: MSTORE
000010ac: PUSH1 0x2b
000010ae: PUSH1 0x20
000010b0: MSTORE
000010b1: PUSH1 0x40
000010b3: DUP2
000010b4: KECCAK256
000010b5: SLOAD
000010b6: PUSH2 0x1185
000010b9: JUMPI
000010ba: PUSH1 0x09
000010bc: SLOAD
000010bd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010d2: AND
000010d3: ISZERO
000010d4: PUSH2 0x117b
000010d7: JUMPI
000010d8: PUSH1 0x09
000010da: SLOAD
000010db: PUSH1 0x40
000010dd: DUP1
000010de: MLOAD
000010df: PUSH32 0x06d34c6000000000000000000000000000000000000000000000000000000000
00001100: DUP2
00001101: MSTORE
00001102: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001117: DUP6
00001118: DUP2
00001119: AND
0000111a: PUSH1 0x04
0000111c: DUP4
0000111d: ADD
0000111e: MSTORE
0000111f: SWAP2
00001120: MLOAD
00001121: SWAP2
00001122: SWAP1
00001123: SWAP3
00001124: AND
00001125: SWAP2
00001126: PUSH4 0x06d34c60
0000112b: SWAP2
0000112c: PUSH1 0x24
0000112e: DUP1
0000112f: DUP4
00001130: ADD
00001131: SWAP3
00001132: PUSH1 0x20
00001134: SWAP3
00001135: SWAP2
00001136: SWAP1
00001137: DUP3
00001138: SWAP1
00001139: SUB
0000113a: ADD
0000113b: DUP2
0000113c: DUP7
0000113d: DUP1
0000113e: EXTCODESIZE
0000113f: ISZERO
00001140: DUP1
00001141: ISZERO
00001142: PUSH2 0x114a
00001145: JUMPI
00001146: PUSH1 0x00
00001148: DUP1
00001149: REVERT
0000114a: JUMPDEST
0000114b: POP
0000114c: GAS
0000114d: STATICCALL
0000114e: ISZERO
0000114f: DUP1
00001150: ISZERO
00001151: PUSH2 0x115e
00001154: JUMPI
00001155: RETURNDATASIZE
00001156: PUSH1 0x00
00001158: DUP1
00001159: RETURNDATACOPY
0000115a: RETURNDATASIZE
0000115b: PUSH1 0x00
0000115d: REVERT
0000115e: JUMPDEST
0000115f: POP
00001160: POP
00001161: POP
00001162: POP
00001163: PUSH1 0x40
00001165: MLOAD
00001166: RETURNDATASIZE
00001167: PUSH1 0x20
00001169: DUP2
0000116a: LT
0000116b: ISZERO
0000116c: PUSH2 0x1174
0000116f: JUMPI
00001170: PUSH1 0x00
00001172: DUP1
00001173: REVERT
00001174: JUMPDEST
00001175: POP
00001176: MLOAD
00001177: PUSH2 0x117e
0000117a: JUMP
0000117b: JUMPDEST
0000117c: PUSH1 0x00
0000117e: JUMPDEST
0000117f: SWAP1
00001180: POP
00001181: PUSH2 0x11ad
00001184: JUMP
00001185: JUMPDEST
00001186: POP
00001187: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000119c: DUP2
0000119d: AND
0000119e: PUSH1 0x00
000011a0: SWAP1
000011a1: DUP2
000011a2: MSTORE
000011a3: PUSH1 0x2b
000011a5: PUSH1 0x20
000011a7: MSTORE
000011a8: PUSH1 0x40
000011aa: SWAP1
000011ab: KECCAK256
000011ac: SLOAD
000011ad: JUMPDEST
000011ae: SWAP2
000011af: SWAP1
000011b0: POP
000011b1: JUMP
000011b2: JUMPDEST
000011b3: PUSH1 0x24
000011b5: SLOAD
000011b6: PUSH3 0x010000
000011ba: SWAP1
000011bb: DIV
000011bc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011d1: AND
000011d2: DUP2
000011d3: JUMP
000011d4: JUMPDEST
000011d5: PUSH1 0x00
000011d7: PUSH2 0x11de
000011da: PUSH2 0x2487
000011dd: JUMP
000011de: JUMPDEST
000011df: SWAP1
000011e0: POP
000011e1: JUMPDEST
000011e2: SWAP1
000011e3: JUMP
000011e4: JUMPDEST
000011e5: PUSH1 0x22
000011e7: PUSH1 0x20
000011e9: MSTORE
000011ea: PUSH1 0x00
000011ec: SWAP1
000011ed: DUP2
000011ee: MSTORE
000011ef: PUSH1 0x40
000011f1: SWAP1
000011f2: KECCAK256
000011f3: SLOAD
000011f4: PUSH1 0xff
000011f6: AND
000011f7: DUP2
000011f8: JUMP
000011f9: JUMPDEST
000011fa: PUSH1 0x11
000011fc: SLOAD
000011fd: DUP2
000011fe: JUMP
000011ff: JUMPDEST
00001200: PUSH8 0x03782dace9d90000
00001209: DUP2
0000120a: JUMP
0000120b: JUMPDEST
0000120c: PUSH1 0x28
0000120e: SLOAD
0000120f: DUP2
00001210: JUMP
00001211: JUMPDEST
00001212: PUSH8 0x0214e8348c4f0000
0000121b: DUP2
0000121c: JUMP
0000121d: JUMPDEST
0000121e: PUSH1 0x18
00001220: SLOAD
00001221: DUP2
00001222: JUMP
00001223: JUMPDEST
00001224: PUSH1 0x0f
00001226: SLOAD
00001227: DUP2
00001228: JUMP
00001229: JUMPDEST
0000122a: PUSH1 0x23
0000122c: PUSH1 0x20
0000122e: MSTORE
0000122f: PUSH1 0x00
00001231: SWAP1
00001232: DUP2
00001233: MSTORE
00001234: PUSH1 0x40
00001236: SWAP1
00001237: KECCAK256
00001238: SLOAD
00001239: PUSH1 0xff
0000123b: AND
0000123c: DUP2
0000123d: JUMP
0000123e: JUMPDEST
0000123f: PUSH1 0x0a
00001241: SLOAD
00001242: DUP2
00001243: JUMP
00001244: JUMPDEST
00001245: PUSH1 0x2f
00001247: SLOAD
00001248: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000125d: AND
0000125e: DUP2
0000125f: JUMP
00001260: JUMPDEST
00001261: PUSH2 0x1268
00001264: PUSH2 0x24d0
00001267: JUMP
00001268: JUMPDEST
00001269: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000127e: AND
0000127f: CALLER
00001280: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001295: AND
00001296: EQ
00001297: ISZERO
00001298: PUSH2 0x12e0
0000129b: JUMPI
0000129c: PUSH2 0x12db
0000129f: DUP4
000012a0: DUP4
000012a1: DUP4
000012a2: DUP1
000012a3: DUP1
000012a4: PUSH1 0x1f
000012a6: ADD
000012a7: PUSH1 0x20
000012a9: DUP1
000012aa: SWAP2
000012ab: DIV
000012ac: MUL
000012ad: PUSH1 0x20
000012af: ADD
000012b0: PUSH1 0x40
000012b2: MLOAD
000012b3: SWAP1
000012b4: DUP2
000012b5: ADD
000012b6: PUSH1 0x40
000012b8: MSTORE
000012b9: DUP1
000012ba: SWAP4
000012bb: SWAP3
000012bc: SWAP2
000012bd: SWAP1
000012be: DUP2
000012bf: DUP2
000012c0: MSTORE
000012c1: PUSH1 0x20
000012c3: ADD
000012c4: DUP4
000012c5: DUP4
000012c6: DUP1
000012c7: DUP3
000012c8: DUP5
000012c9: CALLDATACOPY
000012ca: PUSH1 0x00
000012cc: SWAP3
000012cd: ADD
000012ce: SWAP2
000012cf: SWAP1
000012d0: SWAP2
000012d1: MSTORE
000012d2: POP
000012d3: PUSH2 0x24f5
000012d6: SWAP3
000012d7: POP
000012d8: POP
000012d9: POP
000012da: JUMP
000012db: JUMPDEST
000012dc: PUSH2 0x12e8
000012df: JUMP
000012e0: JUMPDEST
000012e1: PUSH2 0x12e8
000012e4: PUSH2 0x1059
000012e7: JUMP
000012e8: JUMPDEST
000012e9: POP
000012ea: POP
000012eb: POP
000012ec: JUMP
000012ed: JUMPDEST
000012ee: PUSH1 0x00
000012f0: SLOAD
000012f1: PUSH23 0x0100000000000000000000000000000000000000000000
00001309: SWAP1
0000130a: DIV
0000130b: PUSH1 0xff
0000130d: AND
0000130e: DUP2
0000130f: JUMP
00001310: JUMPDEST
00001311: PUSH1 0x00
00001313: PUSH2 0x11de
00001316: PUSH2 0x24d0
00001319: JUMP
0000131a: JUMPDEST
0000131b: PUSH1 0x1e
0000131d: PUSH1 0x20
0000131f: MSTORE
00001320: DUP2
00001321: PUSH1 0x00
00001323: MSTORE
00001324: PUSH1 0x40
00001326: PUSH1 0x00
00001328: KECCAK256
00001329: DUP2
0000132a: DUP2
0000132b: SLOAD
0000132c: DUP2
0000132d: LT
0000132e: PUSH2 0x1333
00001331: JUMPI
00001332: INVALID
00001333: JUMPDEST
00001334: PUSH1 0x00
00001336: SWAP2
00001337: DUP3
00001338: MSTORE
00001339: PUSH1 0x20
0000133b: SWAP1
0000133c: SWAP2
0000133d: KECCAK256
0000133e: ADD
0000133f: SLOAD
00001340: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001355: AND
00001356: SWAP2
00001357: POP
00001358: DUP3
00001359: SWAP1
0000135a: POP
0000135b: JUMP
0000135c: JUMPDEST
0000135d: PUSH1 0x31
0000135f: SLOAD
00001360: DUP2
00001361: JUMP
00001362: JUMPDEST
00001363: PUSH1 0x05
00001365: SLOAD
00001366: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000137b: AND
0000137c: DUP2
0000137d: JUMP
0000137e: JUMPDEST
0000137f: PUSH1 0x16
00001381: SLOAD
00001382: DUP2
00001383: JUMP
00001384: JUMPDEST
00001385: PUSH3 0x03f480
00001389: DUP2
0000138a: JUMP
0000138b: JUMPDEST
0000138c: PUSH1 0x13
0000138e: DUP2
0000138f: PUSH1 0x02
00001391: DUP2
00001392: LT
00001393: PUSH2 0x1398
00001396: JUMPI
00001397: INVALID
00001398: JUMPDEST
00001399: ADD
0000139a: SLOAD
0000139b: SWAP1
0000139c: POP
0000139d: DUP2
0000139e: JUMP
0000139f: JUMPDEST
000013a0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013b5: DUP3
000013b6: AND
000013b7: PUSH1 0x00
000013b9: SWAP1
000013ba: DUP2
000013bb: MSTORE
000013bc: PUSH1 0x2c
000013be: PUSH1 0x20
000013c0: SWAP1
000013c1: DUP2
000013c2: MSTORE
000013c3: PUSH1 0x40
000013c5: DUP1
000013c6: DUP4
000013c7: KECCAK256
000013c8: DUP5
000013c9: DUP5
000013ca: MSTORE
000013cb: SWAP1
000013cc: SWAP2
000013cd: MSTORE
000013ce: DUP2
000013cf: KECCAK256
000013d0: SLOAD
000013d1: PUSH1 0xff
000013d3: AND
000013d4: PUSH2 0x14aa
000013d7: JUMPI
000013d8: PUSH1 0x09
000013da: SLOAD
000013db: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013f0: AND
000013f1: ISZERO
000013f2: PUSH2 0x14a0
000013f5: JUMPI
000013f6: PUSH1 0x09
000013f8: SLOAD
000013f9: PUSH1 0x40
000013fb: DUP1
000013fc: MLOAD
000013fd: PUSH32 0x573c840900000000000000000000000000000000000000000000000000000000
0000141e: DUP2
0000141f: MSTORE
00001420: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001435: DUP7
00001436: DUP2
00001437: AND
00001438: PUSH1 0x04
0000143a: DUP4
0000143b: ADD
0000143c: MSTORE
0000143d: PUSH1 0x24
0000143f: DUP3
00001440: ADD
00001441: DUP7
00001442: SWAP1
00001443: MSTORE
00001444: SWAP2
00001445: MLOAD
00001446: SWAP2
00001447: SWAP1
00001448: SWAP3
00001449: AND
0000144a: SWAP2
0000144b: PUSH4 0x573c8409
00001450: SWAP2
00001451: PUSH1 0x44
00001453: DUP1
00001454: DUP4
00001455: ADD
00001456: SWAP3
00001457: PUSH1 0x20
00001459: SWAP3
0000145a: SWAP2
0000145b: SWAP1
0000145c: DUP3
0000145d: SWAP1
0000145e: SUB
0000145f: ADD
00001460: DUP2
00001461: DUP7
00001462: DUP1
00001463: EXTCODESIZE
00001464: ISZERO
00001465: DUP1
00001466: ISZERO
00001467: PUSH2 0x146f
0000146a: JUMPI
0000146b: PUSH1 0x00
0000146d: DUP1
0000146e: REVERT
0000146f: JUMPDEST
00001470: POP
00001471: GAS
00001472: STATICCALL
00001473: ISZERO
00001474: DUP1
00001475: ISZERO
00001476: PUSH2 0x1483
00001479: JUMPI
0000147a: RETURNDATASIZE
0000147b: PUSH1 0x00
0000147d: DUP1
0000147e: RETURNDATACOPY
0000147f: RETURNDATASIZE
00001480: PUSH1 0x00
00001482: REVERT
00001483: JUMPDEST
00001484: POP
00001485: POP
00001486: POP
00001487: POP
00001488: PUSH1 0x40
0000148a: MLOAD
0000148b: RETURNDATASIZE
0000148c: PUSH1 0x20
0000148e: DUP2
0000148f: LT
00001490: ISZERO
00001491: PUSH2 0x1499
00001494: JUMPI
00001495: PUSH1 0x00
00001497: DUP1
00001498: REVERT
00001499: JUMPDEST
0000149a: POP
0000149b: MLOAD
0000149c: PUSH2 0x14a3
0000149f: JUMP
000014a0: JUMPDEST
000014a1: PUSH1 0x00
000014a3: JUMPDEST
000014a4: SWAP1
000014a5: POP
000014a6: PUSH2 0x14e0
000014a9: JUMP
000014aa: JUMPDEST
000014ab: POP
000014ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014c1: DUP3
000014c2: AND
000014c3: PUSH1 0x00
000014c5: SWAP1
000014c6: DUP2
000014c7: MSTORE
000014c8: PUSH1 0x2c
000014ca: PUSH1 0x20
000014cc: SWAP1
000014cd: DUP2
000014ce: MSTORE
000014cf: PUSH1 0x40
000014d1: DUP1
000014d2: DUP4
000014d3: KECCAK256
000014d4: DUP5
000014d5: DUP5
000014d6: MSTORE
000014d7: SWAP1
000014d8: SWAP2
000014d9: MSTORE
000014da: SWAP1
000014db: KECCAK256
000014dc: SLOAD
000014dd: PUSH1 0xff
000014df: AND
000014e0: JUMPDEST
000014e1: SWAP3
000014e2: SWAP2
000014e3: POP
000014e4: POP
000014e5: JUMP
000014e6: JUMPDEST
000014e7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014fc: DUP2
000014fd: AND
000014fe: PUSH1 0x00
00001500: SWAP1
00001501: DUP2
00001502: MSTORE
00001503: PUSH1 0x1c
00001505: PUSH1 0x20
00001507: MSTORE
00001508: PUSH1 0x40
0000150a: DUP2
0000150b: KECCAK256
0000150c: SLOAD
0000150d: PUSH2 0x15a1
00001510: JUMPI
00001511: PUSH1 0x09
00001513: SLOAD
00001514: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001529: AND
0000152a: ISZERO
0000152b: PUSH2 0x117b
0000152e: JUMPI
0000152f: PUSH1 0x09
00001531: SLOAD
00001532: PUSH1 0x40
00001534: DUP1
00001535: MLOAD
00001536: PUSH32 0x5825b04c00000000000000000000000000000000000000000000000000000000
00001557: DUP2
00001558: MSTORE
00001559: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000156e: DUP6
0000156f: DUP2
00001570: AND
00001571: PUSH1 0x04
00001573: DUP4
00001574: ADD
00001575: MSTORE
00001576: SWAP2
00001577: MLOAD
00001578: SWAP2
00001579: SWAP1
0000157a: SWAP3
0000157b: AND
0000157c: SWAP2
0000157d: PUSH4 0x5825b04c
00001582: SWAP2
00001583: PUSH1 0x24
00001585: DUP1
00001586: DUP4
00001587: ADD
00001588: SWAP3
00001589: PUSH1 0x20
0000158b: SWAP3
0000158c: SWAP2
0000158d: SWAP1
0000158e: DUP3
0000158f: SWAP1
00001590: SUB
00001591: ADD
00001592: DUP2
00001593: DUP7
00001594: DUP1
00001595: EXTCODESIZE
00001596: ISZERO
00001597: DUP1
00001598: ISZERO
00001599: PUSH2 0x114a
0000159c: JUMPI
0000159d: PUSH1 0x00
0000159f: DUP1
000015a0: REVERT
000015a1: JUMPDEST
000015a2: POP
000015a3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015b8: AND
000015b9: PUSH1 0x00
000015bb: SWAP1
000015bc: DUP2
000015bd: MSTORE
000015be: PUSH1 0x1c
000015c0: PUSH1 0x20
000015c2: MSTORE
000015c3: PUSH1 0x40
000015c5: SWAP1
000015c6: KECCAK256
000015c7: SLOAD
000015c8: SWAP1
000015c9: JUMP
000015ca: JUMPDEST
000015cb: PUSH1 0x32
000015cd: DUP1
000015ce: SLOAD
000015cf: PUSH1 0x40
000015d1: DUP1
000015d2: MLOAD
000015d3: PUSH1 0x20
000015d5: PUSH1 0x1f
000015d7: PUSH1 0x02
000015d9: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000015fa: PUSH2 0x0100
000015fd: PUSH1 0x01
000015ff: DUP9
00001600: AND
00001601: ISZERO
00001602: MUL
00001603: ADD
00001604: SWAP1
00001605: SWAP6
00001606: AND
00001607: SWAP5
00001608: SWAP1
00001609: SWAP5
0000160a: DIV
0000160b: SWAP4
0000160c: DUP5
0000160d: ADD
0000160e: DUP2
0000160f: SWAP1
00001610: DIV
00001611: DUP2
00001612: MUL
00001613: DUP3
00001614: ADD
00001615: DUP2
00001616: ADD
00001617: SWAP1
00001618: SWAP3
00001619: MSTORE
0000161a: DUP3
0000161b: DUP2
0000161c: MSTORE
0000161d: PUSH1 0x60
0000161f: SWAP4
00001620: SWAP1
00001621: SWAP3
00001622: SWAP1
00001623: SWAP2
00001624: DUP4
00001625: ADD
00001626: DUP3
00001627: DUP3
00001628: DUP1
00001629: ISZERO
0000162a: PUSH2 0x1674
0000162d: JUMPI
0000162e: DUP1
0000162f: PUSH1 0x1f
00001631: LT
00001632: PUSH2 0x1649
00001635: JUMPI
00001636: PUSH2 0x0100
00001639: DUP1
0000163a: DUP4
0000163b: SLOAD
0000163c: DIV
0000163d: MUL
0000163e: DUP4
0000163f: MSTORE
00001640: SWAP2
00001641: PUSH1 0x20
00001643: ADD
00001644: SWAP2
00001645: PUSH2 0x1674
00001648: JUMP
00001649: JUMPDEST
0000164a: DUP3
0000164b: ADD
0000164c: SWAP2
0000164d: SWAP1
0000164e: PUSH1 0x00
00001650: MSTORE
00001651: PUSH1 0x20
00001653: PUSH1 0x00
00001655: KECCAK256
00001656: SWAP1
00001657: JUMPDEST
00001658: DUP2
00001659: SLOAD
0000165a: DUP2
0000165b: MSTORE
0000165c: SWAP1
0000165d: PUSH1 0x01
0000165f: ADD
00001660: SWAP1
00001661: PUSH1 0x20
00001663: ADD
00001664: DUP1
00001665: DUP4
00001666: GT
00001667: PUSH2 0x1657
0000166a: JUMPI
0000166b: DUP3
0000166c: SWAP1
0000166d: SUB
0000166e: PUSH1 0x1f
00001670: AND
00001671: DUP3
00001672: ADD
00001673: SWAP2
00001674: JUMPDEST
00001675: POP
00001676: POP
00001677: POP
00001678: POP
00001679: POP
0000167a: SWAP1
0000167b: POP
0000167c: SWAP1
0000167d: JUMP
0000167e: JUMPDEST
0000167f: PUSH1 0x15
00001681: SLOAD
00001682: DUP2
00001683: JUMP
00001684: JUMPDEST
00001685: PUSH1 0x24
00001687: SLOAD
00001688: PUSH2 0x0100
0000168b: SWAP1
0000168c: DIV
0000168d: PUSH1 0xff
0000168f: AND
00001690: DUP2
00001691: JUMP
00001692: JUMPDEST
00001693: PUSH1 0x0c
00001695: SLOAD
00001696: DUP2
00001697: JUMP
00001698: JUMPDEST
00001699: PUSH8 0x0a688906bd8b0000
000016a2: DUP2
000016a3: JUMP
000016a4: JUMPDEST
000016a5: PUSH2 0x16ac
000016a8: PUSH2 0x1975
000016ab: JUMP
000016ac: JUMPDEST
000016ad: PUSH2 0x1717
000016b0: JUMPI
000016b1: PUSH1 0x40
000016b3: DUP1
000016b4: MLOAD
000016b5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000016d6: DUP2
000016d7: MSTORE
000016d8: PUSH1 0x20
000016da: PUSH1 0x04
000016dc: DUP3
000016dd: ADD
000016de: DUP2
000016df: SWAP1
000016e0: MSTORE
000016e1: PUSH1 0x24
000016e3: DUP3
000016e4: ADD
000016e5: MSTORE
000016e6: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00001707: PUSH1 0x44
00001709: DUP3
0000170a: ADD
0000170b: MSTORE
0000170c: SWAP1
0000170d: MLOAD
0000170e: SWAP1
0000170f: DUP2
00001710: SWAP1
00001711: SUB
00001712: PUSH1 0x64
00001714: ADD
00001715: SWAP1
00001716: REVERT
00001717: JUMPDEST
00001718: PUSH1 0x00
0000171a: DUP1
0000171b: SLOAD
0000171c: PUSH1 0x40
0000171e: MLOAD
0000171f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001734: SWAP1
00001735: SWAP2
00001736: AND
00001737: SWAP1
00001738: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00001759: SWAP1
0000175a: DUP4
0000175b: SWAP1
0000175c: LOG3
0000175d: PUSH1 0x00
0000175f: DUP1
00001760: SLOAD
00001761: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00001782: AND
00001783: SWAP1
00001784: SSTORE
00001785: JUMP
00001786: JUMPDEST
00001787: PUSH8 0x06f05b59d3b20000
00001790: DUP2
00001791: JUMP
00001792: JUMPDEST
00001793: PUSH1 0x0e
00001795: SLOAD
00001796: DUP2
00001797: JUMP
00001798: JUMPDEST
00001799: PUSH1 0x06
0000179b: DUP2
0000179c: JUMP
0000179d: JUMPDEST
0000179e: PUSH1 0x00
000017a0: DUP2
000017a1: DUP2
000017a2: MSTORE
000017a3: PUSH1 0x1f
000017a5: PUSH1 0x20
000017a7: MSTORE
000017a8: PUSH1 0x40
000017aa: DUP2
000017ab: KECCAK256
000017ac: SLOAD
000017ad: PUSH2 0x1840
000017b0: JUMPI
000017b1: PUSH1 0x09
000017b3: SLOAD
000017b4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017c9: AND
000017ca: ISZERO
000017cb: PUSH2 0x117b
000017ce: JUMPI
000017cf: PUSH1 0x09
000017d1: SLOAD
000017d2: PUSH1 0x40
000017d4: DUP1
000017d5: MLOAD
000017d6: PUSH32 0x7cd9fb1c00000000000000000000000000000000000000000000000000000000
000017f7: DUP2
000017f8: MSTORE
000017f9: PUSH1 0x04
000017fb: DUP2
000017fc: ADD
000017fd: DUP6
000017fe: SWAP1
000017ff: MSTORE
00001800: SWAP1
00001801: MLOAD
00001802: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001817: SWAP1
00001818: SWAP3
00001819: AND
0000181a: SWAP2
0000181b: PUSH4 0x7cd9fb1c
00001820: SWAP2
00001821: PUSH1 0x24
00001823: DUP1
00001824: DUP3
00001825: ADD
00001826: SWAP3
00001827: PUSH1 0x20
00001829: SWAP3
0000182a: SWAP1
0000182b: SWAP2
0000182c: SWAP1
0000182d: DUP3
0000182e: SWAP1
0000182f: SUB
00001830: ADD
00001831: DUP2
00001832: DUP7
00001833: DUP1
00001834: EXTCODESIZE
00001835: ISZERO
00001836: DUP1
00001837: ISZERO
00001838: PUSH2 0x114a
0000183b: JUMPI
0000183c: PUSH1 0x00
0000183e: DUP1
0000183f: REVERT
00001840: JUMPDEST
00001841: POP
00001842: PUSH1 0x00
00001844: SWAP1
00001845: DUP2
00001846: MSTORE
00001847: PUSH1 0x1f
00001849: PUSH1 0x20
0000184b: MSTORE
0000184c: PUSH1 0x40
0000184e: SWAP1
0000184f: KECCAK256
00001850: SLOAD
00001851: SWAP1
00001852: JUMP
00001853: JUMPDEST
00001854: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001869: DUP2
0000186a: AND
0000186b: PUSH1 0x00
0000186d: SWAP1
0000186e: DUP2
0000186f: MSTORE
00001870: PUSH1 0x19
00001872: PUSH1 0x20
00001874: MSTORE
00001875: PUSH1 0x40
00001877: DUP2
00001878: KECCAK256
00001879: SLOAD
0000187a: PUSH2 0x190e
0000187d: JUMPI
0000187e: PUSH1 0x09
00001880: SLOAD
00001881: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001896: AND
00001897: ISZERO
00001898: PUSH2 0x117b
0000189b: JUMPI
0000189c: PUSH1 0x09
0000189e: SLOAD
0000189f: PUSH1 0x40
000018a1: DUP1
000018a2: MLOAD
000018a3: PUSH32 0x821f982400000000000000000000000000000000000000000000000000000000
000018c4: DUP2
000018c5: MSTORE
000018c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018db: DUP6
000018dc: DUP2
000018dd: AND
000018de: PUSH1 0x04
000018e0: DUP4
000018e1: ADD
000018e2: MSTORE
000018e3: SWAP2
000018e4: MLOAD
000018e5: SWAP2
000018e6: SWAP1
000018e7: SWAP3
000018e8: AND
000018e9: SWAP2
000018ea: PUSH4 0x821f9824
000018ef: SWAP2
000018f0: PUSH1 0x24
000018f2: DUP1
000018f3: DUP4
000018f4: ADD
000018f5: SWAP3
000018f6: PUSH1 0x20
000018f8: SWAP3
000018f9: SWAP2
000018fa: SWAP1
000018fb: DUP3
000018fc: SWAP1
000018fd: SUB
000018fe: ADD
000018ff: DUP2
00001900: DUP7
00001901: DUP1
00001902: EXTCODESIZE
00001903: ISZERO
00001904: DUP1
00001905: ISZERO
00001906: PUSH2 0x114a
00001909: JUMPI
0000190a: PUSH1 0x00
0000190c: DUP1
0000190d: REVERT
0000190e: JUMPDEST
0000190f: POP
00001910: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001925: AND
00001926: PUSH1 0x00
00001928: SWAP1
00001929: DUP2
0000192a: MSTORE
0000192b: PUSH1 0x19
0000192d: PUSH1 0x20
0000192f: MSTORE
00001930: PUSH1 0x40
00001932: SWAP1
00001933: KECCAK256
00001934: SLOAD
00001935: SWAP1
00001936: JUMP
00001937: JUMPDEST
00001938: PUSH1 0x29
0000193a: SLOAD
0000193b: DUP2
0000193c: JUMP
0000193d: JUMPDEST
0000193e: PUSH1 0x06
00001940: SLOAD
00001941: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001956: AND
00001957: DUP2
00001958: JUMP
00001959: JUMPDEST
0000195a: PUSH1 0x00
0000195c: SLOAD
0000195d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001972: AND
00001973: SWAP1
00001974: JUMP
00001975: JUMPDEST
00001976: PUSH1 0x00
00001978: DUP1
00001979: SLOAD
0000197a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000198f: AND
00001990: PUSH2 0x1997
00001993: PUSH2 0x2544
00001996: JUMP
00001997: JUMPDEST
00001998: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019ad: AND
000019ae: EQ
000019af: SWAP1
000019b0: POP
000019b1: SWAP1
000019b2: JUMP
000019b3: JUMPDEST
000019b4: PUSH1 0x1d
000019b6: PUSH1 0x20
000019b8: MSTORE
000019b9: DUP2
000019ba: PUSH1 0x00
000019bc: MSTORE
000019bd: PUSH1 0x40
000019bf: PUSH1 0x00
000019c1: KECCAK256
000019c2: DUP2
000019c3: DUP2
000019c4: SLOAD
000019c5: DUP2
000019c6: LT
000019c7: PUSH2 0x19cc
000019ca: JUMPI
000019cb: INVALID
000019cc: JUMPDEST
000019cd: PUSH1 0x00
000019cf: SWAP2
000019d0: DUP3
000019d1: MSTORE
000019d2: PUSH1 0x20
000019d4: SWAP1
000019d5: SWAP2
000019d6: KECCAK256
000019d7: PUSH1 0x09
000019d9: SWAP1
000019da: SWAP2
000019db: MUL
000019dc: ADD
000019dd: DUP1
000019de: SLOAD
000019df: PUSH1 0x01
000019e1: DUP3
000019e2: ADD
000019e3: SLOAD
000019e4: PUSH1 0x02
000019e6: DUP4
000019e7: ADD
000019e8: SLOAD
000019e9: PUSH1 0x03
000019eb: DUP5
000019ec: ADD
000019ed: SLOAD
000019ee: PUSH1 0x04
000019f0: DUP6
000019f1: ADD
000019f2: SLOAD
000019f3: PUSH1 0x05
000019f5: DUP7
000019f6: ADD
000019f7: SLOAD
000019f8: PUSH1 0x06
000019fa: DUP8
000019fb: ADD
000019fc: SLOAD
000019fd: PUSH1 0x07
000019ff: DUP9
00001a00: ADD
00001a01: SLOAD
00001a02: PUSH1 0x08
00001a04: SWAP1
00001a05: SWAP9
00001a06: ADD
00001a07: SLOAD
00001a08: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a1d: SWAP1
00001a1e: SWAP8
00001a1f: AND
00001a20: SWAP10
00001a21: POP
00001a22: SWAP5
00001a23: SWAP8
00001a24: POP
00001a25: SWAP3
00001a26: SWAP6
00001a27: SWAP2
00001a28: SWAP5
00001a29: SWAP1
00001a2a: SWAP4
00001a2b: SWAP2
00001a2c: SWAP1
00001a2d: PUSH1 0xff
00001a2f: AND
00001a30: DUP10
00001a31: JUMP
00001a32: JUMPDEST
00001a33: PUSH8 0x016345785d8a0000
00001a3c: DUP2
00001a3d: JUMP
00001a3e: JUMPDEST
00001a3f: PUSH1 0x04
00001a41: SLOAD
00001a42: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a57: AND
00001a58: DUP2
00001a59: JUMP
00001a5a: JUMPDEST
00001a5b: PUSH2 0x1a62
00001a5e: PUSH2 0x24d0
00001a61: JUMP
00001a62: JUMPDEST
00001a63: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a78: AND
00001a79: CALLER
00001a7a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a8f: AND
00001a90: EQ
00001a91: ISZERO
00001a92: PUSH2 0x1b67
00001a95: JUMPI
00001a96: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001aab: DUP2
00001aac: AND
00001aad: PUSH2 0x1b01
00001ab0: JUMPI
00001ab1: PUSH1 0x40
00001ab3: MLOAD
00001ab4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001ad5: DUP2
00001ad6: MSTORE
00001ad7: PUSH1 0x04
00001ad9: ADD
00001ada: DUP1
00001adb: DUP1
00001adc: PUSH1 0x20
00001ade: ADD
00001adf: DUP3
00001ae0: DUP2
00001ae1: SUB
00001ae2: DUP3
00001ae3: MSTORE
00001ae4: PUSH1 0x36
00001ae6: DUP2
00001ae7: MSTORE
00001ae8: PUSH1 0x20
00001aea: ADD
00001aeb: DUP1
00001aec: PUSH2 0x283f
00001aef: PUSH1 0x36
00001af1: SWAP2
00001af2: CODECOPY
00001af3: PUSH1 0x40
00001af5: ADD
00001af6: SWAP2
00001af7: POP
00001af8: POP
00001af9: PUSH1 0x40
00001afb: MLOAD
00001afc: DUP1
00001afd: SWAP2
00001afe: SUB
00001aff: SWAP1
00001b00: REVERT
00001b01: JUMPDEST
00001b02: PUSH32 0xe923ce5ee469e989477ed664be643fb92d252573aad00209ddad9452b5414a89
00001b23: PUSH2 0x1b2a
00001b26: PUSH2 0x24d0
00001b29: JUMP
00001b2a: JUMPDEST
00001b2b: PUSH1 0x40
00001b2d: DUP1
00001b2e: MLOAD
00001b2f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b44: SWAP3
00001b45: DUP4
00001b46: AND
00001b47: DUP2
00001b48: MSTORE
00001b49: SWAP2
00001b4a: DUP5
00001b4b: AND
00001b4c: PUSH1 0x20
00001b4e: DUP4
00001b4f: ADD
00001b50: MSTORE
00001b51: DUP1
00001b52: MLOAD
00001b53: SWAP2
00001b54: DUP3
00001b55: SWAP1
00001b56: SUB
00001b57: ADD
00001b58: SWAP1
00001b59: LOG1
00001b5a: PUSH2 0x1b62
00001b5d: DUP2
00001b5e: PUSH2 0x2548
00001b61: JUMP
00001b62: JUMPDEST
00001b63: PUSH2 0x1b6f
00001b66: JUMP
00001b67: JUMPDEST
00001b68: PUSH2 0x1b6f
00001b6b: PUSH2 0x1059
00001b6e: JUMP
00001b6f: JUMPDEST
00001b70: POP
00001b71: JUMP
00001b72: JUMPDEST
00001b73: PUSH1 0x03
00001b75: SLOAD
00001b76: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b8b: AND
00001b8c: DUP2
00001b8d: JUMP
00001b8e: JUMPDEST
00001b8f: PUSH8 0x02c68af0bb140000
00001b98: DUP2
00001b99: JUMP
00001b9a: JUMPDEST
00001b9b: PUSH8 0x0de0b6b3a7640000
00001ba4: DUP2
00001ba5: JUMP
00001ba6: JUMPDEST
00001ba7: PUSH1 0x00
00001ba9: DUP2
00001baa: DUP2
00001bab: MSTORE
00001bac: PUSH1 0x20
00001bae: DUP1
00001baf: MSTORE
00001bb0: PUSH1 0x40
00001bb2: DUP2
00001bb3: KECCAK256
00001bb4: SLOAD
00001bb5: PUSH2 0x1c48
00001bb8: JUMPI
00001bb9: PUSH1 0x09
00001bbb: SLOAD
00001bbc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bd1: AND
00001bd2: ISZERO
00001bd3: PUSH2 0x117b
00001bd6: JUMPI
00001bd7: PUSH1 0x09
00001bd9: SLOAD
00001bda: PUSH1 0x40
00001bdc: DUP1
00001bdd: MLOAD
00001bde: PUSH32 0xa940646d00000000000000000000000000000000000000000000000000000000
00001bff: DUP2
00001c00: MSTORE
00001c01: PUSH1 0x04
00001c03: DUP2
00001c04: ADD
00001c05: DUP6
00001c06: SWAP1
00001c07: MSTORE
00001c08: SWAP1
00001c09: MLOAD
00001c0a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c1f: SWAP1
00001c20: SWAP3
00001c21: AND
00001c22: SWAP2
00001c23: PUSH4 0xa940646d
00001c28: SWAP2
00001c29: PUSH1 0x24
00001c2b: DUP1
00001c2c: DUP3
00001c2d: ADD
00001c2e: SWAP3
00001c2f: PUSH1 0x20
00001c31: SWAP3
00001c32: SWAP1
00001c33: SWAP2
00001c34: SWAP1
00001c35: DUP3
00001c36: SWAP1
00001c37: SUB
00001c38: ADD
00001c39: DUP2
00001c3a: DUP7
00001c3b: DUP1
00001c3c: EXTCODESIZE
00001c3d: ISZERO
00001c3e: DUP1
00001c3f: ISZERO
00001c40: PUSH2 0x114a
00001c43: JUMPI
00001c44: PUSH1 0x00
00001c46: DUP1
00001c47: REVERT
00001c48: JUMPDEST
00001c49: POP
00001c4a: PUSH1 0x00
00001c4c: SWAP1
00001c4d: DUP2
00001c4e: MSTORE
00001c4f: PUSH1 0x20
00001c51: DUP1
00001c52: MSTORE
00001c53: PUSH1 0x40
00001c55: SWAP1
00001c56: KECCAK256
00001c57: SLOAD
00001c58: SWAP1
00001c59: JUMP
00001c5a: JUMPDEST
00001c5b: PUSH1 0x30
00001c5d: PUSH1 0x20
00001c5f: SWAP1
00001c60: DUP2
00001c61: MSTORE
00001c62: PUSH1 0x00
00001c64: SWAP3
00001c65: DUP4
00001c66: MSTORE
00001c67: PUSH1 0x40
00001c69: DUP1
00001c6a: DUP5
00001c6b: KECCAK256
00001c6c: SWAP1
00001c6d: SWAP2
00001c6e: MSTORE
00001c6f: SWAP1
00001c70: DUP3
00001c71: MSTORE
00001c72: SWAP1
00001c73: KECCAK256
00001c74: SLOAD
00001c75: PUSH1 0xff
00001c77: AND
00001c78: DUP2
00001c79: JUMP
00001c7a: JUMPDEST
00001c7b: PUSH1 0x12
00001c7d: SLOAD
00001c7e: DUP2
00001c7f: JUMP
00001c80: JUMPDEST
00001c81: PUSH7 0x038d7ea4c68000
00001c89: DUP2
00001c8a: JUMP
00001c8b: JUMPDEST
00001c8c: PUSH1 0x02
00001c8e: DUP2
00001c8f: JUMP
00001c90: JUMPDEST
00001c91: PUSH1 0x2d
00001c93: SLOAD
00001c94: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ca9: AND
00001caa: DUP2
00001cab: JUMP
00001cac: JUMPDEST
00001cad: PUSH1 0x00
00001caf: SLOAD
00001cb0: PUSH22 0x01000000000000000000000000000000000000000000
00001cc7: SWAP1
00001cc8: DIV
00001cc9: PUSH1 0xff
00001ccb: AND
00001ccc: DUP2
00001ccd: JUMP
00001cce: JUMPDEST
00001ccf: PUSH1 0x0b
00001cd1: SLOAD
00001cd2: DUP2
00001cd3: JUMP
00001cd4: JUMPDEST
00001cd5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001cea: DUP3
00001ceb: AND
00001cec: PUSH1 0x00
00001cee: SWAP1
00001cef: DUP2
00001cf0: MSTORE
00001cf1: PUSH1 0x1b
00001cf3: PUSH1 0x20
00001cf5: SWAP1
00001cf6: DUP2
00001cf7: MSTORE
00001cf8: PUSH1 0x40
00001cfa: DUP1
00001cfb: DUP4
00001cfc: KECCAK256
00001cfd: DUP5
00001cfe: DUP5
00001cff: MSTORE
00001d00: SWAP1
00001d01: SWAP2
00001d02: MSTORE
00001d03: DUP2
00001d04: KECCAK256
00001d05: SLOAD
00001d06: PUSH2 0x1da1
00001d09: JUMPI
00001d0a: PUSH1 0x09
00001d0c: SLOAD
00001d0d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d22: AND
00001d23: ISZERO
00001d24: PUSH2 0x14a0
00001d27: JUMPI
00001d28: PUSH1 0x09
00001d2a: SLOAD
00001d2b: PUSH1 0x40
00001d2d: DUP1
00001d2e: MLOAD
00001d2f: PUSH32 0xbdbcb57600000000000000000000000000000000000000000000000000000000
00001d50: DUP2
00001d51: MSTORE
00001d52: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d67: DUP7
00001d68: DUP2
00001d69: AND
00001d6a: PUSH1 0x04
00001d6c: DUP4
00001d6d: ADD
00001d6e: MSTORE
00001d6f: PUSH1 0x24
00001d71: DUP3
00001d72: ADD
00001d73: DUP7
00001d74: SWAP1
00001d75: MSTORE
00001d76: SWAP2
00001d77: MLOAD
00001d78: SWAP2
00001d79: SWAP1
00001d7a: SWAP3
00001d7b: AND
00001d7c: SWAP2
00001d7d: PUSH4 0xbdbcb576
00001d82: SWAP2
00001d83: PUSH1 0x44
00001d85: DUP1
00001d86: DUP4
00001d87: ADD
00001d88: SWAP3
00001d89: PUSH1 0x20
00001d8b: SWAP3
00001d8c: SWAP2
00001d8d: SWAP1
00001d8e: DUP3
00001d8f: SWAP1
00001d90: SUB
00001d91: ADD
00001d92: DUP2
00001d93: DUP7
00001d94: DUP1
00001d95: EXTCODESIZE
00001d96: ISZERO
00001d97: DUP1
00001d98: ISZERO
00001d99: PUSH2 0x146f
00001d9c: JUMPI
00001d9d: PUSH1 0x00
00001d9f: DUP1
00001da0: REVERT
00001da1: JUMPDEST
00001da2: POP
00001da3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001db8: SWAP2
00001db9: SWAP1
00001dba: SWAP2
00001dbb: AND
00001dbc: PUSH1 0x00
00001dbe: SWAP1
00001dbf: DUP2
00001dc0: MSTORE
00001dc1: PUSH1 0x1b
00001dc3: PUSH1 0x20
00001dc5: SWAP1
00001dc6: DUP2
00001dc7: MSTORE
00001dc8: PUSH1 0x40
00001dca: DUP1
00001dcb: DUP4
00001dcc: KECCAK256
00001dcd: SWAP4
00001dce: DUP4
00001dcf: MSTORE
00001dd0: SWAP3
00001dd1: SWAP1
00001dd2: MSTORE
00001dd3: KECCAK256
00001dd4: SLOAD
00001dd5: SWAP1
00001dd6: JUMP
00001dd7: JUMPDEST
00001dd8: PUSH1 0x07
00001dda: SLOAD
00001ddb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001df0: AND
00001df1: DUP2
00001df2: JUMP
00001df3: JUMPDEST
00001df4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e09: DUP3
00001e0a: AND
00001e0b: PUSH1 0x00
00001e0d: SWAP1
00001e0e: DUP2
00001e0f: MSTORE
00001e10: PUSH1 0x1a
00001e12: PUSH1 0x20
00001e14: SWAP1
00001e15: DUP2
00001e16: MSTORE
00001e17: PUSH1 0x40
00001e19: DUP1
00001e1a: DUP4
00001e1b: KECCAK256
00001e1c: DUP5
00001e1d: DUP5
00001e1e: MSTORE
00001e1f: SWAP1
00001e20: SWAP2
00001e21: MSTORE
00001e22: DUP2
00001e23: KECCAK256
00001e24: SLOAD
00001e25: PUSH1 0xff
00001e27: AND
00001e28: PUSH2 0x1ec3
00001e2b: JUMPI
00001e2c: PUSH1 0x09
00001e2e: SLOAD
00001e2f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e44: AND
00001e45: ISZERO
00001e46: PUSH2 0x14a0
00001e49: JUMPI
00001e4a: PUSH1 0x09
00001e4c: SLOAD
00001e4d: PUSH1 0x40
00001e4f: DUP1
00001e50: MLOAD
00001e51: PUSH32 0xce977bc200000000000000000000000000000000000000000000000000000000
00001e72: DUP2
00001e73: MSTORE
00001e74: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e89: DUP7
00001e8a: DUP2
00001e8b: AND
00001e8c: PUSH1 0x04
00001e8e: DUP4
00001e8f: ADD
00001e90: MSTORE
00001e91: PUSH1 0x24
00001e93: DUP3
00001e94: ADD
00001e95: DUP7
00001e96: SWAP1
00001e97: MSTORE
00001e98: SWAP2
00001e99: MLOAD
00001e9a: SWAP2
00001e9b: SWAP1
00001e9c: SWAP3
00001e9d: AND
00001e9e: SWAP2
00001e9f: PUSH4 0xce977bc2
00001ea4: SWAP2
00001ea5: PUSH1 0x44
00001ea7: DUP1
00001ea8: DUP4
00001ea9: ADD
00001eaa: SWAP3
00001eab: PUSH1 0x20
00001ead: SWAP3
00001eae: SWAP2
00001eaf: SWAP1
00001eb0: DUP3
00001eb1: SWAP1
00001eb2: SUB
00001eb3: ADD
00001eb4: DUP2
00001eb5: DUP7
00001eb6: DUP1
00001eb7: EXTCODESIZE
00001eb8: ISZERO
00001eb9: DUP1
00001eba: ISZERO
00001ebb: PUSH2 0x146f
00001ebe: JUMPI
00001ebf: PUSH1 0x00
00001ec1: DUP1
00001ec2: REVERT
00001ec3: JUMPDEST
00001ec4: POP
00001ec5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001eda: SWAP2
00001edb: SWAP1
00001edc: SWAP2
00001edd: AND
00001ede: PUSH1 0x00
00001ee0: SWAP1
00001ee1: DUP2
00001ee2: MSTORE
00001ee3: PUSH1 0x1a
00001ee5: PUSH1 0x20
00001ee7: SWAP1
00001ee8: DUP2
00001ee9: MSTORE
00001eea: PUSH1 0x40
00001eec: DUP1
00001eed: DUP4
00001eee: KECCAK256
00001eef: SWAP4
00001ef0: DUP4
00001ef1: MSTORE
00001ef2: SWAP3
00001ef3: SWAP1
00001ef4: MSTORE
00001ef5: KECCAK256
00001ef6: SLOAD
00001ef7: PUSH1 0xff
00001ef9: AND
00001efa: SWAP1
00001efb: JUMP
00001efc: JUMPDEST
00001efd: PUSH1 0x17
00001eff: SLOAD
00001f00: DUP2
00001f01: JUMP
00001f02: JUMPDEST
00001f03: PUSH1 0x02
00001f05: SLOAD
00001f06: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f1b: AND
00001f1c: DUP2
00001f1d: JUMP
00001f1e: JUMPDEST
00001f1f: PUSH1 0x0d
00001f21: SLOAD
00001f22: DUP2
00001f23: JUMP
00001f24: JUMPDEST
00001f25: PUSH1 0x10
00001f27: SLOAD
00001f28: DUP2
00001f29: JUMP
00001f2a: JUMPDEST
00001f2b: PUSH1 0x09
00001f2d: SLOAD
00001f2e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f43: AND
00001f44: DUP2
00001f45: JUMP
00001f46: JUMPDEST
00001f47: PUSH1 0x01
00001f49: SLOAD
00001f4a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f5f: AND
00001f60: DUP2
00001f61: JUMP
00001f62: JUMPDEST
00001f63: PUSH1 0x2f
00001f65: SLOAD
00001f66: PUSH21 0x010000000000000000000000000000000000000000
00001f7c: SWAP1
00001f7d: DIV
00001f7e: PUSH1 0xff
00001f80: AND
00001f81: DUP2
00001f82: JUMP
00001f83: JUMPDEST
00001f84: PUSH1 0x33
00001f86: SLOAD
00001f87: PUSH1 0xff
00001f89: AND
00001f8a: DUP2
00001f8b: JUMP
00001f8c: JUMPDEST
00001f8d: PUSH1 0x33
00001f8f: SLOAD
00001f90: PUSH1 0xff
00001f92: AND
00001f93: ISZERO
00001f94: PUSH2 0x1f99
00001f97: JUMPI
00001f98: INVALID
00001f99: JUMPDEST
00001f9a: PUSH1 0x40
00001f9c: DUP1
00001f9d: MLOAD
00001f9e: PUSH32 0x6f72672e7a657070656c696e6f732e70726f78792e61646d696e000000000000
00001fbf: DUP2
00001fc0: MSTORE
00001fc1: SWAP1
00001fc2: MLOAD
00001fc3: SWAP1
00001fc4: DUP2
00001fc5: SWAP1
00001fc6: SUB
00001fc7: PUSH1 0x1a
00001fc9: ADD
00001fca: SWAP1
00001fcb: KECCAK256
00001fcc: PUSH32 0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b
00001fed: EQ
00001fee: PUSH2 0x1ff3
00001ff1: JUMPI
00001ff2: INVALID
00001ff3: JUMPDEST
00001ff4: PUSH1 0x40
00001ff6: MLOAD
00001ff7: DUP1
00001ff8: PUSH1 0x23
00001ffa: PUSH2 0x2875
00001ffd: DUP3
00001ffe: CODECOPY
00001fff: PUSH1 0x40
00002001: MLOAD
00002002: SWAP1
00002003: DUP2
00002004: SWAP1
00002005: SUB
00002006: PUSH1 0x23
00002008: ADD
00002009: SWAP1
0000200a: KECCAK256
0000200b: PUSH32 0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3
0000202c: EQ
0000202d: SWAP1
0000202e: POP
0000202f: PUSH2 0x2034
00002032: JUMPI
00002033: INVALID
00002034: JUMPDEST
00002035: PUSH1 0x33
00002037: DUP1
00002038: SLOAD
00002039: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
0000205a: AND
0000205b: PUSH1 0x01
0000205d: OR
0000205e: SWAP1
0000205f: SSTORE
00002060: PUSH2 0x2068
00002063: DUP2
00002064: PUSH2 0x2548
00002067: JUMP
00002068: JUMPDEST
00002069: PUSH2 0x20a7
0000206c: DUP3
0000206d: PUSH1 0x40
0000206f: MLOAD
00002070: DUP1
00002071: PUSH1 0x40
00002073: ADD
00002074: PUSH1 0x40
00002076: MSTORE
00002077: DUP1
00002078: PUSH1 0x05
0000207a: DUP2
0000207b: MSTORE
0000207c: PUSH1 0x20
0000207e: ADD
0000207f: PUSH32 0x312e302e30000000000000000000000000000000000000000000000000000000
000020a0: DUP2
000020a1: MSTORE
000020a2: POP
000020a3: PUSH2 0x256c
000020a6: JUMP
000020a7: JUMPDEST
000020a8: POP
000020a9: POP
000020aa: JUMP
000020ab: JUMPDEST
000020ac: PUSH1 0x00
000020ae: DUP2
000020af: DUP2
000020b0: MSTORE
000020b1: PUSH1 0x2a
000020b3: PUSH1 0x20
000020b5: MSTORE
000020b6: PUSH1 0x40
000020b8: DUP2
000020b9: KECCAK256
000020ba: SLOAD
000020bb: PUSH2 0x214e
000020be: JUMPI
000020bf: PUSH1 0x09
000020c1: SLOAD
000020c2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020d7: AND
000020d8: ISZERO
000020d9: PUSH2 0x117b
000020dc: JUMPI
000020dd: PUSH1 0x09
000020df: SLOAD
000020e0: PUSH1 0x40
000020e2: DUP1
000020e3: MLOAD
000020e4: PUSH32 0xf1a153a100000000000000000000000000000000000000000000000000000000
00002105: DUP2
00002106: MSTORE
00002107: PUSH1 0x04
00002109: DUP2
0000210a: ADD
0000210b: DUP6
0000210c: SWAP1
0000210d: MSTORE
0000210e: SWAP1
0000210f: MLOAD
00002110: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002125: SWAP1
00002126: SWAP3
00002127: AND
00002128: SWAP2
00002129: PUSH4 0xf1a153a1
0000212e: SWAP2
0000212f: PUSH1 0x24
00002131: DUP1
00002132: DUP3
00002133: ADD
00002134: SWAP3
00002135: PUSH1 0x20
00002137: SWAP3
00002138: SWAP1
00002139: SWAP2
0000213a: SWAP1
0000213b: DUP3
0000213c: SWAP1
0000213d: SUB
0000213e: ADD
0000213f: DUP2
00002140: DUP7
00002141: DUP1
00002142: EXTCODESIZE
00002143: ISZERO
00002144: DUP1
00002145: ISZERO
00002146: PUSH2 0x114a
00002149: JUMPI
0000214a: PUSH1 0x00
0000214c: DUP1
0000214d: REVERT
0000214e: JUMPDEST
0000214f: POP
00002150: PUSH1 0x00
00002152: SWAP1
00002153: DUP2
00002154: MSTORE
00002155: PUSH1 0x2a
00002157: PUSH1 0x20
00002159: MSTORE
0000215a: PUSH1 0x40
0000215c: SWAP1
0000215d: KECCAK256
0000215e: SLOAD
0000215f: SWAP1
00002160: JUMP
00002161: JUMPDEST
00002162: PUSH2 0x2169
00002165: PUSH2 0x1975
00002168: JUMP
00002169: JUMPDEST
0000216a: PUSH2 0x21d4
0000216d: JUMPI
0000216e: PUSH1 0x40
00002170: DUP1
00002171: MLOAD
00002172: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002193: DUP2
00002194: MSTORE
00002195: PUSH1 0x20
00002197: PUSH1 0x04
00002199: DUP3
0000219a: ADD
0000219b: DUP2
0000219c: SWAP1
0000219d: MSTORE
0000219e: PUSH1 0x24
000021a0: DUP3
000021a1: ADD
000021a2: MSTORE
000021a3: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
000021c4: PUSH1 0x44
000021c6: DUP3
000021c7: ADD
000021c8: MSTORE
000021c9: SWAP1
000021ca: MLOAD
000021cb: SWAP1
000021cc: DUP2
000021cd: SWAP1
000021ce: SUB
000021cf: PUSH1 0x64
000021d1: ADD
000021d2: SWAP1
000021d3: REVERT
000021d4: JUMPDEST
000021d5: PUSH2 0x1b6f
000021d8: DUP2
000021d9: PUSH2 0x2619
000021dc: JUMP
000021dd: JUMPDEST
000021de: PUSH1 0x24
000021e0: SLOAD
000021e1: PUSH1 0xff
000021e3: AND
000021e4: DUP2
000021e5: JUMP
000021e6: JUMPDEST
000021e7: PUSH2 0x21ee
000021ea: PUSH2 0x24d0
000021ed: JUMP
000021ee: JUMPDEST
000021ef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002204: AND
00002205: CALLER
00002206: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000221b: AND
0000221c: EQ
0000221d: ISZERO
0000221e: PUSH2 0x22e4
00002221: JUMPI
00002222: PUSH2 0x2261
00002225: DUP6
00002226: DUP6
00002227: DUP6
00002228: DUP1
00002229: DUP1
0000222a: PUSH1 0x1f
0000222c: ADD
0000222d: PUSH1 0x20
0000222f: DUP1
00002230: SWAP2
00002231: DIV
00002232: MUL
00002233: PUSH1 0x20
00002235: ADD
00002236: PUSH1 0x40
00002238: MLOAD
00002239: SWAP1
0000223a: DUP2
0000223b: ADD
0000223c: PUSH1 0x40
0000223e: MSTORE
0000223f: DUP1
00002240: SWAP4
00002241: SWAP3
00002242: SWAP2
00002243: SWAP1
00002244: DUP2
00002245: DUP2
00002246: MSTORE
00002247: PUSH1 0x20
00002249: ADD
0000224a: DUP4
0000224b: DUP4
0000224c: DUP1
0000224d: DUP3
0000224e: DUP5
0000224f: CALLDATACOPY
00002250: PUSH1 0x00
00002252: SWAP3
00002253: ADD
00002254: SWAP2
00002255: SWAP1
00002256: SWAP2
00002257: MSTORE
00002258: POP
00002259: PUSH2 0x24f5
0000225c: SWAP3
0000225d: POP
0000225e: POP
0000225f: POP
00002260: JUMP
00002261: JUMPDEST
00002262: PUSH1 0x00
00002264: DUP6
00002265: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000227a: AND
0000227b: DUP4
0000227c: DUP4
0000227d: PUSH1 0x40
0000227f: MLOAD
00002280: DUP1
00002281: DUP4
00002282: DUP4
00002283: DUP1
00002284: DUP3
00002285: DUP5
00002286: CALLDATACOPY
00002287: PUSH1 0x40
00002289: MLOAD
0000228a: SWAP3
0000228b: ADD
0000228c: SWAP5
0000228d: POP
0000228e: PUSH1 0x00
00002290: SWAP4
00002291: POP
00002292: SWAP1
00002293: SWAP2
00002294: POP
00002295: POP
00002296: DUP1
00002297: DUP4
00002298: SUB
00002299: DUP2
0000229a: DUP6
0000229b: GAS
0000229c: DELEGATECALL
0000229d: SWAP2
0000229e: POP
0000229f: POP
000022a0: RETURNDATASIZE
000022a1: DUP1
000022a2: PUSH1 0x00
000022a4: DUP2
000022a5: EQ
000022a6: PUSH2 0x22cb
000022a9: JUMPI
000022aa: PUSH1 0x40
000022ac: MLOAD
000022ad: SWAP2
000022ae: POP
000022af: PUSH1 0x1f
000022b1: NOT
000022b2: PUSH1 0x3f
000022b4: RETURNDATASIZE
000022b5: ADD
000022b6: AND
000022b7: DUP3
000022b8: ADD
000022b9: PUSH1 0x40
000022bb: MSTORE
000022bc: RETURNDATASIZE
000022bd: DUP3
000022be: MSTORE
000022bf: RETURNDATASIZE
000022c0: PUSH1 0x00
000022c2: PUSH1 0x20
000022c4: DUP5
000022c5: ADD
000022c6: RETURNDATACOPY
000022c7: PUSH2 0x22d0
000022ca: JUMP
000022cb: JUMPDEST
000022cc: PUSH1 0x60
000022ce: SWAP2
000022cf: POP
000022d0: JUMPDEST
000022d1: POP
000022d2: POP
000022d3: SWAP1
000022d4: POP
000022d5: DUP1
000022d6: PUSH2 0x22de
000022d9: JUMPI
000022da: PUSH1 0x00
000022dc: DUP1
000022dd: REVERT
000022de: JUMPDEST
000022df: POP
000022e0: PUSH2 0x22ec
000022e3: JUMP
000022e4: JUMPDEST
000022e5: PUSH2 0x22ec
000022e8: PUSH2 0x1059
000022eb: JUMP
000022ec: JUMPDEST
000022ed: POP
000022ee: POP
000022ef: POP
000022f0: POP
000022f1: POP
000022f2: JUMP
000022f3: JUMPDEST
000022f4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002309: DUP2
0000230a: AND
0000230b: PUSH1 0x00
0000230d: SWAP1
0000230e: DUP2
0000230f: MSTORE
00002310: PUSH1 0x21
00002312: PUSH1 0x20
00002314: MSTORE
00002315: PUSH1 0x40
00002317: DUP2
00002318: KECCAK256
00002319: SLOAD
0000231a: PUSH2 0x23ae
0000231d: JUMPI
0000231e: PUSH1 0x09
00002320: SLOAD
00002321: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002336: AND
00002337: ISZERO
00002338: PUSH2 0x117b
0000233b: JUMPI
0000233c: PUSH1 0x09
0000233e: SLOAD
0000233f: PUSH1 0x40
00002341: DUP1
00002342: MLOAD
00002343: PUSH32 0xfa845ca900000000000000000000000000000000000000000000000000000000
00002364: DUP2
00002365: MSTORE
00002366: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000237b: DUP6
0000237c: DUP2
0000237d: AND
0000237e: PUSH1 0x04
00002380: DUP4
00002381: ADD
00002382: MSTORE
00002383: SWAP2
00002384: MLOAD
00002385: SWAP2
00002386: SWAP1
00002387: SWAP3
00002388: AND
00002389: SWAP2
0000238a: PUSH4 0xfa845ca9
0000238f: SWAP2
00002390: PUSH1 0x24
00002392: DUP1
00002393: DUP4
00002394: ADD
00002395: SWAP3
00002396: PUSH1 0x20
00002398: SWAP3
00002399: SWAP2
0000239a: SWAP1
0000239b: DUP3
0000239c: SWAP1
0000239d: SUB
0000239e: ADD
0000239f: DUP2
000023a0: DUP7
000023a1: DUP1
000023a2: EXTCODESIZE
000023a3: ISZERO
000023a4: DUP1
000023a5: ISZERO
000023a6: PUSH2 0x114a
000023a9: JUMPI
000023aa: PUSH1 0x00
000023ac: DUP1
000023ad: REVERT
000023ae: JUMPDEST
000023af: POP
000023b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000023c5: AND
000023c6: PUSH1 0x00
000023c8: SWAP1
000023c9: DUP2
000023ca: MSTORE
000023cb: PUSH1 0x21
000023cd: PUSH1 0x20
000023cf: MSTORE
000023d0: PUSH1 0x40
000023d2: SWAP1
000023d3: KECCAK256
000023d4: SLOAD
000023d5: SWAP1
000023d6: JUMP
000023d7: JUMPDEST
000023d8: PUSH1 0x08
000023da: SLOAD
000023db: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000023f0: AND
000023f1: DUP2
000023f2: JUMP
000023f3: JUMPDEST
000023f4: PUSH2 0x23fb
000023f7: PUSH2 0x24d0
000023fa: JUMP
000023fb: JUMPDEST
000023fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002411: AND
00002412: CALLER
00002413: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002428: AND
00002429: EQ
0000242a: ISZERO
0000242b: PUSH2 0x247f
0000242e: JUMPI
0000242f: PUSH1 0x40
00002431: MLOAD
00002432: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002453: DUP2
00002454: MSTORE
00002455: PUSH1 0x04
00002457: ADD
00002458: DUP1
00002459: DUP1
0000245a: PUSH1 0x20
0000245c: ADD
0000245d: DUP3
0000245e: DUP2
0000245f: SUB
00002460: DUP3
00002461: MSTORE
00002462: PUSH1 0x32
00002464: DUP2
00002465: MSTORE
00002466: PUSH1 0x20
00002468: ADD
00002469: DUP1
0000246a: PUSH2 0x27e7
0000246d: PUSH1 0x32
0000246f: SWAP2
00002470: CODECOPY
00002471: PUSH1 0x40
00002473: ADD
00002474: SWAP2
00002475: POP
00002476: POP
00002477: PUSH1 0x40
00002479: MLOAD
0000247a: DUP1
0000247b: SWAP2
0000247c: SUB
0000247d: SWAP1
0000247e: REVERT
0000247f: JUMPDEST
00002480: PUSH2 0x1071
00002483: PUSH2 0x1071
00002486: JUMP
00002487: JUMPDEST
00002488: PUSH32 0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3
000024a9: SLOAD
000024aa: SWAP1
000024ab: JUMP
000024ac: JUMPDEST
000024ad: CALLDATASIZE
000024ae: PUSH1 0x00
000024b0: DUP1
000024b1: CALLDATACOPY
000024b2: PUSH1 0x00
000024b4: DUP1
000024b5: CALLDATASIZE
000024b6: PUSH1 0x00
000024b8: DUP5
000024b9: GAS
000024ba: DELEGATECALL
000024bb: RETURNDATASIZE
000024bc: PUSH1 0x00
000024be: DUP1
000024bf: RETURNDATACOPY
000024c0: DUP1
000024c1: DUP1
000024c2: ISZERO
000024c3: PUSH2 0x24cb
000024c6: JUMPI
000024c7: RETURNDATASIZE
000024c8: PUSH1 0x00
000024ca: RETURN
000024cb: JUMPDEST
000024cc: RETURNDATASIZE
000024cd: PUSH1 0x00
000024cf: REVERT
000024d0: JUMPDEST
000024d1: PUSH32 0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b
000024f2: SLOAD
000024f3: SWAP1
000024f4: JUMP
000024f5: JUMPDEST
000024f6: PUSH2 0x24ff
000024f9: DUP3
000024fa: DUP3
000024fb: PUSH2 0x256c
000024fe: JUMP
000024ff: JUMPDEST
00002500: PUSH1 0x40
00002502: MLOAD
00002503: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002518: DUP4
00002519: AND
0000251a: SWAP1
0000251b: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b
0000253c: SWAP1
0000253d: PUSH1 0x00
0000253f: SWAP1
00002540: LOG2
00002541: POP
00002542: POP
00002543: JUMP
00002544: JUMPDEST
00002545: CALLER
00002546: SWAP1
00002547: JUMP
00002548: JUMPDEST
00002549: PUSH32 0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b
0000256a: SSTORE
0000256b: JUMP
0000256c: JUMPDEST
0000256d: PUSH2 0x258b
00002570: DUP3
00002571: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002586: AND
00002587: PUSH2 0x2712
0000258a: JUMP
0000258b: JUMPDEST
0000258c: PUSH2 0x25e0
0000258f: JUMPI
00002590: PUSH1 0x40
00002592: MLOAD
00002593: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000025b4: DUP2
000025b5: MSTORE
000025b6: PUSH1 0x04
000025b8: ADD
000025b9: DUP1
000025ba: DUP1
000025bb: PUSH1 0x20
000025bd: ADD
000025be: DUP3
000025bf: DUP2
000025c0: SUB
000025c1: DUP3
000025c2: MSTORE
000025c3: PUSH1 0x3b
000025c5: DUP2
000025c6: MSTORE
000025c7: PUSH1 0x20
000025c9: ADD
000025ca: DUP1
000025cb: PUSH2 0x2898
000025ce: PUSH1 0x3b
000025d0: SWAP2
000025d1: CODECOPY
000025d2: PUSH1 0x40
000025d4: ADD
000025d5: SWAP2
000025d6: POP
000025d7: POP
000025d8: PUSH1 0x40
000025da: MLOAD
000025db: DUP1
000025dc: SWAP2
000025dd: SUB
000025de: SWAP1
000025df: REVERT
000025e0: JUMPDEST
000025e1: DUP1
000025e2: MLOAD
000025e3: PUSH2 0x25f3
000025e6: SWAP1
000025e7: PUSH1 0x32
000025e9: SWAP1
000025ea: PUSH1 0x20
000025ec: DUP5
000025ed: ADD
000025ee: SWAP1
000025ef: PUSH2 0x274e
000025f2: JUMP
000025f3: JUMPDEST
000025f4: POP
000025f5: POP
000025f6: PUSH32 0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3
00002617: SSTORE
00002618: JUMP
00002619: JUMPDEST
0000261a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000262f: DUP2
00002630: AND
00002631: PUSH2 0x2685
00002634: JUMPI
00002635: PUSH1 0x40
00002637: MLOAD
00002638: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002659: DUP2
0000265a: MSTORE
0000265b: PUSH1 0x04
0000265d: ADD
0000265e: DUP1
0000265f: DUP1
00002660: PUSH1 0x20
00002662: ADD
00002663: DUP3
00002664: DUP2
00002665: SUB
00002666: DUP3
00002667: MSTORE
00002668: PUSH1 0x26
0000266a: DUP2
0000266b: MSTORE
0000266c: PUSH1 0x20
0000266e: ADD
0000266f: DUP1
00002670: PUSH2 0x2819
00002673: PUSH1 0x26
00002675: SWAP2
00002676: CODECOPY
00002677: PUSH1 0x40
00002679: ADD
0000267a: SWAP2
0000267b: POP
0000267c: POP
0000267d: PUSH1 0x40
0000267f: MLOAD
00002680: DUP1
00002681: SWAP2
00002682: SUB
00002683: SWAP1
00002684: REVERT
00002685: JUMPDEST
00002686: PUSH1 0x00
00002688: DUP1
00002689: SLOAD
0000268a: PUSH1 0x40
0000268c: MLOAD
0000268d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000026a2: DUP1
000026a3: DUP6
000026a4: AND
000026a5: SWAP4
000026a6: SWAP3
000026a7: AND
000026a8: SWAP2
000026a9: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
000026ca: SWAP2
000026cb: LOG3
000026cc: PUSH1 0x00
000026ce: DUP1
000026cf: SLOAD
000026d0: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
000026f1: AND
000026f2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002707: SWAP3
00002708: SWAP1
00002709: SWAP3
0000270a: AND
0000270b: SWAP2
0000270c: SWAP1
0000270d: SWAP2
0000270e: OR
0000270f: SWAP1
00002710: SSTORE
00002711: JUMP
00002712: JUMPDEST
00002713: PUSH1 0x00
00002715: DUP2
00002716: EXTCODEHASH
00002717: PUSH32 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470
00002738: DUP2
00002739: DUP2
0000273a: EQ
0000273b: DUP1
0000273c: ISZERO
0000273d: SWAP1
0000273e: PUSH2 0x2746
00002741: JUMPI
00002742: POP
00002743: DUP2
00002744: ISZERO
00002745: ISZERO
00002746: JUMPDEST
00002747: SWAP5
00002748: SWAP4
00002749: POP
0000274a: POP
0000274b: POP
0000274c: POP
0000274d: JUMP
0000274e: JUMPDEST
0000274f: DUP3
00002750: DUP1
00002751: SLOAD
00002752: PUSH1 0x01
00002754: DUP2
00002755: PUSH1 0x01
00002757: AND
00002758: ISZERO
00002759: PUSH2 0x0100
0000275c: MUL
0000275d: SUB
0000275e: AND
0000275f: PUSH1 0x02
00002761: SWAP1
00002762: DIV
00002763: SWAP1
00002764: PUSH1 0x00
00002766: MSTORE
00002767: PUSH1 0x20
00002769: PUSH1 0x00
0000276b: KECCAK256
0000276c: SWAP1
0000276d: PUSH1 0x1f
0000276f: ADD
00002770: PUSH1 0x20
00002772: SWAP1
00002773: DIV
00002774: DUP2
00002775: ADD
00002776: SWAP3
00002777: DUP3
00002778: PUSH1 0x1f
0000277a: LT
0000277b: PUSH2 0x278f
0000277e: JUMPI
0000277f: DUP1
00002780: MLOAD
00002781: PUSH1 0xff
00002783: NOT
00002784: AND
00002785: DUP4
00002786: DUP1
00002787: ADD
00002788: OR
00002789: DUP6
0000278a: SSTORE
0000278b: PUSH2 0x27bc
0000278e: JUMP
0000278f: JUMPDEST
00002790: DUP3
00002791: DUP1
00002792: ADD
00002793: PUSH1 0x01
00002795: ADD
00002796: DUP6
00002797: SSTORE
00002798: DUP3
00002799: ISZERO
0000279a: PUSH2 0x27bc
0000279d: JUMPI
0000279e: SWAP2
0000279f: DUP3
000027a0: ADD
000027a1: JUMPDEST
000027a2: DUP3
000027a3: DUP2
000027a4: GT
000027a5: ISZERO
000027a6: PUSH2 0x27bc
000027a9: JUMPI
000027aa: DUP3
000027ab: MLOAD
000027ac: DUP3
000027ad: SSTORE
000027ae: SWAP2
000027af: PUSH1 0x20
000027b1: ADD
000027b2: SWAP2
000027b3: SWAP1
000027b4: PUSH1 0x01
000027b6: ADD
000027b7: SWAP1
000027b8: PUSH2 0x27a1
000027bb: JUMP
000027bc: JUMPDEST
000027bd: POP
000027be: PUSH2 0x27c8
000027c1: SWAP3
000027c2: SWAP2
000027c3: POP
000027c4: PUSH2 0x27cc
000027c7: JUMP
000027c8: JUMPDEST
000027c9: POP
000027ca: SWAP1
000027cb: JUMP
000027cc: JUMPDEST
000027cd: PUSH2 0x11e1
000027d0: SWAP2
000027d1: SWAP1
000027d2: JUMPDEST
000027d3: DUP1
000027d4: DUP3
000027d5: GT
000027d6: ISZERO
000027d7: PUSH2 0x27c8
000027da: JUMPI
000027db: PUSH1 0x00
000027dd: DUP2
000027de: SSTORE
000027df: PUSH1 0x01
000027e1: ADD
000027e2: PUSH2 0x27d2
000027e5: JUMP
000027e6: INVALID
000027e7: NUMBER
000027e8: PUSH2 0x6e6e
000027eb: PUSH16 0x742063616c6c2066616c6c6261636b20
000027fc: PUSH7 0x756e6374696f6e
00002804: KECCAK256
00002805: PUSH7 0x726f6d20746865
0000280d: KECCAK256
0000280e: PUSH17 0x726f78792061646d696e4f776e61626c65
00002820: GASPRICE
00002821: KECCAK256
00002822: PUSH15 0x6577206f776e657220697320746865
00002832: KECCAK256
00002833: PUSH27 0x65726f206164647265737343616e6e6f74206368616e6765207468
0000284f: PUSH6 0x2061646d696e
00002856: KECCAK256
00002857: PUSH16 0x6620612070726f787920746f20746865
00002868: KECCAK256
00002869: PUSH27 0x65726f20616464726573736f72672e7a657070656c696e6f732e70
00002885: PUSH19 0x6f78792e696d706c656d656e746174696f6e43
00002899: PUSH2 0x6e6e
0000289c: PUSH16 0x742073657420612070726f787920696d
000028ad: PUSH17 0x6c656d656e746174696f6e20746f206120
000028bf: PUSH15 0x6f6e2d636f6e747261637420616464
000028cf: PUSH19 0x657373a265627a7a72315820e4f5010f5a4e8c
000028e3: CALL
000028e4: UNKNOWN(0x2B)
000028e5: MSTORE8
000028e6: EXP
000028e7: UNKNOWN(0x2E)
000028e8: UNKNOWN(0x0D)
000028e9: UNKNOWN(0xD4)
000028ea: RETURNDATASIZE
000028eb: UNKNOWN(0xB8)
000028ec: SWAP5
000028ed: DUP11
000028ee: DUP7
000028ef: EQ
000028f0: UNKNOWN(0xE1)
000028f1: UNKNOWN(0x4D)
000028f2: UNKNOWN(0xB6)
000028f3: PUSH12 0xe28216f8fbc8c8e164736f6c
00002900: PUSH4 0x43000511
00002905: STOP
00002906: ORIGIN

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xf99eec8d",
            "selector": "0xf99eec8d",
            "calldata_variants": [
                "0xf99eec8d",
                "0xf99eec8d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa845ca9",
            "selector": "0xfa845ca9",
            "calldata_variants": [
                "0xfa845ca9",
                "0xfa845ca90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfbf35f46",
            "selector": "0xfbf35f46",
            "calldata_variants": [
                "0xfbf35f46",
                "0xfbf35f460000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf6558b00",
            "selector": "0xf6558b00",
            "calldata_variants": [
                "0xf6558b00",
                "0xf6558b000000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe8df077d",
            "selector": "0xe8df077d",
            "calldata_variants": [
                "0xe8df077d",
                "0xe8df077d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf09a4016",
            "selector": "0xf09a4016",
            "calldata_variants": [
                "0xf09a4016",
                "0xf09a40160000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf1a153a1",
            "selector": "0xf1a153a1",
            "calldata_variants": [
                "0xf1a153a1",
                "0xf1a153a10000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 4735,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 6777,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 8709,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 9234,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 10502,
            "type": "tx_origin_used"
        }
    ]
}
high upgradeability detector Untrusted DELEGATECALL target reachable 55 no no
view
trace_id: 0x8a1c2b10b3f909264072e127bc8d6321b938b7dd93dac04d741af03a68b772c8
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0x8a1c2b10b3f909264072e127bc8d6321b938b7dd93dac04d741af03a68b772c8",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xf99eec8d",
            "selector": "0xf99eec8d",
            "calldata_variants": [
                "0xf99eec8d",
                "0xf99eec8d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa845ca9",
            "selector": "0xfa845ca9",
            "calldata_variants": [
                "0xfa845ca9",
                "0xfa845ca90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfbf35f46",
            "selector": "0xfbf35f46",
            "calldata_variants": [
                "0xfbf35f46",
                "0xfbf35f460000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf6558b00",
            "selector": "0xf6558b00",
            "calldata_variants": [
                "0xf6558b00",
                "0xf6558b000000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe8df077d",
            "selector": "0xe8df077d",
            "calldata_variants": [
                "0xe8df077d",
                "0xe8df077d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf09a4016",
            "selector": "0xf09a4016",
            "calldata_variants": [
                "0xf09a4016",
                "0xf09a40160000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf1a153a1",
            "selector": "0xf1a153a1",
            "calldata_variants": [
                "0xf1a153a1",
                "0xf1a153a10000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 8860,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 9402,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [
        {
            "pc": 4735,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 6777,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 8709,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 9234,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 10502,
            "type": "tx_origin_used"
        }
    ],
    "delegatecall_count": 2,
    "untrusted_delegatecall_count": 2
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x090aa627778d6c287acc5141d4b9c401fb20a33179fcaa2b3702e80b2a545eeb
call_targets: 0xa1dff47e3e9c4a18d341e386c6707a18686fb834
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x090aa627778d6c287acc5141d4b9c401fb20a33179fcaa2b3702e80b2a545eeb",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xa1dff47e3e9c4a18d341e386c6707a18686fb834"
    ],
    "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": "0xf99eec8d",
            "selector": "0xf99eec8d",
            "calldata_variants": [
                "0xf99eec8d",
                "0xf99eec8d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa845ca9",
            "selector": "0xfa845ca9",
            "calldata_variants": [
                "0xfa845ca9",
                "0xfa845ca90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfbf35f46",
            "selector": "0xfbf35f46",
            "calldata_variants": [
                "0xfbf35f46",
                "0xfbf35f460000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf6558b00",
            "selector": "0xf6558b00",
            "calldata_variants": [
                "0xf6558b00",
                "0xf6558b000000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe8df077d",
            "selector": "0xe8df077d",
            "calldata_variants": [
                "0xe8df077d",
                "0xe8df077d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf09a4016",
            "selector": "0xf09a4016",
            "calldata_variants": [
                "0xf09a4016",
                "0xf09a40160000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf1a153a1",
            "selector": "0xf1a153a1",
            "calldata_variants": [
                "0xf1a153a1",
                "0xf1a153a10000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 10467,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "constant",
            "target_expression_category": "constant"
        }
    ],
    "eth_value_calls": 1,
    "guards_detected": [
        {
            "pc": 4735,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 6777,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 8709,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 9234,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 10502,
            "type": "tx_origin_used"
        }
    ]
}
medium auth codex Authorization uses tx.origin (phishable) 75 no
view
evidence_json
{
    "evidence": "Detector flagged a tx.origin-based guard at pc 10502 (\"tx_origin_used\"). Validation did not map a specific sink, so this is heuristic.",
    "locations": [
        "pc:0x2906"
    ],
    "recommendation": "Replace tx.origin checks with msg.sender-based authorization or explicit signature verification (EIP-712). If a whitelist is intended, store and check msg.sender in storage.",
    "exploit_scenario": "If a privileged path relies on tx.origin, an attacker can deploy a malicious contract that tricks the privileged EOA into calling it; the malicious contract then calls this contract, bypassing the intended check because tx.origin remains the victim EOA. Bytecode-only: exact sink not confirmed."
}
medium upgradeability codex DELEGATECALL to computed target without confirmed access control 75 no
view
evidence_json
{
    "evidence": "Detector reports 2 DELEGATECALL sites with computed targets at pc 8860 and pc 9402; untrusted_delegatecall_count=2; returndata checks not shown.",
    "locations": [
        "pc:0x229c",
        "pc:0x24ba"
    ],
    "recommendation": "Verify that implementation/target storage slots are only modifiable by a trusted admin and that upgrades validate code size. Consider emitting upgrade events and using standardized EIP-1967/UUPS controls.",
    "exploit_scenario": "Two DELEGATECALL sites use computed targets. If an attacker can influence the target address (e.g., via an unprotected upgrade/admin setter or writable storage slot), they can execute arbitrary code in the contract\u2019s storage context and seize control. Bytecode-only: access control around target-setting is unknown."
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 2
}
low reentrancy codex External CALL with nonzero value to a constant target (likely self) 65 no
view
evidence_json
{
    "evidence": "Detector shows a CALL at pc 10467 with constant target 0xa1dff47e3e9c4a18d341e386c6707a18686fb834 and constant nonzero value; returndata checks unknown.",
    "locations": [
        "pc:0x28e3"
    ],
    "recommendation": "Audit the surrounding control flow for state changes before the value transfer; if state is mutated first, add reentrancy guards or move state updates after external calls.",
    "exploit_scenario": "A CALL with nonzero ETH value to the contract\u2019s own address can re-enter via the fallback/receive path. If state updates occur before this CALL, reentrancy may be possible. Bytecode-only: call context and ordering are unknown."
}
low other detector External CALL present 40 no no
view
trace_id: 0x090aa627778d6c287acc5141d4b9c401fb20a33179fcaa2b3702e80b2a545eeb
call_targets: 0xa1dff47e3e9c4a18d341e386c6707a18686fb834
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x090aa627778d6c287acc5141d4b9c401fb20a33179fcaa2b3702e80b2a545eeb",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xa1dff47e3e9c4a18d341e386c6707a18686fb834"
    ],
    "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": "0xf99eec8d",
            "selector": "0xf99eec8d",
            "calldata_variants": [
                "0xf99eec8d",
                "0xf99eec8d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa845ca9",
            "selector": "0xfa845ca9",
            "calldata_variants": [
                "0xfa845ca9",
                "0xfa845ca90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfbf35f46",
            "selector": "0xfbf35f46",
            "calldata_variants": [
                "0xfbf35f46",
                "0xfbf35f460000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf6558b00",
            "selector": "0xf6558b00",
            "calldata_variants": [
                "0xf6558b00",
                "0xf6558b000000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe8df077d",
            "selector": "0xe8df077d",
            "calldata_variants": [
                "0xe8df077d",
                "0xe8df077d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf09a4016",
            "selector": "0xf09a4016",
            "calldata_variants": [
                "0xf09a4016",
                "0xf09a40160000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf1a153a1",
            "selector": "0xf1a153a1",
            "calldata_variants": [
                "0xf1a153a1",
                "0xf1a153a10000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "call_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": 11
}