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

Analysis Run

019ba92a-2ffb-70a4-a200-12dbf33d78b7

complete
Chain ID
1
Address
Block Number
Created
Sat, Jan 10, 2026 6:27 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
1
Validated
1
Source
Bytecode only
Review Backing
Present
Best current signal
Untrusted DELEGATECALL target reachable
crit 1 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
35879 artifact.fetch complete 1 / 3 3 months ago
35880 proxy.resolve complete 1 / 3 3 months ago
35881 tool.cast_disasm complete 1 / 3 3 months ago
35882 analysis.bundle complete 1 / 3 3 months ago
35883 capability.graph complete 1 / 3 3 months ago
35884 detector.run complete 1 / 3 3 months ago
35885 validation.fork complete 1 / 3 3 months ago
36062 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
2
No findings?
no
Summary
Bytecode-only review (selector/guard inference is heuristic; absence of guards does not prove unguarded). The runtime includes multiple DELEGATECALL sites to computed targets with validated target variance (critical). There are also CALL sites with computed targets/values that can move ETH, but validation observed a constant self-target in one trace, so external-call/reentrancy risk is conditional.
View stdout
{"no_findings":false,"summary":"Bytecode-only review (selector/guard inference is heuristic; absence of guards does not prove unguarded). The runtime includes multiple DELEGATECALL sites to computed targets with validated target variance (critical). There are also CALL sites with computed targets/values that can move ETH, but validation observed a constant self-target in one trace, so external-call/reentrancy risk is conditional.","findings":[{"severity":"critical","category":"upgradeability","title":"DELEGATECALL to computed, varying targets","exploit_scenario":"The contract performs DELEGATECALL to a target address that is computed at runtime. Validation shows the target varies across traces, which suggests dynamic dispatch (e.g., facet/implementation registry or upgrade slot). If an attacker can influence the stored target or selector-to-target mapping, they can delegatecall into malicious code that executes in this contract’s storage context, allowing arbitrary storage writes, fund theft, or ownership takeover. Because this is bytecode-only, the exact control surface is uncertain; guard detection is heuristic and not conclusive.","recommendation":"Make delegatecall targets immutable or strictly access-controlled (e.g., onlyOwner with timelock), enforce an allowlist/codehash check before delegatecall, and emit events on target changes. If dynamic dispatch is not required, remove delegatecall entirely.","evidence":"detector_findings[0] reports 12 DELEGATECALL sites with computed targets, no guards detected, and returndata checks unknown (returndata_checked:null). Validation confirms target_varies with call_targets [0x0ad9b58269b804ebd66c9b76e914b5a336c985bc, 0xbbf3e00e05e3e6de95a202258f67e21a10105b0c].","locations":["pc:0xca8","pc:0xd6d","pc:0xede","pc:0x1048","pc:0x110f","pc:0x134f"]},{"severity":"low","category":"reentrancy","title":"CALL with computed target/value can transfer ETH (conditional external-call risk)","exploit_scenario":"Multiple CALL sites use computed targets and values and can transfer ETH. If any of these targets are user-influenced and state changes occur after the call, an external callee could reenter or cause fund loss. However, validation observed a constant target equal to the contract itself in one trace, so external-call risk is not confirmed from bytecode alone.","recommendation":"Constrain call targets/values to trusted addresses, apply checks-effects-interactions or reentrancy guards around state mutations, and check CALL success/returndata. If the intent is self-calls, prefer internal calls to avoid unnecessary external CALL semantics.","evidence":"detector_findings[1] and [2] show 13 CALL sites with computed target/value and potential ETH transfer; returndata_checked is null. Validation saw a constant target 0x6a13cbb3a3ecd7e8d74636f79c4a09acb1f85606 (this contract) and did not confirm untrusted targets, so risk is conditional.","locations":["pc:0xb65","pc:0x1401","pc:0x1490","pc:0x151f","pc:0x15ae"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-4ys81ocj
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: xhigh
reasoning summaries: auto
session id: 019ba935-250a-7491-ae49-7fefa39a60ff
--------
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
**Preparing to read BYTECODE_BUNDLE.json**
exec
/bin/bash -lc ls in /tmp/codex-4ys81ocj succeeded in 5ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-4ys81ocj succeeded in 44ms:
{
  "analysis_artifact": {
    "address": "0x6a13cbb3a3ecd7e8d74636f79c4a09acb1f85606",
    "artifact_hash": "0x80f6fe44a2c4ac5ae931d800a7fcb57d06417bafdd9a16f741d4456fe26665e4",
    "artifact_json": {
      "auth": {
        "guards": []
      },
      "basic_blocks": [
        {
          "end_pc": 12,
          "hash": "0xa434609d8d8d92a7247627b31a5269d707ba9edfa05d24bcc70dc967155a557f",
          "opcodes": [
            "PUSH1",
            "PUSH1",
            "MSTORE",
            "PUSH1",
            "CALLDATASIZE",
            "LT",
            "PUSH2",

thinking
**Planning JSON parsing approach**
exec
/bin/bash -lc "python - <<'PY'
import json, textwrap
path='BYTECODE_BUNDLE.json'
with open(path) as f:
    data=json.load(f)
print(data.keys())
print('analysis_artifact keys', data['analysis_artifact'].keys())
print('detector_findings', len(data.get('detector_findings',[])))
print('heuristics_summary', data.get('heuristics_summary'))
PY" in /tmp/codex-4ys81ocj succeeded in 127ms:
dict_keys(['analysis_artifact', 'analysis_run', 'artifact', 'capability_graph', 'detector_findings', 'heuristics_summary'])
analysis_artifact keys dict_keys(['address', 'artifact_hash', 'artifact_json', 'block_number', 'chain_id', 'codehash', 'created_at', 'id', 'updated_at', 'version'])
detector_findings 3
heuristics_summary {'create2_count': 0, 'delegatecall_count': 12, 'flags': ['delegatecall_present', 'heavy_ext_balance_usage', 'call_family_heavy'], 'selfdestruct_count': 0}

thinking
**Examining contract sections for storage and entrypoints**
exec
/bin/bash -lc "python - <<'PY'
import json, re
from pprint import pprint
path='BYTECODE_BUNDLE.json'
with open(path) as f:
    data=json.load(f)
# Explore artifact_json keys
artifact_json=data['analysis_artifact']['artifact_json']
print('artifact_json keys', artifact_json.keys())
# show storage slots if present
for k in artifact_json.keys():
    if 'storage' in k.lower() or 'slots' in k.lower():
        print('storage key', k)
# capability_graph maybe contains storage slots? Inspect top-level 'capability_graph'
cap=data.get('capability_graph')
print('capability_graph keys', cap.keys())
for k in cap.keys():
    if 'storage' in k.lower() or 'slot' in k.lower():
        print('cap key', k)
# list possible storage slots from capability_graph
slots=cap.get('storage_slots') if cap else None
print('storage_slots type', type(slots))
if slots:
    print('storage_slots len', len(slots))
    print(slots[:5])

# list possible proxy patterns/slots from capability_graph
proxy=cap.get('proxy') if cap else None
print('proxy', proxy)

# look at detectors evidence
print('detector findings titles', [f['title'] for f in data.get('detector_findings',[])])

# maybe there is evidence bundle
for k in data.keys():
    if 'evidence' in k.lower():
        print('top level evidence key', k)

# check artifact
artifact=data.get('artifact',{})
print('artifact keys', artifact.keys())
for k in artifact.keys():
    if 'storage' in k.lower() or 'slot' in k.lower():
        print('artifact key', k)

PY" in /tmp/codex-4ys81ocj succeeded in 50ms:
artifact_json keys dict_keys(['auth', 'basic_blocks', 'callsites', 'cfg_edges', 'cfg_hash', 'dispatcher_type', 'function_entries', 'functions', 'selectors', 'sinks', 'storage', 'version'])
storage key storage
capability_graph keys dict_keys(['address', 'block_number', 'chain_id', 'codehash', 'created_at', 'graph_hash', 'graph_json', 'id', 'updated_at', 'version'])
storage_slots type <class 'NoneType'>
proxy None
detector findings titles ['Untrusted DELEGATECALL target reachable', 'Untrusted CALL target/value reachable', 'ETH value transfer possible']
artifact keys dict_keys(['codehash', 'compiler_json', 'implementation_address', 'is_proxy', 'runtime_bytecode', 'verified_source'])

thinking
**Inspecting storage in artifact_json**
exec
/bin/bash -lc "python - <<'PY'
import json, pprint
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
storage=data['analysis_artifact']['artifact_json'].get('storage')
print(type(storage))
# storage may be list/dict. Print summary keys.
if isinstance(storage, dict):
    print(storage.keys())
    # show count maybe
    for k,v in storage.items():
        if isinstance(v, list):
            print(k, 'len', len(v))
        else:
            print(k, type(v))
elif isinstance(storage, list):
    print('storage list len', len(storage))
    print(storage[:5])
else:
    print('storage value', storage)
PY" in /tmp/codex-4ys81ocj succeeded in 45ms:
<class 'dict'>
dict_keys(['keccak_count', 'reads', 'slots', 'writes'])
keccak_count <class 'int'>
reads <class 'int'>
slots len 103
writes <class 'int'>

thinking
**Inspecting slots**
exec
/bin/bash -lc "python - <<'PY'
import json, pprint
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
storage=data['analysis_artifact']['artifact_json']['storage']
slots=storage.get('slots',[])
print('slots len', len(slots))
# show first 10
for s in slots[:10]:
    pprint.pprint(s)
PY" in /tmp/codex-4ys81ocj succeeded in 44ms:
slots len 103
{'op': 'SLOAD',
 'pc': 2723,
 'slot': '0x0000000000000000000000000000000000000000000000000000000000000007'}
{'op': 'SLOAD',
 'pc': 2822,
 'slot': '0x0000000000000000000000000000000000000000000000000000000000000003'}
{'op': 'SLOAD',
 'pc': 3083,
 'slot': '0x0000000000000000000000000000000000000000000000000000000000000002'}
{'op': 'SLOAD',
 'pc': 3100,
 'slot': '0x0000000000000000000000000000000000000000000000000000000000000002'}
{'op': 'SLOAD',
 'pc': 3263,
 'slot': '0x0000000000000000000000000000000000000000000000000000000000000002'}
{'op': 'SLOAD',
 'pc': 3278,
 'slot': '0x0000000000000000000000000000000000000000000000000000000000000002'}
{'op': 'SLOAD',

thinking
**Searching for EIP-1967 implementation slots**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
slots=[s['slot'] for s in data['analysis_artifact']['artifact_json']['storage']['slots'] if 'slot' in s]
# find EIP1967 slots
impl='0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc'
admin='0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103'
beacon='0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50'
for name,slot in [('impl',impl),('admin',admin),('beacon',beacon)]:
    if slot in slots:
        print('found', name, slot)
PY" in /tmp/codex-4ys81ocj succeeded in 37ms:


thinking
**Checking for proxy indicators in artifact**
exec
/bin/bash -lc "python - <<'PY'
import json, pprint
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
artifact=data.get('artifact',{})
print('is_proxy', artifact.get('is_proxy'))
print('implementation_address', artifact.get('implementation_address'))
print('verified_source', artifact.get('verified_source'))
print('compiler_json keys', list((artifact.get('compiler_json') or {}).keys())[:5])
PY" in /tmp/codex-4ys81ocj succeeded in 46ms:
is_proxy False
implementation_address None
verified_source False
compiler_json keys ['compiler_version', 'etherscan', 'optimizer_enabled', 'optimizer_runs', 'proxy_evidence']

thinking
**Analyzing delegatecall usage and selectors**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
selectors=data['analysis_artifact']['artifact_json'].get('selectors',{})
print('selectors count', len(selectors))
# list any known selectors: 0x8da5cb5b (owner) etc.
known = {\"0x8da5cb5b\":\"owner()\",\"0xf2fde38b\":\"transferOwnership(address)\",\"0x3659cfe6\":\"upgradeTo(address)\",\"0x79ba5097\":\"upgradeToAndCall(address,bytes)\",\"0x5c60da1b\":\"implementation()\",\"0x052d1902\":\"getImplementation()\"}
for sel, name in known.items():
    if sel in selectors:
        print('known', sel, name, '->', selectors[sel])
# print sorted selectors list small sample
sels=sorted(selectors.keys())
print('sample selectors', sels[:10])
PY" in /tmp/codex-4ys81ocj exited 1 in 89ms:
selectors count 44
Traceback (most recent call last):
  File "<stdin>", line 10, in <module>
TypeError: list indices must be integers or slices, not str

thinking
**Checking selectors structure**
exec
/bin/bash -lc "python - <<'PY'
import json, pprint
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
selectors=data['analysis_artifact']['artifact_json'].get('selectors')
print(type(selectors))
if isinstance(selectors, list):
    print('selectors len', len(selectors))
    pprint.pprint(selectors[:5])
elif isinstance(selectors, dict):
    print(selectors.keys())
PY" in /tmp/codex-4ys81ocj succeeded in 67ms:
<class 'list'>
selectors len 44
['0x03ed9d21', '0x09826620', '0x0988ca8c', '0x0e135aa1', '0x12e8e2c3']

thinking
**Reviewing selectors and function entries**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
selectors=data['analysis_artifact']['artifact_json'].get('selectors',[])
known = {\"0x8da5cb5b\":\"owner()\",\"0xf2fde38b\":\"transferOwnership(address)\",\"0x3659cfe6\":\"upgradeTo(address)\",\"0x79ba5097\":\"upgradeToAndCall(address,bytes)\",\"0x5c60da1b\":\"implementation()\",\"0x052d1902\":\"getImplementation()\"}
for sel,name in known.items():
    if sel in selectors:
        print('found', name, sel)
PY" in /tmp/codex-4ys81ocj succeeded in 57ms:
found owner() 0x8da5cb5b
found transferOwnership(address) 0xf2fde38b

thinking
**Analyzing ownership and security guards**
exec
/bin/bash -lc "python - <<'PY'
import json, pprint
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
functions=data['analysis_artifact']['artifact_json'].get('functions',[])
print('functions len', len(functions))
# show function objects with selector and entry_pc maybe
for fn in functions[:5]:
    pprint.pprint(fn)
# find function entry for owner and transferOwnership
for fn in functions:
    if fn.get('selector') in ('0x8da5cb5b','0xf2fde38b'):
        print('fn', fn)
PY" in /tmp/codex-4ys81ocj succeeded in 78ms:
functions len 44
{'auth': {'guards': []},
 'entry_pc': 159540768,
 'selector': '0x03ed9d21',
 'sinks': {'call': 13, 'delegatecall': 12, 'selfdestruct': 0, 'staticcall': 0},
 'storage': {'reads': 134,
             'slots': [{'op': 'SLOAD',
                        'pc': 2723,
                        'slot': '0x0000000000000000000000000000000000000000000000000000000000000007'},
                       {'op': 'SLOAD',
                        'pc': 2822,
                        'slot': '0x0000000000000000000000000000000000000000000000000000000000000003'},
                       {'op': 'SLOAD',
                        'pc': 3083,
                        'slot': '0x0000000000000000000000000000000000000000000000000000000000000002'},
                       {'op': 'SLOAD',
                        'pc': 3100,
                        'slot': '0x0000000000000000000000000000000000000000000000000000000000000002'},
                       {'op': 'SLOAD',
                        'pc': 3263,

thinking
**Analyzing delegatecall patterns**
exec
/bin/bash -lc "python - <<'PY'
import json, pprint
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
cs=data['analysis_artifact']['artifact_json'].get('callsites',[])
print('callsites len', len(cs))
# filter delegatecall callsites
deleg=[c for c in cs if c.get('opcode')=='DELEGATECALL']
print('delegatecall callsites', len(deleg))
for c in deleg[:5]:
    pprint.pprint(c)
# filter call callsites
calls=[c for c in cs if c.get('opcode')=='CALL']
print('call callsites', len(calls))
for c in calls[:5]:
    pprint.pprint(c)
PY" in /tmp/codex-4ys81ocj succeeded in 100ms:
callsites len 25
delegatecall callsites 12
{'opcode': 'DELEGATECALL',
 'pc': 3240,
 'returndata_checked': None,
 'target_expression_category': 'computed',
 'value_expression_category': 'n/a'}
{'opcode': 'DELEGATECALL',
 'pc': 3437,
 'returndata_checked': None,
 'target_expression_category': 'computed',
 'value_expression_category': 'n/a'}
{'opcode': 'DELEGATECALL',
 'pc': 3806,
 'returndata_checked': None,
 'target_expression_category': 'computed',
 'value_expression_category': 'n/a'}
{'opcode': 'DELEGATECALL',
 'pc': 4168,
 'returndata_checked': None,

thinking
**Evaluating delegatecall and call risks**
exec
/bin/bash -lc "python - <<'PY'
import json, pprint
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
run=data.get('analysis_run',{})
print('analysis_run keys', run.keys())
# maybe contains detectors results
pprint.pprint({k:run.get(k) for k in ['analysis_version','created_at','detectors'] if k in run})
PY" in /tmp/codex-4ys81ocj succeeded in 50ms:
analysis_run keys dict_keys(['address', 'block_number', 'chain_id', 'child_links', 'created_at', 'id', 'parent_links', 'status', 'updated_at'])
{'created_at': '2026-01-10T18:27:52.000000Z'}

thinking
**Inspecting capability graph overview**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
cap=data.get('capability_graph',{})
print('graph_json keys', cap.get('graph_json',{}).keys())
PY" in /tmp/codex-4ys81ocj succeeded in 53ms:
graph_json keys dict_keys(['edges', 'nodes', 'version'])

thinking
**Considering callsite node search**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
cap=data['capability_graph']['graph_json']
# find callsite nodes
call_nodes=[n for n in cap['nodes'] if n.get('type')=='callsite']
print('callsite nodes', len(call_nodes))
print(call_nodes[:5])
# find function nodes
fn_nodes=[n for n in cap['nodes'] if n.get('type')=='function']
print('function nodes', len(fn_nodes))
print(fn_nodes[:3])
# find storage slot nodes? maybe type storage
storage_nodes=[n for n in cap['nodes'] if n.get('type')=='storage']
print('storage nodes', len(storage_nodes))
print(storage_nodes[:3])
PY" in /tmp/codex-4ys81ocj succeeded in 41ms:
callsite nodes 25
[{'id': 'call:2917', 'opcode': 'CALL', 'pc': 2917, 'type': 'callsite'}, {'id': 'call:3240', 'opcode': 'DELEGATECALL', 'pc': 3240, 'type': 'callsite'}, {'id': 'call:3437', 'opcode': 'DELEGATECALL', 'pc': 3437, 'type': 'callsite'}, {'id': 'call:3806', 'opcode': 'DELEGATECALL', 'pc': 3806, 'type': 'callsite'}, {'id': 'call:4168', 'opcode': 'DELEGATECALL', 'pc': 4168, 'type': 'callsite'}]
function nodes 44
[{'entry_pc': 159540768, 'id': 'fn:0x03ed9d21', 'selector': '0x03ed9d21', 'type': 'function'}, {'entry_pc': 159959692, 'id': 'fn:0x09826620', 'selector': '0x09826620', 'type': 'function'}, {'entry_pc': 236149409, 'id': 'fn:0x0988ca8c', 'selector': '0x0988ca8c', 'type': 'function'}]
storage nodes 0
[]

thinking
**Analyzing capability graph edges**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
# list delegatecall pcs in hex
pcs=[c['pc'] for c in data['analysis_artifact']['artifact_json']['callsites'] if c['opcode']=='DELEGATECALL']
print('delegatecall pcs', [hex(p) for p in pcs])
# call pcs for CALL
pcs_call=[c['pc'] for c in data['analysis_artifact']['artifact_json']['callsites'] if c['opcode']=='CALL']
print('call pcs', [hex(p) for p in pcs_call])
PY" in /tmp/codex-4ys81ocj succeeded in 34ms:
delegatecall pcs ['0xca8', '0xd6d', '0xede', '0x1048', '0x110f', '0x134f', '0x1c17', '0x1caf', '0x1e31', '0x273b', '0x2a4b', '0x2f30']
call pcs ['0xb65', '0x1401', '0x1490', '0x151f', '0x15ae', '0x163d', '0x16cc', '0x1759', '0x17e6', '0x1873', '0x1900', '0x198f', '0x1ad2']

thinking
**Examining delegatecall target evidence**
exec
/bin/bash -lc "python - <<'PY'
import json, pprint
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
slots=data['analysis_artifact']['artifact_json']['storage']['slots']
# unique SSTORE slots and pcs
sstore=[s for s in slots if s.get('op')=='SSTORE']
print('SSTORE count', len(sstore))
# show unique slot values
unique=sorted(set(s['slot'] for s in sstore))
print('unique slots', unique)
# show a few with pc
for s in sstore[:10]:
    print(s)
PY" in /tmp/codex-4ys81ocj succeeded in 44ms:
SSTORE count 0
unique slots []

thinking
**Analyzing delegatecall and call risks**
exec
/bin/bash -lc "python - <<'PY'
import json, pprint
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
for fnd in data['detector_findings']:
    print(fnd['title'])
    print('severity', fnd['severity'], 'confidence', fnd['confidence'], 'validated', fnd['validated'])
    print('evidence', fnd.get('evidence_json'))
    print('validation', fnd.get('validation_json'))
    print('---')
PY" in /tmp/codex-4ys81ocj succeeded in 62ms:
Untrusted DELEGATECALL target reachable
severity critical confidence 70 validated True
evidence {'delegatecall_count': 12, 'examples': [{'opcode': 'DELEGATECALL', 'pc': 3240, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'n/a'}, {'opcode': 'DELEGATECALL', 'pc': 3437, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'n/a'}, {'opcode': 'DELEGATECALL', 'pc': 3806, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'n/a'}], 'guards_detected': [], 'untrusted_delegatecall_count': 12}
validation {'attempts': 37, 'call_targets': ['0x0ad9b58269b804ebd66c9b76e914b5a336c985bc', '0xbbf3e00e05e3e6de95a202258f67e21a10105b0c'], 'classification': 'target_varies', 'confirmed': True, 'errors': 0, 'matched_probe': None, 'sink': 'DELEGATECALL', 'status': 'confirmed', 'target_varies': True, 'trace_id': '0xbf558442c90cd78acd5ed11e3cd62d8bcbcef0fed28e39dac610240fd9b82c9b', 'trace_mode': 'callTracer'}
---
Untrusted CALL target/value reachable
severity high confidence 60 validated False
evidence {'call_count': 13, 'examples': [{'opcode': 'CALL', 'pc': 2917, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}, {'opcode': 'CALL', 'pc': 5121, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}, {'opcode': 'CALL', 'pc': 5264, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}], 'guards_detected': [], 'untrusted_call_count': 13}
validation {'attempts': 1, 'call_targets': ['0x6a13cbb3a3ecd7e8d74636f79c4a09acb1f85606'], 'classification': 'constant_target', 'confirmed': False, 'errors': 0, 'matched_probe': None, 'sink': 'CALL', 'status': 'sink_reached', 'target_varies': False, 'trace_id': '0xc9b3edcf0e1b55c0c54e3f2d34de57d450dfa324c6920fefe510bcd782a64c60', 'trace_mode': 'callTracer'}
---
ETH value transfer possible
severity high confidence 55 validated False
evidence {'eth_value_calls': 13, 'examples': [{'opcode': 'CALL', 'pc': 2917, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}, {'opcode': 'CALL', 'pc': 5121, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}, {'opcode': 'CALL', 'pc': 5264, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}], 'guards_detected': []}
validation {'attempts': 1, 'call_targets': ['0x6a13cbb3a3ecd7e8d74636f79c4a09acb1f85606'], 'classification': 'constant_target', 'confirmed': False, 'errors': 0, 'matched_probe': None, 'sink': 'CALL', 'status': 'sink_reached', 'target_varies': False, 'trace_id': '0xc9b3edcf0e1b55c0c54e3f2d34de57d450dfa324c6920fefe510bcd782a64c60', 'trace_mode': 'callTracer'}
---

thinking
**Composing detailed JSON findings**
codex
{"no_findings":false,"summary":"Bytecode-only review (selector/guard inference is heuristic; absence of guards does not prove unguarded). The runtime includes multiple DELEGATECALL sites to computed targets with validated target variance (critical). There are also CALL sites with computed targets/values that can move ETH, but validation observed a constant self-target in one trace, so external-call/reentrancy risk is conditional.","findings":[{"severity":"critical","category":"upgradeability","title":"DELEGATECALL to computed, varying targets","exploit_scenario":"The contract performs DELEGATECALL to a target address that is computed at runtime. Validation shows the target varies across traces, which suggests dynamic dispatch (e.g., facet/implementation registry or upgrade slot). If an attacker can influence the stored target or selector-to-target mapping, they can delegatecall into malicious code that executes in this contract’s storage context, allowing arbitrary storage writes, fund theft, or ownership takeover. Because this is bytecode-only, the exact control surface is uncertain; guard detection is heuristic and not conclusive.","recommendation":"Make delegatecall targets immutable or strictly access-controlled (e.g., onlyOwner with timelock), enforce an allowlist/codehash check before delegatecall, and emit events on target changes. If dynamic dispatch is not required, remove delegatecall entirely.","evidence":"detector_findings[0] reports 12 DELEGATECALL sites with computed targets, no guards detected, and returndata checks unknown (returndata_checked:null). Validation confirms target_varies with call_targets [0x0ad9b58269b804ebd66c9b76e914b5a336c985bc, 0xbbf3e00e05e3e6de95a202258f67e21a10105b0c].","locations":["pc:0xca8","pc:0xd6d","pc:0xede","pc:0x1048","pc:0x110f","pc:0x134f"]},{"severity":"low","category":"reentrancy","title":"CALL with computed target/value can transfer ETH (conditional external-call risk)","exploit_scenario":"Multiple CALL sites use computed targets and values and can transfer ETH. If any of these targets are user-influenced and state changes occur after the call, an external callee could reenter or cause fund loss. However, validation observed a constant target equal to the contract itself in one trace, so external-call risk is not confirmed from bytecode alone.","recommendation":"Constrain call targets/values to trusted addresses, apply checks-effects-interactions or reentrancy guards around state mutations, and check CALL success/returndata. If the intent is self-calls, prefer internal calls to avoid unnecessary external CALL semantics.","evidence":"detector_findings[1] and [2] show 13 CALL sites with computed target/value and potential ETH transfer; returndata_checked is null. Validation saw a constant target 0x6a13cbb3a3ecd7e8d74636f79c4a09acb1f85606 (this contract) and did not confirm untrusted targets, so risk is conditional.","locations":["pc:0xb65","pc:0x1401","pc:0x1490","pc:0x151f","pc:0x15ae"]}]}
tokens used
58,233
Metadata
{
    "codex": {
        "ran_at": "2026-01-10T18:42:58.506081+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 26426,
        "bytecode_truncated": false,
        "capability_graph_present": true,
        "analysis_artifact_present": true
    },
    "summary": "Bytecode-only review (selector/guard inference is heuristic; absence of guards does not prove unguarded). The runtime includes multiple DELEGATECALL sites to computed targets with validated target variance (critical). There are also CALL sites with computed targets/values that can move ETH, but validation observed a constant self-target in one trace, so external-call/reentrancy risk is conditional.",
    "raw_final": {
        "summary": "Bytecode-only review (selector/guard inference is heuristic; absence of guards does not prove unguarded). The runtime includes multiple DELEGATECALL sites to computed targets with validated target variance (critical). There are also CALL sites with computed targets/values that can move ETH, but validation observed a constant self-target in one trace, so external-call/reentrancy risk is conditional.",
        "findings": [
            {
                "title": "DELEGATECALL to computed, varying targets",
                "category": "upgradeability",
                "evidence": "detector_findings[0] reports 12 DELEGATECALL sites with computed targets, no guards detected, and returndata checks unknown (returndata_checked:null). Validation confirms target_varies with call_targets [0x0ad9b58269b804ebd66c9b76e914b5a336c985bc, 0xbbf3e00e05e3e6de95a202258f67e21a10105b0c].",
                "severity": "critical",
                "locations": [
                    "pc:0xca8",
                    "pc:0xd6d",
                    "pc:0xede",
                    "pc:0x1048",
                    "pc:0x110f",
                    "pc:0x134f"
                ],
                "recommendation": "Make delegatecall targets immutable or strictly access-controlled (e.g., onlyOwner with timelock), enforce an allowlist/codehash check before delegatecall, and emit events on target changes. If dynamic dispatch is not required, remove delegatecall entirely.",
                "exploit_scenario": "The contract performs DELEGATECALL to a target address that is computed at runtime. Validation shows the target varies across traces, which suggests dynamic dispatch (e.g., facet/implementation registry or upgrade slot). If an attacker can influence the stored target or selector-to-target mapping, they can delegatecall into malicious code that executes in this contract\u2019s storage context, allowing arbitrary storage writes, fund theft, or ownership takeover. Because this is bytecode-only, the exact control surface is uncertain; guard detection is heuristic and not conclusive."
            },
            {
                "title": "CALL with computed target/value can transfer ETH (conditional external-call risk)",
                "category": "reentrancy",
                "evidence": "detector_findings[1] and [2] show 13 CALL sites with computed target/value and potential ETH transfer; returndata_checked is null. Validation saw a constant target 0x6a13cbb3a3ecd7e8d74636f79c4a09acb1f85606 (this contract) and did not confirm untrusted targets, so risk is conditional.",
                "severity": "low",
                "locations": [
                    "pc:0xb65",
                    "pc:0x1401",
                    "pc:0x1490",
                    "pc:0x151f",
                    "pc:0x15ae"
                ],
                "recommendation": "Constrain call targets/values to trusted addresses, apply checks-effects-interactions or reentrancy guards around state mutations, and check CALL success/returndata. If the intent is self-calls, prefer internal calls to avoid unnecessary external CALL semantics.",
                "exploit_scenario": "Multiple CALL sites use computed targets and values and can transfer ETH. If any of these targets are user-influenced and state changes occur after the call, an external callee could reenter or cause fund loss. However, validation observed a constant target equal to the contract itself in one trace, so external-call risk is not confirmed from bytecode alone."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
12
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
13
EXT*/BALANCE
36
Total opcodes
8395
Flags
delegatecall_present heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0223
0000000c: JUMPI
0000000d: PUSH4 0xffffffff
00000012: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000030: PUSH1 0x00
00000032: CALLDATALOAD
00000033: DIV
00000034: AND
00000035: PUSH3 0x30fc2d
00000039: DUP2
0000003a: EQ
0000003b: PUSH2 0x022d
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0x03ed9d21
00000045: EQ
00000046: PUSH2 0x024e
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0x09826620
00000050: EQ
00000051: PUSH2 0x0266
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0x0988ca8c
0000005b: EQ
0000005c: PUSH2 0x0299
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0x0e135aa1
00000066: EQ
00000067: PUSH2 0x0300
0000006a: JUMPI
0000006b: DUP1
0000006c: PUSH4 0x12e8e2c3
00000071: EQ
00000072: PUSH2 0x0373
00000075: JUMPI
00000076: DUP1
00000077: PUSH4 0x209d101f
0000007c: EQ
0000007d: PUSH2 0x038b
00000080: JUMPI
00000081: DUP1
00000082: PUSH4 0x217fe6c6
00000087: EQ
00000088: PUSH2 0x03ac
0000008b: JUMPI
0000008c: DUP1
0000008d: PUSH4 0x261c4e05
00000092: EQ
00000093: PUSH2 0x0427
00000096: JUMPI
00000097: DUP1
00000098: PUSH4 0x271314b0
0000009d: EQ
0000009e: PUSH2 0x046e
000000a1: JUMPI
000000a2: DUP1
000000a3: PUSH4 0x28f8bfa1
000000a8: EQ
000000a9: PUSH2 0x048f
000000ac: JUMPI
000000ad: DUP1
000000ae: PUSH4 0x30d09774
000000b3: EQ
000000b4: PUSH2 0x050b
000000b7: JUMPI
000000b8: DUP1
000000b9: PUSH4 0x33c74e79
000000be: EQ
000000bf: PUSH2 0x052c
000000c2: JUMPI
000000c3: DUP1
000000c4: PUSH4 0x3ad8c93c
000000c9: EQ
000000ca: PUSH2 0x054d
000000cd: JUMPI
000000ce: DUP1
000000cf: PUSH4 0x410085df
000000d4: EQ
000000d5: PUSH2 0x0561
000000d8: JUMPI
000000d9: DUP1
000000da: PUSH4 0x473b0d46
000000df: EQ
000000e0: PUSH2 0x0585
000000e3: JUMPI
000000e4: DUP1
000000e5: PUSH4 0x480c2b7b
000000ea: EQ
000000eb: PUSH2 0x059d
000000ee: JUMPI
000000ef: DUP1
000000f0: PUSH4 0x48c54b9d
000000f5: EQ
000000f6: PUSH2 0x05be
000000f9: JUMPI
000000fa: DUP1
000000fb: PUSH4 0x52c790ee
00000100: EQ
00000101: PUSH2 0x05d3
00000104: JUMPI
00000105: DUP1
00000106: PUSH4 0x54e17d68
0000010b: EQ
0000010c: PUSH2 0x05f4
0000010f: JUMPI
00000110: DUP1
00000111: PUSH4 0x54fd4d50
00000116: EQ
00000117: PUSH2 0x0615
0000011a: JUMPI
0000011b: DUP1
0000011c: PUSH4 0x5a2f3d09
00000121: EQ
00000122: PUSH2 0x0640
00000125: JUMPI
00000126: DUP1
00000127: PUSH4 0x7912661e
0000012c: EQ
0000012d: PUSH2 0x06c5
00000130: JUMPI
00000131: DUP1
00000132: PUSH4 0x7a6b3b7a
00000137: EQ
00000138: PUSH2 0x06e6
0000013b: JUMPI
0000013c: DUP1
0000013d: PUSH4 0x88cee87e
00000142: EQ
00000143: PUSH2 0x0707
00000146: JUMPI
00000147: DUP1
00000148: PUSH4 0x8d68cf59
0000014d: EQ
0000014e: PUSH2 0x076e
00000151: JUMPI
00000152: DUP1
00000153: PUSH4 0x8d8f2adb
00000158: EQ
00000159: PUSH2 0x05be
0000015c: JUMPI
0000015d: DUP1
0000015e: PUSH4 0x8da5cb5b
00000163: EQ
00000164: PUSH2 0x0783
00000167: JUMPI
00000168: DUP1
00000169: PUSH4 0x908c9198
0000016e: EQ
0000016f: PUSH2 0x07b4
00000172: JUMPI
00000173: DUP1
00000174: PUSH4 0x98dd1b3b
00000179: EQ
0000017a: PUSH2 0x0819
0000017d: JUMPI
0000017e: DUP1
0000017f: PUSH4 0xa17d5f44
00000184: EQ
00000185: PUSH2 0x083a
00000188: JUMPI
00000189: DUP1
0000018a: PUSH4 0xb25fa92c
0000018f: EQ
00000190: PUSH2 0x085b
00000193: JUMPI
00000194: DUP1
00000195: PUSH4 0xb5545a3c
0000019a: EQ
0000019b: PUSH2 0x08c2
0000019e: JUMPI
0000019f: DUP1
000001a0: PUSH4 0xc311d049
000001a5: EQ
000001a6: PUSH2 0x08d7
000001a9: JUMPI
000001aa: DUP1
000001ab: PUSH4 0xc77ba789
000001b0: EQ
000001b1: PUSH2 0x08ef
000001b4: JUMPI
000001b5: DUP1
000001b6: PUSH4 0xc7cd469a
000001bb: EQ
000001bc: PUSH2 0x0910
000001bf: JUMPI
000001c0: DUP1
000001c1: PUSH4 0xd01f63f5
000001c6: EQ
000001c7: PUSH2 0x093c
000001ca: JUMPI
000001cb: DUP1
000001cc: PUSH4 0xd0febe4c
000001d1: EQ
000001d2: PUSH2 0x0223
000001d5: JUMPI
000001d6: DUP1
000001d7: PUSH4 0xd391014b
000001dc: EQ
000001dd: PUSH2 0x0951
000001e0: JUMPI
000001e1: DUP1
000001e2: PUSH4 0xda19139b
000001e7: EQ
000001e8: PUSH2 0x09db
000001eb: JUMPI
000001ec: DUP1
000001ed: PUSH4 0xea8a1af0
000001f2: EQ
000001f3: PUSH2 0x0a07
000001f6: JUMPI
000001f7: DUP1
000001f8: PUSH4 0xeb0caa34
000001fd: EQ
000001fe: PUSH2 0x0a1c
00000201: JUMPI
00000202: DUP1
00000203: PUSH4 0xf2fde38b
00000208: EQ
00000209: PUSH2 0x0a3d
0000020c: JUMPI
0000020d: DUP1
0000020e: PUSH4 0xf357ce8e
00000213: EQ
00000214: PUSH2 0x0a5e
00000217: JUMPI
00000218: DUP1
00000219: PUSH4 0xfd521021
0000021e: EQ
0000021f: PUSH2 0x0a7f
00000222: JUMPI
00000223: JUMPDEST
00000224: PUSH2 0x022b
00000227: PUSH2 0x0aa0
0000022a: JUMP
0000022b: JUMPDEST
0000022c: STOP
0000022d: JUMPDEST
0000022e: CALLVALUE
0000022f: DUP1
00000230: ISZERO
00000231: PUSH2 0x0239
00000234: JUMPI
00000235: PUSH1 0x00
00000237: DUP1
00000238: REVERT
00000239: JUMPDEST
0000023a: POP
0000023b: PUSH2 0x022b
0000023e: PUSH1 0x01
00000240: PUSH1 0xa0
00000242: PUSH1 0x02
00000244: EXP
00000245: SUB
00000246: PUSH1 0x04
00000248: CALLDATALOAD
00000249: AND
0000024a: PUSH2 0x0ccb
0000024d: JUMP
0000024e: JUMPDEST
0000024f: CALLVALUE
00000250: DUP1
00000251: ISZERO
00000252: PUSH2 0x025a
00000255: JUMPI
00000256: PUSH1 0x00
00000258: DUP1
00000259: REVERT
0000025a: JUMPDEST
0000025b: POP
0000025c: PUSH2 0x022b
0000025f: PUSH1 0x04
00000261: CALLDATALOAD
00000262: PUSH2 0x0d8f
00000265: JUMP
00000266: JUMPDEST
00000267: CALLVALUE
00000268: DUP1
00000269: ISZERO
0000026a: PUSH2 0x0272
0000026d: JUMPI
0000026e: PUSH1 0x00
00000270: DUP1
00000271: REVERT
00000272: JUMPDEST
00000273: POP
00000274: PUSH2 0x0287
00000277: PUSH1 0x01
00000279: PUSH1 0xa0
0000027b: PUSH1 0x02
0000027d: EXP
0000027e: SUB
0000027f: PUSH1 0x04
00000281: CALLDATALOAD
00000282: AND
00000283: PUSH2 0x0f03
00000286: JUMP
00000287: JUMPDEST
00000288: PUSH1 0x40
0000028a: DUP1
0000028b: MLOAD
0000028c: SWAP2
0000028d: DUP3
0000028e: MSTORE
0000028f: MLOAD
00000290: SWAP1
00000291: DUP2
00000292: SWAP1
00000293: SUB
00000294: PUSH1 0x20
00000296: ADD
00000297: SWAP1
00000298: RETURN
00000299: JUMPDEST
0000029a: CALLVALUE
0000029b: DUP1
0000029c: ISZERO
0000029d: PUSH2 0x02a5
000002a0: JUMPI
000002a1: PUSH1 0x00
000002a3: DUP1
000002a4: REVERT
000002a5: JUMPDEST
000002a6: POP
000002a7: PUSH1 0x40
000002a9: DUP1
000002aa: MLOAD
000002ab: PUSH1 0x20
000002ad: PUSH1 0x04
000002af: PUSH1 0x24
000002b1: DUP1
000002b2: CALLDATALOAD
000002b3: DUP3
000002b4: DUP2
000002b5: ADD
000002b6: CALLDATALOAD
000002b7: PUSH1 0x1f
000002b9: DUP2
000002ba: ADD
000002bb: DUP6
000002bc: SWAP1
000002bd: DIV
000002be: DUP6
000002bf: MUL
000002c0: DUP7
000002c1: ADD
000002c2: DUP6
000002c3: ADD
000002c4: SWAP1
000002c5: SWAP7
000002c6: MSTORE
000002c7: DUP6
000002c8: DUP6
000002c9: MSTORE
000002ca: PUSH2 0x022b
000002cd: SWAP6
000002ce: DUP4
000002cf: CALLDATALOAD
000002d0: PUSH1 0x01
000002d2: PUSH1 0xa0
000002d4: PUSH1 0x02
000002d6: EXP
000002d7: SUB
000002d8: AND
000002d9: SWAP6
000002da: CALLDATASIZE
000002db: SWAP6
000002dc: PUSH1 0x44
000002de: SWAP5
000002df: SWAP2
000002e0: SWAP4
000002e1: SWAP1
000002e2: SWAP2
000002e3: ADD
000002e4: SWAP2
000002e5: SWAP1
000002e6: DUP2
000002e7: SWAP1
000002e8: DUP5
000002e9: ADD
000002ea: DUP4
000002eb: DUP3
000002ec: DUP1
000002ed: DUP3
000002ee: DUP5
000002ef: CALLDATACOPY
000002f0: POP
000002f1: SWAP5
000002f2: SWAP8
000002f3: POP
000002f4: PUSH2 0x0f21
000002f7: SWAP7
000002f8: POP
000002f9: POP
000002fa: POP
000002fb: POP
000002fc: POP
000002fd: POP
000002fe: POP
000002ff: JUMP
00000300: JUMPDEST
00000301: CALLVALUE
00000302: DUP1
00000303: ISZERO
00000304: PUSH2 0x030c
00000307: JUMPI
00000308: PUSH1 0x00
0000030a: DUP1
0000030b: REVERT
0000030c: JUMPDEST
0000030d: POP
0000030e: PUSH2 0x0321
00000311: PUSH1 0x01
00000313: PUSH1 0xa0
00000315: PUSH1 0x02
00000317: EXP
00000318: SUB
00000319: PUSH1 0x04
0000031b: CALLDATALOAD
0000031c: AND
0000031d: PUSH2 0x0f8f
00000320: JUMP
00000321: JUMPDEST
00000322: PUSH1 0x40
00000324: DUP1
00000325: MLOAD
00000326: SWAP10
00000327: DUP11
00000328: MSTORE
00000329: PUSH1 0x20
0000032b: DUP11
0000032c: ADD
0000032d: SWAP9
0000032e: SWAP1
0000032f: SWAP9
00000330: MSTORE
00000331: DUP9
00000332: DUP9
00000333: ADD
00000334: SWAP7
00000335: SWAP1
00000336: SWAP7
00000337: MSTORE
00000338: PUSH1 0x60
0000033a: DUP9
0000033b: ADD
0000033c: SWAP5
0000033d: SWAP1
0000033e: SWAP5
0000033f: MSTORE
00000340: PUSH1 0x80
00000342: DUP8
00000343: ADD
00000344: SWAP3
00000345: SWAP1
00000346: SWAP3
00000347: MSTORE
00000348: PUSH1 0xa0
0000034a: DUP7
0000034b: ADD
0000034c: MSTORE
0000034d: PUSH1 0xc0
0000034f: DUP6
00000350: ADD
00000351: MSTORE
00000352: PUSH1 0x01
00000354: PUSH1 0xa0
00000356: PUSH1 0x02
00000358: EXP
00000359: SUB
0000035a: AND
0000035b: PUSH1 0xe0
0000035d: DUP5
0000035e: ADD
0000035f: MSTORE
00000360: ISZERO
00000361: ISZERO
00000362: PUSH2 0x0100
00000365: DUP4
00000366: ADD
00000367: MSTORE
00000368: MLOAD
00000369: SWAP1
0000036a: DUP2
0000036b: SWAP1
0000036c: SUB
0000036d: PUSH2 0x0120
00000370: ADD
00000371: SWAP1
00000372: RETURN
00000373: JUMPDEST
00000374: CALLVALUE
00000375: DUP1
00000376: ISZERO
00000377: PUSH2 0x037f
0000037a: JUMPI
0000037b: PUSH1 0x00
0000037d: DUP1
0000037e: REVERT
0000037f: JUMPDEST
00000380: POP
00000381: PUSH2 0x022b
00000384: PUSH1 0x04
00000386: CALLDATALOAD
00000387: PUSH2 0x114d
0000038a: JUMP
0000038b: JUMPDEST
0000038c: CALLVALUE
0000038d: DUP1
0000038e: ISZERO
0000038f: PUSH2 0x0397
00000392: JUMPI
00000393: PUSH1 0x00
00000395: DUP1
00000396: REVERT
00000397: JUMPDEST
00000398: POP
00000399: PUSH2 0x0287
0000039c: PUSH1 0x01
0000039e: PUSH1 0xa0
000003a0: PUSH1 0x02
000003a2: EXP
000003a3: SUB
000003a4: PUSH1 0x04
000003a6: CALLDATALOAD
000003a7: AND
000003a8: PUSH2 0x1209
000003ab: JUMP
000003ac: JUMPDEST
000003ad: CALLVALUE
000003ae: DUP1
000003af: ISZERO
000003b0: PUSH2 0x03b8
000003b3: JUMPI
000003b4: PUSH1 0x00
000003b6: DUP1
000003b7: REVERT
000003b8: JUMPDEST
000003b9: POP
000003ba: PUSH1 0x40
000003bc: DUP1
000003bd: MLOAD
000003be: PUSH1 0x20
000003c0: PUSH1 0x04
000003c2: PUSH1 0x24
000003c4: DUP1
000003c5: CALLDATALOAD
000003c6: DUP3
000003c7: DUP2
000003c8: ADD
000003c9: CALLDATALOAD
000003ca: PUSH1 0x1f
000003cc: DUP2
000003cd: ADD
000003ce: DUP6
000003cf: SWAP1
000003d0: DIV
000003d1: DUP6
000003d2: MUL
000003d3: DUP7
000003d4: ADD
000003d5: DUP6
000003d6: ADD
000003d7: SWAP1
000003d8: SWAP7
000003d9: MSTORE
000003da: DUP6
000003db: DUP6
000003dc: MSTORE
000003dd: PUSH2 0x0413
000003e0: SWAP6
000003e1: DUP4
000003e2: CALLDATALOAD
000003e3: PUSH1 0x01
000003e5: PUSH1 0xa0
000003e7: PUSH1 0x02
000003e9: EXP
000003ea: SUB
000003eb: AND
000003ec: SWAP6
000003ed: CALLDATASIZE
000003ee: SWAP6
000003ef: PUSH1 0x44
000003f1: SWAP5
000003f2: SWAP2
000003f3: SWAP4
000003f4: SWAP1
000003f5: SWAP2
000003f6: ADD
000003f7: SWAP2
000003f8: SWAP1
000003f9: DUP2
000003fa: SWAP1
000003fb: DUP5
000003fc: ADD
000003fd: DUP4
000003fe: DUP3
000003ff: DUP1
00000400: DUP3
00000401: DUP5
00000402: CALLDATACOPY
00000403: POP
00000404: SWAP5
00000405: SWAP8
00000406: POP
00000407: PUSH2 0x1227
0000040a: SWAP7
0000040b: POP
0000040c: POP
0000040d: POP
0000040e: POP
0000040f: POP
00000410: POP
00000411: POP
00000412: JUMP
00000413: JUMPDEST
00000414: PUSH1 0x40
00000416: DUP1
00000417: MLOAD
00000418: SWAP2
00000419: ISZERO
0000041a: ISZERO
0000041b: DUP3
0000041c: MSTORE
0000041d: MLOAD
0000041e: SWAP1
0000041f: DUP2
00000420: SWAP1
00000421: SUB
00000422: PUSH1 0x20
00000424: ADD
00000425: SWAP1
00000426: RETURN
00000427: JUMPDEST
00000428: CALLVALUE
00000429: DUP1
0000042a: ISZERO
0000042b: PUSH2 0x0433
0000042e: JUMPI
0000042f: PUSH1 0x00
00000431: DUP1
00000432: REVERT
00000433: JUMPDEST
00000434: POP
00000435: PUSH2 0x0448
00000438: PUSH1 0x01
0000043a: PUSH1 0xa0
0000043c: PUSH1 0x02
0000043e: EXP
0000043f: SUB
00000440: PUSH1 0x04
00000442: CALLDATALOAD
00000443: AND
00000444: PUSH2 0x129a
00000447: JUMP
00000448: JUMPDEST
00000449: PUSH1 0x40
0000044b: DUP1
0000044c: MLOAD
0000044d: SWAP5
0000044e: DUP6
0000044f: MSTORE
00000450: PUSH1 0x20
00000452: DUP6
00000453: ADD
00000454: SWAP4
00000455: SWAP1
00000456: SWAP4
00000457: MSTORE
00000458: DUP4
00000459: DUP4
0000045a: ADD
0000045b: SWAP2
0000045c: SWAP1
0000045d: SWAP2
0000045e: MSTORE
0000045f: PUSH1 0x60
00000461: DUP4
00000462: ADD
00000463: MSTORE
00000464: MLOAD
00000465: SWAP1
00000466: DUP2
00000467: SWAP1
00000468: SUB
00000469: PUSH1 0x80
0000046b: ADD
0000046c: SWAP1
0000046d: RETURN
0000046e: JUMPDEST
0000046f: CALLVALUE
00000470: DUP1
00000471: ISZERO
00000472: PUSH2 0x047a
00000475: JUMPI
00000476: PUSH1 0x00
00000478: DUP1
00000479: REVERT
0000047a: JUMPDEST
0000047b: POP
0000047c: PUSH2 0x0413
0000047f: PUSH1 0x01
00000481: PUSH1 0xa0
00000483: PUSH1 0x02
00000485: EXP
00000486: SUB
00000487: PUSH1 0x04
00000489: CALLDATALOAD
0000048a: AND
0000048b: PUSH2 0x12ce
0000048e: JUMP
0000048f: JUMPDEST
00000490: CALLVALUE
00000491: DUP1
00000492: ISZERO
00000493: PUSH2 0x049b
00000496: JUMPI
00000497: PUSH1 0x00
00000499: DUP1
0000049a: REVERT
0000049b: JUMPDEST
0000049c: POP
0000049d: PUSH2 0x04a4
000004a0: PUSH2 0x137e
000004a3: JUMP
000004a4: JUMPDEST
000004a5: PUSH1 0x40
000004a7: DUP1
000004a8: MLOAD
000004a9: SWAP12
000004aa: DUP13
000004ab: MSTORE
000004ac: PUSH1 0x20
000004ae: DUP13
000004af: ADD
000004b0: SWAP11
000004b1: SWAP1
000004b2: SWAP11
000004b3: MSTORE
000004b4: DUP11
000004b5: DUP11
000004b6: ADD
000004b7: SWAP9
000004b8: SWAP1
000004b9: SWAP9
000004ba: MSTORE
000004bb: PUSH1 0x60
000004bd: DUP11
000004be: ADD
000004bf: SWAP7
000004c0: SWAP1
000004c1: SWAP7
000004c2: MSTORE
000004c3: PUSH1 0x80
000004c5: DUP10
000004c6: ADD
000004c7: SWAP5
000004c8: SWAP1
000004c9: SWAP5
000004ca: MSTORE
000004cb: PUSH1 0x01
000004cd: PUSH1 0xa0
000004cf: PUSH1 0x02
000004d1: EXP
000004d2: SUB
000004d3: SWAP3
000004d4: DUP4
000004d5: AND
000004d6: PUSH1 0xa0
000004d8: DUP10
000004d9: ADD
000004da: MSTORE
000004db: PUSH1 0xc0
000004dd: DUP9
000004de: ADD
000004df: SWAP2
000004e0: SWAP1
000004e1: SWAP2
000004e2: MSTORE
000004e3: PUSH1 0xe0
000004e5: DUP8
000004e6: ADD
000004e7: MSTORE
000004e8: PUSH2 0x0100
000004eb: DUP7
000004ec: ADD
000004ed: SWAP2
000004ee: SWAP1
000004ef: SWAP2
000004f0: MSTORE
000004f1: AND
000004f2: PUSH2 0x0120
000004f5: DUP5
000004f6: ADD
000004f7: MSTORE
000004f8: ISZERO
000004f9: ISZERO
000004fa: PUSH2 0x0140
000004fd: DUP4
000004fe: ADD
000004ff: MSTORE
00000500: MLOAD
00000501: SWAP1
00000502: DUP2
00000503: SWAP1
00000504: SUB
00000505: PUSH2 0x0160
00000508: ADD
00000509: SWAP1
0000050a: RETURN
0000050b: JUMPDEST
0000050c: CALLVALUE
0000050d: DUP1
0000050e: ISZERO
0000050f: PUSH2 0x0517
00000512: JUMPI
00000513: PUSH1 0x00
00000515: DUP1
00000516: REVERT
00000517: JUMPDEST
00000518: POP
00000519: PUSH2 0x0287
0000051c: PUSH1 0x01
0000051e: PUSH1 0xa0
00000520: PUSH1 0x02
00000522: EXP
00000523: SUB
00000524: PUSH1 0x04
00000526: CALLDATALOAD
00000527: AND
00000528: PUSH2 0x19d1
0000052b: JUMP
0000052c: JUMPDEST
0000052d: CALLVALUE
0000052e: DUP1
0000052f: ISZERO
00000530: PUSH2 0x0538
00000533: JUMPI
00000534: PUSH1 0x00
00000536: DUP1
00000537: REVERT
00000538: JUMPDEST
00000539: POP
0000053a: PUSH2 0x0287
0000053d: PUSH1 0x01
0000053f: PUSH1 0xa0
00000541: PUSH1 0x02
00000543: EXP
00000544: SUB
00000545: PUSH1 0x04
00000547: CALLDATALOAD
00000548: AND
00000549: PUSH2 0x19ef
0000054c: JUMP
0000054d: JUMPDEST
0000054e: PUSH2 0x022b
00000551: PUSH1 0x01
00000553: PUSH1 0xa0
00000555: PUSH1 0x02
00000557: EXP
00000558: SUB
00000559: PUSH1 0x04
0000055b: CALLDATALOAD
0000055c: AND
0000055d: PUSH2 0x1a0d
00000560: JUMP
00000561: JUMPDEST
00000562: CALLVALUE
00000563: DUP1
00000564: ISZERO
00000565: PUSH2 0x056d
00000568: JUMPI
00000569: PUSH1 0x00
0000056b: DUP1
0000056c: REVERT
0000056d: JUMPDEST
0000056e: POP
0000056f: PUSH2 0x022b
00000572: PUSH1 0x01
00000574: PUSH1 0xa0
00000576: PUSH1 0x02
00000578: EXP
00000579: SUB
0000057a: PUSH1 0x04
0000057c: CALLDATALOAD
0000057d: AND
0000057e: PUSH1 0x24
00000580: CALLDATALOAD
00000581: PUSH2 0x1cd3
00000584: JUMP
00000585: JUMPDEST
00000586: CALLVALUE
00000587: DUP1
00000588: ISZERO
00000589: PUSH2 0x0591
0000058c: JUMPI
0000058d: PUSH1 0x00
0000058f: DUP1
00000590: REVERT
00000591: JUMPDEST
00000592: POP
00000593: PUSH2 0x022b
00000596: PUSH1 0x04
00000598: CALLDATALOAD
00000599: PUSH2 0x1e57
0000059c: JUMP
0000059d: JUMPDEST
0000059e: CALLVALUE
0000059f: DUP1
000005a0: ISZERO
000005a1: PUSH2 0x05a9
000005a4: JUMPI
000005a5: PUSH1 0x00
000005a7: DUP1
000005a8: REVERT
000005a9: JUMPDEST
000005aa: POP
000005ab: PUSH2 0x0287
000005ae: PUSH1 0x01
000005b0: PUSH1 0xa0
000005b2: PUSH1 0x02
000005b4: EXP
000005b5: SUB
000005b6: PUSH1 0x04
000005b8: CALLDATALOAD
000005b9: AND
000005ba: PUSH2 0x1fa3
000005bd: JUMP
000005be: JUMPDEST
000005bf: CALLVALUE
000005c0: DUP1
000005c1: ISZERO
000005c2: PUSH2 0x05ca
000005c5: JUMPI
000005c6: PUSH1 0x00
000005c8: DUP1
000005c9: REVERT
000005ca: JUMPDEST
000005cb: POP
000005cc: PUSH2 0x022b
000005cf: PUSH2 0x1fc1
000005d2: JUMP
000005d3: JUMPDEST
000005d4: CALLVALUE
000005d5: DUP1
000005d6: ISZERO
000005d7: PUSH2 0x05df
000005da: JUMPI
000005db: PUSH1 0x00
000005dd: DUP1
000005de: REVERT
000005df: JUMPDEST
000005e0: POP
000005e1: PUSH2 0x022b
000005e4: PUSH1 0x01
000005e6: PUSH1 0xa0
000005e8: PUSH1 0x02
000005ea: EXP
000005eb: SUB
000005ec: PUSH1 0x04
000005ee: CALLDATALOAD
000005ef: AND
000005f0: PUSH2 0x20d1
000005f3: JUMP
000005f4: JUMPDEST
000005f5: CALLVALUE
000005f6: DUP1
000005f7: ISZERO
000005f8: PUSH2 0x0600
000005fb: JUMPI
000005fc: PUSH1 0x00
000005fe: DUP1
000005ff: REVERT
00000600: JUMPDEST
00000601: POP
00000602: PUSH2 0x0287
00000605: PUSH1 0x01
00000607: PUSH1 0xa0
00000609: PUSH1 0x02
0000060b: EXP
0000060c: SUB
0000060d: PUSH1 0x04
0000060f: CALLDATALOAD
00000610: AND
00000611: PUSH2 0x228f
00000614: JUMP
00000615: JUMPDEST
00000616: CALLVALUE
00000617: DUP1
00000618: ISZERO
00000619: PUSH2 0x0621
0000061c: JUMPI
0000061d: PUSH1 0x00
0000061f: DUP1
00000620: REVERT
00000621: JUMPDEST
00000622: POP
00000623: PUSH2 0x062a
00000626: PUSH2 0x230d
00000629: JUMP
0000062a: JUMPDEST
0000062b: PUSH1 0x40
0000062d: DUP1
0000062e: MLOAD
0000062f: PUSH1 0xff
00000631: SWAP1
00000632: SWAP3
00000633: AND
00000634: DUP3
00000635: MSTORE
00000636: MLOAD
00000637: SWAP1
00000638: DUP2
00000639: SWAP1
0000063a: SUB
0000063b: PUSH1 0x20
0000063d: ADD
0000063e: SWAP1
0000063f: RETURN
00000640: JUMPDEST
00000641: CALLVALUE
00000642: DUP1
00000643: ISZERO
00000644: PUSH2 0x064c
00000647: JUMPI
00000648: PUSH1 0x00
0000064a: DUP1
0000064b: REVERT
0000064c: JUMPDEST
0000064d: POP
0000064e: PUSH2 0x0655
00000651: PUSH2 0x2312
00000654: JUMP
00000655: JUMPDEST
00000656: PUSH1 0x40
00000658: DUP1
00000659: MLOAD
0000065a: SWAP13
0000065b: DUP14
0000065c: MSTORE
0000065d: PUSH1 0x20
0000065f: DUP14
00000660: ADD
00000661: SWAP12
00000662: SWAP1
00000663: SWAP12
00000664: MSTORE
00000665: PUSH1 0x01
00000667: PUSH1 0x80
00000669: PUSH1 0x02
0000066b: EXP
0000066c: SUB
0000066d: NOT
0000066e: SWAP1
0000066f: SWAP10
00000670: AND
00000671: DUP12
00000672: DUP12
00000673: ADD
00000674: MSTORE
00000675: PUSH1 0x01
00000677: PUSH1 0xa0
00000679: PUSH1 0x02
0000067b: EXP
0000067c: SUB
0000067d: SWAP1
0000067e: SWAP8
0000067f: AND
00000680: PUSH1 0x60
00000682: DUP12
00000683: ADD
00000684: MSTORE
00000685: PUSH1 0x80
00000687: DUP11
00000688: ADD
00000689: SWAP6
0000068a: SWAP1
0000068b: SWAP6
0000068c: MSTORE
0000068d: PUSH1 0xa0
0000068f: DUP10
00000690: ADD
00000691: SWAP4
00000692: SWAP1
00000693: SWAP4
00000694: MSTORE
00000695: PUSH1 0xc0
00000697: DUP9
00000698: ADD
00000699: SWAP2
0000069a: SWAP1
0000069b: SWAP2
0000069c: MSTORE
0000069d: PUSH1 0xe0
0000069f: DUP8
000006a0: ADD
000006a1: MSTORE
000006a2: PUSH2 0x0100
000006a5: DUP7
000006a6: ADD
000006a7: MSTORE
000006a8: PUSH2 0x0120
000006ab: DUP6
000006ac: ADD
000006ad: MSTORE
000006ae: PUSH2 0x0140
000006b1: DUP5
000006b2: ADD
000006b3: MSTORE
000006b4: PUSH2 0x0160
000006b7: DUP4
000006b8: ADD
000006b9: MSTORE
000006ba: MLOAD
000006bb: SWAP1
000006bc: DUP2
000006bd: SWAP1
000006be: SUB
000006bf: PUSH2 0x0180
000006c2: ADD
000006c3: SWAP1
000006c4: RETURN
000006c5: JUMPDEST
000006c6: CALLVALUE
000006c7: DUP1
000006c8: ISZERO
000006c9: PUSH2 0x06d1
000006cc: JUMPI
000006cd: PUSH1 0x00
000006cf: DUP1
000006d0: REVERT
000006d1: JUMPDEST
000006d2: POP
000006d3: PUSH2 0x0287
000006d6: PUSH1 0x01
000006d8: PUSH1 0xa0
000006da: PUSH1 0x02
000006dc: EXP
000006dd: SUB
000006de: PUSH1 0x04
000006e0: CALLDATALOAD
000006e1: AND
000006e2: PUSH2 0x235f
000006e5: JUMP
000006e6: JUMPDEST
000006e7: CALLVALUE
000006e8: DUP1
000006e9: ISZERO
000006ea: PUSH2 0x06f2
000006ed: JUMPI
000006ee: PUSH1 0x00
000006f0: DUP1
000006f1: REVERT
000006f2: JUMPDEST
000006f3: POP
000006f4: PUSH2 0x0287
000006f7: PUSH1 0x01
000006f9: PUSH1 0xa0
000006fb: PUSH1 0x02
000006fd: EXP
000006fe: SUB
000006ff: PUSH1 0x04
00000701: CALLDATALOAD
00000702: AND
00000703: PUSH2 0x237d
00000706: JUMP
00000707: JUMPDEST
00000708: CALLVALUE
00000709: DUP1
0000070a: ISZERO
0000070b: PUSH2 0x0713
0000070e: JUMPI
0000070f: PUSH1 0x00
00000711: DUP1
00000712: REVERT
00000713: JUMPDEST
00000714: POP
00000715: PUSH1 0x40
00000717: DUP1
00000718: MLOAD
00000719: PUSH1 0x20
0000071b: PUSH1 0x04
0000071d: PUSH1 0x24
0000071f: DUP1
00000720: CALLDATALOAD
00000721: DUP3
00000722: DUP2
00000723: ADD
00000724: CALLDATALOAD
00000725: PUSH1 0x1f
00000727: DUP2
00000728: ADD
00000729: DUP6
0000072a: SWAP1
0000072b: DIV
0000072c: DUP6
0000072d: MUL
0000072e: DUP7
0000072f: ADD
00000730: DUP6
00000731: ADD
00000732: SWAP1
00000733: SWAP7
00000734: MSTORE
00000735: DUP6
00000736: DUP6
00000737: MSTORE
00000738: PUSH2 0x022b
0000073b: SWAP6
0000073c: DUP4
0000073d: CALLDATALOAD
0000073e: PUSH1 0x01
00000740: PUSH1 0xa0
00000742: PUSH1 0x02
00000744: EXP
00000745: SUB
00000746: AND
00000747: SWAP6
00000748: CALLDATASIZE
00000749: SWAP6
0000074a: PUSH1 0x44
0000074c: SWAP5
0000074d: SWAP2
0000074e: SWAP4
0000074f: SWAP1
00000750: SWAP2
00000751: ADD
00000752: SWAP2
00000753: SWAP1
00000754: DUP2
00000755: SWAP1
00000756: DUP5
00000757: ADD
00000758: DUP4
00000759: DUP3
0000075a: DUP1
0000075b: DUP3
0000075c: DUP5
0000075d: CALLDATACOPY
0000075e: POP
0000075f: SWAP5
00000760: SWAP8
00000761: POP
00000762: PUSH2 0x239b
00000765: SWAP7
00000766: POP
00000767: POP
00000768: POP
00000769: POP
0000076a: POP
0000076b: POP
0000076c: POP
0000076d: JUMP
0000076e: JUMPDEST
0000076f: CALLVALUE
00000770: DUP1
00000771: ISZERO
00000772: PUSH2 0x077a
00000775: JUMPI
00000776: PUSH1 0x00
00000778: DUP1
00000779: REVERT
0000077a: JUMPDEST
0000077b: POP
0000077c: PUSH2 0x022b
0000077f: PUSH2 0x23d2
00000782: JUMP
00000783: JUMPDEST
00000784: CALLVALUE
00000785: DUP1
00000786: ISZERO
00000787: PUSH2 0x078f
0000078a: JUMPI
0000078b: PUSH1 0x00
0000078d: DUP1
0000078e: REVERT
0000078f: JUMPDEST
00000790: POP
00000791: PUSH2 0x0798
00000794: PUSH2 0x24dc
00000797: JUMP
00000798: JUMPDEST
00000799: PUSH1 0x40
0000079b: DUP1
0000079c: MLOAD
0000079d: PUSH1 0x01
0000079f: PUSH1 0xa0
000007a1: PUSH1 0x02
000007a3: EXP
000007a4: SUB
000007a5: SWAP1
000007a6: SWAP3
000007a7: AND
000007a8: DUP3
000007a9: MSTORE
000007aa: MLOAD
000007ab: SWAP1
000007ac: DUP2
000007ad: SWAP1
000007ae: SUB
000007af: PUSH1 0x20
000007b1: ADD
000007b2: SWAP1
000007b3: RETURN
000007b4: JUMPDEST
000007b5: CALLVALUE
000007b6: DUP1
000007b7: ISZERO
000007b8: PUSH2 0x07c0
000007bb: JUMPI
000007bc: PUSH1 0x00
000007be: DUP1
000007bf: REVERT
000007c0: JUMPDEST
000007c1: POP
000007c2: PUSH2 0x07c9
000007c5: PUSH2 0x24eb
000007c8: JUMP
000007c9: JUMPDEST
000007ca: PUSH1 0x40
000007cc: DUP1
000007cd: MLOAD
000007ce: PUSH1 0x20
000007d0: DUP1
000007d1: DUP3
000007d2: MSTORE
000007d3: DUP4
000007d4: MLOAD
000007d5: DUP2
000007d6: DUP4
000007d7: ADD
000007d8: MSTORE
000007d9: DUP4
000007da: MLOAD
000007db: SWAP2
000007dc: SWAP3
000007dd: DUP4
000007de: SWAP3
000007df: SWAP1
000007e0: DUP4
000007e1: ADD
000007e2: SWAP2
000007e3: DUP6
000007e4: DUP2
000007e5: ADD
000007e6: SWAP2
000007e7: MUL
000007e8: DUP1
000007e9: DUP4
000007ea: DUP4
000007eb: PUSH1 0x00
000007ed: JUMPDEST
000007ee: DUP4
000007ef: DUP2
000007f0: LT
000007f1: ISZERO
000007f2: PUSH2 0x0805
000007f5: JUMPI
000007f6: DUP2
000007f7: DUP2
000007f8: ADD
000007f9: MLOAD
000007fa: DUP4
000007fb: DUP3
000007fc: ADD
000007fd: MSTORE
000007fe: PUSH1 0x20
00000800: ADD
00000801: PUSH2 0x07ed
00000804: JUMP
00000805: JUMPDEST
00000806: POP
00000807: POP
00000808: POP
00000809: POP
0000080a: SWAP1
0000080b: POP
0000080c: ADD
0000080d: SWAP3
0000080e: POP
0000080f: POP
00000810: POP
00000811: PUSH1 0x40
00000813: MLOAD
00000814: DUP1
00000815: SWAP2
00000816: SUB
00000817: SWAP1
00000818: RETURN
00000819: JUMPDEST
0000081a: CALLVALUE
0000081b: DUP1
0000081c: ISZERO
0000081d: PUSH2 0x0825
00000820: JUMPI
00000821: PUSH1 0x00
00000823: DUP1
00000824: REVERT
00000825: JUMPDEST
00000826: POP
00000827: PUSH2 0x0287
0000082a: PUSH1 0x01
0000082c: PUSH1 0xa0
0000082e: PUSH1 0x02
00000830: EXP
00000831: SUB
00000832: PUSH1 0x04
00000834: CALLDATALOAD
00000835: AND
00000836: PUSH2 0x259a
00000839: JUMP
0000083a: JUMPDEST
0000083b: CALLVALUE
0000083c: DUP1
0000083d: ISZERO
0000083e: PUSH2 0x0846
00000841: JUMPI
00000842: PUSH1 0x00
00000844: DUP1
00000845: REVERT
00000846: JUMPDEST
00000847: POP
00000848: PUSH2 0x022b
0000084b: PUSH1 0x01
0000084d: PUSH1 0xa0
0000084f: PUSH1 0x02
00000851: EXP
00000852: SUB
00000853: PUSH1 0x04
00000855: CALLDATALOAD
00000856: AND
00000857: PUSH2 0x25b8
0000085a: JUMP
0000085b: JUMPDEST
0000085c: CALLVALUE
0000085d: DUP1
0000085e: ISZERO
0000085f: PUSH2 0x0867
00000862: JUMPI
00000863: PUSH1 0x00
00000865: DUP1
00000866: REVERT
00000867: JUMPDEST
00000868: POP
00000869: PUSH1 0x40
0000086b: DUP1
0000086c: MLOAD
0000086d: PUSH1 0x20
0000086f: PUSH1 0x04
00000871: PUSH1 0x24
00000873: DUP1
00000874: CALLDATALOAD
00000875: DUP3
00000876: DUP2
00000877: ADD
00000878: CALLDATALOAD
00000879: PUSH1 0x1f
0000087b: DUP2
0000087c: ADD
0000087d: DUP6
0000087e: SWAP1
0000087f: DIV
00000880: DUP6
00000881: MUL
00000882: DUP7
00000883: ADD
00000884: DUP6
00000885: ADD
00000886: SWAP1
00000887: SWAP7
00000888: MSTORE
00000889: DUP6
0000088a: DUP6
0000088b: MSTORE
0000088c: PUSH2 0x022b
0000088f: SWAP6
00000890: DUP4
00000891: CALLDATALOAD
00000892: PUSH1 0x01
00000894: PUSH1 0xa0
00000896: PUSH1 0x02
00000898: EXP
00000899: SUB
0000089a: AND
0000089b: SWAP6
0000089c: CALLDATASIZE
0000089d: SWAP6
0000089e: PUSH1 0x44
000008a0: SWAP5
000008a1: SWAP2
000008a2: SWAP4
000008a3: SWAP1
000008a4: SWAP2
000008a5: ADD
000008a6: SWAP2
000008a7: SWAP1
000008a8: DUP2
000008a9: SWAP1
000008aa: DUP5
000008ab: ADD
000008ac: DUP4
000008ad: DUP3
000008ae: DUP1
000008af: DUP3
000008b0: DUP5
000008b1: CALLDATACOPY
000008b2: POP
000008b3: SWAP5
000008b4: SWAP8
000008b5: POP
000008b6: PUSH2 0x266a
000008b9: SWAP7
000008ba: POP
000008bb: POP
000008bc: POP
000008bd: POP
000008be: POP
000008bf: POP
000008c0: POP
000008c1: JUMP
000008c2: JUMPDEST
000008c3: CALLVALUE
000008c4: DUP1
000008c5: ISZERO
000008c6: PUSH2 0x08ce
000008c9: JUMPI
000008ca: PUSH1 0x00
000008cc: DUP1
000008cd: REVERT
000008ce: JUMPDEST
000008cf: POP
000008d0: PUSH2 0x022b
000008d3: PUSH2 0x26a1
000008d6: JUMP
000008d7: JUMPDEST
000008d8: CALLVALUE
000008d9: DUP1
000008da: ISZERO
000008db: PUSH2 0x08e3
000008de: JUMPI
000008df: PUSH1 0x00
000008e1: DUP1
000008e2: REVERT
000008e3: JUMPDEST
000008e4: POP
000008e5: PUSH2 0x022b
000008e8: PUSH1 0x04
000008ea: CALLDATALOAD
000008eb: PUSH2 0x275c
000008ee: JUMP
000008ef: JUMPDEST
000008f0: CALLVALUE
000008f1: DUP1
000008f2: ISZERO
000008f3: PUSH2 0x08fb
000008f6: JUMPI
000008f7: PUSH1 0x00
000008f9: DUP1
000008fa: REVERT
000008fb: JUMPDEST
000008fc: POP
000008fd: PUSH2 0x0287
00000900: PUSH1 0x01
00000902: PUSH1 0xa0
00000904: PUSH1 0x02
00000906: EXP
00000907: SUB
00000908: PUSH1 0x04
0000090a: CALLDATALOAD
0000090b: AND
0000090c: PUSH2 0x288d
0000090f: JUMP
00000910: JUMPDEST
00000911: CALLVALUE
00000912: DUP1
00000913: ISZERO
00000914: PUSH2 0x091c
00000917: JUMPI
00000918: PUSH1 0x00
0000091a: DUP1
0000091b: REVERT
0000091c: JUMPDEST
0000091d: POP
0000091e: PUSH2 0x022b
00000921: PUSH1 0x24
00000923: PUSH1 0x04
00000925: DUP1
00000926: CALLDATALOAD
00000927: DUP3
00000928: DUP2
00000929: ADD
0000092a: SWAP3
0000092b: SWAP1
0000092c: DUP3
0000092d: ADD
0000092e: CALLDATALOAD
0000092f: SWAP2
00000930: DUP2
00000931: CALLDATALOAD
00000932: SWAP2
00000933: DUP3
00000934: ADD
00000935: SWAP2
00000936: ADD
00000937: CALLDATALOAD
00000938: PUSH2 0x28ab
0000093b: JUMP
0000093c: JUMPDEST
0000093d: CALLVALUE
0000093e: DUP1
0000093f: ISZERO
00000940: PUSH2 0x0948
00000943: JUMPI
00000944: PUSH1 0x00
00000946: DUP1
00000947: REVERT
00000948: JUMPDEST
00000949: POP
0000094a: PUSH2 0x07c9
0000094d: PUSH2 0x2a73
00000950: JUMP
00000951: JUMPDEST
00000952: CALLVALUE
00000953: DUP1
00000954: ISZERO
00000955: PUSH2 0x095d
00000958: JUMPI
00000959: PUSH1 0x00
0000095b: DUP1
0000095c: REVERT
0000095d: JUMPDEST
0000095e: POP
0000095f: PUSH2 0x0966
00000962: PUSH2 0x2b1a
00000965: JUMP
00000966: JUMPDEST
00000967: PUSH1 0x40
00000969: DUP1
0000096a: MLOAD
0000096b: PUSH1 0x20
0000096d: DUP1
0000096e: DUP3
0000096f: MSTORE
00000970: DUP4
00000971: MLOAD
00000972: DUP2
00000973: DUP4
00000974: ADD
00000975: MSTORE
00000976: DUP4
00000977: MLOAD
00000978: SWAP2
00000979: SWAP3
0000097a: DUP4
0000097b: SWAP3
0000097c: SWAP1
0000097d: DUP4
0000097e: ADD
0000097f: SWAP2
00000980: DUP6
00000981: ADD
00000982: SWAP1
00000983: DUP1
00000984: DUP4
00000985: DUP4
00000986: PUSH1 0x00
00000988: JUMPDEST
00000989: DUP4
0000098a: DUP2
0000098b: LT
0000098c: ISZERO
0000098d: PUSH2 0x09a0
00000990: JUMPI
00000991: DUP2
00000992: DUP2
00000993: ADD
00000994: MLOAD
00000995: DUP4
00000996: DUP3
00000997: ADD
00000998: MSTORE
00000999: PUSH1 0x20
0000099b: ADD
0000099c: PUSH2 0x0988
0000099f: JUMP
000009a0: JUMPDEST
000009a1: POP
000009a2: POP
000009a3: POP
000009a4: POP
000009a5: SWAP1
000009a6: POP
000009a7: SWAP1
000009a8: DUP2
000009a9: ADD
000009aa: SWAP1
000009ab: PUSH1 0x1f
000009ad: AND
000009ae: DUP1
000009af: ISZERO
000009b0: PUSH2 0x09cd
000009b3: JUMPI
000009b4: DUP1
000009b5: DUP3
000009b6: SUB
000009b7: DUP1
000009b8: MLOAD
000009b9: PUSH1 0x01
000009bb: DUP4
000009bc: PUSH1 0x20
000009be: SUB
000009bf: PUSH2 0x0100
000009c2: EXP
000009c3: SUB
000009c4: NOT
000009c5: AND
000009c6: DUP2
000009c7: MSTORE
000009c8: PUSH1 0x20
000009ca: ADD
000009cb: SWAP2
000009cc: POP
000009cd: JUMPDEST
000009ce: POP
000009cf: SWAP3
000009d0: POP
000009d1: POP
000009d2: POP
000009d3: PUSH1 0x40
000009d5: MLOAD
000009d6: DUP1
000009d7: SWAP2
000009d8: SUB
000009d9: SWAP1
000009da: RETURN
000009db: JUMPDEST
000009dc: CALLVALUE
000009dd: DUP1
000009de: ISZERO
000009df: PUSH2 0x09e7
000009e2: JUMPI
000009e3: PUSH1 0x00
000009e5: DUP1
000009e6: REVERT
000009e7: JUMPDEST
000009e8: POP
000009e9: PUSH2 0x022b
000009ec: PUSH1 0x24
000009ee: PUSH1 0x04
000009f0: DUP1
000009f1: CALLDATALOAD
000009f2: DUP3
000009f3: DUP2
000009f4: ADD
000009f5: SWAP3
000009f6: SWAP1
000009f7: DUP3
000009f8: ADD
000009f9: CALLDATALOAD
000009fa: SWAP2
000009fb: DUP2
000009fc: CALLDATALOAD
000009fd: SWAP2
000009fe: DUP3
000009ff: ADD
00000a00: SWAP2
00000a01: ADD
00000a02: CALLDATALOAD
00000a03: PUSH2 0x2b3f
00000a06: JUMP
00000a07: JUMPDEST
00000a08: CALLVALUE
00000a09: DUP1
00000a0a: ISZERO
00000a0b: PUSH2 0x0a13
00000a0e: JUMPI
00000a0f: PUSH1 0x00
00000a11: DUP1
00000a12: REVERT
00000a13: JUMPDEST
00000a14: POP
00000a15: PUSH2 0x022b
00000a18: PUSH2 0x2cd0
00000a1b: JUMP
00000a1c: JUMPDEST
00000a1d: CALLVALUE
00000a1e: DUP1
00000a1f: ISZERO
00000a20: PUSH2 0x0a28
00000a23: JUMPI
00000a24: PUSH1 0x00
00000a26: DUP1
00000a27: REVERT
00000a28: JUMPDEST
00000a29: POP
00000a2a: PUSH2 0x022b
00000a2d: PUSH1 0x01
00000a2f: PUSH1 0xa0
00000a31: PUSH1 0x02
00000a33: EXP
00000a34: SUB
00000a35: PUSH1 0x04
00000a37: CALLDATALOAD
00000a38: AND
00000a39: PUSH2 0x2e15
00000a3c: JUMP
00000a3d: JUMPDEST
00000a3e: CALLVALUE
00000a3f: DUP1
00000a40: ISZERO
00000a41: PUSH2 0x0a49
00000a44: JUMPI
00000a45: PUSH1 0x00
00000a47: DUP1
00000a48: REVERT
00000a49: JUMPDEST
00000a4a: POP
00000a4b: PUSH2 0x022b
00000a4e: PUSH1 0x01
00000a50: PUSH1 0xa0
00000a52: PUSH1 0x02
00000a54: EXP
00000a55: SUB
00000a56: PUSH1 0x04
00000a58: CALLDATALOAD
00000a59: AND
00000a5a: PUSH2 0x2fbf
00000a5d: JUMP
00000a5e: JUMPDEST
00000a5f: CALLVALUE
00000a60: DUP1
00000a61: ISZERO
00000a62: PUSH2 0x0a6a
00000a65: JUMPI
00000a66: PUSH1 0x00
00000a68: DUP1
00000a69: REVERT
00000a6a: JUMPDEST
00000a6b: POP
00000a6c: PUSH2 0x0287
00000a6f: PUSH1 0x01
00000a71: PUSH1 0xa0
00000a73: PUSH1 0x02
00000a75: EXP
00000a76: SUB
00000a77: PUSH1 0x04
00000a79: CALLDATALOAD
00000a7a: AND
00000a7b: PUSH2 0x3057
00000a7e: JUMP
00000a7f: JUMPDEST
00000a80: CALLVALUE
00000a81: DUP1
00000a82: ISZERO
00000a83: PUSH2 0x0a8b
00000a86: JUMPI
00000a87: PUSH1 0x00
00000a89: DUP1
00000a8a: REVERT
00000a8b: JUMPDEST
00000a8c: POP
00000a8d: PUSH2 0x0798
00000a90: PUSH1 0x01
00000a92: PUSH1 0xa0
00000a94: PUSH1 0x02
00000a96: EXP
00000a97: SUB
00000a98: PUSH1 0x04
00000a9a: CALLDATALOAD
00000a9b: AND
00000a9c: PUSH2 0x3072
00000a9f: JUMP
00000aa0: JUMPDEST
00000aa1: PUSH1 0x07
00000aa3: SLOAD
00000aa4: PUSH1 0xe1
00000aa6: PUSH1 0x02
00000aa8: EXP
00000aa9: PUSH4 0x37b832b7
00000aae: MUL
00000aaf: SWAP1
00000ab0: PUSH1 0x80
00000ab2: PUSH1 0x02
00000ab4: EXP
00000ab5: MUL
00000ab6: PUSH1 0x01
00000ab8: PUSH1 0x80
00000aba: PUSH1 0x02
00000abc: EXP
00000abd: SUB
00000abe: NOT
00000abf: AND
00000ac0: DUP2
00000ac1: EQ
00000ac2: PUSH2 0x0b03
00000ac5: JUMPI
00000ac6: PUSH1 0x40
00000ac8: DUP1
00000ac9: MLOAD
00000aca: PUSH1 0xe5
00000acc: PUSH1 0x02
00000ace: EXP
00000acf: PUSH3 0x461bcd
00000ad3: MUL
00000ad4: DUP2
00000ad5: MSTORE
00000ad6: PUSH1 0x20
00000ad8: PUSH1 0x04
00000ada: DUP3
00000adb: ADD
00000adc: MSTORE
00000add: PUSH1 0x12
00000adf: PUSH1 0x24
00000ae1: DUP3
00000ae2: ADD
00000ae3: MSTORE
00000ae4: PUSH1 0x00
00000ae6: DUP1
00000ae7: MLOAD
00000ae8: PUSH1 0x20
00000aea: PUSH2 0x3331
00000aed: DUP4
00000aee: CODECOPY
00000aef: DUP2
00000af0: MLOAD
00000af1: SWAP2
00000af2: MSTORE
00000af3: PUSH1 0x44
00000af5: DUP3
00000af6: ADD
00000af7: MSTORE
00000af8: SWAP1
00000af9: MLOAD
00000afa: SWAP1
00000afb: DUP2
00000afc: SWAP1
00000afd: SUB
00000afe: PUSH1 0x64
00000b00: ADD
00000b01: SWAP1
00000b02: REVERT
00000b03: JUMPDEST
00000b04: PUSH1 0x03
00000b06: SLOAD
00000b07: PUSH1 0x40
00000b09: DUP1
00000b0a: MLOAD
00000b0b: PUSH32 0x3d9287fa00000000000000000000000000000000000000000000000000000000
00000b2c: DUP2
00000b2d: MSTORE
00000b2e: SWAP1
00000b2f: MLOAD
00000b30: CALLER
00000b31: SWAP3
00000b32: PUSH1 0x01
00000b34: PUSH1 0xa0
00000b36: PUSH1 0x02
00000b38: EXP
00000b39: SUB
00000b3a: AND
00000b3b: SWAP2
00000b3c: PUSH4 0x3d9287fa
00000b41: SWAP2
00000b42: PUSH1 0x04
00000b44: DUP1
00000b45: DUP4
00000b46: ADD
00000b47: SWAP3
00000b48: PUSH1 0x20
00000b4a: SWAP3
00000b4b: SWAP2
00000b4c: SWAP1
00000b4d: DUP3
00000b4e: SWAP1
00000b4f: SUB
00000b50: ADD
00000b51: DUP2
00000b52: PUSH1 0x00
00000b54: DUP8
00000b55: DUP1
00000b56: EXTCODESIZE
00000b57: ISZERO
00000b58: DUP1
00000b59: ISZERO
00000b5a: PUSH2 0x0b62
00000b5d: JUMPI
00000b5e: PUSH1 0x00
00000b60: DUP1
00000b61: REVERT
00000b62: JUMPDEST
00000b63: POP
00000b64: GAS
00000b65: CALL
00000b66: ISZERO
00000b67: DUP1
00000b68: ISZERO
00000b69: PUSH2 0x0b76
00000b6c: JUMPI
00000b6d: RETURNDATASIZE
00000b6e: PUSH1 0x00
00000b70: DUP1
00000b71: RETURNDATACOPY
00000b72: RETURNDATASIZE
00000b73: PUSH1 0x00
00000b75: REVERT
00000b76: JUMPDEST
00000b77: POP
00000b78: POP
00000b79: POP
00000b7a: POP
00000b7b: PUSH1 0x40
00000b7d: MLOAD
00000b7e: RETURNDATASIZE
00000b7f: PUSH1 0x20
00000b81: DUP2
00000b82: LT
00000b83: ISZERO
00000b84: PUSH2 0x0b8c
00000b87: JUMPI
00000b88: PUSH1 0x00
00000b8a: DUP1
00000b8b: REVERT
00000b8c: JUMPDEST
00000b8d: POP
00000b8e: MLOAD
00000b8f: ISZERO
00000b90: DUP1
00000b91: PUSH2 0x0bb2
00000b94: JUMPI
00000b95: POP
00000b96: PUSH1 0x01
00000b98: PUSH1 0xa0
00000b9a: PUSH1 0x02
00000b9c: EXP
00000b9d: SUB
00000b9e: DUP2
00000b9f: AND
00000ba0: PUSH1 0x00
00000ba2: SWAP1
00000ba3: DUP2
00000ba4: MSTORE
00000ba5: PUSH1 0x12
00000ba7: PUSH1 0x20
00000ba9: MSTORE
00000baa: PUSH1 0x40
00000bac: SWAP1
00000bad: KECCAK256
00000bae: SLOAD
00000baf: PUSH1 0xff
00000bb1: AND
00000bb2: JUMPDEST
00000bb3: ISZERO
00000bb4: ISZERO
00000bb5: PUSH2 0x0c08
00000bb8: JUMPI
00000bb9: PUSH1 0x40
00000bbb: DUP1
00000bbc: MLOAD
00000bbd: PUSH1 0xe5
00000bbf: PUSH1 0x02
00000bc1: EXP
00000bc2: PUSH3 0x461bcd
00000bc6: MUL
00000bc7: DUP2
00000bc8: MSTORE
00000bc9: PUSH1 0x20
00000bcb: PUSH1 0x04
00000bcd: DUP3
00000bce: ADD
00000bcf: MSTORE
00000bd0: PUSH1 0x0f
00000bd2: PUSH1 0x24
00000bd4: DUP3
00000bd5: ADD
00000bd6: MSTORE
00000bd7: PUSH32 0x6e6f742077686974656c69737465640000000000000000000000000000000000
00000bf8: PUSH1 0x44
00000bfa: DUP3
00000bfb: ADD
00000bfc: MSTORE
00000bfd: SWAP1
00000bfe: MLOAD
00000bff: SWAP1
00000c00: DUP2
00000c01: SWAP1
00000c02: SUB
00000c03: PUSH1 0x64
00000c05: ADD
00000c06: SWAP1
00000c07: REVERT
00000c08: JUMPDEST
00000c09: PUSH1 0x02
00000c0b: SLOAD
00000c0c: PUSH1 0xff
00000c0e: AND
00000c0f: ISZERO
00000c10: PUSH2 0x0c18
00000c13: JUMPI
00000c14: PUSH1 0x00
00000c16: DUP1
00000c17: REVERT
00000c18: JUMPDEST
00000c19: PUSH1 0x02
00000c1b: DUP1
00000c1c: SLOAD
00000c1d: PUSH1 0xff
00000c1f: NOT
00000c20: AND
00000c21: PUSH1 0x01
00000c23: OR
00000c24: SWAP1
00000c25: SSTORE
00000c26: PUSH1 0x40
00000c28: DUP1
00000c29: MLOAD
00000c2a: PUSH32 0x853eac2100000000000000000000000000000000000000000000000000000000
00000c4b: DUP2
00000c4c: MSTORE
00000c4d: PUSH1 0x03
00000c4f: PUSH1 0x04
00000c51: DUP3
00000c52: ADD
00000c53: MSTORE
00000c54: PUSH1 0x01
00000c56: PUSH1 0xa0
00000c58: PUSH1 0x02
00000c5a: EXP
00000c5b: SUB
00000c5c: CALLER
00000c5d: AND
00000c5e: PUSH1 0x24
00000c60: DUP3
00000c61: ADD
00000c62: MSTORE
00000c63: CALLVALUE
00000c64: PUSH1 0x44
00000c66: DUP3
00000c67: ADD
00000c68: MSTORE
00000c69: SWAP1
00000c6a: MLOAD
00000c6b: PUSH20 0x0ad9b58269b804ebd66c9b76e914b5a336c985bc
00000c80: SWAP2
00000c81: PUSH4 0x853eac21
00000c86: SWAP2
00000c87: PUSH1 0x64
00000c89: DUP1
00000c8a: DUP4
00000c8b: ADD
00000c8c: SWAP3
00000c8d: PUSH1 0x00
00000c8f: SWAP3
00000c90: SWAP2
00000c91: SWAP1
00000c92: DUP3
00000c93: SWAP1
00000c94: SUB
00000c95: ADD
00000c96: DUP2
00000c97: DUP7
00000c98: DUP1
00000c99: EXTCODESIZE
00000c9a: ISZERO
00000c9b: DUP1
00000c9c: ISZERO
00000c9d: PUSH2 0x0ca5
00000ca0: JUMPI
00000ca1: PUSH1 0x00
00000ca3: DUP1
00000ca4: REVERT
00000ca5: JUMPDEST
00000ca6: POP
00000ca7: GAS
00000ca8: DELEGATECALL
00000ca9: ISZERO
00000caa: DUP1
00000cab: ISZERO
00000cac: PUSH2 0x0cb9
00000caf: JUMPI
00000cb0: RETURNDATASIZE
00000cb1: PUSH1 0x00
00000cb3: DUP1
00000cb4: RETURNDATACOPY
00000cb5: RETURNDATASIZE
00000cb6: PUSH1 0x00
00000cb8: REVERT
00000cb9: JUMPDEST
00000cba: POP
00000cbb: POP
00000cbc: PUSH1 0x02
00000cbe: DUP1
00000cbf: SLOAD
00000cc0: PUSH1 0xff
00000cc2: NOT
00000cc3: AND
00000cc4: SWAP1
00000cc5: SSTORE
00000cc6: POP
00000cc7: POP
00000cc8: POP
00000cc9: POP
00000cca: JUMP
00000ccb: JUMPDEST
00000ccc: PUSH1 0x02
00000cce: SLOAD
00000ccf: PUSH1 0xff
00000cd1: AND
00000cd2: ISZERO
00000cd3: PUSH2 0x0cdb
00000cd6: JUMPI
00000cd7: PUSH1 0x00
00000cd9: DUP1
00000cda: REVERT
00000cdb: JUMPDEST
00000cdc: PUSH1 0x02
00000cde: DUP1
00000cdf: SLOAD
00000ce0: PUSH1 0xff
00000ce2: NOT
00000ce3: AND
00000ce4: PUSH1 0x01
00000ce6: OR
00000ce7: SWAP1
00000ce8: SSTORE
00000ce9: PUSH1 0x40
00000ceb: DUP1
00000cec: MLOAD
00000ced: PUSH32 0x440df79000000000000000000000000000000000000000000000000000000000
00000d0e: DUP2
00000d0f: MSTORE
00000d10: PUSH1 0x03
00000d12: PUSH1 0x04
00000d14: DUP3
00000d15: ADD
00000d16: MSTORE
00000d17: PUSH1 0x01
00000d19: PUSH1 0xa0
00000d1b: PUSH1 0x02
00000d1d: EXP
00000d1e: SUB
00000d1f: CALLER
00000d20: DUP2
00000d21: AND
00000d22: PUSH1 0x24
00000d24: DUP4
00000d25: ADD
00000d26: MSTORE
00000d27: DUP4
00000d28: AND
00000d29: PUSH1 0x44
00000d2b: DUP3
00000d2c: ADD
00000d2d: MSTORE
00000d2e: SWAP1
00000d2f: MLOAD
00000d30: PUSH20 0x0ad9b58269b804ebd66c9b76e914b5a336c985bc
00000d45: SWAP2
00000d46: PUSH4 0x440df790
00000d4b: SWAP2
00000d4c: PUSH1 0x64
00000d4e: DUP1
00000d4f: DUP4
00000d50: ADD
00000d51: SWAP3
00000d52: PUSH1 0x00
00000d54: SWAP3
00000d55: SWAP2
00000d56: SWAP1
00000d57: DUP3
00000d58: SWAP1
00000d59: SUB
00000d5a: ADD
00000d5b: DUP2
00000d5c: DUP7
00000d5d: DUP1
00000d5e: EXTCODESIZE
00000d5f: ISZERO
00000d60: DUP1
00000d61: ISZERO
00000d62: PUSH2 0x0d6a
00000d65: JUMPI
00000d66: PUSH1 0x00
00000d68: DUP1
00000d69: REVERT
00000d6a: JUMPDEST
00000d6b: POP
00000d6c: GAS
00000d6d: DELEGATECALL
00000d6e: ISZERO
00000d6f: DUP1
00000d70: ISZERO
00000d71: PUSH2 0x0d7e
00000d74: JUMPI
00000d75: RETURNDATASIZE
00000d76: PUSH1 0x00
00000d78: DUP1
00000d79: RETURNDATACOPY
00000d7a: RETURNDATASIZE
00000d7b: PUSH1 0x00
00000d7d: REVERT
00000d7e: JUMPDEST
00000d7f: POP
00000d80: POP
00000d81: PUSH1 0x02
00000d83: DUP1
00000d84: SLOAD
00000d85: PUSH1 0xff
00000d87: NOT
00000d88: AND
00000d89: SWAP1
00000d8a: SSTORE
00000d8b: POP
00000d8c: POP
00000d8d: POP
00000d8e: JUMP
00000d8f: JUMPDEST
00000d90: PUSH1 0x07
00000d92: SLOAD
00000d93: PUSH1 0xe1
00000d95: PUSH1 0x02
00000d97: EXP
00000d98: PUSH4 0x37b832b7
00000d9d: MUL
00000d9e: SWAP1
00000d9f: PUSH1 0x00
00000da1: DUP1
00000da2: MLOAD
00000da3: PUSH1 0x20
00000da5: PUSH2 0x3351
00000da8: DUP4
00000da9: CODECOPY
00000daa: DUP2
00000dab: MLOAD
00000dac: SWAP2
00000dad: MSTORE
00000dae: SWAP1
00000daf: PUSH1 0x00
00000db1: SWAP1
00000db2: PUSH1 0x80
00000db4: PUSH1 0x02
00000db6: EXP
00000db7: MUL
00000db8: PUSH1 0x01
00000dba: PUSH1 0x80
00000dbc: PUSH1 0x02
00000dbe: EXP
00000dbf: SUB
00000dc0: NOT
00000dc1: AND
00000dc2: DUP4
00000dc3: EQ
00000dc4: DUP1
00000dc5: PUSH2 0x0de3
00000dc8: JUMPI
00000dc9: POP
00000dca: PUSH1 0x07
00000dcc: SLOAD
00000dcd: PUSH1 0x80
00000dcf: PUSH1 0x02
00000dd1: EXP
00000dd2: MUL
00000dd3: PUSH1 0x01
00000dd5: PUSH1 0x80
00000dd7: PUSH1 0x02
00000dd9: EXP
00000dda: SUB
00000ddb: NOT
00000ddc: SWAP1
00000ddd: DUP2
00000dde: AND
00000ddf: SWAP1
00000de0: DUP4
00000de1: AND
00000de2: EQ
00000de3: JUMPDEST
00000de4: ISZERO
00000de5: PUSH2 0x0dec
00000de8: JUMPI
00000de9: POP
00000dea: PUSH1 0x01
00000dec: JUMPDEST
00000ded: DUP1
00000dee: ISZERO
00000def: ISZERO
00000df0: PUSH2 0x0e31
00000df3: JUMPI
00000df4: PUSH1 0x40
00000df6: DUP1
00000df7: MLOAD
00000df8: PUSH1 0xe5
00000dfa: PUSH1 0x02
00000dfc: EXP
00000dfd: PUSH3 0x461bcd
00000e01: MUL
00000e02: DUP2
00000e03: MSTORE
00000e04: PUSH1 0x20
00000e06: PUSH1 0x04
00000e08: DUP3
00000e09: ADD
00000e0a: MSTORE
00000e0b: PUSH1 0x12
00000e0d: PUSH1 0x24
00000e0f: DUP3
00000e10: ADD
00000e11: MSTORE
00000e12: PUSH1 0x00
00000e14: DUP1
00000e15: MLOAD
00000e16: PUSH1 0x20
00000e18: PUSH2 0x3331
00000e1b: DUP4
00000e1c: CODECOPY
00000e1d: DUP2
00000e1e: MLOAD
00000e1f: SWAP2
00000e20: MSTORE
00000e21: PUSH1 0x44
00000e23: DUP3
00000e24: ADD
00000e25: MSTORE
00000e26: SWAP1
00000e27: MLOAD
00000e28: SWAP1
00000e29: DUP2
00000e2a: SWAP1
00000e2b: SUB
00000e2c: PUSH1 0x64
00000e2e: ADD
00000e2f: SWAP1
00000e30: REVERT
00000e31: JUMPDEST
00000e32: PUSH1 0x00
00000e34: SLOAD
00000e35: CALLER
00000e36: PUSH1 0x01
00000e38: PUSH1 0xa0
00000e3a: PUSH1 0x02
00000e3c: EXP
00000e3d: SUB
00000e3e: SWAP1
00000e3f: DUP2
00000e40: AND
00000e41: SWAP2
00000e42: AND
00000e43: EQ
00000e44: PUSH2 0x0e4c
00000e47: JUMPI
00000e48: PUSH1 0x00
00000e4a: DUP1
00000e4b: REVERT
00000e4c: JUMPDEST
00000e4d: PUSH1 0x02
00000e4f: SLOAD
00000e50: PUSH1 0xff
00000e52: AND
00000e53: ISZERO
00000e54: PUSH2 0x0e5c
00000e57: JUMPI
00000e58: PUSH1 0x00
00000e5a: DUP1
00000e5b: REVERT
00000e5c: JUMPDEST
00000e5d: PUSH1 0x02
00000e5f: DUP1
00000e60: SLOAD
00000e61: PUSH1 0xff
00000e63: NOT
00000e64: AND
00000e65: PUSH1 0x01
00000e67: OR
00000e68: SWAP1
00000e69: SSTORE
00000e6a: PUSH1 0x40
00000e6c: DUP1
00000e6d: MLOAD
00000e6e: PUSH32 0x83cc1dba00000000000000000000000000000000000000000000000000000000
00000e8f: DUP2
00000e90: MSTORE
00000e91: PUSH1 0x03
00000e93: PUSH1 0x04
00000e95: DUP3
00000e96: ADD
00000e97: MSTORE
00000e98: PUSH1 0x24
00000e9a: DUP2
00000e9b: ADD
00000e9c: DUP7
00000e9d: SWAP1
00000e9e: MSTORE
00000e9f: SWAP1
00000ea0: MLOAD
00000ea1: PUSH20 0x0ad9b58269b804ebd66c9b76e914b5a336c985bc
00000eb6: SWAP2
00000eb7: PUSH4 0x83cc1dba
00000ebc: SWAP2
00000ebd: PUSH1 0x44
00000ebf: DUP1
00000ec0: DUP4
00000ec1: ADD
00000ec2: SWAP3
00000ec3: PUSH1 0x00
00000ec5: SWAP3
00000ec6: SWAP2
00000ec7: SWAP1
00000ec8: DUP3
00000ec9: SWAP1
00000eca: SUB
00000ecb: ADD
00000ecc: DUP2
00000ecd: DUP7
00000ece: DUP1
00000ecf: EXTCODESIZE
00000ed0: ISZERO
00000ed1: DUP1
00000ed2: ISZERO
00000ed3: PUSH2 0x0edb
00000ed6: JUMPI
00000ed7: PUSH1 0x00
00000ed9: DUP1
00000eda: REVERT
00000edb: JUMPDEST
00000edc: POP
00000edd: GAS
00000ede: DELEGATECALL
00000edf: ISZERO
00000ee0: DUP1
00000ee1: ISZERO
00000ee2: PUSH2 0x0eef
00000ee5: JUMPI
00000ee6: RETURNDATASIZE
00000ee7: PUSH1 0x00
00000ee9: DUP1
00000eea: RETURNDATACOPY
00000eeb: RETURNDATASIZE
00000eec: PUSH1 0x00
00000eee: REVERT
00000eef: JUMPDEST
00000ef0: POP
00000ef1: POP
00000ef2: PUSH1 0x02
00000ef4: DUP1
00000ef5: SLOAD
00000ef6: PUSH1 0xff
00000ef8: NOT
00000ef9: AND
00000efa: SWAP1
00000efb: SSTORE
00000efc: POP
00000efd: POP
00000efe: POP
00000eff: POP
00000f00: POP
00000f01: POP
00000f02: JUMP
00000f03: JUMPDEST
00000f04: PUSH1 0x01
00000f06: PUSH1 0xa0
00000f08: PUSH1 0x02
00000f0a: EXP
00000f0b: SUB
00000f0c: AND
00000f0d: PUSH1 0x00
00000f0f: SWAP1
00000f10: DUP2
00000f11: MSTORE
00000f12: PUSH1 0x11
00000f14: PUSH1 0x20
00000f16: MSTORE
00000f17: PUSH1 0x40
00000f19: SWAP1
00000f1a: KECCAK256
00000f1b: PUSH1 0x02
00000f1d: ADD
00000f1e: SLOAD
00000f1f: SWAP1
00000f20: JUMP
00000f21: JUMPDEST
00000f22: PUSH2 0x0f8b
00000f25: DUP3
00000f26: PUSH1 0x01
00000f28: DUP4
00000f29: PUSH1 0x40
00000f2b: MLOAD
00000f2c: DUP1
00000f2d: DUP3
00000f2e: DUP1
00000f2f: MLOAD
00000f30: SWAP1
00000f31: PUSH1 0x20
00000f33: ADD
00000f34: SWAP1
00000f35: DUP1
00000f36: DUP4
00000f37: DUP4
00000f38: JUMPDEST
00000f39: PUSH1 0x20
00000f3b: DUP4
00000f3c: LT
00000f3d: PUSH2 0x0f57
00000f40: JUMPI
00000f41: DUP1
00000f42: MLOAD
00000f43: DUP3
00000f44: MSTORE
00000f45: PUSH1 0x1f
00000f47: NOT
00000f48: SWAP1
00000f49: SWAP3
00000f4a: ADD
00000f4b: SWAP2
00000f4c: PUSH1 0x20
00000f4e: SWAP2
00000f4f: DUP3
00000f50: ADD
00000f51: SWAP2
00000f52: ADD
00000f53: PUSH2 0x0f38
00000f56: JUMP
00000f57: JUMPDEST
00000f58: MLOAD
00000f59: DUP2
00000f5a: MLOAD
00000f5b: PUSH1 0x20
00000f5d: SWAP4
00000f5e: DUP5
00000f5f: SUB
00000f60: PUSH2 0x0100
00000f63: EXP
00000f64: PUSH1 0x00
00000f66: NOT
00000f67: ADD
00000f68: DUP1
00000f69: NOT
00000f6a: SWAP1
00000f6b: SWAP3
00000f6c: AND
00000f6d: SWAP2
00000f6e: AND
00000f6f: OR
00000f70: SWAP1
00000f71: MSTORE
00000f72: SWAP3
00000f73: ADD
00000f74: SWAP5
00000f75: DUP6
00000f76: MSTORE
00000f77: POP
00000f78: PUSH1 0x40
00000f7a: MLOAD
00000f7b: SWAP4
00000f7c: DUP5
00000f7d: SWAP1
00000f7e: SUB
00000f7f: ADD
00000f80: SWAP1
00000f81: SWAP3
00000f82: KECCAK256
00000f83: SWAP3
00000f84: SWAP2
00000f85: POP
00000f86: POP
00000f87: PUSH2 0x3093
00000f8a: JUMP
00000f8b: JUMPDEST
00000f8c: POP
00000f8d: POP
00000f8e: JUMP
00000f8f: JUMPDEST
00000f90: PUSH1 0x01
00000f92: PUSH1 0xa0
00000f94: PUSH1 0x02
00000f96: EXP
00000f97: SUB
00000f98: DUP2
00000f99: AND
00000f9a: PUSH1 0x00
00000f9c: DUP2
00000f9d: DUP2
00000f9e: MSTORE
00000f9f: PUSH1 0x11
00000fa1: PUSH1 0x20
00000fa3: SWAP1
00000fa4: DUP2
00000fa5: MSTORE
00000fa6: PUSH1 0x40
00000fa8: DUP1
00000fa9: DUP4
00000faa: KECCAK256
00000fab: PUSH1 0x03
00000fad: DUP2
00000fae: DUP2
00000faf: ADD
00000fb0: SLOAD
00000fb1: PUSH1 0x06
00000fb3: DUP4
00000fb4: ADD
00000fb5: SLOAD
00000fb6: PUSH1 0x07
00000fb8: DUP5
00000fb9: ADD
00000fba: SLOAD
00000fbb: PUSH1 0x08
00000fbd: DUP6
00000fbe: ADD
00000fbf: SLOAD
00000fc0: PUSH1 0x0a
00000fc2: DUP7
00000fc3: ADD
00000fc4: SLOAD
00000fc5: DUP8
00000fc6: MLOAD
00000fc7: PUSH32 0xe428054800000000000000000000000000000000000000000000000000000000
00000fe8: DUP2
00000fe9: MSTORE
00000fea: PUSH1 0x04
00000fec: DUP2
00000fed: ADD
00000fee: SWAP7
00000fef: SWAP1
00000ff0: SWAP7
00000ff1: MSTORE
00000ff2: PUSH1 0x24
00000ff4: DUP7
00000ff5: ADD
00000ff6: SWAP11
00000ff7: SWAP1
00000ff8: SWAP11
00000ff9: MSTORE
00000ffa: SWAP6
00000ffb: MLOAD
00000ffc: SWAP3
00000ffd: SWAP9
00000ffe: SWAP2
00000fff: SWAP8
00001000: SWAP1
00001001: SWAP7
00001002: SWAP2
00001003: SWAP5
00001004: SWAP1
00001005: SWAP4
00001006: DUP5
00001007: SWAP4
00001008: DUP5
00001009: SWAP4
0000100a: DUP5
0000100b: SWAP4
0000100c: SWAP3
0000100d: PUSH20 0x0ad9b58269b804ebd66c9b76e914b5a336c985bc
00001022: SWAP3
00001023: PUSH4 0xe4280548
00001028: SWAP3
00001029: PUSH1 0x44
0000102b: DUP1
0000102c: DUP5
0000102d: ADD
0000102e: SWAP4
0000102f: SWAP2
00001030: SWAP3
00001031: SWAP2
00001032: DUP3
00001033: SWAP1
00001034: SUB
00001035: ADD
00001036: DUP2
00001037: DUP7
00001038: DUP1
00001039: EXTCODESIZE
0000103a: ISZERO
0000103b: DUP1
0000103c: ISZERO
0000103d: PUSH2 0x1045
00001040: JUMPI
00001041: PUSH1 0x00
00001043: DUP1
00001044: REVERT
00001045: JUMPDEST
00001046: POP
00001047: GAS
00001048: DELEGATECALL
00001049: ISZERO
0000104a: DUP1
0000104b: ISZERO
0000104c: PUSH2 0x1059
0000104f: JUMPI
00001050: RETURNDATASIZE
00001051: PUSH1 0x00
00001053: DUP1
00001054: RETURNDATACOPY
00001055: RETURNDATASIZE
00001056: PUSH1 0x00
00001058: REVERT
00001059: JUMPDEST
0000105a: POP
0000105b: POP
0000105c: POP
0000105d: POP
0000105e: PUSH1 0x40
00001060: MLOAD
00001061: RETURNDATASIZE
00001062: PUSH1 0x20
00001064: DUP2
00001065: LT
00001066: ISZERO
00001067: PUSH2 0x106f
0000106a: JUMPI
0000106b: PUSH1 0x00
0000106d: DUP1
0000106e: REVERT
0000106f: JUMPDEST
00001070: POP
00001071: MLOAD
00001072: PUSH1 0x01
00001074: PUSH1 0xa0
00001076: PUSH1 0x02
00001078: EXP
00001079: SUB
0000107a: DUP1
0000107b: DUP14
0000107c: AND
0000107d: PUSH1 0x00
0000107f: DUP2
00001080: DUP2
00001081: MSTORE
00001082: PUSH1 0x1e
00001084: PUSH1 0x20
00001086: SWAP1
00001087: DUP2
00001088: MSTORE
00001089: PUSH1 0x40
0000108b: SWAP2
0000108c: DUP3
0000108d: SWAP1
0000108e: KECCAK256
0000108f: SLOAD
00001090: PUSH1 0x0b
00001092: DUP8
00001093: ADD
00001094: SLOAD
00001095: DUP4
00001096: MLOAD
00001097: PUSH32 0x02e5e68100000000000000000000000000000000000000000000000000000000
000010b8: DUP2
000010b9: MSTORE
000010ba: PUSH1 0x03
000010bc: PUSH1 0x04
000010be: DUP3
000010bf: ADD
000010c0: MSTORE
000010c1: PUSH1 0x24
000010c3: DUP2
000010c4: ADD
000010c5: SWAP6
000010c6: SWAP1
000010c7: SWAP6
000010c8: MSTORE
000010c9: SWAP3
000010ca: MLOAD
000010cb: SWAP6
000010cc: SWAP11
000010cd: POP
000010ce: SWAP9
000010cf: POP
000010d0: SWAP3
000010d1: AND
000010d2: SWAP6
000010d3: POP
000010d4: PUSH20 0x0ad9b58269b804ebd66c9b76e914b5a336c985bc
000010e9: SWAP3
000010ea: PUSH4 0x02e5e681
000010ef: SWAP3
000010f0: PUSH1 0x44
000010f2: DUP1
000010f3: DUP5
000010f4: ADD
000010f5: SWAP4
000010f6: SWAP2
000010f7: SWAP3
000010f8: SWAP2
000010f9: DUP3
000010fa: SWAP1
000010fb: SUB
000010fc: ADD
000010fd: DUP2
000010fe: DUP7
000010ff: DUP1
00001100: EXTCODESIZE
00001101: ISZERO
00001102: DUP1
00001103: ISZERO
00001104: PUSH2 0x110c
00001107: JUMPI
00001108: PUSH1 0x00
0000110a: DUP1
0000110b: REVERT
0000110c: JUMPDEST
0000110d: POP
0000110e: GAS
0000110f: DELEGATECALL
00001110: ISZERO
00001111: DUP1
00001112: ISZERO
00001113: PUSH2 0x1120
00001116: JUMPI
00001117: RETURNDATASIZE
00001118: PUSH1 0x00
0000111a: DUP1
0000111b: RETURNDATACOPY
0000111c: RETURNDATASIZE
0000111d: PUSH1 0x00
0000111f: REVERT
00001120: JUMPDEST
00001121: POP
00001122: POP
00001123: POP
00001124: POP
00001125: PUSH1 0x40
00001127: MLOAD
00001128: RETURNDATASIZE
00001129: PUSH1 0x20
0000112b: DUP2
0000112c: LT
0000112d: ISZERO
0000112e: PUSH2 0x1136
00001131: JUMPI
00001132: PUSH1 0x00
00001134: DUP1
00001135: REVERT
00001136: JUMPDEST
00001137: POP
00001138: MLOAD
00001139: SWAP10
0000113a: SWAP12
0000113b: SWAP9
0000113c: SWAP11
0000113d: POP
0000113e: SWAP7
0000113f: SWAP9
00001140: SWAP6
00001141: SWAP8
00001142: SWAP5
00001143: SWAP7
00001144: POP
00001145: SWAP3
00001146: SWAP5
00001147: SWAP2
00001148: SWAP4
00001149: SWAP1
0000114a: SWAP3
0000114b: POP
0000114c: JUMP
0000114d: JUMPDEST
0000114e: PUSH2 0x117a
00001151: CALLER
00001152: PUSH1 0x40
00001154: DUP1
00001155: MLOAD
00001156: SWAP1
00001157: DUP2
00001158: ADD
00001159: PUSH1 0x40
0000115b: MSTORE
0000115c: DUP1
0000115d: PUSH1 0x05
0000115f: DUP2
00001160: MSTORE
00001161: PUSH1 0x20
00001163: ADD
00001164: PUSH1 0x00
00001166: DUP1
00001167: MLOAD
00001168: PUSH1 0x20
0000116a: PUSH2 0x3311
0000116d: DUP4
0000116e: CODECOPY
0000116f: DUP2
00001170: MLOAD
00001171: SWAP2
00001172: MSTORE
00001173: DUP2
00001174: MSTORE
00001175: POP
00001176: PUSH2 0x0f21
00001179: JUMP
0000117a: JUMPDEST
0000117b: PUSH1 0x02
0000117d: SLOAD
0000117e: PUSH1 0xff
00001180: AND
00001181: ISZERO
00001182: PUSH2 0x118a
00001185: JUMPI
00001186: PUSH1 0x00
00001188: DUP1
00001189: REVERT
0000118a: JUMPDEST
0000118b: PUSH1 0x02
0000118d: DUP1
0000118e: SLOAD
0000118f: PUSH1 0xff
00001191: NOT
00001192: AND
00001193: PUSH1 0x01
00001195: OR
00001196: SWAP1
00001197: SSTORE
00001198: PUSH1 0x40
0000119a: DUP1
0000119b: MLOAD
0000119c: PUSH32 0xa52fddba00000000000000000000000000000000000000000000000000000000
000011bd: DUP2
000011be: MSTORE
000011bf: PUSH1 0x03
000011c1: PUSH1 0x04
000011c3: DUP3
000011c4: ADD
000011c5: MSTORE
000011c6: PUSH1 0x24
000011c8: DUP2
000011c9: ADD
000011ca: DUP4
000011cb: SWAP1
000011cc: MSTORE
000011cd: SWAP1
000011ce: MLOAD
000011cf: PUSH20 0x0ad9b58269b804ebd66c9b76e914b5a336c985bc
000011e4: SWAP2
000011e5: PUSH4 0xa52fddba
000011ea: SWAP2
000011eb: PUSH1 0x44
000011ed: DUP1
000011ee: DUP4
000011ef: ADD
000011f0: SWAP3
000011f1: PUSH1 0x00
000011f3: SWAP3
000011f4: SWAP2
000011f5: SWAP1
000011f6: DUP3
000011f7: SWAP1
000011f8: SUB
000011f9: ADD
000011fa: DUP2
000011fb: DUP7
000011fc: DUP1
000011fd: EXTCODESIZE
000011fe: ISZERO
000011ff: DUP1
00001200: ISZERO
00001201: PUSH2 0x0d6a
00001204: JUMPI
00001205: PUSH1 0x00
00001207: DUP1
00001208: REVERT
00001209: JUMPDEST
0000120a: PUSH1 0x01
0000120c: PUSH1 0xa0
0000120e: PUSH1 0x02
00001210: EXP
00001211: SUB
00001212: AND
00001213: PUSH1 0x00
00001215: SWAP1
00001216: DUP2
00001217: MSTORE
00001218: PUSH1 0x11
0000121a: PUSH1 0x20
0000121c: MSTORE
0000121d: PUSH1 0x40
0000121f: SWAP1
00001220: KECCAK256
00001221: PUSH1 0x09
00001223: ADD
00001224: SLOAD
00001225: SWAP1
00001226: JUMP
00001227: JUMPDEST
00001228: PUSH1 0x00
0000122a: PUSH2 0x1293
0000122d: DUP4
0000122e: PUSH1 0x01
00001230: DUP5
00001231: PUSH1 0x40
00001233: MLOAD
00001234: DUP1
00001235: DUP3
00001236: DUP1
00001237: MLOAD
00001238: SWAP1
00001239: PUSH1 0x20
0000123b: ADD
0000123c: SWAP1
0000123d: DUP1
0000123e: DUP4
0000123f: DUP4
00001240: JUMPDEST
00001241: PUSH1 0x20
00001243: DUP4
00001244: LT
00001245: PUSH2 0x125f
00001248: JUMPI
00001249: DUP1
0000124a: MLOAD
0000124b: DUP3
0000124c: MSTORE
0000124d: PUSH1 0x1f
0000124f: NOT
00001250: SWAP1
00001251: SWAP3
00001252: ADD
00001253: SWAP2
00001254: PUSH1 0x20
00001256: SWAP2
00001257: DUP3
00001258: ADD
00001259: SWAP2
0000125a: ADD
0000125b: PUSH2 0x1240
0000125e: JUMP
0000125f: JUMPDEST
00001260: MLOAD
00001261: DUP2
00001262: MLOAD
00001263: PUSH1 0x20
00001265: SWAP4
00001266: DUP5
00001267: SUB
00001268: PUSH2 0x0100
0000126b: EXP
0000126c: PUSH1 0x00
0000126e: NOT
0000126f: ADD
00001270: DUP1
00001271: NOT
00001272: SWAP1
00001273: SWAP3
00001274: AND
00001275: SWAP2
00001276: AND
00001277: OR
00001278: SWAP1
00001279: MSTORE
0000127a: SWAP3
0000127b: ADD
0000127c: SWAP5
0000127d: DUP6
0000127e: MSTORE
0000127f: POP
00001280: PUSH1 0x40
00001282: MLOAD
00001283: SWAP4
00001284: DUP5
00001285: SWAP1
00001286: SUB
00001287: ADD
00001288: SWAP1
00001289: SWAP3
0000128a: KECCAK256
0000128b: SWAP3
0000128c: SWAP2
0000128d: POP
0000128e: POP
0000128f: PUSH2 0x30a8
00001292: JUMP
00001293: JUMPDEST
00001294: SWAP4
00001295: SWAP3
00001296: POP
00001297: POP
00001298: POP
00001299: JUMP
0000129a: JUMPDEST
0000129b: PUSH1 0x01
0000129d: PUSH1 0xa0
0000129f: PUSH1 0x02
000012a1: EXP
000012a2: SUB
000012a3: AND
000012a4: PUSH1 0x00
000012a6: SWAP1
000012a7: DUP2
000012a8: MSTORE
000012a9: PUSH1 0x11
000012ab: PUSH1 0x20
000012ad: MSTORE
000012ae: PUSH1 0x40
000012b0: SWAP1
000012b1: KECCAK256
000012b2: PUSH1 0x02
000012b4: DUP2
000012b5: ADD
000012b6: SLOAD
000012b7: PUSH1 0x05
000012b9: DUP3
000012ba: ADD
000012bb: SLOAD
000012bc: PUSH1 0x04
000012be: DUP4
000012bf: ADD
000012c0: SLOAD
000012c1: PUSH1 0x09
000012c3: SWAP1
000012c4: SWAP4
000012c5: ADD
000012c6: SLOAD
000012c7: SWAP2
000012c8: SWAP4
000012c9: SWAP1
000012ca: SWAP3
000012cb: SWAP2
000012cc: SWAP1
000012cd: JUMP
000012ce: JUMPDEST
000012cf: PUSH1 0x40
000012d1: DUP1
000012d2: MLOAD
000012d3: PUSH32 0x02e5e68100000000000000000000000000000000000000000000000000000000
000012f4: DUP2
000012f5: MSTORE
000012f6: PUSH1 0x03
000012f8: PUSH1 0x04
000012fa: DUP3
000012fb: ADD
000012fc: MSTORE
000012fd: PUSH1 0x01
000012ff: PUSH1 0xa0
00001301: PUSH1 0x02
00001303: EXP
00001304: SUB
00001305: DUP4
00001306: AND
00001307: PUSH1 0x24
00001309: DUP3
0000130a: ADD
0000130b: MSTORE
0000130c: SWAP1
0000130d: MLOAD
0000130e: PUSH1 0x00
00001310: SWAP2
00001311: PUSH20 0x0ad9b58269b804ebd66c9b76e914b5a336c985bc
00001326: SWAP2
00001327: PUSH4 0x02e5e681
0000132c: SWAP2
0000132d: PUSH1 0x44
0000132f: DUP1
00001330: DUP3
00001331: ADD
00001332: SWAP3
00001333: PUSH1 0x20
00001335: SWAP3
00001336: SWAP1
00001337: SWAP2
00001338: SWAP1
00001339: DUP3
0000133a: SWAP1
0000133b: SUB
0000133c: ADD
0000133d: DUP2
0000133e: DUP7
0000133f: DUP1
00001340: EXTCODESIZE
00001341: ISZERO
00001342: DUP1
00001343: ISZERO
00001344: PUSH2 0x134c
00001347: JUMPI
00001348: PUSH1 0x00
0000134a: DUP1
0000134b: REVERT
0000134c: JUMPDEST
0000134d: POP
0000134e: GAS
0000134f: DELEGATECALL
00001350: ISZERO
00001351: DUP1
00001352: ISZERO
00001353: PUSH2 0x1360
00001356: JUMPI
00001357: RETURNDATASIZE
00001358: PUSH1 0x00
0000135a: DUP1
0000135b: RETURNDATACOPY
0000135c: RETURNDATASIZE
0000135d: PUSH1 0x00
0000135f: REVERT
00001360: JUMPDEST
00001361: POP
00001362: POP
00001363: POP
00001364: POP
00001365: PUSH1 0x40
00001367: MLOAD
00001368: RETURNDATASIZE
00001369: PUSH1 0x20
0000136b: DUP2
0000136c: LT
0000136d: ISZERO
0000136e: PUSH2 0x1376
00001371: JUMPI
00001372: PUSH1 0x00
00001374: DUP1
00001375: REVERT
00001376: JUMPDEST
00001377: POP
00001378: MLOAD
00001379: SWAP3
0000137a: SWAP2
0000137b: POP
0000137c: POP
0000137d: JUMP
0000137e: JUMPDEST
0000137f: PUSH1 0x00
00001381: DUP1
00001382: PUSH1 0x00
00001384: DUP1
00001385: PUSH1 0x00
00001387: DUP1
00001388: PUSH1 0x00
0000138a: DUP1
0000138b: PUSH1 0x00
0000138d: DUP1
0000138e: PUSH1 0x00
00001390: PUSH1 0x03
00001392: PUSH1 0x00
00001394: ADD
00001395: PUSH1 0x00
00001397: SWAP1
00001398: SLOAD
00001399: SWAP1
0000139a: PUSH2 0x0100
0000139d: EXP
0000139e: SWAP1
0000139f: DIV
000013a0: PUSH1 0x01
000013a2: PUSH1 0xa0
000013a4: PUSH1 0x02
000013a6: EXP
000013a7: SUB
000013a8: AND
000013a9: PUSH1 0x01
000013ab: PUSH1 0xa0
000013ad: PUSH1 0x02
000013af: EXP
000013b0: SUB
000013b1: AND
000013b2: PUSH4 0x7ff9b596
000013b7: PUSH1 0x40
000013b9: MLOAD
000013ba: DUP2
000013bb: PUSH4 0xffffffff
000013c0: AND
000013c1: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
000013df: MUL
000013e0: DUP2
000013e1: MSTORE
000013e2: PUSH1 0x04
000013e4: ADD
000013e5: PUSH1 0x20
000013e7: PUSH1 0x40
000013e9: MLOAD
000013ea: DUP1
000013eb: DUP4
000013ec: SUB
000013ed: DUP2
000013ee: PUSH1 0x00
000013f0: DUP8
000013f1: DUP1
000013f2: EXTCODESIZE
000013f3: ISZERO
000013f4: DUP1
000013f5: ISZERO
000013f6: PUSH2 0x13fe
000013f9: JUMPI
000013fa: PUSH1 0x00
000013fc: DUP1
000013fd: REVERT
000013fe: JUMPDEST
000013ff: POP
00001400: GAS
00001401: CALL
00001402: ISZERO
00001403: DUP1
00001404: ISZERO
00001405: PUSH2 0x1412
00001408: JUMPI
00001409: RETURNDATASIZE
0000140a: PUSH1 0x00
0000140c: DUP1
0000140d: RETURNDATACOPY
0000140e: RETURNDATASIZE
0000140f: PUSH1 0x00
00001411: REVERT
00001412: JUMPDEST
00001413: POP
00001414: POP
00001415: POP
00001416: POP
00001417: PUSH1 0x40
00001419: MLOAD
0000141a: RETURNDATASIZE
0000141b: PUSH1 0x20
0000141d: DUP2
0000141e: LT
0000141f: ISZERO
00001420: PUSH2 0x1428
00001423: JUMPI
00001424: PUSH1 0x00
00001426: DUP1
00001427: REVERT
00001428: JUMPDEST
00001429: POP
0000142a: MLOAD
0000142b: PUSH1 0x03
0000142d: SLOAD
0000142e: PUSH1 0x40
00001430: DUP1
00001431: MLOAD
00001432: PUSH32 0xb954dc5700000000000000000000000000000000000000000000000000000000
00001453: DUP2
00001454: MSTORE
00001455: SWAP1
00001456: MLOAD
00001457: SWAP3
00001458: SWAP14
00001459: POP
0000145a: PUSH1 0x01
0000145c: PUSH1 0xa0
0000145e: PUSH1 0x02
00001460: EXP
00001461: SUB
00001462: SWAP1
00001463: SWAP2
00001464: AND
00001465: SWAP2
00001466: PUSH4 0xb954dc57
0000146b: SWAP2
0000146c: PUSH1 0x04
0000146e: DUP1
0000146f: DUP3
00001470: ADD
00001471: SWAP3
00001472: PUSH1 0x20
00001474: SWAP3
00001475: SWAP1
00001476: SWAP2
00001477: SWAP1
00001478: DUP3
00001479: SWAP1
0000147a: SUB
0000147b: ADD
0000147c: DUP2
0000147d: PUSH1 0x00
0000147f: DUP8
00001480: DUP1
00001481: EXTCODESIZE
00001482: ISZERO
00001483: DUP1
00001484: ISZERO
00001485: PUSH2 0x148d
00001488: JUMPI
00001489: PUSH1 0x00
0000148b: DUP1
0000148c: REVERT
0000148d: JUMPDEST
0000148e: POP
0000148f: GAS
00001490: CALL
00001491: ISZERO
00001492: DUP1
00001493: ISZERO
00001494: PUSH2 0x14a1
00001497: JUMPI
00001498: RETURNDATASIZE
00001499: PUSH1 0x00
0000149b: DUP1
0000149c: RETURNDATACOPY
0000149d: RETURNDATASIZE
0000149e: PUSH1 0x00
000014a0: REVERT
000014a1: JUMPDEST
000014a2: POP
000014a3: POP
000014a4: POP
000014a5: POP
000014a6: PUSH1 0x40
000014a8: MLOAD
000014a9: RETURNDATASIZE
000014aa: PUSH1 0x20
000014ac: DUP2
000014ad: LT
000014ae: ISZERO
000014af: PUSH2 0x14b7
000014b2: JUMPI
000014b3: PUSH1 0x00
000014b5: DUP1
000014b6: REVERT
000014b7: JUMPDEST
000014b8: POP
000014b9: MLOAD
000014ba: PUSH1 0x03
000014bc: SLOAD
000014bd: PUSH1 0x40
000014bf: DUP1
000014c0: MLOAD
000014c1: PUSH32 0x6c984b1400000000000000000000000000000000000000000000000000000000
000014e2: DUP2
000014e3: MSTORE
000014e4: SWAP1
000014e5: MLOAD
000014e6: SWAP3
000014e7: SWAP13
000014e8: POP
000014e9: PUSH1 0x01
000014eb: PUSH1 0xa0
000014ed: PUSH1 0x02
000014ef: EXP
000014f0: SUB
000014f1: SWAP1
000014f2: SWAP2
000014f3: AND
000014f4: SWAP2
000014f5: PUSH4 0x6c984b14
000014fa: SWAP2
000014fb: PUSH1 0x04
000014fd: DUP1
000014fe: DUP3
000014ff: ADD
00001500: SWAP3
00001501: PUSH1 0x20
00001503: SWAP3
00001504: SWAP1
00001505: SWAP2
00001506: SWAP1
00001507: DUP3
00001508: SWAP1
00001509: SUB
0000150a: ADD
0000150b: DUP2
0000150c: PUSH1 0x00
0000150e: DUP8
0000150f: DUP1
00001510: EXTCODESIZE
00001511: ISZERO
00001512: DUP1
00001513: ISZERO
00001514: PUSH2 0x151c
00001517: JUMPI
00001518: PUSH1 0x00
0000151a: DUP1
0000151b: REVERT
0000151c: JUMPDEST
0000151d: POP
0000151e: GAS
0000151f: CALL
00001520: ISZERO
00001521: DUP1
00001522: ISZERO
00001523: PUSH2 0x1530
00001526: JUMPI
00001527: RETURNDATASIZE
00001528: PUSH1 0x00
0000152a: DUP1
0000152b: RETURNDATACOPY
0000152c: RETURNDATASIZE
0000152d: PUSH1 0x00
0000152f: REVERT
00001530: JUMPDEST
00001531: POP
00001532: POP
00001533: POP
00001534: POP
00001535: PUSH1 0x40
00001537: MLOAD
00001538: RETURNDATASIZE
00001539: PUSH1 0x20
0000153b: DUP2
0000153c: LT
0000153d: ISZERO
0000153e: PUSH2 0x1546
00001541: JUMPI
00001542: PUSH1 0x00
00001544: DUP1
00001545: REVERT
00001546: JUMPDEST
00001547: POP
00001548: MLOAD
00001549: PUSH1 0x03
0000154b: SLOAD
0000154c: PUSH1 0x40
0000154e: DUP1
0000154f: MLOAD
00001550: PUSH32 0xaaffadf300000000000000000000000000000000000000000000000000000000
00001571: DUP2
00001572: MSTORE
00001573: SWAP1
00001574: MLOAD
00001575: SWAP3
00001576: SWAP12
00001577: POP
00001578: PUSH1 0x01
0000157a: PUSH1 0xa0
0000157c: PUSH1 0x02
0000157e: EXP
0000157f: SUB
00001580: SWAP1
00001581: SWAP2
00001582: AND
00001583: SWAP2
00001584: PUSH4 0xaaffadf3
00001589: SWAP2
0000158a: PUSH1 0x04
0000158c: DUP1
0000158d: DUP3
0000158e: ADD
0000158f: SWAP3
00001590: PUSH1 0x20
00001592: SWAP3
00001593: SWAP1
00001594: SWAP2
00001595: SWAP1
00001596: DUP3
00001597: SWAP1
00001598: SUB
00001599: ADD
0000159a: DUP2
0000159b: PUSH1 0x00
0000159d: DUP8
0000159e: DUP1
0000159f: EXTCODESIZE
000015a0: ISZERO
000015a1: DUP1
000015a2: ISZERO
000015a3: PUSH2 0x15ab
000015a6: JUMPI
000015a7: PUSH1 0x00
000015a9: DUP1
000015aa: REVERT
000015ab: JUMPDEST
000015ac: POP
000015ad: GAS
000015ae: CALL
000015af: ISZERO
000015b0: DUP1
000015b1: ISZERO
000015b2: PUSH2 0x15bf
000015b5: JUMPI
000015b6: RETURNDATASIZE
000015b7: PUSH1 0x00
000015b9: DUP1
000015ba: RETURNDATACOPY
000015bb: RETURNDATASIZE
000015bc: PUSH1 0x00
000015be: REVERT
000015bf: JUMPDEST
000015c0: POP
000015c1: POP
000015c2: POP
000015c3: POP
000015c4: PUSH1 0x40
000015c6: MLOAD
000015c7: RETURNDATASIZE
000015c8: PUSH1 0x20
000015ca: DUP2
000015cb: LT
000015cc: ISZERO
000015cd: PUSH2 0x15d5
000015d0: JUMPI
000015d1: PUSH1 0x00
000015d3: DUP1
000015d4: REVERT
000015d5: JUMPDEST
000015d6: POP
000015d7: MLOAD
000015d8: PUSH1 0x03
000015da: SLOAD
000015db: PUSH1 0x40
000015dd: DUP1
000015de: MLOAD
000015df: PUSH32 0x8d3d657600000000000000000000000000000000000000000000000000000000
00001600: DUP2
00001601: MSTORE
00001602: SWAP1
00001603: MLOAD
00001604: SWAP3
00001605: SWAP11
00001606: POP
00001607: PUSH1 0x01
00001609: PUSH1 0xa0
0000160b: PUSH1 0x02
0000160d: EXP
0000160e: SUB
0000160f: SWAP1
00001610: SWAP2
00001611: AND
00001612: SWAP2
00001613: PUSH4 0x8d3d6576
00001618: SWAP2
00001619: PUSH1 0x04
0000161b: DUP1
0000161c: DUP3
0000161d: ADD
0000161e: SWAP3
0000161f: PUSH1 0x20
00001621: SWAP3
00001622: SWAP1
00001623: SWAP2
00001624: SWAP1
00001625: DUP3
00001626: SWAP1
00001627: SUB
00001628: ADD
00001629: DUP2
0000162a: PUSH1 0x00
0000162c: DUP8
0000162d: DUP1
0000162e: EXTCODESIZE
0000162f: ISZERO
00001630: DUP1
00001631: ISZERO
00001632: PUSH2 0x163a
00001635: JUMPI
00001636: PUSH1 0x00
00001638: DUP1
00001639: REVERT
0000163a: JUMPDEST
0000163b: POP
0000163c: GAS
0000163d: CALL
0000163e: ISZERO
0000163f: DUP1
00001640: ISZERO
00001641: PUSH2 0x164e
00001644: JUMPI
00001645: RETURNDATASIZE
00001646: PUSH1 0x00
00001648: DUP1
00001649: RETURNDATACOPY
0000164a: RETURNDATASIZE
0000164b: PUSH1 0x00
0000164d: REVERT
0000164e: JUMPDEST
0000164f: POP
00001650: POP
00001651: POP
00001652: POP
00001653: PUSH1 0x40
00001655: MLOAD
00001656: RETURNDATASIZE
00001657: PUSH1 0x20
00001659: DUP2
0000165a: LT
0000165b: ISZERO
0000165c: PUSH2 0x1664
0000165f: JUMPI
00001660: PUSH1 0x00
00001662: DUP1
00001663: REVERT
00001664: JUMPDEST
00001665: POP
00001666: MLOAD
00001667: PUSH1 0x03
00001669: SLOAD
0000166a: PUSH1 0x40
0000166c: DUP1
0000166d: MLOAD
0000166e: PUSH32 0xd3b7bfb400000000000000000000000000000000000000000000000000000000
0000168f: DUP2
00001690: MSTORE
00001691: SWAP1
00001692: MLOAD
00001693: SWAP3
00001694: SWAP10
00001695: POP
00001696: PUSH1 0x01
00001698: PUSH1 0xa0
0000169a: PUSH1 0x02
0000169c: EXP
0000169d: SUB
0000169e: SWAP1
0000169f: SWAP2
000016a0: AND
000016a1: SWAP2
000016a2: PUSH4 0xd3b7bfb4
000016a7: SWAP2
000016a8: PUSH1 0x04
000016aa: DUP1
000016ab: DUP3
000016ac: ADD
000016ad: SWAP3
000016ae: PUSH1 0x20
000016b0: SWAP3
000016b1: SWAP1
000016b2: SWAP2
000016b3: SWAP1
000016b4: DUP3
000016b5: SWAP1
000016b6: SUB
000016b7: ADD
000016b8: DUP2
000016b9: PUSH1 0x00
000016bb: DUP8
000016bc: DUP1
000016bd: EXTCODESIZE
000016be: ISZERO
000016bf: DUP1
000016c0: ISZERO
000016c1: PUSH2 0x16c9
000016c4: JUMPI
000016c5: PUSH1 0x00
000016c7: DUP1
000016c8: REVERT
000016c9: JUMPDEST
000016ca: POP
000016cb: GAS
000016cc: CALL
000016cd: ISZERO
000016ce: DUP1
000016cf: ISZERO
000016d0: PUSH2 0x16dd
000016d3: JUMPI
000016d4: RETURNDATASIZE
000016d5: PUSH1 0x00
000016d7: DUP1
000016d8: RETURNDATACOPY
000016d9: RETURNDATASIZE
000016da: PUSH1 0x00
000016dc: REVERT
000016dd: JUMPDEST
000016de: POP
000016df: POP
000016e0: POP
000016e1: POP
000016e2: PUSH1 0x40
000016e4: MLOAD
000016e5: RETURNDATASIZE
000016e6: PUSH1 0x20
000016e8: DUP2
000016e9: LT
000016ea: ISZERO
000016eb: PUSH2 0x16f3
000016ee: JUMPI
000016ef: PUSH1 0x00
000016f1: DUP1
000016f2: REVERT
000016f3: JUMPDEST
000016f4: POP
000016f5: MLOAD
000016f6: PUSH1 0x04
000016f8: DUP1
000016f9: SLOAD
000016fa: PUSH1 0x40
000016fc: DUP1
000016fd: MLOAD
000016fe: PUSH32 0x424327a300000000000000000000000000000000000000000000000000000000
0000171f: DUP2
00001720: MSTORE
00001721: SWAP1
00001722: MLOAD
00001723: SWAP4
00001724: SWAP10
00001725: POP
00001726: PUSH1 0x01
00001728: PUSH1 0xa0
0000172a: PUSH1 0x02
0000172c: EXP
0000172d: SUB
0000172e: SWAP1
0000172f: SWAP2
00001730: AND
00001731: SWAP3
00001732: PUSH4 0x424327a3
00001737: SWAP3
00001738: DUP3
00001739: DUP2
0000173a: ADD
0000173b: SWAP3
0000173c: PUSH1 0x20
0000173e: SWAP3
0000173f: SWAP2
00001740: SWAP1
00001741: DUP3
00001742: SWAP1
00001743: SUB
00001744: ADD
00001745: DUP2
00001746: PUSH1 0x00
00001748: DUP8
00001749: DUP1
0000174a: EXTCODESIZE
0000174b: ISZERO
0000174c: DUP1
0000174d: ISZERO
0000174e: PUSH2 0x1756
00001751: JUMPI
00001752: PUSH1 0x00
00001754: DUP1
00001755: REVERT
00001756: JUMPDEST
00001757: POP
00001758: GAS
00001759: CALL
0000175a: ISZERO
0000175b: DUP1
0000175c: ISZERO
0000175d: PUSH2 0x176a
00001760: JUMPI
00001761: RETURNDATASIZE
00001762: PUSH1 0x00
00001764: DUP1
00001765: RETURNDATACOPY
00001766: RETURNDATASIZE
00001767: PUSH1 0x00
00001769: REVERT
0000176a: JUMPDEST
0000176b: POP
0000176c: POP
0000176d: POP
0000176e: POP
0000176f: PUSH1 0x40
00001771: MLOAD
00001772: RETURNDATASIZE
00001773: PUSH1 0x20
00001775: DUP2
00001776: LT
00001777: ISZERO
00001778: PUSH2 0x1780
0000177b: JUMPI
0000177c: PUSH1 0x00
0000177e: DUP1
0000177f: REVERT
00001780: JUMPDEST
00001781: POP
00001782: MLOAD
00001783: PUSH1 0x04
00001785: DUP1
00001786: SLOAD
00001787: PUSH1 0x40
00001789: DUP1
0000178a: MLOAD
0000178b: PUSH32 0xcc364e2a00000000000000000000000000000000000000000000000000000000
000017ac: DUP2
000017ad: MSTORE
000017ae: SWAP1
000017af: MLOAD
000017b0: SWAP4
000017b1: SWAP9
000017b2: POP
000017b3: PUSH1 0x01
000017b5: PUSH1 0xa0
000017b7: PUSH1 0x02
000017b9: EXP
000017ba: SUB
000017bb: SWAP1
000017bc: SWAP2
000017bd: AND
000017be: SWAP3
000017bf: PUSH4 0xcc364e2a
000017c4: SWAP3
000017c5: DUP3
000017c6: DUP2
000017c7: ADD
000017c8: SWAP3
000017c9: PUSH1 0x20
000017cb: SWAP3
000017cc: SWAP2
000017cd: SWAP1
000017ce: DUP3
000017cf: SWAP1
000017d0: SUB
000017d1: ADD
000017d2: DUP2
000017d3: PUSH1 0x00
000017d5: DUP8
000017d6: DUP1
000017d7: EXTCODESIZE
000017d8: ISZERO
000017d9: DUP1
000017da: ISZERO
000017db: PUSH2 0x17e3
000017de: JUMPI
000017df: PUSH1 0x00
000017e1: DUP1
000017e2: REVERT
000017e3: JUMPDEST
000017e4: POP
000017e5: GAS
000017e6: CALL
000017e7: ISZERO
000017e8: DUP1
000017e9: ISZERO
000017ea: PUSH2 0x17f7
000017ed: JUMPI
000017ee: RETURNDATASIZE
000017ef: PUSH1 0x00
000017f1: DUP1
000017f2: RETURNDATACOPY
000017f3: RETURNDATASIZE
000017f4: PUSH1 0x00
000017f6: REVERT
000017f7: JUMPDEST
000017f8: POP
000017f9: POP
000017fa: POP
000017fb: POP
000017fc: PUSH1 0x40
000017fe: MLOAD
000017ff: RETURNDATASIZE
00001800: PUSH1 0x20
00001802: DUP2
00001803: LT
00001804: ISZERO
00001805: PUSH2 0x180d
00001808: JUMPI
00001809: PUSH1 0x00
0000180b: DUP1
0000180c: REVERT
0000180d: JUMPDEST
0000180e: POP
0000180f: MLOAD
00001810: PUSH1 0x04
00001812: DUP1
00001813: SLOAD
00001814: PUSH1 0x40
00001816: DUP1
00001817: MLOAD
00001818: PUSH32 0x26b75d1200000000000000000000000000000000000000000000000000000000
00001839: DUP2
0000183a: MSTORE
0000183b: SWAP1
0000183c: MLOAD
0000183d: SWAP4
0000183e: SWAP8
0000183f: POP
00001840: PUSH1 0x01
00001842: PUSH1 0xa0
00001844: PUSH1 0x02
00001846: EXP
00001847: SUB
00001848: SWAP1
00001849: SWAP2
0000184a: AND
0000184b: SWAP3
0000184c: PUSH4 0x26b75d12
00001851: SWAP3
00001852: DUP3
00001853: DUP2
00001854: ADD
00001855: SWAP3
00001856: PUSH1 0x20
00001858: SWAP3
00001859: SWAP2
0000185a: SWAP1
0000185b: DUP3
0000185c: SWAP1
0000185d: SUB
0000185e: ADD
0000185f: DUP2
00001860: PUSH1 0x00
00001862: DUP8
00001863: DUP1
00001864: EXTCODESIZE
00001865: ISZERO
00001866: DUP1
00001867: ISZERO
00001868: PUSH2 0x1870
0000186b: JUMPI
0000186c: PUSH1 0x00
0000186e: DUP1
0000186f: REVERT
00001870: JUMPDEST
00001871: POP
00001872: GAS
00001873: CALL
00001874: ISZERO
00001875: DUP1
00001876: ISZERO
00001877: PUSH2 0x1884
0000187a: JUMPI
0000187b: RETURNDATASIZE
0000187c: PUSH1 0x00
0000187e: DUP1
0000187f: RETURNDATACOPY
00001880: RETURNDATASIZE
00001881: PUSH1 0x00
00001883: REVERT
00001884: JUMPDEST
00001885: POP
00001886: POP
00001887: POP
00001888: POP
00001889: PUSH1 0x40
0000188b: MLOAD
0000188c: RETURNDATASIZE
0000188d: PUSH1 0x20
0000188f: DUP2
00001890: LT
00001891: ISZERO
00001892: PUSH2 0x189a
00001895: JUMPI
00001896: PUSH1 0x00
00001898: DUP1
00001899: REVERT
0000189a: JUMPDEST
0000189b: POP
0000189c: MLOAD
0000189d: PUSH1 0x04
0000189f: DUP1
000018a0: SLOAD
000018a1: PUSH1 0x40
000018a3: DUP1
000018a4: MLOAD
000018a5: PUSH32 0xdbe55e5600000000000000000000000000000000000000000000000000000000
000018c6: DUP2
000018c7: MSTORE
000018c8: SWAP1
000018c9: MLOAD
000018ca: SWAP4
000018cb: SWAP7
000018cc: POP
000018cd: PUSH1 0x01
000018cf: PUSH1 0xa0
000018d1: PUSH1 0x02
000018d3: EXP
000018d4: SUB
000018d5: SWAP1
000018d6: SWAP2
000018d7: AND
000018d8: SWAP3
000018d9: PUSH4 0xdbe55e56
000018de: SWAP3
000018df: DUP3
000018e0: DUP2
000018e1: ADD
000018e2: SWAP3
000018e3: PUSH1 0x20
000018e5: SWAP3
000018e6: SWAP2
000018e7: SWAP1
000018e8: DUP3
000018e9: SWAP1
000018ea: SUB
000018eb: ADD
000018ec: DUP2
000018ed: PUSH1 0x00
000018ef: DUP8
000018f0: DUP1
000018f1: EXTCODESIZE
000018f2: ISZERO
000018f3: DUP1
000018f4: ISZERO
000018f5: PUSH2 0x18fd
000018f8: JUMPI
000018f9: PUSH1 0x00
000018fb: DUP1
000018fc: REVERT
000018fd: JUMPDEST
000018fe: POP
000018ff: GAS
00001900: CALL
00001901: ISZERO
00001902: DUP1
00001903: ISZERO
00001904: PUSH2 0x1911
00001907: JUMPI
00001908: RETURNDATASIZE
00001909: PUSH1 0x00
0000190b: DUP1
0000190c: RETURNDATACOPY
0000190d: RETURNDATASIZE
0000190e: PUSH1 0x00
00001910: REVERT
00001911: JUMPDEST
00001912: POP
00001913: POP
00001914: POP
00001915: POP
00001916: PUSH1 0x40
00001918: MLOAD
00001919: RETURNDATASIZE
0000191a: PUSH1 0x20
0000191c: DUP2
0000191d: LT
0000191e: ISZERO
0000191f: PUSH2 0x1927
00001922: JUMPI
00001923: PUSH1 0x00
00001925: DUP1
00001926: REVERT
00001927: JUMPDEST
00001928: POP
00001929: MLOAD
0000192a: PUSH1 0x03
0000192c: SLOAD
0000192d: PUSH1 0x40
0000192f: DUP1
00001930: MLOAD
00001931: PUSH32 0x3d9287fa00000000000000000000000000000000000000000000000000000000
00001952: DUP2
00001953: MSTORE
00001954: SWAP1
00001955: MLOAD
00001956: SWAP3
00001957: SWAP5
00001958: POP
00001959: PUSH1 0x01
0000195b: PUSH1 0xa0
0000195d: PUSH1 0x02
0000195f: EXP
00001960: SUB
00001961: SWAP1
00001962: SWAP2
00001963: AND
00001964: SWAP2
00001965: PUSH4 0x3d9287fa
0000196a: SWAP2
0000196b: PUSH1 0x04
0000196d: DUP1
0000196e: DUP3
0000196f: ADD
00001970: SWAP3
00001971: PUSH1 0x20
00001973: SWAP3
00001974: SWAP1
00001975: SWAP2
00001976: SWAP1
00001977: DUP3
00001978: SWAP1
00001979: SUB
0000197a: ADD
0000197b: DUP2
0000197c: PUSH1 0x00
0000197e: DUP8
0000197f: DUP1
00001980: EXTCODESIZE
00001981: ISZERO
00001982: DUP1
00001983: ISZERO
00001984: PUSH2 0x198c
00001987: JUMPI
00001988: PUSH1 0x00
0000198a: DUP1
0000198b: REVERT
0000198c: JUMPDEST
0000198d: POP
0000198e: GAS
0000198f: CALL
00001990: ISZERO
00001991: DUP1
00001992: ISZERO
00001993: PUSH2 0x19a0
00001996: JUMPI
00001997: RETURNDATASIZE
00001998: PUSH1 0x00
0000199a: DUP1
0000199b: RETURNDATACOPY
0000199c: RETURNDATASIZE
0000199d: PUSH1 0x00
0000199f: REVERT
000019a0: JUMPDEST
000019a1: POP
000019a2: POP
000019a3: POP
000019a4: POP
000019a5: PUSH1 0x40
000019a7: MLOAD
000019a8: RETURNDATASIZE
000019a9: PUSH1 0x20
000019ab: DUP2
000019ac: LT
000019ad: ISZERO
000019ae: PUSH2 0x19b6
000019b1: JUMPI
000019b2: PUSH1 0x00
000019b4: DUP1
000019b5: REVERT
000019b6: JUMPDEST
000019b7: POP
000019b8: MLOAD
000019b9: SWAP11
000019ba: SWAP12
000019bb: SWAP10
000019bc: SWAP11
000019bd: SWAP9
000019be: SWAP10
000019bf: SWAP8
000019c0: SWAP9
000019c1: SWAP7
000019c2: SWAP8
000019c3: SWAP6
000019c4: SWAP7
000019c5: SWAP5
000019c6: SWAP6
000019c7: SWAP4
000019c8: SWAP5
000019c9: SWAP3
000019ca: SWAP4
000019cb: SWAP2
000019cc: SWAP3
000019cd: SWAP2
000019ce: SWAP1
000019cf: POP
000019d0: JUMP
000019d1: JUMPDEST
000019d2: PUSH1 0x01
000019d4: PUSH1 0xa0
000019d6: PUSH1 0x02
000019d8: EXP
000019d9: SUB
000019da: AND
000019db: PUSH1 0x00
000019dd: SWAP1
000019de: DUP2
000019df: MSTORE
000019e0: PUSH1 0x11
000019e2: PUSH1 0x20
000019e4: MSTORE
000019e5: PUSH1 0x40
000019e7: SWAP1
000019e8: KECCAK256
000019e9: PUSH1 0x04
000019eb: ADD
000019ec: SLOAD
000019ed: SWAP1
000019ee: JUMP
000019ef: JUMPDEST
000019f0: PUSH1 0x01
000019f2: PUSH1 0xa0
000019f4: PUSH1 0x02
000019f6: EXP
000019f7: SUB
000019f8: AND
000019f9: PUSH1 0x00
000019fb: SWAP1
000019fc: DUP2
000019fd: MSTORE
000019fe: PUSH1 0x11
00001a00: PUSH1 0x20
00001a02: MSTORE
00001a03: PUSH1 0x40
00001a05: SWAP1
00001a06: KECCAK256
00001a07: PUSH1 0x03
00001a09: ADD
00001a0a: SLOAD
00001a0b: SWAP1
00001a0c: JUMP
00001a0d: JUMPDEST
00001a0e: PUSH1 0x07
00001a10: SLOAD
00001a11: PUSH1 0xe1
00001a13: PUSH1 0x02
00001a15: EXP
00001a16: PUSH4 0x37b832b7
00001a1b: MUL
00001a1c: SWAP1
00001a1d: PUSH1 0x80
00001a1f: PUSH1 0x02
00001a21: EXP
00001a22: MUL
00001a23: PUSH1 0x01
00001a25: PUSH1 0x80
00001a27: PUSH1 0x02
00001a29: EXP
00001a2a: SUB
00001a2b: NOT
00001a2c: AND
00001a2d: DUP2
00001a2e: EQ
00001a2f: PUSH2 0x1a70
00001a32: JUMPI
00001a33: PUSH1 0x40
00001a35: DUP1
00001a36: MLOAD
00001a37: PUSH1 0xe5
00001a39: PUSH1 0x02
00001a3b: EXP
00001a3c: PUSH3 0x461bcd
00001a40: MUL
00001a41: DUP2
00001a42: MSTORE
00001a43: PUSH1 0x20
00001a45: PUSH1 0x04
00001a47: DUP3
00001a48: ADD
00001a49: MSTORE
00001a4a: PUSH1 0x12
00001a4c: PUSH1 0x24
00001a4e: DUP3
00001a4f: ADD
00001a50: MSTORE
00001a51: PUSH1 0x00
00001a53: DUP1
00001a54: MLOAD
00001a55: PUSH1 0x20
00001a57: PUSH2 0x3331
00001a5a: DUP4
00001a5b: CODECOPY
00001a5c: DUP2
00001a5d: MLOAD
00001a5e: SWAP2
00001a5f: MSTORE
00001a60: PUSH1 0x44
00001a62: DUP3
00001a63: ADD
00001a64: MSTORE
00001a65: SWAP1
00001a66: MLOAD
00001a67: SWAP1
00001a68: DUP2
00001a69: SWAP1
00001a6a: SUB
00001a6b: PUSH1 0x64
00001a6d: ADD
00001a6e: SWAP1
00001a6f: REVERT
00001a70: JUMPDEST
00001a71: PUSH1 0x03
00001a73: SLOAD
00001a74: PUSH1 0x40
00001a76: DUP1
00001a77: MLOAD
00001a78: PUSH32 0x3d9287fa00000000000000000000000000000000000000000000000000000000
00001a99: DUP2
00001a9a: MSTORE
00001a9b: SWAP1
00001a9c: MLOAD
00001a9d: CALLER
00001a9e: SWAP3
00001a9f: PUSH1 0x01
00001aa1: PUSH1 0xa0
00001aa3: PUSH1 0x02
00001aa5: EXP
00001aa6: SUB
00001aa7: AND
00001aa8: SWAP2
00001aa9: PUSH4 0x3d9287fa
00001aae: SWAP2
00001aaf: PUSH1 0x04
00001ab1: DUP1
00001ab2: DUP4
00001ab3: ADD
00001ab4: SWAP3
00001ab5: PUSH1 0x20
00001ab7: SWAP3
00001ab8: SWAP2
00001ab9: SWAP1
00001aba: DUP3
00001abb: SWAP1
00001abc: SUB
00001abd: ADD
00001abe: DUP2
00001abf: PUSH1 0x00
00001ac1: DUP8
00001ac2: DUP1
00001ac3: EXTCODESIZE
00001ac4: ISZERO
00001ac5: DUP1
00001ac6: ISZERO
00001ac7: PUSH2 0x1acf
00001aca: JUMPI
00001acb: PUSH1 0x00
00001acd: DUP1
00001ace: REVERT
00001acf: JUMPDEST
00001ad0: POP
00001ad1: GAS
00001ad2: CALL
00001ad3: ISZERO
00001ad4: DUP1
00001ad5: ISZERO
00001ad6: PUSH2 0x1ae3
00001ad9: JUMPI
00001ada: RETURNDATASIZE
00001adb: PUSH1 0x00
00001add: DUP1
00001ade: RETURNDATACOPY
00001adf: RETURNDATASIZE
00001ae0: PUSH1 0x00
00001ae2: REVERT
00001ae3: JUMPDEST
00001ae4: POP
00001ae5: POP
00001ae6: POP
00001ae7: POP
00001ae8: PUSH1 0x40
00001aea: MLOAD
00001aeb: RETURNDATASIZE
00001aec: PUSH1 0x20
00001aee: DUP2
00001aef: LT
00001af0: ISZERO
00001af1: PUSH2 0x1af9
00001af4: JUMPI
00001af5: PUSH1 0x00
00001af7: DUP1
00001af8: REVERT
00001af9: JUMPDEST
00001afa: POP
00001afb: MLOAD
00001afc: ISZERO
00001afd: DUP1
00001afe: PUSH2 0x1b1f
00001b01: JUMPI
00001b02: POP
00001b03: PUSH1 0x01
00001b05: PUSH1 0xa0
00001b07: PUSH1 0x02
00001b09: EXP
00001b0a: SUB
00001b0b: DUP2
00001b0c: AND
00001b0d: PUSH1 0x00
00001b0f: SWAP1
00001b10: DUP2
00001b11: MSTORE
00001b12: PUSH1 0x12
00001b14: PUSH1 0x20
00001b16: MSTORE
00001b17: PUSH1 0x40
00001b19: SWAP1
00001b1a: KECCAK256
00001b1b: SLOAD
00001b1c: PUSH1 0xff
00001b1e: AND
00001b1f: JUMPDEST
00001b20: ISZERO
00001b21: ISZERO
00001b22: PUSH2 0x1b75
00001b25: JUMPI
00001b26: PUSH1 0x40
00001b28: DUP1
00001b29: MLOAD
00001b2a: PUSH1 0xe5
00001b2c: PUSH1 0x02
00001b2e: EXP
00001b2f: PUSH3 0x461bcd
00001b33: MUL
00001b34: DUP2
00001b35: MSTORE
00001b36: PUSH1 0x20
00001b38: PUSH1 0x04
00001b3a: DUP3
00001b3b: ADD
00001b3c: MSTORE
00001b3d: PUSH1 0x0f
00001b3f: PUSH1 0x24
00001b41: DUP3
00001b42: ADD
00001b43: MSTORE
00001b44: PUSH32 0x6e6f742077686974656c69737465640000000000000000000000000000000000
00001b65: PUSH1 0x44
00001b67: DUP3
00001b68: ADD
00001b69: MSTORE
00001b6a: SWAP1
00001b6b: MLOAD
00001b6c: SWAP1
00001b6d: DUP2
00001b6e: SWAP1
00001b6f: SUB
00001b70: PUSH1 0x64
00001b72: ADD
00001b73: SWAP1
00001b74: REVERT
00001b75: JUMPDEST
00001b76: PUSH1 0x02
00001b78: SLOAD
00001b79: PUSH1 0xff
00001b7b: AND
00001b7c: ISZERO
00001b7d: PUSH2 0x1b85
00001b80: JUMPI
00001b81: PUSH1 0x00
00001b83: DUP1
00001b84: REVERT
00001b85: JUMPDEST
00001b86: PUSH1 0x02
00001b88: DUP1
00001b89: SLOAD
00001b8a: PUSH1 0xff
00001b8c: NOT
00001b8d: AND
00001b8e: PUSH1 0x01
00001b90: OR
00001b91: SWAP1
00001b92: SSTORE
00001b93: PUSH1 0x40
00001b95: DUP1
00001b96: MLOAD
00001b97: PUSH32 0x440df79000000000000000000000000000000000000000000000000000000000
00001bb8: DUP2
00001bb9: MSTORE
00001bba: PUSH1 0x03
00001bbc: PUSH1 0x04
00001bbe: DUP3
00001bbf: ADD
00001bc0: MSTORE
00001bc1: PUSH1 0x01
00001bc3: PUSH1 0xa0
00001bc5: PUSH1 0x02
00001bc7: EXP
00001bc8: SUB
00001bc9: CALLER
00001bca: DUP2
00001bcb: AND
00001bcc: PUSH1 0x24
00001bce: DUP4
00001bcf: ADD
00001bd0: MSTORE
00001bd1: DUP6
00001bd2: AND
00001bd3: PUSH1 0x44
00001bd5: DUP3
00001bd6: ADD
00001bd7: MSTORE
00001bd8: SWAP1
00001bd9: MLOAD
00001bda: PUSH20 0x0ad9b58269b804ebd66c9b76e914b5a336c985bc
00001bef: SWAP2
00001bf0: PUSH4 0x440df790
00001bf5: SWAP2
00001bf6: PUSH1 0x64
00001bf8: DUP1
00001bf9: DUP4
00001bfa: ADD
00001bfb: SWAP3
00001bfc: PUSH1 0x00
00001bfe: SWAP3
00001bff: SWAP2
00001c00: SWAP1
00001c01: DUP3
00001c02: SWAP1
00001c03: SUB
00001c04: ADD
00001c05: DUP2
00001c06: DUP7
00001c07: DUP1
00001c08: EXTCODESIZE
00001c09: ISZERO
00001c0a: DUP1
00001c0b: ISZERO
00001c0c: PUSH2 0x1c14
00001c0f: JUMPI
00001c10: PUSH1 0x00
00001c12: DUP1
00001c13: REVERT
00001c14: JUMPDEST
00001c15: POP
00001c16: GAS
00001c17: DELEGATECALL
00001c18: ISZERO
00001c19: DUP1
00001c1a: ISZERO
00001c1b: PUSH2 0x1c28
00001c1e: JUMPI
00001c1f: RETURNDATASIZE
00001c20: PUSH1 0x00
00001c22: DUP1
00001c23: RETURNDATACOPY
00001c24: RETURNDATASIZE
00001c25: PUSH1 0x00
00001c27: REVERT
00001c28: JUMPDEST
00001c29: POP
00001c2a: POP
00001c2b: PUSH1 0x40
00001c2d: DUP1
00001c2e: MLOAD
00001c2f: PUSH32 0x853eac2100000000000000000000000000000000000000000000000000000000
00001c50: DUP2
00001c51: MSTORE
00001c52: PUSH1 0x03
00001c54: PUSH1 0x04
00001c56: DUP3
00001c57: ADD
00001c58: MSTORE
00001c59: PUSH1 0x01
00001c5b: PUSH1 0xa0
00001c5d: PUSH1 0x02
00001c5f: EXP
00001c60: SUB
00001c61: CALLER
00001c62: AND
00001c63: PUSH1 0x24
00001c65: DUP3
00001c66: ADD
00001c67: MSTORE
00001c68: CALLVALUE
00001c69: PUSH1 0x44
00001c6b: DUP3
00001c6c: ADD
00001c6d: MSTORE
00001c6e: SWAP1
00001c6f: MLOAD
00001c70: PUSH20 0x0ad9b58269b804ebd66c9b76e914b5a336c985bc
00001c85: SWAP4
00001c86: POP
00001c87: PUSH4 0x853eac21
00001c8c: SWAP3
00001c8d: POP
00001c8e: PUSH1 0x64
00001c90: DUP1
00001c91: DUP4
00001c92: ADD
00001c93: SWAP3
00001c94: PUSH1 0x00
00001c96: SWAP3
00001c97: SWAP2
00001c98: SWAP1
00001c99: DUP3
00001c9a: SWAP1
00001c9b: SUB
00001c9c: ADD
00001c9d: DUP2
00001c9e: DUP7
00001c9f: DUP1
00001ca0: EXTCODESIZE
00001ca1: ISZERO
00001ca2: DUP1
00001ca3: ISZERO
00001ca4: PUSH2 0x1cac
00001ca7: JUMPI
00001ca8: PUSH1 0x00
00001caa: DUP1
00001cab: REVERT
00001cac: JUMPDEST
00001cad: POP
00001cae: GAS
00001caf: DELEGATECALL
00001cb0: ISZERO
00001cb1: DUP1
00001cb2: ISZERO
00001cb3: PUSH2 0x1cc0
00001cb6: JUMPI
00001cb7: RETURNDATASIZE
00001cb8: PUSH1 0x00
00001cba: DUP1
00001cbb: RETURNDATACOPY
00001cbc: RETURNDATASIZE
00001cbd: PUSH1 0x00
00001cbf: REVERT
00001cc0: JUMPDEST
00001cc1: POP
00001cc2: POP
00001cc3: PUSH1 0x02
00001cc5: DUP1
00001cc6: SLOAD
00001cc7: PUSH1 0xff
00001cc9: NOT
00001cca: AND
00001ccb: SWAP1
00001ccc: SSTORE
00001ccd: POP
00001cce: POP
00001ccf: POP
00001cd0: POP
00001cd1: POP
00001cd2: JUMP
00001cd3: JUMPDEST
00001cd4: PUSH1 0x07
00001cd6: SLOAD
00001cd7: PUSH1 0xe1
00001cd9: PUSH1 0x02
00001cdb: EXP
00001cdc: PUSH4 0x37b832b7
00001ce1: MUL
00001ce2: SWAP1
00001ce3: PUSH1 0x00
00001ce5: DUP1
00001ce6: MLOAD
00001ce7: PUSH1 0x20
00001ce9: PUSH2 0x3351
00001cec: DUP4
00001ced: CODECOPY
00001cee: DUP2
00001cef: MLOAD
00001cf0: SWAP2
00001cf1: MSTORE
00001cf2: SWAP1
00001cf3: PUSH1 0x00
00001cf5: SWAP1
00001cf6: PUSH1 0x80
00001cf8: PUSH1 0x02
00001cfa: EXP
00001cfb: MUL
00001cfc: PUSH1 0x01
00001cfe: PUSH1 0x80
00001d00: PUSH1 0x02
00001d02: EXP
00001d03: SUB
00001d04: NOT
00001d05: AND
00001d06: DUP4
00001d07: EQ
00001d08: DUP1
00001d09: PUSH2 0x1d27
00001d0c: JUMPI
00001d0d: POP
00001d0e: PUSH1 0x07
00001d10: SLOAD
00001d11: PUSH1 0x80
00001d13: PUSH1 0x02
00001d15: EXP
00001d16: MUL
00001d17: PUSH1 0x01
00001d19: PUSH1 0x80
00001d1b: PUSH1 0x02
00001d1d: EXP
00001d1e: SUB
00001d1f: NOT
00001d20: SWAP1
00001d21: DUP2
00001d22: AND
00001d23: SWAP1
00001d24: DUP4
00001d25: AND
00001d26: EQ
00001d27: JUMPDEST
00001d28: ISZERO
00001d29: PUSH2 0x1d30
00001d2c: JUMPI
00001d2d: POP
00001d2e: PUSH1 0x01
00001d30: JUMPDEST
00001d31: DUP1
00001d32: ISZERO
00001d33: ISZERO
00001d34: PUSH2 0x1d75
00001d37: JUMPI
00001d38: PUSH1 0x40
00001d3a: DUP1
00001d3b: MLOAD
00001d3c: PUSH1 0xe5
00001d3e: PUSH1 0x02
00001d40: EXP
00001d41: PUSH3 0x461bcd
00001d45: MUL
00001d46: DUP2
00001d47: MSTORE
00001d48: PUSH1 0x20
00001d4a: PUSH1 0x04
00001d4c: DUP3
00001d4d: ADD
00001d4e: MSTORE
00001d4f: PUSH1 0x12
00001d51: PUSH1 0x24
00001d53: DUP3
00001d54: ADD
00001d55: MSTORE
00001d56: PUSH1 0x00
00001d58: DUP1
00001d59: MLOAD
00001d5a: PUSH1 0x20
00001d5c: PUSH2 0x3331
00001d5f: DUP4
00001d60: CODECOPY
00001d61: DUP2
00001d62: MLOAD
00001d63: SWAP2
00001d64: MSTORE
00001d65: PUSH1 0x44
00001d67: DUP3
00001d68: ADD
00001d69: MSTORE
00001d6a: SWAP1
00001d6b: MLOAD
00001d6c: SWAP1
00001d6d: DUP2
00001d6e: SWAP1
00001d6f: SUB
00001d70: PUSH1 0x64
00001d72: ADD
00001d73: SWAP1
00001d74: REVERT
00001d75: JUMPDEST
00001d76: PUSH1 0x00
00001d78: SLOAD
00001d79: CALLER
00001d7a: PUSH1 0x01
00001d7c: PUSH1 0xa0
00001d7e: PUSH1 0x02
00001d80: EXP
00001d81: SUB
00001d82: SWAP1
00001d83: DUP2
00001d84: AND
00001d85: SWAP2
00001d86: AND
00001d87: EQ
00001d88: PUSH2 0x1d90
00001d8b: JUMPI
00001d8c: PUSH1 0x00
00001d8e: DUP1
00001d8f: REVERT
00001d90: JUMPDEST
00001d91: PUSH1 0x02
00001d93: SLOAD
00001d94: PUSH1 0xff
00001d96: AND
00001d97: ISZERO
00001d98: PUSH2 0x1da0
00001d9b: JUMPI
00001d9c: PUSH1 0x00
00001d9e: DUP1
00001d9f: REVERT
00001da0: JUMPDEST
00001da1: PUSH1 0x02
00001da3: DUP1
00001da4: SLOAD
00001da5: PUSH1 0xff
00001da7: NOT
00001da8: AND
00001da9: PUSH1 0x01
00001dab: OR
00001dac: SWAP1
00001dad: SSTORE
00001dae: PUSH1 0x40
00001db0: DUP1
00001db1: MLOAD
00001db2: PUSH32 0x1c47b0dc00000000000000000000000000000000000000000000000000000000
00001dd3: DUP2
00001dd4: MSTORE
00001dd5: PUSH1 0x03
00001dd7: PUSH1 0x04
00001dd9: DUP3
00001dda: ADD
00001ddb: MSTORE
00001ddc: PUSH1 0x01
00001dde: PUSH1 0xa0
00001de0: PUSH1 0x02
00001de2: EXP
00001de3: SUB
00001de4: DUP8
00001de5: AND
00001de6: PUSH1 0x24
00001de8: DUP3
00001de9: ADD
00001dea: MSTORE
00001deb: PUSH1 0x44
00001ded: DUP2
00001dee: ADD
00001def: DUP7
00001df0: SWAP1
00001df1: MSTORE
00001df2: SWAP1
00001df3: MLOAD
00001df4: PUSH20 0x0ad9b58269b804ebd66c9b76e914b5a336c985bc
00001e09: SWAP2
00001e0a: PUSH4 0x1c47b0dc
00001e0f: SWAP2
00001e10: PUSH1 0x64
00001e12: DUP1
00001e13: DUP4
00001e14: ADD
00001e15: SWAP3
00001e16: PUSH1 0x00
00001e18: SWAP3
00001e19: SWAP2
00001e1a: SWAP1
00001e1b: DUP3
00001e1c: SWAP1
00001e1d: SUB
00001e1e: ADD
00001e1f: DUP2
00001e20: DUP7
00001e21: DUP1
00001e22: EXTCODESIZE
00001e23: ISZERO
00001e24: DUP1
00001e25: ISZERO
00001e26: PUSH2 0x1e2e
00001e29: JUMPI
00001e2a: PUSH1 0x00
00001e2c: DUP1
00001e2d: REVERT
00001e2e: JUMPDEST
00001e2f: POP
00001e30: GAS
00001e31: DELEGATECALL
00001e32: ISZERO
00001e33: DUP1
00001e34: ISZERO
00001e35: PUSH2 0x1e42
00001e38: JUMPI
00001e39: RETURNDATASIZE
00001e3a: PUSH1 0x00
00001e3c: DUP1
00001e3d: RETURNDATACOPY
00001e3e: RETURNDATASIZE
00001e3f: PUSH1 0x00
00001e41: REVERT
00001e42: JUMPDEST
00001e43: POP
00001e44: POP
00001e45: PUSH1 0x02
00001e47: DUP1
00001e48: SLOAD
00001e49: PUSH1 0xff
00001e4b: NOT
00001e4c: AND
00001e4d: SWAP1
00001e4e: SSTORE
00001e4f: POP
00001e50: POP
00001e51: POP
00001e52: POP
00001e53: POP
00001e54: POP
00001e55: POP
00001e56: JUMP
00001e57: JUMPDEST
00001e58: PUSH1 0x07
00001e5a: SLOAD
00001e5b: PUSH1 0xe1
00001e5d: PUSH1 0x02
00001e5f: EXP
00001e60: PUSH4 0x37b832b7
00001e65: MUL
00001e66: SWAP1
00001e67: PUSH1 0x00
00001e69: DUP1
00001e6a: MLOAD
00001e6b: PUSH1 0x20
00001e6d: PUSH2 0x3351
00001e70: DUP4
00001e71: CODECOPY
00001e72: DUP2
00001e73: MLOAD
00001e74: SWAP2
00001e75: MSTORE
00001e76: SWAP1
00001e77: PUSH1 0x00
00001e79: SWAP1
00001e7a: PUSH1 0x80
00001e7c: PUSH1 0x02
00001e7e: EXP
00001e7f: MUL
00001e80: PUSH1 0x01
00001e82: PUSH1 0x80
00001e84: PUSH1 0x02
00001e86: EXP
00001e87: SUB
00001e88: NOT
00001e89: AND
00001e8a: DUP4
00001e8b: EQ
00001e8c: DUP1
00001e8d: PUSH2 0x1eab
00001e90: JUMPI
00001e91: POP
00001e92: PUSH1 0x07
00001e94: SLOAD
00001e95: PUSH1 0x80
00001e97: PUSH1 0x02
00001e99: EXP
00001e9a: MUL
00001e9b: PUSH1 0x01
00001e9d: PUSH1 0x80
00001e9f: PUSH1 0x02
00001ea1: EXP
00001ea2: SUB
00001ea3: NOT
00001ea4: SWAP1
00001ea5: DUP2
00001ea6: AND
00001ea7: SWAP1
00001ea8: DUP4
00001ea9: AND
00001eaa: EQ
00001eab: JUMPDEST
00001eac: ISZERO
00001ead: PUSH2 0x1eb4
00001eb0: JUMPI
00001eb1: POP
00001eb2: PUSH1 0x01
00001eb4: JUMPDEST
00001eb5: DUP1
00001eb6: ISZERO
00001eb7: ISZERO
00001eb8: PUSH2 0x1ef9
00001ebb: JUMPI
00001ebc: PUSH1 0x40
00001ebe: DUP1
00001ebf: MLOAD
00001ec0: PUSH1 0xe5
00001ec2: PUSH1 0x02
00001ec4: EXP
00001ec5: PUSH3 0x461bcd
00001ec9: MUL
00001eca: DUP2
00001ecb: MSTORE
00001ecc: PUSH1 0x20
00001ece: PUSH1 0x04
00001ed0: DUP3
00001ed1: ADD
00001ed2: MSTORE
00001ed3: PUSH1 0x12
00001ed5: PUSH1 0x24
00001ed7: DUP3
00001ed8: ADD
00001ed9: MSTORE
00001eda: PUSH1 0x00
00001edc: DUP1
00001edd: MLOAD
00001ede: PUSH1 0x20
00001ee0: PUSH2 0x3331
00001ee3: DUP4
00001ee4: CODECOPY
00001ee5: DUP2
00001ee6: MLOAD
00001ee7: SWAP2
00001ee8: MSTORE
00001ee9: PUSH1 0x44
00001eeb: DUP3
00001eec: ADD
00001eed: MSTORE
00001eee: SWAP1
00001eef: MLOAD
00001ef0: SWAP1
00001ef1: DUP2
00001ef2: SWAP1
00001ef3: SUB
00001ef4: PUSH1 0x64
00001ef6: ADD
00001ef7: SWAP1
00001ef8: REVERT
00001ef9: JUMPDEST
00001efa: PUSH1 0x00
00001efc: SLOAD
00001efd: CALLER
00001efe: PUSH1 0x01
00001f00: PUSH1 0xa0
00001f02: PUSH1 0x02
00001f04: EXP
00001f05: SUB
00001f06: SWAP1
00001f07: DUP2
00001f08: AND
00001f09: SWAP2
00001f0a: AND
00001f0b: EQ
00001f0c: PUSH2 0x1f14
00001f0f: JUMPI
00001f10: PUSH1 0x00
00001f12: DUP1
00001f13: REVERT
00001f14: JUMPDEST
00001f15: PUSH1 0x02
00001f17: SLOAD
00001f18: PUSH1 0xff
00001f1a: AND
00001f1b: ISZERO
00001f1c: PUSH2 0x1f24
00001f1f: JUMPI
00001f20: PUSH1 0x00
00001f22: DUP1
00001f23: REVERT
00001f24: JUMPDEST
00001f25: PUSH1 0x02
00001f27: DUP1
00001f28: SLOAD
00001f29: PUSH1 0xff
00001f2b: NOT
00001f2c: AND
00001f2d: PUSH1 0x01
00001f2f: OR
00001f30: SWAP1
00001f31: SSTORE
00001f32: PUSH1 0x40
00001f34: DUP1
00001f35: MLOAD
00001f36: PUSH32 0xe3a997b600000000000000000000000000000000000000000000000000000000
00001f57: DUP2
00001f58: MSTORE
00001f59: PUSH1 0x03
00001f5b: PUSH1 0x04
00001f5d: DUP3
00001f5e: ADD
00001f5f: MSTORE
00001f60: PUSH1 0x24
00001f62: DUP2
00001f63: ADD
00001f64: DUP7
00001f65: SWAP1
00001f66: MSTORE
00001f67: SWAP1
00001f68: MLOAD
00001f69: PUSH20 0x0ad9b58269b804ebd66c9b76e914b5a336c985bc
00001f7e: SWAP2
00001f7f: PUSH4 0xe3a997b6
00001f84: SWAP2
00001f85: PUSH1 0x44
00001f87: DUP1
00001f88: DUP4
00001f89: ADD
00001f8a: SWAP3
00001f8b: PUSH1 0x00
00001f8d: SWAP3
00001f8e: SWAP2
00001f8f: SWAP1
00001f90: DUP3
00001f91: SWAP1
00001f92: SUB
00001f93: ADD
00001f94: DUP2
00001f95: DUP7
00001f96: DUP1
00001f97: EXTCODESIZE
00001f98: ISZERO
00001f99: DUP1
00001f9a: ISZERO
00001f9b: PUSH2 0x0edb
00001f9e: JUMPI
00001f9f: PUSH1 0x00
00001fa1: DUP1
00001fa2: REVERT
00001fa3: JUMPDEST
00001fa4: PUSH1 0x01
00001fa6: PUSH1 0xa0
00001fa8: PUSH1 0x02
00001faa: EXP
00001fab: SUB
00001fac: AND
00001fad: PUSH1 0x00
00001faf: SWAP1
00001fb0: DUP2
00001fb1: MSTORE
00001fb2: PUSH1 0x11
00001fb4: PUSH1 0x20
00001fb6: MSTORE
00001fb7: PUSH1 0x40
00001fb9: SWAP1
00001fba: KECCAK256
00001fbb: PUSH1 0x06
00001fbd: ADD
00001fbe: SLOAD
00001fbf: SWAP1
00001fc0: JUMP
00001fc1: JUMPDEST
00001fc2: PUSH1 0x07
00001fc4: SLOAD
00001fc5: PUSH32 0x636c61696d61626c650000000000000000000000000000000000000000000000
00001fe6: SWAP1
00001fe7: PUSH1 0x80
00001fe9: PUSH1 0x02
00001feb: EXP
00001fec: MUL
00001fed: PUSH1 0x01
00001fef: PUSH1 0x80
00001ff1: PUSH1 0x02
00001ff3: EXP
00001ff4: SUB
00001ff5: NOT
00001ff6: AND
00001ff7: DUP2
00001ff8: EQ
00001ff9: PUSH2 0x203a
00001ffc: JUMPI
00001ffd: PUSH1 0x40
00001fff: DUP1
00002000: MLOAD
00002001: PUSH1 0xe5
00002003: PUSH1 0x02
00002005: EXP
00002006: PUSH3 0x461bcd
0000200a: MUL
0000200b: DUP2
0000200c: MSTORE
0000200d: PUSH1 0x20
0000200f: PUSH1 0x04
00002011: DUP3
00002012: ADD
00002013: MSTORE
00002014: PUSH1 0x12
00002016: PUSH1 0x24
00002018: DUP3
00002019: ADD
0000201a: MSTORE
0000201b: PUSH1 0x00
0000201d: DUP1
0000201e: MLOAD
0000201f: PUSH1 0x20
00002021: PUSH2 0x3331
00002024: DUP4
00002025: CODECOPY
00002026: DUP2
00002027: MLOAD
00002028: SWAP2
00002029: MSTORE
0000202a: PUSH1 0x44
0000202c: DUP3
0000202d: ADD
0000202e: MSTORE
0000202f: SWAP1
00002030: MLOAD
00002031: SWAP1
00002032: DUP2
00002033: SWAP1
00002034: SUB
00002035: PUSH1 0x64
00002037: ADD
00002038: SWAP1
00002039: REVERT
0000203a: JUMPDEST
0000203b: PUSH1 0x02
0000203d: SLOAD
0000203e: PUSH1 0xff
00002040: AND
00002041: ISZERO
00002042: PUSH2 0x204a
00002045: JUMPI
00002046: PUSH1 0x00
00002048: DUP1
00002049: REVERT
0000204a: JUMPDEST
0000204b: PUSH1 0x02
0000204d: DUP1
0000204e: SLOAD
0000204f: PUSH1 0xff
00002051: NOT
00002052: AND
00002053: PUSH1 0x01
00002055: OR
00002056: SWAP1
00002057: SSTORE
00002058: PUSH1 0x40
0000205a: DUP1
0000205b: MLOAD
0000205c: PUSH32 0xec6d7bf500000000000000000000000000000000000000000000000000000000
0000207d: DUP2
0000207e: MSTORE
0000207f: PUSH1 0x03
00002081: PUSH1 0x04
00002083: DUP3
00002084: ADD
00002085: MSTORE
00002086: PUSH1 0x01
00002088: PUSH1 0xa0
0000208a: PUSH1 0x02
0000208c: EXP
0000208d: SUB
0000208e: CALLER
0000208f: AND
00002090: PUSH1 0x24
00002092: DUP3
00002093: ADD
00002094: MSTORE
00002095: SWAP1
00002096: MLOAD
00002097: PUSH20 0x0ad9b58269b804ebd66c9b76e914b5a336c985bc
000020ac: SWAP2
000020ad: PUSH4 0xec6d7bf5
000020b2: SWAP2
000020b3: PUSH1 0x44
000020b5: DUP1
000020b6: DUP4
000020b7: ADD
000020b8: SWAP3
000020b9: PUSH1 0x00
000020bb: SWAP3
000020bc: SWAP2
000020bd: SWAP1
000020be: DUP3
000020bf: SWAP1
000020c0: SUB
000020c1: ADD
000020c2: DUP2
000020c3: DUP7
000020c4: DUP1
000020c5: EXTCODESIZE
000020c6: ISZERO
000020c7: DUP1
000020c8: ISZERO
000020c9: PUSH2 0x0d6a
000020cc: JUMPI
000020cd: PUSH1 0x00
000020cf: DUP1
000020d0: REVERT
000020d1: JUMPDEST
000020d2: PUSH1 0x07
000020d4: SLOAD
000020d5: PUSH32 0x73656e7400000000000000000000000000000000000000000000000000000000
000020f6: SWAP1
000020f7: PUSH32 0x636c61696d61626c650000000000000000000000000000000000000000000000
00002118: SWAP1
00002119: PUSH32 0x636f6d706c657465640000000000000000000000000000000000000000000000
0000213a: SWAP1
0000213b: PUSH1 0x00
0000213d: SWAP1
0000213e: PUSH1 0x80
00002140: PUSH1 0x02
00002142: EXP
00002143: MUL
00002144: PUSH1 0x01
00002146: PUSH1 0x80
00002148: PUSH1 0x02
0000214a: EXP
0000214b: SUB
0000214c: NOT
0000214d: AND
0000214e: DUP5
0000214f: EQ
00002150: DUP1
00002151: PUSH2 0x216f
00002154: JUMPI
00002155: POP
00002156: PUSH1 0x07
00002158: SLOAD
00002159: PUSH1 0x80
0000215b: PUSH1 0x02
0000215d: EXP
0000215e: MUL
0000215f: PUSH1 0x01
00002161: PUSH1 0x80
00002163: PUSH1 0x02
00002165: EXP
00002166: SUB
00002167: NOT
00002168: SWAP1
00002169: DUP2
0000216a: AND
0000216b: SWAP1
0000216c: DUP5
0000216d: AND
0000216e: EQ
0000216f: JUMPDEST
00002170: DUP1
00002171: PUSH2 0x218f
00002174: JUMPI
00002175: POP
00002176: PUSH1 0x07
00002178: SLOAD
00002179: PUSH1 0x80
0000217b: PUSH1 0x02
0000217d: EXP
0000217e: MUL
0000217f: PUSH1 0x01
00002181: PUSH1 0x80
00002183: PUSH1 0x02
00002185: EXP
00002186: SUB
00002187: NOT
00002188: SWAP1
00002189: DUP2
0000218a: AND
0000218b: SWAP1
0000218c: DUP4
0000218d: AND
0000218e: EQ
0000218f: JUMPDEST
00002190: ISZERO
00002191: PUSH2 0x2198
00002194: JUMPI
00002195: POP
00002196: PUSH1 0x01
00002198: JUMPDEST
00002199: DUP1
0000219a: ISZERO
0000219b: ISZERO
0000219c: PUSH2 0x21dd
0000219f: JUMPI
000021a0: PUSH1 0x40
000021a2: DUP1
000021a3: MLOAD
000021a4: PUSH1 0xe5
000021a6: PUSH1 0x02
000021a8: EXP
000021a9: PUSH3 0x461bcd
000021ad: MUL
000021ae: DUP2
000021af: MSTORE
000021b0: PUSH1 0x20
000021b2: PUSH1 0x04
000021b4: DUP3
000021b5: ADD
000021b6: MSTORE
000021b7: PUSH1 0x12
000021b9: PUSH1 0x24
000021bb: DUP3
000021bc: ADD
000021bd: MSTORE
000021be: PUSH1 0x00
000021c0: DUP1
000021c1: MLOAD
000021c2: PUSH1 0x20
000021c4: PUSH2 0x3331
000021c7: DUP4
000021c8: CODECOPY
000021c9: DUP2
000021ca: MLOAD
000021cb: SWAP2
000021cc: MSTORE
000021cd: PUSH1 0x44
000021cf: DUP3
000021d0: ADD
000021d1: MSTORE
000021d2: SWAP1
000021d3: MLOAD
000021d4: SWAP1
000021d5: DUP2
000021d6: SWAP1
000021d7: SUB
000021d8: PUSH1 0x64
000021da: ADD
000021db: SWAP1
000021dc: REVERT
000021dd: JUMPDEST
000021de: PUSH1 0x00
000021e0: SLOAD
000021e1: CALLER
000021e2: PUSH1 0x01
000021e4: PUSH1 0xa0
000021e6: PUSH1 0x02
000021e8: EXP
000021e9: SUB
000021ea: SWAP1
000021eb: DUP2
000021ec: AND
000021ed: SWAP2
000021ee: AND
000021ef: EQ
000021f0: PUSH2 0x21f8
000021f3: JUMPI
000021f4: PUSH1 0x00
000021f6: DUP1
000021f7: REVERT
000021f8: JUMPDEST
000021f9: PUSH1 0x02
000021fb: SLOAD
000021fc: PUSH1 0xff
000021fe: AND
000021ff: ISZERO
00002200: PUSH2 0x2208
00002203: JUMPI
00002204: PUSH1 0x00
00002206: DUP1
00002207: REVERT
00002208: JUMPDEST
00002209: PUSH1 0x02
0000220b: DUP1
0000220c: SLOAD
0000220d: PUSH1 0xff
0000220f: NOT
00002210: AND
00002211: PUSH1 0x01
00002213: OR
00002214: SWAP1
00002215: SSTORE
00002216: PUSH1 0x40
00002218: DUP1
00002219: MLOAD
0000221a: PUSH32 0x3ebe83ef00000000000000000000000000000000000000000000000000000000
0000223b: DUP2
0000223c: MSTORE
0000223d: PUSH1 0x03
0000223f: PUSH1 0x04
00002241: DUP3
00002242: ADD
00002243: MSTORE
00002244: PUSH1 0x01
00002246: PUSH1 0xa0
00002248: PUSH1 0x02
0000224a: EXP
0000224b: SUB
0000224c: DUP8
0000224d: AND
0000224e: PUSH1 0x24
00002250: DUP3
00002251: ADD
00002252: MSTORE
00002253: SWAP1
00002254: MLOAD
00002255: PUSH20 0x0ad9b58269b804ebd66c9b76e914b5a336c985bc
0000226a: SWAP2
0000226b: PUSH4 0x3ebe83ef
00002270: SWAP2
00002271: PUSH1 0x44
00002273: DUP1
00002274: DUP4
00002275: ADD
00002276: SWAP3
00002277: PUSH1 0x00
00002279: SWAP3
0000227a: SWAP2
0000227b: SWAP1
0000227c: DUP3
0000227d: SWAP1
0000227e: SUB
0000227f: ADD
00002280: DUP2
00002281: DUP7
00002282: DUP1
00002283: EXTCODESIZE
00002284: ISZERO
00002285: DUP1
00002286: ISZERO
00002287: PUSH2 0x1e2e
0000228a: JUMPI
0000228b: PUSH1 0x00
0000228d: DUP1
0000228e: REVERT
0000228f: JUMPDEST
00002290: PUSH1 0x40
00002292: DUP1
00002293: MLOAD
00002294: PUSH32 0xe428054800000000000000000000000000000000000000000000000000000000
000022b5: DUP2
000022b6: MSTORE
000022b7: PUSH1 0x03
000022b9: PUSH1 0x04
000022bb: DUP3
000022bc: ADD
000022bd: MSTORE
000022be: PUSH1 0x01
000022c0: PUSH1 0xa0
000022c2: PUSH1 0x02
000022c4: EXP
000022c5: SUB
000022c6: DUP4
000022c7: AND
000022c8: PUSH1 0x24
000022ca: DUP3
000022cb: ADD
000022cc: MSTORE
000022cd: SWAP1
000022ce: MLOAD
000022cf: PUSH1 0x00
000022d1: SWAP2
000022d2: PUSH20 0x0ad9b58269b804ebd66c9b76e914b5a336c985bc
000022e7: SWAP2
000022e8: PUSH4 0xe4280548
000022ed: SWAP2
000022ee: PUSH1 0x44
000022f0: DUP1
000022f1: DUP3
000022f2: ADD
000022f3: SWAP3
000022f4: PUSH1 0x20
000022f6: SWAP3
000022f7: SWAP1
000022f8: SWAP2
000022f9: SWAP1
000022fa: DUP3
000022fb: SWAP1
000022fc: SUB
000022fd: ADD
000022fe: DUP2
000022ff: DUP7
00002300: DUP1
00002301: EXTCODESIZE
00002302: ISZERO
00002303: DUP1
00002304: ISZERO
00002305: PUSH2 0x134c
00002308: JUMPI
00002309: PUSH1 0x00
0000230b: DUP1
0000230c: REVERT
0000230d: JUMPDEST
0000230e: PUSH1 0x03
00002310: SWAP1
00002311: JUMP
00002312: JUMPDEST
00002313: PUSH1 0x06
00002315: SLOAD
00002316: PUSH1 0x08
00002318: SLOAD
00002319: PUSH1 0x07
0000231b: SLOAD
0000231c: PUSH1 0x05
0000231e: SLOAD
0000231f: PUSH1 0x0b
00002321: SLOAD
00002322: PUSH1 0x09
00002324: SLOAD
00002325: PUSH1 0x0d
00002327: SLOAD
00002328: PUSH1 0x0e
0000232a: SLOAD
0000232b: PUSH1 0x0f
0000232d: SLOAD
0000232e: PUSH1 0x10
00002330: SLOAD
00002331: PUSH1 0x19
00002333: SLOAD
00002334: PUSH1 0x1f
00002336: SLOAD
00002337: SWAP11
00002338: SWAP12
00002339: SWAP10
0000233a: SWAP11
0000233b: PUSH1 0x80
0000233d: PUSH1 0x02
0000233f: EXP
00002340: SWAP1
00002341: SWAP10
00002342: MUL
00002343: SWAP10
00002344: PUSH1 0x01
00002346: PUSH1 0xa0
00002348: PUSH1 0x02
0000234a: EXP
0000234b: SUB
0000234c: SWAP1
0000234d: SWAP9
0000234e: AND
0000234f: SWAP9
00002350: SWAP7
00002351: SWAP8
00002352: SWAP6
00002353: SWAP7
00002354: SWAP5
00002355: SWAP6
00002356: SWAP4
00002357: SWAP5
00002358: SWAP3
00002359: SWAP4
0000235a: SWAP2
0000235b: SWAP3
0000235c: SWAP1
0000235d: SWAP2
0000235e: JUMP
0000235f: JUMPDEST
00002360: PUSH1 0x01
00002362: PUSH1 0xa0
00002364: PUSH1 0x02
00002366: EXP
00002367: SUB
00002368: AND
00002369: PUSH1 0x00
0000236b: SWAP1
0000236c: DUP2
0000236d: MSTORE
0000236e: PUSH1 0x11
00002370: PUSH1 0x20
00002372: MSTORE
00002373: PUSH1 0x40
00002375: SWAP1
00002376: KECCAK256
00002377: PUSH1 0x07
00002379: ADD
0000237a: SLOAD
0000237b: SWAP1
0000237c: JUMP
0000237d: JUMPDEST
0000237e: PUSH1 0x01
00002380: PUSH1 0xa0
00002382: PUSH1 0x02
00002384: EXP
00002385: SUB
00002386: AND
00002387: PUSH1 0x00
00002389: SWAP1
0000238a: DUP2
0000238b: MSTORE
0000238c: PUSH1 0x11
0000238e: PUSH1 0x20
00002390: MSTORE
00002391: PUSH1 0x40
00002393: SWAP1
00002394: KECCAK256
00002395: PUSH1 0x08
00002397: ADD
00002398: SLOAD
00002399: SWAP1
0000239a: JUMP
0000239b: JUMPDEST
0000239c: PUSH2 0x23c8
0000239f: CALLER
000023a0: PUSH1 0x40
000023a2: DUP1
000023a3: MLOAD
000023a4: SWAP1
000023a5: DUP2
000023a6: ADD
000023a7: PUSH1 0x40
000023a9: MSTORE
000023aa: DUP1
000023ab: PUSH1 0x05
000023ad: DUP2
000023ae: MSTORE
000023af: PUSH1 0x20
000023b1: ADD
000023b2: PUSH1 0x00
000023b4: DUP1
000023b5: MLOAD
000023b6: PUSH1 0x20
000023b8: PUSH2 0x3311
000023bb: DUP4
000023bc: CODECOPY
000023bd: DUP2
000023be: MLOAD
000023bf: SWAP2
000023c0: MSTORE
000023c1: DUP2
000023c2: MSTORE
000023c3: POP
000023c4: PUSH2 0x0f21
000023c7: JUMP
000023c8: JUMPDEST
000023c9: PUSH2 0x0f8b
000023cc: DUP3
000023cd: DUP3
000023ce: PUSH2 0x30c7
000023d1: JUMP
000023d2: JUMPDEST
000023d3: PUSH1 0x07
000023d5: SLOAD
000023d6: PUSH1 0x00
000023d8: DUP1
000023d9: MLOAD
000023da: PUSH1 0x20
000023dc: PUSH2 0x3351
000023df: DUP4
000023e0: CODECOPY
000023e1: DUP2
000023e2: MLOAD
000023e3: SWAP2
000023e4: MSTORE
000023e5: SWAP1
000023e6: PUSH1 0x80
000023e8: PUSH1 0x02
000023ea: EXP
000023eb: MUL
000023ec: PUSH1 0x01
000023ee: PUSH1 0x80
000023f0: PUSH1 0x02
000023f2: EXP
000023f3: SUB
000023f4: NOT
000023f5: AND
000023f6: DUP2
000023f7: EQ
000023f8: PUSH2 0x2439
000023fb: JUMPI
000023fc: PUSH1 0x40
000023fe: DUP1
000023ff: MLOAD
00002400: PUSH1 0xe5
00002402: PUSH1 0x02
00002404: EXP
00002405: PUSH3 0x461bcd
00002409: MUL
0000240a: DUP2
0000240b: MSTORE
0000240c: PUSH1 0x20
0000240e: PUSH1 0x04
00002410: DUP3
00002411: ADD
00002412: MSTORE
00002413: PUSH1 0x12
00002415: PUSH1 0x24
00002417: DUP3
00002418: ADD
00002419: MSTORE
0000241a: PUSH1 0x00
0000241c: DUP1
0000241d: MLOAD
0000241e: PUSH1 0x20
00002420: PUSH2 0x3331
00002423: DUP4
00002424: CODECOPY
00002425: DUP2
00002426: MLOAD
00002427: SWAP2
00002428: MSTORE
00002429: PUSH1 0x44
0000242b: DUP3
0000242c: ADD
0000242d: MSTORE
0000242e: SWAP1
0000242f: MLOAD
00002430: SWAP1
00002431: DUP2
00002432: SWAP1
00002433: SUB
00002434: PUSH1 0x64
00002436: ADD
00002437: SWAP1
00002438: REVERT
00002439: JUMPDEST
0000243a: PUSH1 0x00
0000243c: SLOAD
0000243d: CALLER
0000243e: PUSH1 0x01
00002440: PUSH1 0xa0
00002442: PUSH1 0x02
00002444: EXP
00002445: SUB
00002446: SWAP1
00002447: DUP2
00002448: AND
00002449: SWAP2
0000244a: AND
0000244b: EQ
0000244c: PUSH2 0x2454
0000244f: JUMPI
00002450: PUSH1 0x00
00002452: DUP1
00002453: REVERT
00002454: JUMPDEST
00002455: PUSH1 0x02
00002457: SLOAD
00002458: PUSH1 0xff
0000245a: AND
0000245b: ISZERO
0000245c: PUSH2 0x2464
0000245f: JUMPI
00002460: PUSH1 0x00
00002462: DUP1
00002463: REVERT
00002464: JUMPDEST
00002465: PUSH1 0x02
00002467: DUP1
00002468: SLOAD
00002469: PUSH1 0xff
0000246b: NOT
0000246c: AND
0000246d: PUSH1 0x01
0000246f: OR
00002470: SWAP1
00002471: SSTORE
00002472: PUSH1 0x40
00002474: DUP1
00002475: MLOAD
00002476: PUSH32 0x496351ab00000000000000000000000000000000000000000000000000000000
00002497: DUP2
00002498: MSTORE
00002499: PUSH1 0x03
0000249b: PUSH1 0x04
0000249d: DUP3
0000249e: ADD
0000249f: MSTORE
000024a0: SWAP1
000024a1: MLOAD
000024a2: PUSH20 0x0ad9b58269b804ebd66c9b76e914b5a336c985bc
000024b7: SWAP2
000024b8: PUSH4 0x496351ab
000024bd: SWAP2
000024be: PUSH1 0x24
000024c0: DUP1
000024c1: DUP4
000024c2: ADD
000024c3: SWAP3
000024c4: PUSH1 0x00
000024c6: SWAP3
000024c7: SWAP2
000024c8: SWAP1
000024c9: DUP3
000024ca: SWAP1
000024cb: SUB
000024cc: ADD
000024cd: DUP2
000024ce: DUP7
000024cf: DUP1
000024d0: EXTCODESIZE
000024d1: ISZERO
000024d2: DUP1
000024d3: ISZERO
000024d4: PUSH2 0x0d6a
000024d7: JUMPI
000024d8: PUSH1 0x00
000024da: DUP1
000024db: REVERT
000024dc: JUMPDEST
000024dd: PUSH1 0x00
000024df: SLOAD
000024e0: PUSH1 0x01
000024e2: PUSH1 0xa0
000024e4: PUSH1 0x02
000024e6: EXP
000024e7: SUB
000024e8: AND
000024e9: DUP2
000024ea: JUMP
000024eb: JUMPDEST
000024ec: PUSH1 0x60
000024ee: DUP1
000024ef: PUSH1 0x00
000024f1: DUP1
000024f2: PUSH1 0x03
000024f4: PUSH1 0x17
000024f6: ADD
000024f7: PUSH1 0x03
000024f9: ADD
000024fa: SLOAD
000024fb: PUSH1 0x40
000024fd: MLOAD
000024fe: SWAP1
000024ff: DUP1
00002500: DUP3
00002501: MSTORE
00002502: DUP1
00002503: PUSH1 0x20
00002505: MUL
00002506: PUSH1 0x20
00002508: ADD
00002509: DUP3
0000250a: ADD
0000250b: PUSH1 0x40
0000250d: MSTORE
0000250e: DUP1
0000250f: ISZERO
00002510: PUSH2 0x2523
00002513: JUMPI
00002514: DUP2
00002515: PUSH1 0x20
00002517: ADD
00002518: PUSH1 0x20
0000251a: DUP3
0000251b: MUL
0000251c: DUP1
0000251d: CODESIZE
0000251e: DUP4
0000251f: CODECOPY
00002520: ADD
00002521: SWAP1
00002522: POP
00002523: JUMPDEST
00002524: POP
00002525: PUSH1 0x1b
00002527: SLOAD
00002528: SWAP1
00002529: SWAP4
0000252a: POP
0000252b: PUSH1 0x00
0000252d: SWAP3
0000252e: POP
0000252f: PUSH1 0x01
00002531: PUSH1 0xa0
00002533: PUSH1 0x02
00002535: EXP
00002536: SUB
00002537: AND
00002538: SWAP1
00002539: POP
0000253a: JUMPDEST
0000253b: PUSH1 0x01
0000253d: PUSH1 0xa0
0000253f: PUSH1 0x02
00002541: EXP
00002542: SUB
00002543: DUP2
00002544: AND
00002545: ISZERO
00002546: PUSH2 0x2592
00002549: JUMPI
0000254a: DUP1
0000254b: DUP4
0000254c: DUP4
0000254d: DUP2
0000254e: MLOAD
0000254f: DUP2
00002550: LT
00002551: ISZERO
00002552: ISZERO
00002553: PUSH2 0x2558
00002556: JUMPI
00002557: INVALID
00002558: JUMPDEST
00002559: PUSH1 0x01
0000255b: PUSH1 0xa0
0000255d: PUSH1 0x02
0000255f: EXP
00002560: SUB
00002561: SWAP3
00002562: DUP4
00002563: AND
00002564: PUSH1 0x20
00002566: SWAP2
00002567: DUP3
00002568: MUL
00002569: SWAP1
0000256a: SWAP3
0000256b: ADD
0000256c: DUP2
0000256d: ADD
0000256e: SWAP2
0000256f: SWAP1
00002570: SWAP2
00002571: MSTORE
00002572: SWAP2
00002573: DUP2
00002574: AND
00002575: PUSH1 0x00
00002577: SWAP1
00002578: DUP2
00002579: MSTORE
0000257a: PUSH1 0x1a
0000257c: SWAP1
0000257d: SWAP3
0000257e: MSTORE
0000257f: PUSH1 0x40
00002581: SWAP1
00002582: SWAP2
00002583: KECCAK256
00002584: PUSH1 0x01
00002586: SWAP1
00002587: DUP2
00002588: ADD
00002589: SLOAD
0000258a: SWAP3
0000258b: ADD
0000258c: SWAP2
0000258d: AND
0000258e: PUSH2 0x253a
00002591: JUMP
00002592: JUMPDEST
00002593: POP
00002594: SWAP1
00002595: SWAP3
00002596: SWAP2
00002597: POP
00002598: POP
00002599: JUMP
0000259a: JUMPDEST
0000259b: PUSH1 0x01
0000259d: PUSH1 0xa0
0000259f: PUSH1 0x02
000025a1: EXP
000025a2: SUB
000025a3: AND
000025a4: PUSH1 0x00
000025a6: SWAP1
000025a7: DUP2
000025a8: MSTORE
000025a9: PUSH1 0x11
000025ab: PUSH1 0x20
000025ad: MSTORE
000025ae: PUSH1 0x40
000025b0: SWAP1
000025b1: KECCAK256
000025b2: PUSH1 0x05
000025b4: ADD
000025b5: SLOAD
000025b6: SWAP1
000025b7: JUMP
000025b8: JUMPDEST
000025b9: PUSH1 0x00
000025bb: SLOAD
000025bc: CALLER
000025bd: PUSH1 0x01
000025bf: PUSH1 0xa0
000025c1: PUSH1 0x02
000025c3: EXP
000025c4: SUB
000025c5: SWAP1
000025c6: DUP2
000025c7: AND
000025c8: SWAP2
000025c9: AND
000025ca: EQ
000025cb: PUSH2 0x25d3
000025ce: JUMPI
000025cf: PUSH1 0x00
000025d1: DUP1
000025d2: REVERT
000025d3: JUMPDEST
000025d4: PUSH1 0x02
000025d6: SLOAD
000025d7: PUSH1 0xff
000025d9: AND
000025da: ISZERO
000025db: PUSH2 0x25e3
000025de: JUMPI
000025df: PUSH1 0x00
000025e1: DUP1
000025e2: REVERT
000025e3: JUMPDEST
000025e4: PUSH1 0x02
000025e6: DUP1
000025e7: SLOAD
000025e8: PUSH1 0xff
000025ea: NOT
000025eb: AND
000025ec: PUSH1 0x01
000025ee: OR
000025ef: SWAP1
000025f0: SSTORE
000025f1: PUSH1 0x40
000025f3: DUP1
000025f4: MLOAD
000025f5: PUSH32 0x6b88dc6a00000000000000000000000000000000000000000000000000000000
00002616: DUP2
00002617: MSTORE
00002618: PUSH1 0x03
0000261a: PUSH1 0x04
0000261c: DUP3
0000261d: ADD
0000261e: MSTORE
0000261f: PUSH1 0x01
00002621: PUSH1 0xa0
00002623: PUSH1 0x02
00002625: EXP
00002626: SUB
00002627: DUP4
00002628: AND
00002629: PUSH1 0x24
0000262b: DUP3
0000262c: ADD
0000262d: MSTORE
0000262e: SWAP1
0000262f: MLOAD
00002630: PUSH20 0x0ad9b58269b804ebd66c9b76e914b5a336c985bc
00002645: SWAP2
00002646: PUSH4 0x6b88dc6a
0000264b: SWAP2
0000264c: PUSH1 0x44
0000264e: DUP1
0000264f: DUP4
00002650: ADD
00002651: SWAP3
00002652: PUSH1 0x00
00002654: SWAP3
00002655: SWAP2
00002656: SWAP1
00002657: DUP3
00002658: SWAP1
00002659: SUB
0000265a: ADD
0000265b: DUP2
0000265c: DUP7
0000265d: DUP1
0000265e: EXTCODESIZE
0000265f: ISZERO
00002660: DUP1
00002661: ISZERO
00002662: PUSH2 0x0d6a
00002665: JUMPI
00002666: PUSH1 0x00
00002668: DUP1
00002669: REVERT
0000266a: JUMPDEST
0000266b: PUSH2 0x2697
0000266e: CALLER
0000266f: PUSH1 0x40
00002671: DUP1
00002672: MLOAD
00002673: SWAP1
00002674: DUP2
00002675: ADD
00002676: PUSH1 0x40
00002678: MSTORE
00002679: DUP1
0000267a: PUSH1 0x05
0000267c: DUP2
0000267d: MSTORE
0000267e: PUSH1 0x20
00002680: ADD
00002681: PUSH1 0x00
00002683: DUP1
00002684: MLOAD
00002685: PUSH1 0x20
00002687: PUSH2 0x3311
0000268a: DUP4
0000268b: CODECOPY
0000268c: DUP2
0000268d: MLOAD
0000268e: SWAP2
0000268f: MSTORE
00002690: DUP2
00002691: MSTORE
00002692: POP
00002693: PUSH2 0x0f21
00002696: JUMP
00002697: JUMPDEST
00002698: PUSH2 0x0f8b
0000269b: DUP3
0000269c: DUP3
0000269d: PUSH2 0x31e8
000026a0: JUMP
000026a1: JUMPDEST
000026a2: PUSH1 0x02
000026a4: SLOAD
000026a5: PUSH1 0xff
000026a7: AND
000026a8: ISZERO
000026a9: PUSH2 0x26b1
000026ac: JUMPI
000026ad: PUSH1 0x00
000026af: DUP1
000026b0: REVERT
000026b1: JUMPDEST
000026b2: PUSH1 0x02
000026b4: DUP1
000026b5: SLOAD
000026b6: PUSH1 0xff
000026b8: NOT
000026b9: AND
000026ba: PUSH1 0x01
000026bc: OR
000026bd: SWAP1
000026be: SSTORE
000026bf: PUSH1 0x40
000026c1: DUP1
000026c2: MLOAD
000026c3: PUSH32 0x89fa74ff00000000000000000000000000000000000000000000000000000000
000026e4: DUP2
000026e5: MSTORE
000026e6: PUSH1 0x03
000026e8: PUSH1 0x04
000026ea: DUP3
000026eb: ADD
000026ec: MSTORE
000026ed: PUSH1 0x01
000026ef: PUSH1 0xa0
000026f1: PUSH1 0x02
000026f3: EXP
000026f4: SUB
000026f5: CALLER
000026f6: AND
000026f7: PUSH1 0x24
000026f9: DUP3
000026fa: ADD
000026fb: MSTORE
000026fc: SWAP1
000026fd: MLOAD
000026fe: PUSH20 0x0ad9b58269b804ebd66c9b76e914b5a336c985bc
00002713: SWAP2
00002714: PUSH4 0x89fa74ff
00002719: SWAP2
0000271a: PUSH1 0x44
0000271c: DUP1
0000271d: DUP4
0000271e: ADD
0000271f: SWAP3
00002720: PUSH1 0x00
00002722: SWAP3
00002723: SWAP2
00002724: SWAP1
00002725: DUP3
00002726: SWAP1
00002727: SUB
00002728: ADD
00002729: DUP2
0000272a: DUP7
0000272b: DUP1
0000272c: EXTCODESIZE
0000272d: ISZERO
0000272e: DUP1
0000272f: ISZERO
00002730: PUSH2 0x2738
00002733: JUMPI
00002734: PUSH1 0x00
00002736: DUP1
00002737: REVERT
00002738: JUMPDEST
00002739: POP
0000273a: GAS
0000273b: DELEGATECALL
0000273c: ISZERO
0000273d: DUP1
0000273e: ISZERO
0000273f: PUSH2 0x274c
00002742: JUMPI
00002743: RETURNDATASIZE
00002744: PUSH1 0x00
00002746: DUP1
00002747: RETURNDATACOPY
00002748: RETURNDATASIZE
00002749: PUSH1 0x00
0000274b: REVERT
0000274c: JUMPDEST
0000274d: POP
0000274e: POP
0000274f: PUSH1 0x02
00002751: DUP1
00002752: SLOAD
00002753: PUSH1 0xff
00002755: NOT
00002756: AND
00002757: SWAP1
00002758: SSTORE
00002759: POP
0000275a: POP
0000275b: JUMP
0000275c: JUMPDEST
0000275d: PUSH1 0x07
0000275f: SLOAD
00002760: PUSH1 0xe1
00002762: PUSH1 0x02
00002764: EXP
00002765: PUSH4 0x37b832b7
0000276a: MUL
0000276b: SWAP1
0000276c: PUSH1 0x00
0000276e: DUP1
0000276f: MLOAD
00002770: PUSH1 0x20
00002772: PUSH2 0x3351
00002775: DUP4
00002776: CODECOPY
00002777: DUP2
00002778: MLOAD
00002779: SWAP2
0000277a: MSTORE
0000277b: SWAP1
0000277c: PUSH1 0x00
0000277e: SWAP1
0000277f: PUSH1 0x80
00002781: PUSH1 0x02
00002783: EXP
00002784: MUL
00002785: PUSH1 0x01
00002787: PUSH1 0x80
00002789: PUSH1 0x02
0000278b: EXP
0000278c: SUB
0000278d: NOT
0000278e: AND
0000278f: DUP4
00002790: EQ
00002791: DUP1
00002792: PUSH2 0x27b0
00002795: JUMPI
00002796: POP
00002797: PUSH1 0x07
00002799: SLOAD
0000279a: PUSH1 0x80
0000279c: PUSH1 0x02
0000279e: EXP
0000279f: MUL
000027a0: PUSH1 0x01
000027a2: PUSH1 0x80
000027a4: PUSH1 0x02
000027a6: EXP
000027a7: SUB
000027a8: NOT
000027a9: SWAP1
000027aa: DUP2
000027ab: AND
000027ac: SWAP1
000027ad: DUP4
000027ae: AND
000027af: EQ
000027b0: JUMPDEST
000027b1: ISZERO
000027b2: PUSH2 0x27b9
000027b5: JUMPI
000027b6: POP
000027b7: PUSH1 0x01
000027b9: JUMPDEST
000027ba: DUP1
000027bb: ISZERO
000027bc: ISZERO
000027bd: PUSH2 0x27fe
000027c0: JUMPI
000027c1: PUSH1 0x40
000027c3: DUP1
000027c4: MLOAD
000027c5: PUSH1 0xe5
000027c7: PUSH1 0x02
000027c9: EXP
000027ca: PUSH3 0x461bcd
000027ce: MUL
000027cf: DUP2
000027d0: MSTORE
000027d1: PUSH1 0x20
000027d3: PUSH1 0x04
000027d5: DUP3
000027d6: ADD
000027d7: MSTORE
000027d8: PUSH1 0x12
000027da: PUSH1 0x24
000027dc: DUP3
000027dd: ADD
000027de: MSTORE
000027df: PUSH1 0x00
000027e1: DUP1
000027e2: MLOAD
000027e3: PUSH1 0x20
000027e5: PUSH2 0x3331
000027e8: DUP4
000027e9: CODECOPY
000027ea: DUP2
000027eb: MLOAD
000027ec: SWAP2
000027ed: MSTORE
000027ee: PUSH1 0x44
000027f0: DUP3
000027f1: ADD
000027f2: MSTORE
000027f3: SWAP1
000027f4: MLOAD
000027f5: SWAP1
000027f6: DUP2
000027f7: SWAP1
000027f8: SUB
000027f9: PUSH1 0x64
000027fb: ADD
000027fc: SWAP1
000027fd: REVERT
000027fe: JUMPDEST
000027ff: PUSH1 0x02
00002801: SLOAD
00002802: PUSH1 0xff
00002804: AND
00002805: ISZERO
00002806: PUSH2 0x280e
00002809: JUMPI
0000280a: PUSH1 0x00
0000280c: DUP1
0000280d: REVERT
0000280e: JUMPDEST
0000280f: PUSH1 0x02
00002811: DUP1
00002812: SLOAD
00002813: PUSH1 0xff
00002815: NOT
00002816: AND
00002817: PUSH1 0x01
00002819: OR
0000281a: SWAP1
0000281b: SSTORE
0000281c: PUSH1 0x40
0000281e: DUP1
0000281f: MLOAD
00002820: PUSH32 0xe87b4e8500000000000000000000000000000000000000000000000000000000
00002841: DUP2
00002842: MSTORE
00002843: PUSH1 0x03
00002845: PUSH1 0x04
00002847: DUP3
00002848: ADD
00002849: MSTORE
0000284a: PUSH1 0x24
0000284c: DUP2
0000284d: ADD
0000284e: DUP7
0000284f: SWAP1
00002850: MSTORE
00002851: SWAP1
00002852: MLOAD
00002853: PUSH20 0x0ad9b58269b804ebd66c9b76e914b5a336c985bc
00002868: SWAP2
00002869: PUSH4 0xe87b4e85
0000286e: SWAP2
0000286f: PUSH1 0x44
00002871: DUP1
00002872: DUP4
00002873: ADD
00002874: SWAP3
00002875: PUSH1 0x00
00002877: SWAP3
00002878: SWAP2
00002879: SWAP1
0000287a: DUP3
0000287b: SWAP1
0000287c: SUB
0000287d: ADD
0000287e: DUP2
0000287f: DUP7
00002880: DUP1
00002881: EXTCODESIZE
00002882: ISZERO
00002883: DUP1
00002884: ISZERO
00002885: PUSH2 0x0edb
00002888: JUMPI
00002889: PUSH1 0x00
0000288b: DUP1
0000288c: REVERT
0000288d: JUMPDEST
0000288e: PUSH1 0x01
00002890: PUSH1 0xa0
00002892: PUSH1 0x02
00002894: EXP
00002895: SUB
00002896: AND
00002897: PUSH1 0x00
00002899: SWAP1
0000289a: DUP2
0000289b: MSTORE
0000289c: PUSH1 0x11
0000289e: PUSH1 0x20
000028a0: MSTORE
000028a1: PUSH1 0x40
000028a3: SWAP1
000028a4: KECCAK256
000028a5: PUSH1 0x0a
000028a7: ADD
000028a8: SLOAD
000028a9: SWAP1
000028aa: JUMP
000028ab: JUMPDEST
000028ac: PUSH1 0x07
000028ae: SLOAD
000028af: PUSH1 0xe1
000028b1: PUSH1 0x02
000028b3: EXP
000028b4: PUSH4 0x37b832b7
000028b9: MUL
000028ba: SWAP1
000028bb: PUSH1 0x00
000028bd: DUP1
000028be: MLOAD
000028bf: PUSH1 0x20
000028c1: PUSH2 0x3351
000028c4: DUP4
000028c5: CODECOPY
000028c6: DUP2
000028c7: MLOAD
000028c8: SWAP2
000028c9: MSTORE
000028ca: SWAP1
000028cb: PUSH1 0x00
000028cd: SWAP1
000028ce: PUSH1 0x80
000028d0: PUSH1 0x02
000028d2: EXP
000028d3: MUL
000028d4: PUSH1 0x01
000028d6: PUSH1 0x80
000028d8: PUSH1 0x02
000028da: EXP
000028db: SUB
000028dc: NOT
000028dd: AND
000028de: DUP4
000028df: EQ
000028e0: DUP1
000028e1: PUSH2 0x28ff
000028e4: JUMPI
000028e5: POP
000028e6: PUSH1 0x07
000028e8: SLOAD
000028e9: PUSH1 0x80
000028eb: PUSH1 0x02
000028ed: EXP
000028ee: MUL
000028ef: PUSH1 0x01
000028f1: PUSH1 0x80
000028f3: PUSH1 0x02
000028f5: EXP
000028f6: SUB
000028f7: NOT
000028f8: SWAP1
000028f9: DUP2
000028fa: AND
000028fb: SWAP1
000028fc: DUP4
000028fd: AND
000028fe: EQ
000028ff: JUMPDEST
00002900: ISZERO
00002901: PUSH2 0x2908
00002904: JUMPI
00002905: POP
00002906: PUSH1 0x01
00002908: JUMPDEST
00002909: DUP1
0000290a: ISZERO
0000290b: ISZERO
0000290c: PUSH2 0x294d
0000290f: JUMPI
00002910: PUSH1 0x40
00002912: DUP1
00002913: MLOAD
00002914: PUSH1 0xe5
00002916: PUSH1 0x02
00002918: EXP
00002919: PUSH3 0x461bcd
0000291d: MUL
0000291e: DUP2
0000291f: MSTORE
00002920: PUSH1 0x20
00002922: PUSH1 0x04
00002924: DUP3
00002925: ADD
00002926: MSTORE
00002927: PUSH1 0x12
00002929: PUSH1 0x24
0000292b: DUP3
0000292c: ADD
0000292d: MSTORE
0000292e: PUSH1 0x00
00002930: DUP1
00002931: MLOAD
00002932: PUSH1 0x20
00002934: PUSH2 0x3331
00002937: DUP4
00002938: CODECOPY
00002939: DUP2
0000293a: MLOAD
0000293b: SWAP2
0000293c: MSTORE
0000293d: PUSH1 0x44
0000293f: DUP3
00002940: ADD
00002941: MSTORE
00002942: SWAP1
00002943: MLOAD
00002944: SWAP1
00002945: DUP2
00002946: SWAP1
00002947: SUB
00002948: PUSH1 0x64
0000294a: ADD
0000294b: SWAP1
0000294c: REVERT
0000294d: JUMPDEST
0000294e: PUSH1 0x00
00002950: SLOAD
00002951: CALLER
00002952: PUSH1 0x01
00002954: PUSH1 0xa0
00002956: PUSH1 0x02
00002958: EXP
00002959: SUB
0000295a: SWAP1
0000295b: DUP2
0000295c: AND
0000295d: SWAP2
0000295e: AND
0000295f: EQ
00002960: PUSH2 0x2968
00002963: JUMPI
00002964: PUSH1 0x00
00002966: DUP1
00002967: REVERT
00002968: JUMPDEST
00002969: PUSH1 0x02
0000296b: SLOAD
0000296c: PUSH1 0xff
0000296e: AND
0000296f: ISZERO
00002970: PUSH2 0x2978
00002973: JUMPI
00002974: PUSH1 0x00
00002976: DUP1
00002977: REVERT
00002978: JUMPDEST
00002979: PUSH1 0x02
0000297b: DUP1
0000297c: SLOAD
0000297d: PUSH1 0xff
0000297f: NOT
00002980: AND
00002981: PUSH1 0x01
00002983: SWAP1
00002984: DUP2
00002985: OR
00002986: SWAP1
00002987: SWAP2
00002988: SSTORE
00002989: PUSH1 0x40
0000298b: MLOAD
0000298c: PUSH32 0xd1fce87100000000000000000000000000000000000000000000000000000000
000029ad: DUP2
000029ae: MSTORE
000029af: PUSH1 0x03
000029b1: PUSH1 0x04
000029b3: DUP3
000029b4: ADD
000029b5: DUP2
000029b6: DUP2
000029b7: MSTORE
000029b8: PUSH1 0x64
000029ba: DUP4
000029bb: ADD
000029bc: DUP5
000029bd: SWAP1
000029be: MSTORE
000029bf: PUSH1 0x80
000029c1: PUSH1 0x24
000029c3: DUP5
000029c4: ADD
000029c5: SWAP1
000029c6: DUP2
000029c7: MSTORE
000029c8: PUSH1 0x84
000029ca: DUP5
000029cb: ADD
000029cc: DUP12
000029cd: SWAP1
000029ce: MSTORE
000029cf: PUSH20 0x0ad9b58269b804ebd66c9b76e914b5a336c985bc
000029e4: SWAP5
000029e5: PUSH4 0xd1fce871
000029ea: SWAP5
000029eb: DUP14
000029ec: SWAP4
000029ed: DUP14
000029ee: SWAP4
000029ef: DUP14
000029f0: SWAP4
000029f1: DUP14
000029f2: SWAP4
000029f3: SWAP1
000029f4: SWAP3
000029f5: SWAP2
000029f6: SWAP1
000029f7: PUSH1 0x44
000029f9: DUP2
000029fa: ADD
000029fb: SWAP1
000029fc: PUSH1 0xa4
000029fe: ADD
000029ff: DUP9
00002a00: PUSH1 0x20
00002a02: DUP10
00002a03: MUL
00002a04: DUP1
00002a05: DUP3
00002a06: DUP5
00002a07: CALLDATACOPY
00002a08: SWAP1
00002a09: SWAP2
00002a0a: ADD
00002a0b: DUP5
00002a0c: DUP2
00002a0d: SUB
00002a0e: DUP4
00002a0f: MSTORE
00002a10: DUP7
00002a11: DUP2
00002a12: MSTORE
00002a13: PUSH1 0x20
00002a15: SWAP1
00002a16: DUP2
00002a17: ADD
00002a18: SWAP2
00002a19: POP
00002a1a: DUP8
00002a1b: SWAP1
00002a1c: DUP8
00002a1d: MUL
00002a1e: DUP1
00002a1f: DUP3
00002a20: DUP5
00002a21: CALLDATACOPY
00002a22: DUP3
00002a23: ADD
00002a24: SWAP2
00002a25: POP
00002a26: POP
00002a27: SWAP9
00002a28: POP
00002a29: POP
00002a2a: POP
00002a2b: POP
00002a2c: POP
00002a2d: POP
00002a2e: POP
00002a2f: POP
00002a30: POP
00002a31: PUSH1 0x00
00002a33: PUSH1 0x40
00002a35: MLOAD
00002a36: DUP1
00002a37: DUP4
00002a38: SUB
00002a39: DUP2
00002a3a: DUP7
00002a3b: DUP1
00002a3c: EXTCODESIZE
00002a3d: ISZERO
00002a3e: DUP1
00002a3f: ISZERO
00002a40: PUSH2 0x2a48
00002a43: JUMPI
00002a44: PUSH1 0x00
00002a46: DUP1
00002a47: REVERT
00002a48: JUMPDEST
00002a49: POP
00002a4a: GAS
00002a4b: DELEGATECALL
00002a4c: ISZERO
00002a4d: DUP1
00002a4e: ISZERO
00002a4f: PUSH2 0x2a5c
00002a52: JUMPI
00002a53: RETURNDATASIZE
00002a54: PUSH1 0x00
00002a56: DUP1
00002a57: RETURNDATACOPY
00002a58: RETURNDATASIZE
00002a59: PUSH1 0x00
00002a5b: REVERT
00002a5c: JUMPDEST
00002a5d: POP
00002a5e: POP
00002a5f: PUSH1 0x02
00002a61: DUP1
00002a62: SLOAD
00002a63: PUSH1 0xff
00002a65: NOT
00002a66: AND
00002a67: SWAP1
00002a68: SSTORE
00002a69: POP
00002a6a: POP
00002a6b: POP
00002a6c: POP
00002a6d: POP
00002a6e: POP
00002a6f: POP
00002a70: POP
00002a71: POP
00002a72: JUMP
00002a73: JUMPDEST
00002a74: PUSH1 0x60
00002a76: DUP1
00002a77: PUSH1 0x00
00002a79: DUP1
00002a7a: PUSH1 0x03
00002a7c: PUSH1 0x0f
00002a7e: ADD
00002a7f: PUSH1 0x03
00002a81: ADD
00002a82: SLOAD
00002a83: PUSH1 0x40
00002a85: MLOAD
00002a86: SWAP1
00002a87: DUP1
00002a88: DUP3
00002a89: MSTORE
00002a8a: DUP1
00002a8b: PUSH1 0x20
00002a8d: MUL
00002a8e: PUSH1 0x20
00002a90: ADD
00002a91: DUP3
00002a92: ADD
00002a93: PUSH1 0x40
00002a95: MSTORE
00002a96: DUP1
00002a97: ISZERO
00002a98: PUSH2 0x2aab
00002a9b: JUMPI
00002a9c: DUP2
00002a9d: PUSH1 0x20
00002a9f: ADD
00002aa0: PUSH1 0x20
00002aa2: DUP3
00002aa3: MUL
00002aa4: DUP1
00002aa5: CODESIZE
00002aa6: DUP4
00002aa7: CODECOPY
00002aa8: ADD
00002aa9: SWAP1
00002aaa: POP
00002aab: JUMPDEST
00002aac: POP
00002aad: PUSH1 0x13
00002aaf: SLOAD
00002ab0: SWAP1
00002ab1: SWAP4
00002ab2: POP
00002ab3: PUSH1 0x00
00002ab5: SWAP3
00002ab6: POP
00002ab7: PUSH1 0x01
00002ab9: PUSH1 0xa0
00002abb: PUSH1 0x02
00002abd: EXP
00002abe: SUB
00002abf: AND
00002ac0: SWAP1
00002ac1: POP
00002ac2: JUMPDEST
00002ac3: PUSH1 0x01
00002ac5: PUSH1 0xa0
00002ac7: PUSH1 0x02
00002ac9: EXP
00002aca: SUB
00002acb: DUP2
00002acc: AND
00002acd: ISZERO
00002ace: PUSH2 0x2592
00002ad1: JUMPI
00002ad2: DUP1
00002ad3: DUP4
00002ad4: DUP4
00002ad5: DUP2
00002ad6: MLOAD
00002ad7: DUP2
00002ad8: LT
00002ad9: ISZERO
00002ada: ISZERO
00002adb: PUSH2 0x2ae0
00002ade: JUMPI
00002adf: INVALID
00002ae0: JUMPDEST
00002ae1: PUSH1 0x01
00002ae3: PUSH1 0xa0
00002ae5: PUSH1 0x02
00002ae7: EXP
00002ae8: SUB
00002ae9: SWAP3
00002aea: DUP4
00002aeb: AND
00002aec: PUSH1 0x20
00002aee: SWAP2
00002aef: DUP3
00002af0: MUL
00002af1: SWAP1
00002af2: SWAP3
00002af3: ADD
00002af4: DUP2
00002af5: ADD
00002af6: SWAP2
00002af7: SWAP1
00002af8: SWAP2
00002af9: MSTORE
00002afa: SWAP2
00002afb: DUP2
00002afc: AND
00002afd: PUSH1 0x00
00002aff: SWAP1
00002b00: DUP2
00002b01: MSTORE
00002b02: PUSH1 0x12
00002b04: SWAP1
00002b05: SWAP3
00002b06: MSTORE
00002b07: PUSH1 0x40
00002b09: SWAP1
00002b0a: SWAP2
00002b0b: KECCAK256
00002b0c: PUSH1 0x01
00002b0e: SWAP1
00002b0f: DUP2
00002b10: ADD
00002b11: SLOAD
00002b12: SWAP3
00002b13: ADD
00002b14: SWAP2
00002b15: AND
00002b16: PUSH2 0x2ac2
00002b19: JUMP
00002b1a: JUMPDEST
00002b1b: PUSH1 0x40
00002b1d: DUP1
00002b1e: MLOAD
00002b1f: DUP1
00002b20: DUP3
00002b21: ADD
00002b22: SWAP1
00002b23: SWAP2
00002b24: MSTORE
00002b25: PUSH1 0x05
00002b27: DUP2
00002b28: MSTORE
00002b29: PUSH1 0x00
00002b2b: DUP1
00002b2c: MLOAD
00002b2d: PUSH1 0x20
00002b2f: PUSH2 0x3311
00002b32: DUP4
00002b33: CODECOPY
00002b34: DUP2
00002b35: MLOAD
00002b36: SWAP2
00002b37: MSTORE
00002b38: PUSH1 0x20
00002b3a: DUP3
00002b3b: ADD
00002b3c: MSTORE
00002b3d: DUP2
00002b3e: JUMP
00002b3f: JUMPDEST
00002b40: PUSH1 0x07
00002b42: SLOAD
00002b43: PUSH1 0xe1
00002b45: PUSH1 0x02
00002b47: EXP
00002b48: PUSH4 0x37b832b7
00002b4d: MUL
00002b4e: SWAP1
00002b4f: PUSH1 0x00
00002b51: DUP1
00002b52: MLOAD
00002b53: PUSH1 0x20
00002b55: PUSH2 0x3351
00002b58: DUP4
00002b59: CODECOPY
00002b5a: DUP2
00002b5b: MLOAD
00002b5c: SWAP2
00002b5d: MSTORE
00002b5e: SWAP1
00002b5f: PUSH1 0x00
00002b61: SWAP1
00002b62: PUSH1 0x80
00002b64: PUSH1 0x02
00002b66: EXP
00002b67: MUL
00002b68: PUSH1 0x01
00002b6a: PUSH1 0x80
00002b6c: PUSH1 0x02
00002b6e: EXP
00002b6f: SUB
00002b70: NOT
00002b71: AND
00002b72: DUP4
00002b73: EQ
00002b74: DUP1
00002b75: PUSH2 0x2b93
00002b78: JUMPI
00002b79: POP
00002b7a: PUSH1 0x07
00002b7c: SLOAD
00002b7d: PUSH1 0x80
00002b7f: PUSH1 0x02
00002b81: EXP
00002b82: MUL
00002b83: PUSH1 0x01
00002b85: PUSH1 0x80
00002b87: PUSH1 0x02
00002b89: EXP
00002b8a: SUB
00002b8b: NOT
00002b8c: SWAP1
00002b8d: DUP2
00002b8e: AND
00002b8f: SWAP1
00002b90: DUP4
00002b91: AND
00002b92: EQ
00002b93: JUMPDEST
00002b94: ISZERO
00002b95: PUSH2 0x2b9c
00002b98: JUMPI
00002b99: POP
00002b9a: PUSH1 0x01
00002b9c: JUMPDEST
00002b9d: DUP1
00002b9e: ISZERO
00002b9f: ISZERO
00002ba0: PUSH2 0x2be1
00002ba3: JUMPI
00002ba4: PUSH1 0x40
00002ba6: DUP1
00002ba7: MLOAD
00002ba8: PUSH1 0xe5
00002baa: PUSH1 0x02
00002bac: EXP
00002bad: PUSH3 0x461bcd
00002bb1: MUL
00002bb2: DUP2
00002bb3: MSTORE
00002bb4: PUSH1 0x20
00002bb6: PUSH1 0x04
00002bb8: DUP3
00002bb9: ADD
00002bba: MSTORE
00002bbb: PUSH1 0x12
00002bbd: PUSH1 0x24
00002bbf: DUP3
00002bc0: ADD
00002bc1: MSTORE
00002bc2: PUSH1 0x00
00002bc4: DUP1
00002bc5: MLOAD
00002bc6: PUSH1 0x20
00002bc8: PUSH2 0x3331
00002bcb: DUP4
00002bcc: CODECOPY
00002bcd: DUP2
00002bce: MLOAD
00002bcf: SWAP2
00002bd0: MSTORE
00002bd1: PUSH1 0x44
00002bd3: DUP3
00002bd4: ADD
00002bd5: MSTORE
00002bd6: SWAP1
00002bd7: MLOAD
00002bd8: SWAP1
00002bd9: DUP2
00002bda: SWAP1
00002bdb: SUB
00002bdc: PUSH1 0x64
00002bde: ADD
00002bdf: SWAP1
00002be0: REVERT
00002be1: JUMPDEST
00002be2: PUSH1 0x00
00002be4: SLOAD
00002be5: CALLER
00002be6: PUSH1 0x01
00002be8: PUSH1 0xa0
00002bea: PUSH1 0x02
00002bec: EXP
00002bed: SUB
00002bee: SWAP1
00002bef: DUP2
00002bf0: AND
00002bf1: SWAP2
00002bf2: AND
00002bf3: EQ
00002bf4: PUSH2 0x2bfc
00002bf7: JUMPI
00002bf8: PUSH1 0x00
00002bfa: DUP1
00002bfb: REVERT
00002bfc: JUMPDEST
00002bfd: PUSH1 0x02
00002bff: SLOAD
00002c00: PUSH1 0xff
00002c02: AND
00002c03: ISZERO
00002c04: PUSH2 0x2c0c
00002c07: JUMPI
00002c08: PUSH1 0x00
00002c0a: DUP1
00002c0b: REVERT
00002c0c: JUMPDEST
00002c0d: PUSH1 0x02
00002c0f: DUP1
00002c10: SLOAD
00002c11: PUSH1 0xff
00002c13: NOT
00002c14: AND
00002c15: PUSH1 0x01
00002c17: OR
00002c18: SWAP1
00002c19: SSTORE
00002c1a: PUSH1 0x40
00002c1c: MLOAD
00002c1d: PUSH32 0x498bcf5900000000000000000000000000000000000000000000000000000000
00002c3e: DUP2
00002c3f: MSTORE
00002c40: PUSH1 0x03
00002c42: PUSH1 0x04
00002c44: DUP3
00002c45: ADD
00002c46: DUP2
00002c47: DUP2
00002c48: MSTORE
00002c49: PUSH1 0x60
00002c4b: PUSH1 0x24
00002c4d: DUP5
00002c4e: ADD
00002c4f: SWAP1
00002c50: DUP2
00002c51: MSTORE
00002c52: PUSH1 0x64
00002c54: DUP5
00002c55: ADD
00002c56: DUP11
00002c57: SWAP1
00002c58: MSTORE
00002c59: PUSH20 0x0ad9b58269b804ebd66c9b76e914b5a336c985bc
00002c6e: SWAP4
00002c6f: PUSH4 0x498bcf59
00002c74: SWAP4
00002c75: SWAP3
00002c76: DUP13
00002c77: SWAP3
00002c78: DUP13
00002c79: SWAP3
00002c7a: DUP13
00002c7b: SWAP3
00002c7c: DUP13
00002c7d: SWAP3
00002c7e: SWAP1
00002c7f: SWAP2
00002c80: PUSH1 0x44
00002c82: DUP2
00002c83: ADD
00002c84: SWAP1
00002c85: PUSH1 0x84
00002c87: ADD
00002c88: DUP8
00002c89: PUSH1 0x20
00002c8b: DUP9
00002c8c: MUL
00002c8d: DUP1
00002c8e: DUP3
00002c8f: DUP5
00002c90: CALLDATACOPY
00002c91: SWAP1
00002c92: SWAP2
00002c93: ADD
00002c94: DUP5
00002c95: DUP2
00002c96: SUB
00002c97: DUP4
00002c98: MSTORE
00002c99: DUP6
00002c9a: DUP2
00002c9b: MSTORE
00002c9c: PUSH1 0x20
00002c9e: SWAP1
00002c9f: DUP2
00002ca0: ADD
00002ca1: SWAP2
00002ca2: POP
00002ca3: DUP7
00002ca4: SWAP1
00002ca5: DUP7
00002ca6: MUL
00002ca7: DUP1
00002ca8: DUP3
00002ca9: DUP5
00002caa: CALLDATACOPY
00002cab: DUP3
00002cac: ADD
00002cad: SWAP2
00002cae: POP
00002caf: POP
00002cb0: SWAP8
00002cb1: POP
00002cb2: POP
00002cb3: POP
00002cb4: POP
00002cb5: POP
00002cb6: POP
00002cb7: POP
00002cb8: POP
00002cb9: PUSH1 0x00
00002cbb: PUSH1 0x40
00002cbd: MLOAD
00002cbe: DUP1
00002cbf: DUP4
00002cc0: SUB
00002cc1: DUP2
00002cc2: DUP7
00002cc3: DUP1
00002cc4: EXTCODESIZE
00002cc5: ISZERO
00002cc6: DUP1
00002cc7: ISZERO
00002cc8: PUSH2 0x2a48
00002ccb: JUMPI
00002ccc: PUSH1 0x00
00002cce: DUP1
00002ccf: REVERT
00002cd0: JUMPDEST
00002cd1: PUSH1 0x07
00002cd3: SLOAD
00002cd4: PUSH1 0xe1
00002cd6: PUSH1 0x02
00002cd8: EXP
00002cd9: PUSH4 0x37b832b7
00002cde: MUL
00002cdf: SWAP1
00002ce0: PUSH1 0x00
00002ce2: DUP1
00002ce3: MLOAD
00002ce4: PUSH1 0x20
00002ce6: PUSH2 0x3351
00002ce9: DUP4
00002cea: CODECOPY
00002ceb: DUP2
00002cec: MLOAD
00002ced: SWAP2
00002cee: MSTORE
00002cef: SWAP1
00002cf0: PUSH1 0x00
00002cf2: SWAP1
00002cf3: PUSH1 0x80
00002cf5: PUSH1 0x02
00002cf7: EXP
00002cf8: MUL
00002cf9: PUSH1 0x01
00002cfb: PUSH1 0x80
00002cfd: PUSH1 0x02
00002cff: EXP
00002d00: SUB
00002d01: NOT
00002d02: AND
00002d03: DUP4
00002d04: EQ
00002d05: DUP1
00002d06: PUSH2 0x2d24
00002d09: JUMPI
00002d0a: POP
00002d0b: PUSH1 0x07
00002d0d: SLOAD
00002d0e: PUSH1 0x80
00002d10: PUSH1 0x02
00002d12: EXP
00002d13: MUL
00002d14: PUSH1 0x01
00002d16: PUSH1 0x80
00002d18: PUSH1 0x02
00002d1a: EXP
00002d1b: SUB
00002d1c: NOT
00002d1d: SWAP1
00002d1e: DUP2
00002d1f: AND
00002d20: SWAP1
00002d21: DUP4
00002d22: AND
00002d23: EQ
00002d24: JUMPDEST
00002d25: ISZERO
00002d26: PUSH2 0x2d2d
00002d29: JUMPI
00002d2a: POP
00002d2b: PUSH1 0x01
00002d2d: JUMPDEST
00002d2e: DUP1
00002d2f: ISZERO
00002d30: ISZERO
00002d31: PUSH2 0x2d72
00002d34: JUMPI
00002d35: PUSH1 0x40
00002d37: DUP1
00002d38: MLOAD
00002d39: PUSH1 0xe5
00002d3b: PUSH1 0x02
00002d3d: EXP
00002d3e: PUSH3 0x461bcd
00002d42: MUL
00002d43: DUP2
00002d44: MSTORE
00002d45: PUSH1 0x20
00002d47: PUSH1 0x04
00002d49: DUP3
00002d4a: ADD
00002d4b: MSTORE
00002d4c: PUSH1 0x12
00002d4e: PUSH1 0x24
00002d50: DUP3
00002d51: ADD
00002d52: MSTORE
00002d53: PUSH1 0x00
00002d55: DUP1
00002d56: MLOAD
00002d57: PUSH1 0x20
00002d59: PUSH2 0x3331
00002d5c: DUP4
00002d5d: CODECOPY
00002d5e: DUP2
00002d5f: MLOAD
00002d60: SWAP2
00002d61: MSTORE
00002d62: PUSH1 0x44
00002d64: DUP3
00002d65: ADD
00002d66: MSTORE
00002d67: SWAP1
00002d68: MLOAD
00002d69: SWAP1
00002d6a: DUP2
00002d6b: SWAP1
00002d6c: SUB
00002d6d: PUSH1 0x64
00002d6f: ADD
00002d70: SWAP1
00002d71: REVERT
00002d72: JUMPDEST
00002d73: PUSH1 0x00
00002d75: SLOAD
00002d76: CALLER
00002d77: PUSH1 0x01
00002d79: PUSH1 0xa0
00002d7b: PUSH1 0x02
00002d7d: EXP
00002d7e: SUB
00002d7f: SWAP1
00002d80: DUP2
00002d81: AND
00002d82: SWAP2
00002d83: AND
00002d84: EQ
00002d85: PUSH2 0x2d8d
00002d88: JUMPI
00002d89: PUSH1 0x00
00002d8b: DUP1
00002d8c: REVERT
00002d8d: JUMPDEST
00002d8e: PUSH1 0x02
00002d90: SLOAD
00002d91: PUSH1 0xff
00002d93: AND
00002d94: ISZERO
00002d95: PUSH2 0x2d9d
00002d98: JUMPI
00002d99: PUSH1 0x00
00002d9b: DUP1
00002d9c: REVERT
00002d9d: JUMPDEST
00002d9e: PUSH1 0x02
00002da0: DUP1
00002da1: SLOAD
00002da2: PUSH1 0xff
00002da4: NOT
00002da5: AND
00002da6: PUSH1 0x01
00002da8: OR
00002da9: SWAP1
00002daa: SSTORE
00002dab: PUSH1 0x40
00002dad: DUP1
00002dae: MLOAD
00002daf: PUSH32 0xfdd16afe00000000000000000000000000000000000000000000000000000000
00002dd0: DUP2
00002dd1: MSTORE
00002dd2: PUSH1 0x03
00002dd4: PUSH1 0x04
00002dd6: DUP3
00002dd7: ADD
00002dd8: MSTORE
00002dd9: SWAP1
00002dda: MLOAD
00002ddb: PUSH20 0x0ad9b58269b804ebd66c9b76e914b5a336c985bc
00002df0: SWAP2
00002df1: PUSH4 0xfdd16afe
00002df6: SWAP2
00002df7: PUSH1 0x24
00002df9: DUP1
00002dfa: DUP4
00002dfb: ADD
00002dfc: SWAP3
00002dfd: PUSH1 0x00
00002dff: SWAP3
00002e00: SWAP2
00002e01: SWAP1
00002e02: DUP3
00002e03: SWAP1
00002e04: SUB
00002e05: ADD
00002e06: DUP2
00002e07: DUP7
00002e08: DUP1
00002e09: EXTCODESIZE
00002e0a: ISZERO
00002e0b: DUP1
00002e0c: ISZERO
00002e0d: PUSH2 0x1cac
00002e10: JUMPI
00002e11: PUSH1 0x00
00002e13: DUP1
00002e14: REVERT
00002e15: JUMPDEST
00002e16: PUSH1 0x07
00002e18: SLOAD
00002e19: PUSH32 0x636c61696d61626c650000000000000000000000000000000000000000000000
00002e3a: SWAP1
00002e3b: PUSH1 0x80
00002e3d: PUSH1 0x02
00002e3f: EXP
00002e40: MUL
00002e41: PUSH1 0x01
00002e43: PUSH1 0x80
00002e45: PUSH1 0x02
00002e47: EXP
00002e48: SUB
00002e49: NOT
00002e4a: AND
00002e4b: DUP2
00002e4c: EQ
00002e4d: PUSH2 0x2e8e
00002e50: JUMPI
00002e51: PUSH1 0x40
00002e53: DUP1
00002e54: MLOAD
00002e55: PUSH1 0xe5
00002e57: PUSH1 0x02
00002e59: EXP
00002e5a: PUSH3 0x461bcd
00002e5e: MUL
00002e5f: DUP2
00002e60: MSTORE
00002e61: PUSH1 0x20
00002e63: PUSH1 0x04
00002e65: DUP3
00002e66: ADD
00002e67: MSTORE
00002e68: PUSH1 0x12
00002e6a: PUSH1 0x24
00002e6c: DUP3
00002e6d: ADD
00002e6e: MSTORE
00002e6f: PUSH1 0x00
00002e71: DUP1
00002e72: MLOAD
00002e73: PUSH1 0x20
00002e75: PUSH2 0x3331
00002e78: DUP4
00002e79: CODECOPY
00002e7a: DUP2
00002e7b: MLOAD
00002e7c: SWAP2
00002e7d: MSTORE
00002e7e: PUSH1 0x44
00002e80: DUP3
00002e81: ADD
00002e82: MSTORE
00002e83: SWAP1
00002e84: MLOAD
00002e85: SWAP1
00002e86: DUP2
00002e87: SWAP1
00002e88: SUB
00002e89: PUSH1 0x64
00002e8b: ADD
00002e8c: SWAP1
00002e8d: REVERT
00002e8e: JUMPDEST
00002e8f: PUSH1 0x02
00002e91: SLOAD
00002e92: PUSH1 0xff
00002e94: AND
00002e95: ISZERO
00002e96: PUSH2 0x2e9e
00002e99: JUMPI
00002e9a: PUSH1 0x00
00002e9c: DUP1
00002e9d: REVERT
00002e9e: JUMPDEST
00002e9f: PUSH1 0x02
00002ea1: DUP1
00002ea2: SLOAD
00002ea3: PUSH1 0xff
00002ea5: NOT
00002ea6: AND
00002ea7: PUSH1 0x01
00002ea9: OR
00002eaa: SWAP1
00002eab: SSTORE
00002eac: PUSH1 0x40
00002eae: DUP1
00002eaf: MLOAD
00002eb0: PUSH32 0x440df79000000000000000000000000000000000000000000000000000000000
00002ed1: DUP2
00002ed2: MSTORE
00002ed3: PUSH1 0x03
00002ed5: PUSH1 0x04
00002ed7: DUP3
00002ed8: ADD
00002ed9: MSTORE
00002eda: PUSH1 0x01
00002edc: PUSH1 0xa0
00002ede: PUSH1 0x02
00002ee0: EXP
00002ee1: SUB
00002ee2: CALLER
00002ee3: DUP2
00002ee4: AND
00002ee5: PUSH1 0x24
00002ee7: DUP4
00002ee8: ADD
00002ee9: MSTORE
00002eea: DUP5
00002eeb: AND
00002eec: PUSH1 0x44
00002eee: DUP3
00002eef: ADD
00002ef0: MSTORE
00002ef1: SWAP1
00002ef2: MLOAD
00002ef3: PUSH20 0x0ad9b58269b804ebd66c9b76e914b5a336c985bc
00002f08: SWAP2
00002f09: PUSH4 0x440df790
00002f0e: SWAP2
00002f0f: PUSH1 0x64
00002f11: DUP1
00002f12: DUP4
00002f13: ADD
00002f14: SWAP3
00002f15: PUSH1 0x00
00002f17: SWAP3
00002f18: SWAP2
00002f19: SWAP1
00002f1a: DUP3
00002f1b: SWAP1
00002f1c: SUB
00002f1d: ADD
00002f1e: DUP2
00002f1f: DUP7
00002f20: DUP1
00002f21: EXTCODESIZE
00002f22: ISZERO
00002f23: DUP1
00002f24: ISZERO
00002f25: PUSH2 0x2f2d
00002f28: JUMPI
00002f29: PUSH1 0x00
00002f2b: DUP1
00002f2c: REVERT
00002f2d: JUMPDEST
00002f2e: POP
00002f2f: GAS
00002f30: DELEGATECALL
00002f31: ISZERO
00002f32: DUP1
00002f33: ISZERO
00002f34: PUSH2 0x2f41
00002f37: JUMPI
00002f38: RETURNDATASIZE
00002f39: PUSH1 0x00
00002f3b: DUP1
00002f3c: RETURNDATACOPY
00002f3d: RETURNDATASIZE
00002f3e: PUSH1 0x00
00002f40: REVERT
00002f41: JUMPDEST
00002f42: POP
00002f43: POP
00002f44: PUSH1 0x40
00002f46: DUP1
00002f47: MLOAD
00002f48: PUSH32 0xec6d7bf500000000000000000000000000000000000000000000000000000000
00002f69: DUP2
00002f6a: MSTORE
00002f6b: PUSH1 0x03
00002f6d: PUSH1 0x04
00002f6f: DUP3
00002f70: ADD
00002f71: MSTORE
00002f72: PUSH1 0x01
00002f74: PUSH1 0xa0
00002f76: PUSH1 0x02
00002f78: EXP
00002f79: SUB
00002f7a: CALLER
00002f7b: AND
00002f7c: PUSH1 0x24
00002f7e: DUP3
00002f7f: ADD
00002f80: MSTORE
00002f81: SWAP1
00002f82: MLOAD
00002f83: PUSH20 0x0ad9b58269b804ebd66c9b76e914b5a336c985bc
00002f98: SWAP4
00002f99: POP
00002f9a: PUSH4 0xec6d7bf5
00002f9f: SWAP3
00002fa0: POP
00002fa1: PUSH1 0x44
00002fa3: DUP1
00002fa4: DUP4
00002fa5: ADD
00002fa6: SWAP3
00002fa7: PUSH1 0x00
00002fa9: SWAP3
00002faa: SWAP2
00002fab: SWAP1
00002fac: DUP3
00002fad: SWAP1
00002fae: SUB
00002faf: ADD
00002fb0: DUP2
00002fb1: DUP7
00002fb2: DUP1
00002fb3: EXTCODESIZE
00002fb4: ISZERO
00002fb5: DUP1
00002fb6: ISZERO
00002fb7: PUSH2 0x0ca5
00002fba: JUMPI
00002fbb: PUSH1 0x00
00002fbd: DUP1
00002fbe: REVERT
00002fbf: JUMPDEST
00002fc0: PUSH1 0x00
00002fc2: SLOAD
00002fc3: CALLER
00002fc4: PUSH1 0x01
00002fc6: PUSH1 0xa0
00002fc8: PUSH1 0x02
00002fca: EXP
00002fcb: SUB
00002fcc: SWAP1
00002fcd: DUP2
00002fce: AND
00002fcf: SWAP2
00002fd0: AND
00002fd1: EQ
00002fd2: PUSH2 0x2fda
00002fd5: JUMPI
00002fd6: PUSH1 0x00
00002fd8: DUP1
00002fd9: REVERT
00002fda: JUMPDEST
00002fdb: PUSH1 0x01
00002fdd: PUSH1 0xa0
00002fdf: PUSH1 0x02
00002fe1: EXP
00002fe2: SUB
00002fe3: DUP2
00002fe4: AND
00002fe5: ISZERO
00002fe6: ISZERO
00002fe7: PUSH2 0x2fef
00002fea: JUMPI
00002feb: PUSH1 0x00
00002fed: DUP1
00002fee: REVERT
00002fef: JUMPDEST
00002ff0: PUSH1 0x00
00002ff2: DUP1
00002ff3: SLOAD
00002ff4: PUSH1 0x40
00002ff6: MLOAD
00002ff7: PUSH1 0x01
00002ff9: PUSH1 0xa0
00002ffb: PUSH1 0x02
00002ffd: EXP
00002ffe: SUB
00002fff: DUP1
00003000: DUP6
00003001: AND
00003002: SWAP4
00003003: SWAP3
00003004: AND
00003005: SWAP2
00003006: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00003027: SWAP2
00003028: LOG3
00003029: PUSH1 0x00
0000302b: DUP1
0000302c: SLOAD
0000302d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003042: NOT
00003043: AND
00003044: PUSH1 0x01
00003046: PUSH1 0xa0
00003048: PUSH1 0x02
0000304a: EXP
0000304b: SUB
0000304c: SWAP3
0000304d: SWAP1
0000304e: SWAP3
0000304f: AND
00003050: SWAP2
00003051: SWAP1
00003052: SWAP2
00003053: OR
00003054: SWAP1
00003055: SSTORE
00003056: JUMP
00003057: JUMPDEST
00003058: PUSH1 0x01
0000305a: PUSH1 0xa0
0000305c: PUSH1 0x02
0000305e: EXP
0000305f: SUB
00003060: AND
00003061: PUSH1 0x00
00003063: SWAP1
00003064: DUP2
00003065: MSTORE
00003066: PUSH1 0x1e
00003068: PUSH1 0x20
0000306a: MSTORE
0000306b: PUSH1 0x40
0000306d: SWAP1
0000306e: KECCAK256
0000306f: SLOAD
00003070: SWAP1
00003071: JUMP
00003072: JUMPDEST
00003073: PUSH1 0x01
00003075: PUSH1 0xa0
00003077: PUSH1 0x02
00003079: EXP
0000307a: SUB
0000307b: SWAP1
0000307c: DUP2
0000307d: AND
0000307e: PUSH1 0x00
00003080: SWAP1
00003081: DUP2
00003082: MSTORE
00003083: PUSH1 0x11
00003085: PUSH1 0x20
00003087: MSTORE
00003088: PUSH1 0x40
0000308a: SWAP1
0000308b: KECCAK256
0000308c: PUSH1 0x0b
0000308e: ADD
0000308f: SLOAD
00003090: AND
00003091: SWAP1
00003092: JUMP
00003093: JUMPDEST
00003094: PUSH2 0x309d
00003097: DUP3
00003098: DUP3
00003099: PUSH2 0x30a8
0000309c: JUMP
0000309d: JUMPDEST
0000309e: ISZERO
0000309f: ISZERO
000030a0: PUSH2 0x0f8b
000030a3: JUMPI
000030a4: PUSH1 0x00
000030a6: DUP1
000030a7: REVERT
000030a8: JUMPDEST
000030a9: PUSH1 0x01
000030ab: PUSH1 0xa0
000030ad: PUSH1 0x02
000030af: EXP
000030b0: SUB
000030b1: AND
000030b2: PUSH1 0x00
000030b4: SWAP1
000030b5: DUP2
000030b6: MSTORE
000030b7: PUSH1 0x20
000030b9: SWAP2
000030ba: SWAP1
000030bb: SWAP2
000030bc: MSTORE
000030bd: PUSH1 0x40
000030bf: SWAP1
000030c0: KECCAK256
000030c1: SLOAD
000030c2: PUSH1 0xff
000030c4: AND
000030c5: SWAP1
000030c6: JUMP
000030c7: JUMPDEST
000030c8: PUSH2 0x3131
000030cb: DUP3
000030cc: PUSH1 0x01
000030ce: DUP4
000030cf: PUSH1 0x40
000030d1: MLOAD
000030d2: DUP1
000030d3: DUP3
000030d4: DUP1
000030d5: MLOAD
000030d6: SWAP1
000030d7: PUSH1 0x20
000030d9: ADD
000030da: SWAP1
000030db: DUP1
000030dc: DUP4
000030dd: DUP4
000030de: JUMPDEST
000030df: PUSH1 0x20
000030e1: DUP4
000030e2: LT
000030e3: PUSH2 0x30fd
000030e6: JUMPI
000030e7: DUP1
000030e8: MLOAD
000030e9: DUP3
000030ea: MSTORE
000030eb: PUSH1 0x1f
000030ed: NOT
000030ee: SWAP1
000030ef: SWAP3
000030f0: ADD
000030f1: SWAP2
000030f2: PUSH1 0x20
000030f4: SWAP2
000030f5: DUP3
000030f6: ADD
000030f7: SWAP2
000030f8: ADD
000030f9: PUSH2 0x30de
000030fc: JUMP
000030fd: JUMPDEST
000030fe: MLOAD
000030ff: DUP2
00003100: MLOAD
00003101: PUSH1 0x20
00003103: SWAP4
00003104: DUP5
00003105: SUB
00003106: PUSH2 0x0100
00003109: EXP
0000310a: PUSH1 0x00
0000310c: NOT
0000310d: ADD
0000310e: DUP1
0000310f: NOT
00003110: SWAP1
00003111: SWAP3
00003112: AND
00003113: SWAP2
00003114: AND
00003115: OR
00003116: SWAP1
00003117: MSTORE
00003118: SWAP3
00003119: ADD
0000311a: SWAP5
0000311b: DUP6
0000311c: MSTORE
0000311d: POP
0000311e: PUSH1 0x40
00003120: MLOAD
00003121: SWAP4
00003122: DUP5
00003123: SWAP1
00003124: SUB
00003125: ADD
00003126: SWAP1
00003127: SWAP3
00003128: KECCAK256
00003129: SWAP3
0000312a: SWAP2
0000312b: POP
0000312c: POP
0000312d: PUSH2 0x32c9
00003130: JUMP
00003131: JUMPDEST
00003132: PUSH32 0xd211483f91fc6eff862467f8de606587a30c8fc9981056f051b897a418df803a
00003153: DUP3
00003154: DUP3
00003155: PUSH1 0x40
00003157: MLOAD
00003158: DUP1
00003159: DUP4
0000315a: PUSH1 0x01
0000315c: PUSH1 0xa0
0000315e: PUSH1 0x02
00003160: EXP
00003161: SUB
00003162: AND
00003163: PUSH1 0x01
00003165: PUSH1 0xa0
00003167: PUSH1 0x02
00003169: EXP
0000316a: SUB
0000316b: AND
0000316c: DUP2
0000316d: MSTORE
0000316e: PUSH1 0x20
00003170: ADD
00003171: DUP1
00003172: PUSH1 0x20
00003174: ADD
00003175: DUP3
00003176: DUP2
00003177: SUB
00003178: DUP3
00003179: MSTORE
0000317a: DUP4
0000317b: DUP2
0000317c: DUP2
0000317d: MLOAD
0000317e: DUP2
0000317f: MSTORE
00003180: PUSH1 0x20
00003182: ADD
00003183: SWAP2
00003184: POP
00003185: DUP1
00003186: MLOAD
00003187: SWAP1
00003188: PUSH1 0x20
0000318a: ADD
0000318b: SWAP1
0000318c: DUP1
0000318d: DUP4
0000318e: DUP4
0000318f: PUSH1 0x00
00003191: JUMPDEST
00003192: DUP4
00003193: DUP2
00003194: LT
00003195: ISZERO
00003196: PUSH2 0x31a9
00003199: JUMPI
0000319a: DUP2
0000319b: DUP2
0000319c: ADD
0000319d: MLOAD
0000319e: DUP4
0000319f: DUP3
000031a0: ADD
000031a1: MSTORE
000031a2: PUSH1 0x20
000031a4: ADD
000031a5: PUSH2 0x3191
000031a8: JUMP
000031a9: JUMPDEST
000031aa: POP
000031ab: POP
000031ac: POP
000031ad: POP
000031ae: SWAP1
000031af: POP
000031b0: SWAP1
000031b1: DUP2
000031b2: ADD
000031b3: SWAP1
000031b4: PUSH1 0x1f
000031b6: AND
000031b7: DUP1
000031b8: ISZERO
000031b9: PUSH2 0x31d6
000031bc: JUMPI
000031bd: DUP1
000031be: DUP3
000031bf: SUB
000031c0: DUP1
000031c1: MLOAD
000031c2: PUSH1 0x01
000031c4: DUP4
000031c5: PUSH1 0x20
000031c7: SUB
000031c8: PUSH2 0x0100
000031cb: EXP
000031cc: SUB
000031cd: NOT
000031ce: AND
000031cf: DUP2
000031d0: MSTORE
000031d1: PUSH1 0x20
000031d3: ADD
000031d4: SWAP2
000031d5: POP
000031d6: JUMPDEST
000031d7: POP
000031d8: SWAP4
000031d9: POP
000031da: POP
000031db: POP
000031dc: POP
000031dd: PUSH1 0x40
000031df: MLOAD
000031e0: DUP1
000031e1: SWAP2
000031e2: SUB
000031e3: SWAP1
000031e4: LOG1
000031e5: POP
000031e6: POP
000031e7: JUMP
000031e8: JUMPDEST
000031e9: PUSH2 0x3252
000031ec: DUP3
000031ed: PUSH1 0x01
000031ef: DUP4
000031f0: PUSH1 0x40
000031f2: MLOAD
000031f3: DUP1
000031f4: DUP3
000031f5: DUP1
000031f6: MLOAD
000031f7: SWAP1
000031f8: PUSH1 0x20
000031fa: ADD
000031fb: SWAP1
000031fc: DUP1
000031fd: DUP4
000031fe: DUP4
000031ff: JUMPDEST
00003200: PUSH1 0x20
00003202: DUP4
00003203: LT
00003204: PUSH2 0x321e
00003207: JUMPI
00003208: DUP1
00003209: MLOAD
0000320a: DUP3
0000320b: MSTORE
0000320c: PUSH1 0x1f
0000320e: NOT
0000320f: SWAP1
00003210: SWAP3
00003211: ADD
00003212: SWAP2
00003213: PUSH1 0x20
00003215: SWAP2
00003216: DUP3
00003217: ADD
00003218: SWAP2
00003219: ADD
0000321a: PUSH2 0x31ff
0000321d: JUMP
0000321e: JUMPDEST
0000321f: MLOAD
00003220: DUP2
00003221: MLOAD
00003222: PUSH1 0x20
00003224: SWAP4
00003225: DUP5
00003226: SUB
00003227: PUSH2 0x0100
0000322a: EXP
0000322b: PUSH1 0x00
0000322d: NOT
0000322e: ADD
0000322f: DUP1
00003230: NOT
00003231: SWAP1
00003232: SWAP3
00003233: AND
00003234: SWAP2
00003235: AND
00003236: OR
00003237: SWAP1
00003238: MSTORE
00003239: SWAP3
0000323a: ADD
0000323b: SWAP5
0000323c: DUP6
0000323d: MSTORE
0000323e: POP
0000323f: PUSH1 0x40
00003241: MLOAD
00003242: SWAP4
00003243: DUP5
00003244: SWAP1
00003245: SUB
00003246: ADD
00003247: SWAP1
00003248: SWAP3
00003249: KECCAK256
0000324a: SWAP3
0000324b: SWAP2
0000324c: POP
0000324d: POP
0000324e: PUSH2 0x32eb
00003251: JUMP
00003252: JUMPDEST
00003253: PUSH32 0xbfec83d64eaa953f2708271a023ab9ee82057f8f3578d548c1a4ba0b5b700489
00003274: DUP3
00003275: DUP3
00003276: PUSH1 0x40
00003278: MLOAD
00003279: DUP1
0000327a: DUP4
0000327b: PUSH1 0x01
0000327d: PUSH1 0xa0
0000327f: PUSH1 0x02
00003281: EXP
00003282: SUB
00003283: AND
00003284: PUSH1 0x01
00003286: PUSH1 0xa0
00003288: PUSH1 0x02
0000328a: EXP
0000328b: SUB
0000328c: AND
0000328d: DUP2
0000328e: MSTORE
0000328f: PUSH1 0x20
00003291: ADD
00003292: DUP1
00003293: PUSH1 0x20
00003295: ADD
00003296: DUP3
00003297: DUP2
00003298: SUB
00003299: DUP3
0000329a: MSTORE
0000329b: DUP4
0000329c: DUP2
0000329d: DUP2
0000329e: MLOAD
0000329f: DUP2
000032a0: MSTORE
000032a1: PUSH1 0x20
000032a3: ADD
000032a4: SWAP2
000032a5: POP
000032a6: DUP1
000032a7: MLOAD
000032a8: SWAP1
000032a9: PUSH1 0x20
000032ab: ADD
000032ac: SWAP1
000032ad: DUP1
000032ae: DUP4
000032af: DUP4
000032b0: PUSH1 0x00
000032b2: DUP4
000032b3: DUP2
000032b4: LT
000032b5: ISZERO
000032b6: PUSH2 0x31a9
000032b9: JUMPI
000032ba: DUP2
000032bb: DUP2
000032bc: ADD
000032bd: MLOAD
000032be: DUP4
000032bf: DUP3
000032c0: ADD
000032c1: MSTORE
000032c2: PUSH1 0x20
000032c4: ADD
000032c5: PUSH2 0x3191
000032c8: JUMP
000032c9: JUMPDEST
000032ca: PUSH1 0x01
000032cc: PUSH1 0xa0
000032ce: PUSH1 0x02
000032d0: EXP
000032d1: SUB
000032d2: AND
000032d3: PUSH1 0x00
000032d5: SWAP1
000032d6: DUP2
000032d7: MSTORE
000032d8: PUSH1 0x20
000032da: SWAP2
000032db: SWAP1
000032dc: SWAP2
000032dd: MSTORE
000032de: PUSH1 0x40
000032e0: SWAP1
000032e1: KECCAK256
000032e2: DUP1
000032e3: SLOAD
000032e4: PUSH1 0xff
000032e6: NOT
000032e7: AND
000032e8: SWAP1
000032e9: SSTORE
000032ea: JUMP
000032eb: JUMPDEST
000032ec: PUSH1 0x01
000032ee: PUSH1 0xa0
000032f0: PUSH1 0x02
000032f2: EXP
000032f3: SUB
000032f4: AND
000032f5: PUSH1 0x00
000032f7: SWAP1
000032f8: DUP2
000032f9: MSTORE
000032fa: PUSH1 0x20
000032fc: SWAP2
000032fd: SWAP1
000032fe: SWAP2
000032ff: MSTORE
00003300: PUSH1 0x40
00003302: SWAP1
00003303: KECCAK256
00003304: DUP1
00003305: SLOAD
00003306: PUSH1 0xff
00003308: NOT
00003309: AND
0000330a: PUSH1 0x01
0000330c: OR
0000330d: SWAP1
0000330e: SSTORE
0000330f: JUMP
00003310: STOP
00003311: PUSH2 0x646d
00003314: PUSH10 0x6e000000000000000000
0000331f: STOP
00003320: STOP
00003321: STOP
00003322: STOP
00003323: STOP
00003324: STOP
00003325: STOP
00003326: STOP
00003327: STOP
00003328: STOP
00003329: STOP
0000332a: STOP
0000332b: STOP
0000332c: STOP
0000332d: STOP
0000332e: STOP
0000332f: STOP
00003330: STOP
00003331: PUSH15 0x6f74206f6e20726967687420737461
00003341: PUSH21 0x65000000000000000000000000000066756c66696c
00003357: PUSH13 0x65640000000000000000000000
00003365: STOP
00003366: STOP
00003367: STOP
00003368: STOP
00003369: STOP
0000336a: STOP
0000336b: STOP
0000336c: STOP
0000336d: STOP
0000336e: STOP
0000336f: STOP
00003370: STOP
00003371: LOG1
00003372: PUSH6 0x627a7a723058
00003379: KECCAK256
0000337a: SWAP3
0000337b: EQ
0000337c: UNKNOWN(0xD2)
0000337d: DUP10
0000337e: UNKNOWN(0xE6)
0000337f: UNKNOWN(0xE0)
00003380: PUSH10 0x54c96da212c84557e6b0
0000338b: SWAP14
0000338c: PUSH24

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability detector Untrusted DELEGATECALL target reachable 70 yes yes
view
trace_id: 0xbf558442c90cd78acd5ed11e3cd62d8bcbcef0fed28e39dac610240fd9b82c9b
call_targets: 0x0ad9b58269b804ebd66c9b76e914b5a336c985bc, 0xbbf3e00e05e3e6de95a202258f67e21a10105b0c
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 37,
    "trace_id": "0xbf558442c90cd78acd5ed11e3cd62d8bcbcef0fed28e39dac610240fd9b82c9b",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0ad9b58269b804ebd66c9b76e914b5a336c985bc",
        "0xbbf3e00e05e3e6de95a202258f67e21a10105b0c"
    ],
    "matched_probe": null,
    "target_varies": true,
    "classification": "target_varies"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x03ed9d21",
            "selector": "0x03ed9d21",
            "calldata_variants": [
                "0x03ed9d21",
                "0x03ed9d210000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x09826620",
            "selector": "0x09826620",
            "calldata_variants": [
                "0x09826620",
                "0x098266200000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0988ca8c",
            "selector": "0x0988ca8c",
            "calldata_variants": [
                "0x0988ca8c",
                "0x0988ca8c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0e135aa1",
            "selector": "0x0e135aa1",
            "calldata_variants": [
                "0x0e135aa1",
                "0x0e135aa10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x12e8e2c3",
            "selector": "0x12e8e2c3",
            "calldata_variants": [
                "0x12e8e2c3",
                "0x12e8e2c30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x209d101f",
            "selector": "0x209d101f",
            "calldata_variants": [
                "0x209d101f",
                "0x209d101f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x217fe6c6",
            "selector": "0x217fe6c6",
            "calldata_variants": [
                "0x217fe6c6",
                "0x217fe6c60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x261c4e05",
            "selector": "0x261c4e05",
            "calldata_variants": [
                "0x261c4e05",
                "0x261c4e050000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3240,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 3437,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 3806,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 12,
    "untrusted_delegatecall_count": 12
}
critical upgradeability codex DELEGATECALL to computed, varying targets 90 no
view
evidence_json
{
    "evidence": "detector_findings[0] reports 12 DELEGATECALL sites with computed targets, no guards detected, and returndata checks unknown (returndata_checked:null). Validation confirms target_varies with call_targets [0x0ad9b58269b804ebd66c9b76e914b5a336c985bc, 0xbbf3e00e05e3e6de95a202258f67e21a10105b0c].",
    "locations": [
        "pc:0xca8",
        "pc:0xd6d",
        "pc:0xede",
        "pc:0x1048",
        "pc:0x110f",
        "pc:0x134f"
    ],
    "recommendation": "Make delegatecall targets immutable or strictly access-controlled (e.g., onlyOwner with timelock), enforce an allowlist/codehash check before delegatecall, and emit events on target changes. If dynamic dispatch is not required, remove delegatecall entirely.",
    "exploit_scenario": "The contract performs DELEGATECALL to a target address that is computed at runtime. Validation shows the target varies across traces, which suggests dynamic dispatch (e.g., facet/implementation registry or upgrade slot). If an attacker can influence the stored target or selector-to-target mapping, they can delegatecall into malicious code that executes in this contract\u2019s storage context, allowing arbitrary storage writes, fund theft, or ownership takeover. Because this is bytecode-only, the exact control surface is uncertain; guard detection is heuristic and not conclusive."
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xc9b3edcf0e1b55c0c54e3f2d34de57d450dfa324c6920fefe510bcd782a64c60
call_targets: 0x6a13cbb3a3ecd7e8d74636f79c4a09acb1f85606
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xc9b3edcf0e1b55c0c54e3f2d34de57d450dfa324c6920fefe510bcd782a64c60",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x6a13cbb3a3ecd7e8d74636f79c4a09acb1f85606"
    ],
    "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": "0x03ed9d21",
            "selector": "0x03ed9d21",
            "calldata_variants": [
                "0x03ed9d21",
                "0x03ed9d210000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x09826620",
            "selector": "0x09826620",
            "calldata_variants": [
                "0x09826620",
                "0x098266200000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0988ca8c",
            "selector": "0x0988ca8c",
            "calldata_variants": [
                "0x0988ca8c",
                "0x0988ca8c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0e135aa1",
            "selector": "0x0e135aa1",
            "calldata_variants": [
                "0x0e135aa1",
                "0x0e135aa10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x12e8e2c3",
            "selector": "0x12e8e2c3",
            "calldata_variants": [
                "0x12e8e2c3",
                "0x12e8e2c30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x209d101f",
            "selector": "0x209d101f",
            "calldata_variants": [
                "0x209d101f",
                "0x209d101f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x217fe6c6",
            "selector": "0x217fe6c6",
            "calldata_variants": [
                "0x217fe6c6",
                "0x217fe6c60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x261c4e05",
            "selector": "0x261c4e05",
            "calldata_variants": [
                "0x261c4e05",
                "0x261c4e050000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2917,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5121,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5264,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 13,
    "guards_detected": [],
    "untrusted_call_count": 13
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xc9b3edcf0e1b55c0c54e3f2d34de57d450dfa324c6920fefe510bcd782a64c60
call_targets: 0x6a13cbb3a3ecd7e8d74636f79c4a09acb1f85606
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xc9b3edcf0e1b55c0c54e3f2d34de57d450dfa324c6920fefe510bcd782a64c60",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x6a13cbb3a3ecd7e8d74636f79c4a09acb1f85606"
    ],
    "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": "0x03ed9d21",
            "selector": "0x03ed9d21",
            "calldata_variants": [
                "0x03ed9d21",
                "0x03ed9d210000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x09826620",
            "selector": "0x09826620",
            "calldata_variants": [
                "0x09826620",
                "0x098266200000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0988ca8c",
            "selector": "0x0988ca8c",
            "calldata_variants": [
                "0x0988ca8c",
                "0x0988ca8c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0e135aa1",
            "selector": "0x0e135aa1",
            "calldata_variants": [
                "0x0e135aa1",
                "0x0e135aa10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x12e8e2c3",
            "selector": "0x12e8e2c3",
            "calldata_variants": [
                "0x12e8e2c3",
                "0x12e8e2c30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x209d101f",
            "selector": "0x209d101f",
            "calldata_variants": [
                "0x209d101f",
                "0x209d101f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x217fe6c6",
            "selector": "0x217fe6c6",
            "calldata_variants": [
                "0x217fe6c6",
                "0x217fe6c60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x261c4e05",
            "selector": "0x261c4e05",
            "calldata_variants": [
                "0x261c4e05",
                "0x261c4e050000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2917,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5121,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5264,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 13,
    "guards_detected": []
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 12
}
low reentrancy codex CALL with computed target/value can transfer ETH (conditional external-call risk) 65 no
view
evidence_json
{
    "evidence": "detector_findings[1] and [2] show 13 CALL sites with computed target/value and potential ETH transfer; returndata_checked is null. Validation saw a constant target 0x6a13cbb3a3ecd7e8d74636f79c4a09acb1f85606 (this contract) and did not confirm untrusted targets, so risk is conditional.",
    "locations": [
        "pc:0xb65",
        "pc:0x1401",
        "pc:0x1490",
        "pc:0x151f",
        "pc:0x15ae"
    ],
    "recommendation": "Constrain call targets/values to trusted addresses, apply checks-effects-interactions or reentrancy guards around state mutations, and check CALL success/returndata. If the intent is self-calls, prefer internal calls to avoid unnecessary external CALL semantics.",
    "exploit_scenario": "Multiple CALL sites use computed targets and values and can transfer ETH. If any of these targets are user-influenced and state changes occur after the call, an external callee could reenter or cause fund loss. However, validation observed a constant target equal to the contract itself in one trace, so external-call risk is not confirmed from bytecode alone."
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 13
}
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": 36
}