019bb50c-36be-73f5-8aa5-abd83ca7a6ba
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 40476 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 40477 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 40478 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 40479 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 40480 | capability.graph | complete | 1 / 3 | 3 months ago |
| 40481 | detector.run | complete | 1 / 3 | 3 months ago |
| 40482 | validation.fork | complete | 1 / 3 | 3 months ago |
| 40510 | report.consolidate | complete | 1 / 6 | 3 months ago |
| 40511 | tool.slither | failed | 2 / 2 | 3 months ago |
{
"status": "not_proxy"
}
Traceback (most recent call last):
File "/var/www/tripwire/worker/worker.py", line 198, in main
payload = dispatch_job(job_type, job_id, job_meta, run_data, config, laravel_client)
File "/var/www/tripwire/worker/worker.py", line 114, in dispatch_job
return slither_run.run(job_id, job_meta, run_data, config, log, laravel_client)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/worker/jobs/slither_run.py", line 1084, in run
stdout_text, stderr_text, result_json = _run_slither(
~~~~~~~~~~~~^
workspace,
^^^^^^^^^^
...<4 lines>...
target_path=target_path,
^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/var/www/tripwire/worker/jobs/slither_run.py", line 958, in _run_slither
raise RuntimeError(f"slither failed (exit {result.returncode}): {stderr_text or stdout_text}")
RuntimeError: slither failed (exit 1): 'forge clean' running (wd: /tmp/slither-yb5pxgxj)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-yb5pxgxj)
'forge' returned non-zero exit code 1
Error: Encountered invalid solc version in lib/openzeppelin-contracts/contracts/utils/Strings.sol: No solc version exists that matches the version requirement: ^0.8.24
Traceback (most recent call last):
File "/var/www/tripwire/.venv/bin/slither", line 10, in <module>
sys.exit(main())
~~~~^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 776, in main
main_impl(all_detector_classes=detectors, all_printer_classes=printers)
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 882, in main_impl
) = process_all(filename, args, detector_classes, printer_classes)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 96, in process_all
compilations = compile_all(target, **vars(args))
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 722, in compile_all
compilations.append(CryticCompile(target, **kwargs))
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 211, in __init__
self._compile(**kwargs)
~~~~~~~~~~~~~^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 633, in _compile
self._platform.compile(self, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/foundry.py", line 102, in compile
hardhat_like_parsing(
~~~~~~~~~~~~~~~~~~~~^
crytic_compile, str(self._target), build_directory, str(self._project_root)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/hardhat.py", line 52, in hardhat_like_parsing
raise InvalidCompilation(txt)
crytic_compile.platform.exceptions.InvalidCompilation: Compilation failed. Can you run build command?
/tmp/slither-yb5pxgxj/out/build-info is not a directory.
{"no_findings":false,"summary":"Found two issues: incorrect sales withdrawal accounting enabling repeated withdrawals when sales are modified, and overly-permissive admin controls that can bypass or distort refunds.","findings":[{"severity":"medium","category":"math","title":"Incorrect withdrawal accounting enables repeated sales withdrawals after sales changes","exploit_scenario":"Owner calls withdrawSales once (withdrawed = sales). Later increases finalPrice or wonBiddedItems so sales grows. Because withdrawed is reset to available instead of accumulated, each subsequent withdrawSales call continues to return the same available amount, allowing repeated withdrawals until the contract balance is drained (reducing funds needed for refunds).","recommendation":"Track cumulative withdrawals: set `withdrawed += available` (or `withdrawed = sales` after transfer), and freeze `finalPrice`/`wonBiddedItems` once withdrawals begin or after bidding ends.","evidence":"withdrawed is set to available (remaining) instead of being accumulated, which becomes exploitable if sales is later increased.","locations":["contracts/BlindAuction.sol:268","contracts/BlindAuction.sol:269","contracts/BlindAuction.sol:270","contracts/BlindAuction.sol:326","contracts/BlindAuction.sol:321"]},{"severity":"low","category":"access_control","title":"Admin can bypass refund guarantees via arbitrary state and price changes","exploit_scenario":"Owner can set auctionState to REFUND_ENDED at any time and call withdrawAll, draining all funds before users refund. Owner can also change finalPrice or wonBiddedItems after refunds start, causing some refunds to revert or to be underpaid compared to earlier refunds.","recommendation":"Enforce monotonic state transitions and freeze finalPrice/wonBiddedItems once bidding ends or refunds start; allow withdrawAll only after refunds are completed or after a defined deadline.","evidence":"Critical parameters and state are mutable at any time by the owner, and withdrawAll only checks auctionState which the owner can set arbitrarily.","locations":["contracts/BlindAuction.sol:277","contracts/BlindAuction.sol:278","contracts/BlindAuction.sol:335","contracts/BlindAuction.sol:336","contracts/BlindAuction.sol:321","contracts/BlindAuction.sol:326"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-hiddb2lc
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bb54f-451f-70b0-9a0b-654e88654ee8
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.
Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers
thinking
**Reading AUDIT_BUNDLE file**
exec
/bin/bash -lc ls in /tmp/codex-hiddb2lc succeeded in 6ms:
AUDIT_BUNDLE.txt
codex-output-schema.json
contracts
@openzeppelin
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-hiddb2lc succeeded in 27ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.
================================================================================
FILE: contracts/BlindAuction.sol
================================================================================
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
import "@openzeppelin/contracts/utils/Strings.sol";
import "@openzeppelin/contracts/utils/math/Math.sol";
import "@openzeppelin/contracts/utils/structs/EnumerableMap.sol";
import "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol";
import "@openzeppelin/contracts/utils/cryptography/ECDSA.sol";
import "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
// ===========================================================================================
// # # ######
// # # ###### ###### # # #### # # ####
thinking
**Analyzing smart contract withdrawal logic and vulnerabilities**
I’m examining the withdrawSales function closely and found that the withdrawed variable is incorrectly reset instead of accumulated, which could allow repeated withdrawals if the owner tweaks sales values after withdrawals. This flawed logic might enable draining funds beyond legitimate sales amounts, representing a medium-severity access control issue tied to owner privileges. I also reviewed potential reentrancy risks and upgradeable contract patterns, noting missing nonReentrant guards on some withdrawals and lack of storage gaps. There are concerns about unrestricted owner actions like changing finalPrice or wonBiddedItems anytime, which might disrupt refund calculations and state invariants. Overall, I’m identifying exploitable bugs mostly linked to owner control and some logic errors that could affect contract stability.
thinking
**Examining auction state and refund logic edge cases**
I’m reviewing potential pitfalls with auction state manipulation and refund calculations, including risks from owner changing finalPrice after refunds start, causing refund failures or unfair amounts. I also noticed missing checks on auctionState values and some unused constants like MAX_BID_QUANTITY. While many issues stem from owner privileges, there are subtle logic gaps in refund limits and state transitions worth highlighting as medium severity findings.
exec
/bin/bash -lc 'nl -ba contracts/BlindAuction.sol' in /tmp/codex-hiddb2lc succeeded in 19ms:
1 // SPDX-License-Identifier: MIT
2 pragma solidity ^0.8.19;
3 import "@openzeppelin/contracts/utils/Strings.sol";
4 import "@openzeppelin/contracts/utils/math/Math.sol";
5 import "@openzeppelin/contracts/utils/structs/EnumerableMap.sol";
6 import "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol";
7 import "@openzeppelin/contracts/utils/cryptography/ECDSA.sol";
8 import "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol";
9 import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
10 import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
11
12 // ===========================================================================================
13 // # # ######
14 // # # ###### ###### # # #### # # ####
15 // # # # # # # # # ## # # #
16 // ####### ##### ##### # # # # # # # #
17 // # # # # # # # # # # # # ###
18 // # # # # # # # # # ## # #
19 // # # ###### ###### ###### #### # # ####
20 //
thinking
**Summarizing potential vulnerabilities and crafting findings**
I'll organize the key issues found into two main findings: one about incorrect accounting allowing repeated withdrawals after sales increase, categorized as a math vulnerability with medium severity, and another about admin capabilities to arbitrarily change auction state and parameters to bypass refund protections, considered a lower-severity access control risk. I also plan to include detailed exploit scenarios, evidence line references, and recommendations for mitigation in a clear JSON format.
codex
{"no_findings":false,"summary":"Found two issues: incorrect sales withdrawal accounting enabling repeated withdrawals when sales are modified, and overly-permissive admin controls that can bypass or distort refunds.","findings":[{"severity":"medium","category":"math","title":"Incorrect withdrawal accounting enables repeated sales withdrawals after sales changes","exploit_scenario":"Owner calls withdrawSales once (withdrawed = sales). Later increases finalPrice or wonBiddedItems so sales grows. Because withdrawed is reset to available instead of accumulated, each subsequent withdrawSales call continues to return the same available amount, allowing repeated withdrawals until the contract balance is drained (reducing funds needed for refunds).","recommendation":"Track cumulative withdrawals: set `withdrawed += available` (or `withdrawed = sales` after transfer), and freeze `finalPrice`/`wonBiddedItems` once withdrawals begin or after bidding ends.","evidence":"withdrawed is set to available (remaining) instead of being accumulated, which becomes exploitable if sales is later increased.","locations":["contracts/BlindAuction.sol:268","contracts/BlindAuction.sol:269","contracts/BlindAuction.sol:270","contracts/BlindAuction.sol:326","contracts/BlindAuction.sol:321"]},{"severity":"low","category":"access_control","title":"Admin can bypass refund guarantees via arbitrary state and price changes","exploit_scenario":"Owner can set auctionState to REFUND_ENDED at any time and call withdrawAll, draining all funds before users refund. Owner can also change finalPrice or wonBiddedItems after refunds start, causing some refunds to revert or to be underpaid compared to earlier refunds.","recommendation":"Enforce monotonic state transitions and freeze finalPrice/wonBiddedItems once bidding ends or refunds start; allow withdrawAll only after refunds are completed or after a defined deadline.","evidence":"Critical parameters and state are mutable at any time by the owner, and withdrawAll only checks auctionState which the owner can set arbitrarily.","locations":["contracts/BlindAuction.sol:277","contracts/BlindAuction.sol:278","contracts/BlindAuction.sol:335","contracts/BlindAuction.sol:336","contracts/BlindAuction.sol:321","contracts/BlindAuction.sol:326"]}]}
tokens used
19,770
{
"codex": {
"ran_at": "2026-01-13T03:06:41.644120+00:00",
"returncode": 0
},
"project": {
"mode": "source",
"file_count": 12,
"import_count": 14,
"first_party_contracts_count": 1
},
"summary": "Found two issues: incorrect sales withdrawal accounting enabling repeated withdrawals when sales are modified, and overly-permissive admin controls that can bypass or distort refunds.",
"raw_final": {
"summary": "Found two issues: incorrect sales withdrawal accounting enabling repeated withdrawals when sales are modified, and overly-permissive admin controls that can bypass or distort refunds.",
"findings": [
{
"title": "Incorrect withdrawal accounting enables repeated sales withdrawals after sales changes",
"category": "math",
"evidence": "withdrawed is set to available (remaining) instead of being accumulated, which becomes exploitable if sales is later increased.",
"severity": "medium",
"locations": [
"contracts/BlindAuction.sol:268",
"contracts/BlindAuction.sol:269",
"contracts/BlindAuction.sol:270",
"contracts/BlindAuction.sol:326",
"contracts/BlindAuction.sol:321"
],
"recommendation": "Track cumulative withdrawals: set `withdrawed += available` (or `withdrawed = sales` after transfer), and freeze `finalPrice`/`wonBiddedItems` once withdrawals begin or after bidding ends.",
"exploit_scenario": "Owner calls withdrawSales once (withdrawed = sales). Later increases finalPrice or wonBiddedItems so sales grows. Because withdrawed is reset to available instead of accumulated, each subsequent withdrawSales call continues to return the same available amount, allowing repeated withdrawals until the contract balance is drained (reducing funds needed for refunds)."
},
{
"title": "Admin can bypass refund guarantees via arbitrary state and price changes",
"category": "access_control",
"evidence": "Critical parameters and state are mutable at any time by the owner, and withdrawAll only checks auctionState which the owner can set arbitrarily.",
"severity": "low",
"locations": [
"contracts/BlindAuction.sol:277",
"contracts/BlindAuction.sol:278",
"contracts/BlindAuction.sol:335",
"contracts/BlindAuction.sol:336",
"contracts/BlindAuction.sol:321",
"contracts/BlindAuction.sol:326"
],
"recommendation": "Enforce monotonic state transitions and freeze finalPrice/wonBiddedItems once bidding ends or refunds start; allow withdrawAll only after refunds are completed or after a defined deadline.",
"exploit_scenario": "Owner can set auctionState to REFUND_ENDED at any time and call withdrawAll, draining all funds before users refund. Owner can also change finalPrice or wonBiddedItems after refunds start, causing some refunds to revert or to be underpaid compared to earlier refunds."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x0206 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x900c1220 00000019: GT 0000001a: PUSH2 0x0117 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xb81c78ec 00000024: GT 00000025: PUSH2 0x00a5 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xcff29dfd 0000002f: GT 00000030: PUSH2 0x006c 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xcff29dfd 0000003a: EQ 0000003b: PUSH2 0x05dd 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xd4b156e9 00000045: EQ 00000046: PUSH2 0x05fd 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xe6ba4a18 00000050: EQ 00000051: PUSH2 0x061d 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xe961928e 0000005b: EQ 0000005c: PUSH2 0x063d 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0xf2fde38b 00000066: EQ 00000067: PUSH2 0x0676 0000006a: JUMPI 0000006b: STOP 0000006c: JUMPDEST 0000006d: DUP1 0000006e: PUSH4 0xb81c78ec 00000073: EQ 00000074: PUSH2 0x0546 00000077: JUMPI 00000078: DUP1 00000079: PUSH4 0xb9ea2fc4 0000007e: EQ 0000007f: PUSH2 0x0568 00000082: JUMPI 00000083: DUP1 00000084: PUSH4 0xbb55f25c 00000089: EQ 0000008a: PUSH2 0x0588 0000008d: JUMPI 0000008e: DUP1 0000008f: PUSH4 0xc4d66de8 00000094: EQ 00000095: PUSH2 0x05a8 00000098: JUMPI 00000099: DUP1 0000009a: PUSH4 0xce22bc67 0000009f: EQ 000000a0: PUSH2 0x05c8 000000a3: JUMPI 000000a4: STOP 000000a5: JUMPDEST 000000a6: DUP1 000000a7: PUSH4 0xa363a725 000000ac: GT 000000ad: PUSH2 0x00e9 000000b0: JUMPI 000000b1: DUP1 000000b2: PUSH4 0xa363a725 000000b7: EQ 000000b8: PUSH2 0x04c5 000000bb: JUMPI 000000bc: DUP1 000000bd: PUSH4 0xa6b513ee 000000c2: EQ 000000c3: PUSH2 0x04e5 000000c6: JUMPI 000000c7: DUP1 000000c8: PUSH4 0xae247275 000000cd: EQ 000000ce: PUSH2 0x04fb 000000d1: JUMPI 000000d2: DUP1 000000d3: PUSH4 0xb0eac1d8 000000d8: EQ 000000d9: PUSH2 0x0511 000000dc: JUMPI 000000dd: DUP1 000000de: PUSH4 0xb66b2073 000000e3: EQ 000000e4: PUSH2 0x0531 000000e7: JUMPI 000000e8: STOP 000000e9: JUMPDEST 000000ea: DUP1 000000eb: PUSH4 0x900c1220 000000f0: EQ 000000f1: PUSH2 0x0464 000000f4: JUMPI 000000f5: DUP1 000000f6: PUSH4 0x9688a21d 000000fb: EQ 000000fc: PUSH2 0x0484 000000ff: JUMPI 00000100: DUP1 00000101: PUSH4 0x9a797128 00000106: EQ 00000107: PUSH2 0x049a 0000010a: JUMPI 0000010b: DUP1 0000010c: PUSH4 0x9ce05df7 00000111: EQ 00000112: PUSH2 0x04b0 00000115: JUMPI 00000116: STOP 00000117: JUMPDEST 00000118: DUP1 00000119: PUSH4 0x3cf247b1 0000011e: GT 0000011f: PUSH2 0x0194 00000122: JUMPI 00000123: DUP1 00000124: PUSH4 0x715018a6 00000129: GT 0000012a: PUSH2 0x0166 0000012d: JUMPI 0000012e: DUP1 0000012f: PUSH4 0x715018a6 00000134: EQ 00000135: PUSH2 0x03c8 00000138: JUMPI 00000139: DUP1 0000013a: PUSH4 0x7fb45099 0000013f: EQ 00000140: PUSH2 0x03dd 00000143: JUMPI 00000144: DUP1 00000145: PUSH4 0x853828b6 0000014a: EQ 0000014b: PUSH2 0x0404 0000014e: JUMPI 0000014f: DUP1 00000150: PUSH4 0x8a828b08 00000155: EQ 00000156: PUSH2 0x0419 00000159: JUMPI 0000015a: DUP1 0000015b: PUSH4 0x8da5cb5b 00000160: EQ 00000161: PUSH2 0x0446 00000164: JUMPI 00000165: STOP 00000166: JUMPDEST 00000167: DUP1 00000168: PUSH4 0x3cf247b1 0000016d: EQ 0000016e: PUSH2 0x035c 00000171: JUMPI 00000172: DUP1 00000173: PUSH4 0x45f4d735 00000178: EQ 00000179: PUSH2 0x0372 0000017c: JUMPI 0000017d: DUP1 0000017e: PUSH4 0x50d2e677 00000183: EQ 00000184: PUSH2 0x0388 00000187: JUMPI 00000188: DUP1 00000189: PUSH4 0x5c6c09e9 0000018e: EQ 0000018f: PUSH2 0x03a8 00000192: JUMPI 00000193: STOP 00000194: JUMPDEST 00000195: DUP1 00000196: PUSH4 0x18133d15 0000019b: GT 0000019c: PUSH2 0x01d8 0000019f: JUMPI 000001a0: DUP1 000001a1: PUSH4 0x18133d15 000001a6: EQ 000001a7: PUSH2 0x0292 000001aa: JUMPI 000001ab: DUP1 000001ac: PUSH4 0x1bb89762 000001b1: EQ 000001b2: PUSH2 0x02d2 000001b5: JUMPI 000001b6: DUP1 000001b7: PUSH4 0x1e28ecad 000001bc: EQ 000001bd: PUSH2 0x02e7 000001c0: JUMPI 000001c1: DUP1 000001c2: PUSH4 0x343039d5 000001c7: EQ 000001c8: PUSH2 0x030a 000001cb: JUMPI 000001cc: DUP1 000001cd: PUSH4 0x37369b22 000001d2: EQ 000001d3: PUSH2 0x0347 000001d6: JUMPI 000001d7: STOP 000001d8: JUMPDEST 000001d9: DUP1 000001da: PUSH4 0x08bfc300 000001df: EQ 000001e0: PUSH2 0x020f 000001e3: JUMPI 000001e4: DUP1 000001e5: PUSH4 0x0ce28dc4 000001ea: EQ 000001eb: PUSH2 0x023b 000001ee: JUMPI 000001ef: DUP1 000001f0: PUSH4 0x11863009 000001f5: EQ 000001f6: PUSH2 0x0243 000001f9: JUMPI 000001fa: DUP1 000001fb: PUSH4 0x11cfcadb 00000200: EQ 00000201: PUSH2 0x0272 00000204: JUMPI 00000205: STOP 00000206: JUMPDEST 00000207: CALLDATASIZE 00000208: PUSH2 0x020d 0000020b: JUMPI 0000020c: STOP 0000020d: JUMPDEST 0000020e: STOP 0000020f: JUMPDEST 00000210: CALLVALUE 00000211: DUP1 00000212: ISZERO 00000213: PUSH2 0x021b 00000216: JUMPI 00000217: PUSH1 0x00 00000219: DUP1 0000021a: REVERT 0000021b: JUMPDEST 0000021c: POP 0000021d: PUSH2 0x0224 00000220: PUSH2 0x0696 00000223: JUMP 00000224: JUMPDEST 00000225: PUSH1 0x40 00000227: MLOAD 00000228: PUSH1 0xff 0000022a: SWAP1 0000022b: SWAP2 0000022c: AND 0000022d: DUP2 0000022e: MSTORE 0000022f: PUSH1 0x20 00000231: ADD 00000232: JUMPDEST 00000233: PUSH1 0x40 00000235: MLOAD 00000236: DUP1 00000237: SWAP2 00000238: SUB 00000239: SWAP1 0000023a: RETURN 0000023b: JUMPDEST 0000023c: PUSH2 0x020d 0000023f: PUSH2 0x06b5 00000242: JUMP 00000243: JUMPDEST 00000244: CALLVALUE 00000245: DUP1 00000246: ISZERO 00000247: PUSH2 0x024f 0000024a: JUMPI 0000024b: PUSH1 0x00 0000024d: DUP1 0000024e: REVERT 0000024f: JUMPDEST 00000250: POP 00000251: CALLER 00000252: PUSH1 0x00 00000254: SWAP1 00000255: DUP2 00000256: MSTORE 00000257: PUSH1 0xa0 00000259: PUSH1 0x20 0000025b: MSTORE 0000025c: PUSH1 0x40 0000025e: SWAP1 0000025f: KECCAK256 00000260: PUSH1 0x01 00000262: ADD 00000263: SLOAD 00000264: JUMPDEST 00000265: PUSH1 0x40 00000267: MLOAD 00000268: SWAP1 00000269: DUP2 0000026a: MSTORE 0000026b: PUSH1 0x20 0000026d: ADD 0000026e: PUSH2 0x0232 00000271: JUMP 00000272: JUMPDEST 00000273: CALLVALUE 00000274: DUP1 00000275: ISZERO 00000276: PUSH2 0x027e 00000279: JUMPI 0000027a: PUSH1 0x00 0000027c: DUP1 0000027d: REVERT 0000027e: JUMPDEST 0000027f: POP 00000280: PUSH2 0x020d 00000283: PUSH2 0x028d 00000286: CALLDATASIZE 00000287: PUSH1 0x04 00000289: PUSH2 0x19d6 0000028c: JUMP 0000028d: JUMPDEST 0000028e: PUSH2 0x094d 00000291: JUMP 00000292: JUMPDEST 00000293: CALLVALUE 00000294: DUP1 00000295: ISZERO 00000296: PUSH2 0x029e 00000299: JUMPI 0000029a: PUSH1 0x00 0000029c: DUP1 0000029d: REVERT 0000029e: JUMPDEST 0000029f: POP 000002a0: PUSH2 0x02c2 000002a3: PUSH2 0x02ad 000002a6: CALLDATASIZE 000002a7: PUSH1 0x04 000002a9: PUSH2 0x1a0b 000002ac: JUMP 000002ad: JUMPDEST 000002ae: PUSH1 0xa1 000002b0: PUSH1 0x20 000002b2: MSTORE 000002b3: PUSH1 0x00 000002b5: SWAP1 000002b6: DUP2 000002b7: MSTORE 000002b8: PUSH1 0x40 000002ba: SWAP1 000002bb: KECCAK256 000002bc: SLOAD 000002bd: PUSH1 0xff 000002bf: AND 000002c0: DUP2 000002c1: JUMP 000002c2: JUMPDEST 000002c3: PUSH1 0x40 000002c5: MLOAD 000002c6: SWAP1 000002c7: ISZERO 000002c8: ISZERO 000002c9: DUP2 000002ca: MSTORE 000002cb: PUSH1 0x20 000002cd: ADD 000002ce: PUSH2 0x0232 000002d1: JUMP 000002d2: JUMPDEST 000002d3: CALLVALUE 000002d4: DUP1 000002d5: ISZERO 000002d6: PUSH2 0x02de 000002d9: JUMPI 000002da: PUSH1 0x00 000002dc: DUP1 000002dd: REVERT 000002de: JUMPDEST 000002df: POP 000002e0: PUSH1 0x9f 000002e2: SLOAD 000002e3: PUSH2 0x0264 000002e6: JUMP 000002e7: JUMPDEST 000002e8: CALLVALUE 000002e9: DUP1 000002ea: ISZERO 000002eb: PUSH2 0x02f3 000002ee: JUMPI 000002ef: PUSH1 0x00 000002f1: DUP1 000002f2: REVERT 000002f3: JUMPDEST 000002f4: POP 000002f5: PUSH2 0x02fc 000002f8: PUSH2 0x095a 000002fb: JUMP 000002fc: JUMPDEST 000002fd: PUSH1 0x40 000002ff: MLOAD 00000300: PUSH2 0x0232 00000303: SWAP3 00000304: SWAP2 00000305: SWAP1 00000306: PUSH2 0x1a6a 00000309: JUMP 0000030a: JUMPDEST 0000030b: CALLVALUE 0000030c: DUP1 0000030d: ISZERO 0000030e: PUSH2 0x0316 00000311: JUMPI 00000312: PUSH1 0x00 00000314: DUP1 00000315: REVERT 00000316: JUMPDEST 00000317: POP 00000318: PUSH1 0x97 0000031a: SLOAD 0000031b: PUSH2 0x032f 0000031e: SWAP1 0000031f: PUSH2 0x0100 00000322: SWAP1 00000323: DIV 00000324: PUSH1 0x01 00000326: PUSH1 0x01 00000328: PUSH1 0xa0 0000032a: SHL 0000032b: SUB 0000032c: AND 0000032d: DUP2 0000032e: JUMP 0000032f: JUMPDEST 00000330: PUSH1 0x40 00000332: MLOAD 00000333: PUSH1 0x01 00000335: PUSH1 0x01 00000337: PUSH1 0xa0 00000339: SHL 0000033a: SUB 0000033b: SWAP1 0000033c: SWAP2 0000033d: AND 0000033e: DUP2 0000033f: MSTORE 00000340: PUSH1 0x20 00000342: ADD 00000343: PUSH2 0x0232 00000346: JUMP 00000347: JUMPDEST 00000348: CALLVALUE 00000349: DUP1 0000034a: ISZERO 0000034b: PUSH2 0x0353 0000034e: JUMPI 0000034f: PUSH1 0x00 00000351: DUP1 00000352: REVERT 00000353: JUMPDEST 00000354: POP 00000355: PUSH2 0x020d 00000358: PUSH2 0x0a97 0000035b: JUMP 0000035c: JUMPDEST 0000035d: CALLVALUE 0000035e: DUP1 0000035f: ISZERO 00000360: PUSH2 0x0368 00000363: JUMPI 00000364: PUSH1 0x00 00000366: DUP1 00000367: REVERT 00000368: JUMPDEST 00000369: POP 0000036a: PUSH2 0x0264 0000036d: PUSH1 0x99 0000036f: SLOAD 00000370: DUP2 00000371: JUMP 00000372: JUMPDEST 00000373: CALLVALUE 00000374: DUP1 00000375: ISZERO 00000376: PUSH2 0x037e 00000379: JUMPI 0000037a: PUSH1 0x00 0000037c: DUP1 0000037d: REVERT 0000037e: JUMPDEST 0000037f: POP 00000380: PUSH2 0x0264 00000383: PUSH1 0x9a 00000385: SLOAD 00000386: DUP2 00000387: JUMP 00000388: JUMPDEST 00000389: CALLVALUE 0000038a: DUP1 0000038b: ISZERO 0000038c: PUSH2 0x0394 0000038f: JUMPI 00000390: PUSH1 0x00 00000392: DUP1 00000393: REVERT 00000394: JUMPDEST 00000395: POP 00000396: PUSH2 0x020d 00000399: PUSH2 0x03a3 0000039c: CALLDATASIZE 0000039d: PUSH1 0x04 0000039f: PUSH2 0x19d6 000003a2: JUMP 000003a3: JUMPDEST 000003a4: PUSH2 0x0c21 000003a7: JUMP 000003a8: JUMPDEST 000003a9: CALLVALUE 000003aa: DUP1 000003ab: ISZERO 000003ac: PUSH2 0x03b4 000003af: JUMPI 000003b0: PUSH1 0x00 000003b2: DUP1 000003b3: REVERT 000003b4: JUMPDEST 000003b5: POP 000003b6: PUSH2 0x020d 000003b9: PUSH2 0x03c3 000003bc: CALLDATASIZE 000003bd: PUSH1 0x04 000003bf: PUSH2 0x1a0b 000003c2: JUMP 000003c3: JUMPDEST 000003c4: PUSH2 0x0c8e 000003c7: JUMP 000003c8: JUMPDEST 000003c9: CALLVALUE 000003ca: DUP1 000003cb: ISZERO 000003cc: PUSH2 0x03d4 000003cf: JUMPI 000003d0: PUSH1 0x00 000003d2: DUP1 000003d3: REVERT 000003d4: JUMPDEST 000003d5: POP 000003d6: PUSH2 0x020d 000003d9: PUSH2 0x0d06 000003dc: JUMP 000003dd: JUMPDEST 000003de: CALLVALUE 000003df: DUP1 000003e0: ISZERO 000003e1: PUSH2 0x03e9 000003e4: JUMPI 000003e5: PUSH1 0x00 000003e7: DUP1 000003e8: REVERT 000003e9: JUMPDEST 000003ea: POP 000003eb: PUSH1 0x97 000003ed: SLOAD 000003ee: PUSH2 0x03f7 000003f1: SWAP1 000003f2: PUSH1 0xff 000003f4: AND 000003f5: DUP2 000003f6: JUMP 000003f7: JUMPDEST 000003f8: PUSH1 0x40 000003fa: MLOAD 000003fb: PUSH2 0x0232 000003fe: SWAP2 000003ff: SWAP1 00000400: PUSH2 0x1ad9 00000403: JUMP 00000404: JUMPDEST 00000405: CALLVALUE 00000406: DUP1 00000407: ISZERO 00000408: PUSH2 0x0410 0000040b: JUMPI 0000040c: PUSH1 0x00 0000040e: DUP1 0000040f: REVERT 00000410: JUMPDEST 00000411: POP 00000412: PUSH2 0x020d 00000415: PUSH2 0x0d1a 00000418: JUMP 00000419: JUMPDEST 0000041a: CALLVALUE 0000041b: DUP1 0000041c: ISZERO 0000041d: PUSH2 0x0425 00000420: JUMPI 00000421: PUSH1 0x00 00000423: DUP1 00000424: REVERT 00000425: JUMPDEST 00000426: POP 00000427: PUSH2 0x0439 0000042a: PUSH2 0x0434 0000042d: CALLDATASIZE 0000042e: PUSH1 0x04 00000430: PUSH2 0x1b01 00000433: JUMP 00000434: JUMPDEST 00000435: PUSH2 0x0da4 00000438: JUMP 00000439: JUMPDEST 0000043a: PUSH1 0x40 0000043c: MLOAD 0000043d: PUSH2 0x0232 00000440: SWAP2 00000441: SWAP1 00000442: PUSH2 0x1b23 00000445: JUMP 00000446: JUMPDEST 00000447: CALLVALUE 00000448: DUP1 00000449: ISZERO 0000044a: PUSH2 0x0452 0000044d: JUMPI 0000044e: PUSH1 0x00 00000450: DUP1 00000451: REVERT 00000452: JUMPDEST 00000453: POP 00000454: PUSH1 0x65 00000456: SLOAD 00000457: PUSH1 0x01 00000459: PUSH1 0x01 0000045b: PUSH1 0xa0 0000045d: SHL 0000045e: SUB 0000045f: AND 00000460: PUSH2 0x032f 00000463: JUMP 00000464: JUMPDEST 00000465: CALLVALUE 00000466: DUP1 00000467: ISZERO 00000468: PUSH2 0x0470 0000046b: JUMPI 0000046c: PUSH1 0x00 0000046e: DUP1 0000046f: REVERT 00000470: JUMPDEST 00000471: POP 00000472: PUSH2 0x020d 00000475: PUSH2 0x047f 00000478: CALLDATASIZE 00000479: PUSH1 0x04 0000047b: PUSH2 0x1b36 0000047e: JUMP 0000047f: JUMPDEST 00000480: PUSH2 0x0e9b 00000483: JUMP 00000484: JUMPDEST 00000485: CALLVALUE 00000486: DUP1 00000487: ISZERO 00000488: PUSH2 0x0490 0000048b: JUMPI 0000048c: PUSH1 0x00 0000048e: DUP1 0000048f: REVERT 00000490: JUMPDEST 00000491: POP 00000492: PUSH2 0x0264 00000495: PUSH1 0x9b 00000497: SLOAD 00000498: DUP2 00000499: JUMP 0000049a: JUMPDEST 0000049b: CALLVALUE 0000049c: DUP1 0000049d: ISZERO 0000049e: PUSH2 0x04a6 000004a1: JUMPI 000004a2: PUSH1 0x00 000004a4: DUP1 000004a5: REVERT 000004a6: JUMPDEST 000004a7: POP 000004a8: PUSH2 0x0264 000004ab: PUSH1 0x9e 000004ad: SLOAD 000004ae: DUP2 000004af: JUMP 000004b0: JUMPDEST 000004b1: CALLVALUE 000004b2: DUP1 000004b3: ISZERO 000004b4: PUSH2 0x04bc 000004b7: JUMPI 000004b8: PUSH1 0x00 000004ba: DUP1 000004bb: REVERT 000004bc: JUMPDEST 000004bd: POP 000004be: PUSH1 0x9c 000004c0: SLOAD 000004c1: PUSH2 0x0264 000004c4: JUMP 000004c5: JUMPDEST 000004c6: CALLVALUE 000004c7: DUP1 000004c8: ISZERO 000004c9: PUSH2 0x04d1 000004cc: JUMPI 000004cd: PUSH1 0x00 000004cf: DUP1 000004d0: REVERT 000004d1: JUMPDEST 000004d2: POP 000004d3: PUSH2 0x020d 000004d6: PUSH2 0x04e0 000004d9: CALLDATASIZE 000004da: PUSH1 0x04 000004dc: PUSH2 0x19d6 000004df: JUMP 000004e0: JUMPDEST 000004e1: PUSH2 0x0edc 000004e4: JUMP 000004e5: JUMPDEST 000004e6: CALLVALUE 000004e7: DUP1 000004e8: ISZERO 000004e9: PUSH2 0x04f1 000004ec: JUMPI 000004ed: PUSH1 0x00 000004ef: DUP1 000004f0: REVERT 000004f1: JUMPDEST 000004f2: POP 000004f3: PUSH2 0x0264 000004f6: PUSH1 0x9c 000004f8: SLOAD 000004f9: DUP2 000004fa: JUMP 000004fb: JUMPDEST 000004fc: CALLVALUE 000004fd: DUP1 000004fe: ISZERO 000004ff: PUSH2 0x0507 00000502: JUMPI 00000503: PUSH1 0x00 00000505: DUP1 00000506: REVERT 00000507: JUMPDEST 00000508: POP 00000509: PUSH2 0x0264 0000050c: PUSH1 0x9d 0000050e: SLOAD 0000050f: DUP2 00000510: JUMP 00000511: JUMPDEST 00000512: CALLVALUE 00000513: DUP1 00000514: ISZERO 00000515: PUSH2 0x051d 00000518: JUMPI 00000519: PUSH1 0x00 0000051b: DUP1 0000051c: REVERT 0000051d: JUMPDEST 0000051e: POP 0000051f: PUSH2 0x020d 00000522: PUSH2 0x052c 00000525: CALLDATASIZE 00000526: PUSH1 0x04 00000528: PUSH2 0x1b36 0000052b: JUMP 0000052c: JUMPDEST 0000052d: PUSH2 0x0f49 00000530: JUMP 00000531: JUMPDEST 00000532: CALLVALUE 00000533: DUP1 00000534: ISZERO 00000535: PUSH2 0x053d 00000538: JUMPI 00000539: PUSH1 0x00 0000053b: DUP1 0000053c: REVERT 0000053d: JUMPDEST 0000053e: POP 0000053f: PUSH2 0x0439 00000542: PUSH2 0x0f59 00000545: JUMP 00000546: JUMPDEST 00000547: CALLVALUE 00000548: DUP1 00000549: ISZERO 0000054a: PUSH2 0x0552 0000054d: JUMPI 0000054e: PUSH1 0x00 00000550: DUP1 00000551: REVERT 00000552: JUMPDEST 00000553: POP 00000554: PUSH2 0x055b 00000557: PUSH2 0x0fbb 0000055a: JUMP 0000055b: JUMPDEST 0000055c: PUSH1 0x40 0000055e: MLOAD 0000055f: PUSH2 0x0232 00000562: SWAP2 00000563: SWAP1 00000564: PUSH2 0x1b59 00000567: JUMP 00000568: JUMPDEST 00000569: CALLVALUE 0000056a: DUP1 0000056b: ISZERO 0000056c: PUSH2 0x0574 0000056f: JUMPI 00000570: PUSH1 0x00 00000572: DUP1 00000573: REVERT 00000574: JUMPDEST 00000575: POP 00000576: PUSH2 0x020d 00000579: PUSH2 0x0583 0000057c: CALLDATASIZE 0000057d: PUSH1 0x04 0000057f: PUSH2 0x1c2a 00000582: JUMP 00000583: JUMPDEST 00000584: PUSH2 0x110b 00000587: JUMP 00000588: JUMPDEST 00000589: CALLVALUE 0000058a: DUP1 0000058b: ISZERO 0000058c: PUSH2 0x0594 0000058f: JUMPI 00000590: PUSH1 0x00 00000592: DUP1 00000593: REVERT 00000594: JUMPDEST 00000595: POP 00000596: PUSH2 0x020d 00000599: PUSH2 0x05a3 0000059c: CALLDATASIZE 0000059d: PUSH1 0x04 0000059f: PUSH2 0x19d6 000005a2: JUMP 000005a3: JUMPDEST 000005a4: PUSH2 0x13b4 000005a7: JUMP 000005a8: JUMPDEST 000005a9: CALLVALUE 000005aa: DUP1 000005ab: ISZERO 000005ac: PUSH2 0x05b4 000005af: JUMPI 000005b0: PUSH1 0x00 000005b2: DUP1 000005b3: REVERT 000005b4: JUMPDEST 000005b5: POP 000005b6: PUSH2 0x020d 000005b9: PUSH2 0x05c3 000005bc: CALLDATASIZE 000005bd: PUSH1 0x04 000005bf: PUSH2 0x1a0b 000005c2: JUMP 000005c3: JUMPDEST 000005c4: PUSH2 0x1403 000005c7: JUMP 000005c8: JUMPDEST 000005c9: CALLVALUE 000005ca: DUP1 000005cb: ISZERO 000005cc: PUSH2 0x05d4 000005cf: JUMPI 000005d0: PUSH1 0x00 000005d2: DUP1 000005d3: REVERT 000005d4: JUMPDEST 000005d5: POP 000005d6: PUSH2 0x0264 000005d9: PUSH2 0x153b 000005dc: JUMP 000005dd: JUMPDEST 000005de: CALLVALUE 000005df: DUP1 000005e0: ISZERO 000005e1: PUSH2 0x05e9 000005e4: JUMPI 000005e5: PUSH1 0x00 000005e7: DUP1 000005e8: REVERT 000005e9: JUMPDEST 000005ea: POP 000005eb: PUSH2 0x032f 000005ee: PUSH2 0x05f8 000005f1: CALLDATASIZE 000005f2: PUSH1 0x04 000005f4: PUSH2 0x19d6 000005f7: JUMP 000005f8: JUMPDEST 000005f9: PUSH2 0x154c 000005fc: JUMP 000005fd: JUMPDEST 000005fe: CALLVALUE 000005ff: DUP1 00000600: ISZERO 00000601: PUSH2 0x0609 00000604: JUMPI 00000605: PUSH1 0x00 00000607: DUP1 00000608: REVERT 00000609: JUMPDEST 0000060a: POP 0000060b: PUSH2 0x020d 0000060e: PUSH2 0x0618 00000611: CALLDATASIZE 00000612: PUSH1 0x04 00000614: PUSH2 0x19d6 00000617: JUMP 00000618: JUMPDEST 00000619: PUSH2 0x1576 0000061c: JUMP 0000061d: JUMPDEST 0000061e: CALLVALUE 0000061f: DUP1 00000620: ISZERO 00000621: PUSH2 0x0629 00000624: JUMPI 00000625: PUSH1 0x00 00000627: DUP1 00000628: REVERT 00000629: JUMPDEST 0000062a: POP 0000062b: PUSH2 0x02c2 0000062e: PUSH2 0x0638 00000631: CALLDATASIZE 00000632: PUSH1 0x04 00000634: PUSH2 0x1c76 00000637: JUMP 00000638: JUMPDEST 00000639: PUSH2 0x15ca 0000063c: JUMP 0000063d: JUMPDEST 0000063e: CALLVALUE 0000063f: DUP1 00000640: ISZERO 00000641: PUSH2 0x0649 00000644: JUMPI 00000645: PUSH1 0x00 00000647: DUP1 00000648: REVERT 00000649: JUMPDEST 0000064a: POP 0000064b: PUSH2 0x02c2 0000064e: PUSH2 0x0658 00000651: CALLDATASIZE 00000652: PUSH1 0x04 00000654: PUSH2 0x1a0b 00000657: JUMP 00000658: JUMPDEST 00000659: PUSH1 0x01 0000065b: PUSH1 0x01 0000065d: PUSH1 0xa0 0000065f: SHL 00000660: SUB 00000661: AND 00000662: PUSH1 0x00 00000664: SWAP1 00000665: DUP2 00000666: MSTORE 00000667: PUSH1 0xa1 00000669: PUSH1 0x20 0000066b: MSTORE 0000066c: PUSH1 0x40 0000066e: SWAP1 0000066f: KECCAK256 00000670: SLOAD 00000671: PUSH1 0xff 00000673: AND 00000674: SWAP1 00000675: JUMP 00000676: JUMPDEST 00000677: CALLVALUE 00000678: DUP1 00000679: ISZERO 0000067a: PUSH2 0x0682 0000067d: JUMPI 0000067e: PUSH1 0x00 00000680: DUP1 00000681: REVERT 00000682: JUMPDEST 00000683: POP 00000684: PUSH2 0x020d 00000687: PUSH2 0x0691 0000068a: CALLDATASIZE 0000068b: PUSH1 0x04 0000068d: PUSH2 0x1a0b 00000690: JUMP 00000691: JUMPDEST 00000692: PUSH2 0x166b 00000695: JUMP 00000696: JUMPDEST 00000697: PUSH1 0x97 00000699: SLOAD 0000069a: PUSH1 0x00 0000069c: SWAP1 0000069d: PUSH1 0xff 0000069f: AND 000006a0: PUSH1 0x04 000006a2: DUP2 000006a3: GT 000006a4: ISZERO 000006a5: PUSH2 0x06b0 000006a8: JUMPI 000006a9: PUSH2 0x06b0 000006ac: PUSH2 0x1ac3 000006af: JUMP 000006b0: JUMPDEST 000006b1: SWAP1 000006b2: POP 000006b3: SWAP1 000006b4: JUMP 000006b5: JUMPDEST 000006b6: PUSH1 0x01 000006b8: PUSH1 0x97 000006ba: SLOAD 000006bb: PUSH1 0xff 000006bd: AND 000006be: PUSH1 0x04 000006c0: DUP2 000006c1: GT 000006c2: ISZERO 000006c3: PUSH2 0x06ce 000006c6: JUMPI 000006c7: PUSH2 0x06ce 000006ca: PUSH2 0x1ac3 000006cd: JUMP 000006ce: JUMPDEST 000006cf: EQ 000006d0: PUSH2 0x0716 000006d3: JUMPI 000006d4: PUSH1 0x40 000006d6: MLOAD 000006d7: PUSH3 0x461bcd 000006db: PUSH1 0xe5 000006dd: SHL 000006de: DUP2 000006df: MSTORE 000006e0: PUSH1 0x20 000006e2: PUSH1 0x04 000006e4: DUP3 000006e5: ADD 000006e6: MSTORE 000006e7: PUSH1 0x13 000006e9: PUSH1 0x24 000006eb: DUP3 000006ec: ADD 000006ed: MSTORE 000006ee: PUSH19 0x2134b23234b7339034b9903737ba1037b832b7 00000702: PUSH1 0x69 00000704: SHL 00000705: PUSH1 0x44 00000707: DUP3 00000708: ADD 00000709: MSTORE 0000070a: PUSH1 0x64 0000070c: ADD 0000070d: JUMPDEST 0000070e: PUSH1 0x40 00000710: MLOAD 00000711: DUP1 00000712: SWAP2 00000713: SUB 00000714: SWAP1 00000715: REVERT 00000716: JUMPDEST 00000717: CALLVALUE 00000718: PUSH1 0x00 0000071a: SUB 0000071b: PUSH2 0x0758 0000071e: JUMPI 0000071f: PUSH1 0x40 00000721: MLOAD 00000722: PUSH3 0x461bcd 00000726: PUSH1 0xe5 00000728: SHL 00000729: DUP2 0000072a: MSTORE 0000072b: PUSH1 0x20 0000072d: PUSH1 0x04 0000072f: DUP3 00000730: ADD 00000731: MSTORE 00000732: PUSH1 0x0f 00000734: PUSH1 0x24 00000736: DUP3 00000737: ADD 00000738: MSTORE 00000739: PUSH15 0x0426964206d757374206265203e203 00000749: PUSH1 0x8c 0000074b: SHL 0000074c: PUSH1 0x44 0000074e: DUP3 0000074f: ADD 00000750: MSTORE 00000751: PUSH1 0x64 00000753: ADD 00000754: PUSH2 0x070d 00000757: JUMP 00000758: JUMPDEST 00000759: CALLER 0000075a: PUSH1 0x00 0000075c: SWAP1 0000075d: DUP2 0000075e: MSTORE 0000075f: PUSH1 0xa0 00000761: PUSH1 0x20 00000763: MSTORE 00000764: PUSH1 0x40 00000766: DUP2 00000767: KECCAK256 00000768: PUSH1 0x01 0000076a: ADD 0000076b: SLOAD 0000076c: PUSH2 0x0776 0000076f: SWAP1 00000770: CALLVALUE 00000771: SWAP1 00000772: PUSH2 0x1ce6 00000775: JUMP 00000776: JUMPDEST 00000777: SWAP1 00000778: POP 00000779: PUSH1 0x9a 0000077b: SLOAD 0000077c: DUP2 0000077d: LT 0000077e: ISZERO 0000077f: PUSH2 0x07bd 00000782: JUMPI 00000783: PUSH1 0x40 00000785: MLOAD 00000786: PUSH3 0x461bcd 0000078a: PUSH1 0xe5 0000078c: SHL 0000078d: DUP2 0000078e: MSTORE 0000078f: PUSH1 0x20 00000791: PUSH1 0x04 00000793: DUP3 00000794: ADD 00000795: MSTORE 00000796: PUSH1 0x10 00000798: PUSH1 0x24 0000079a: DUP3 0000079b: ADD 0000079c: MSTORE 0000079d: PUSH16 0x135a5b88109a590814995c5d5a5c9959 000007ae: PUSH1 0x82 000007b0: SHL 000007b1: PUSH1 0x44 000007b3: DUP3 000007b4: ADD 000007b5: MSTORE 000007b6: PUSH1 0x64 000007b8: ADD 000007b9: PUSH2 0x070d 000007bc: JUMP 000007bd: JUMPDEST 000007be: CALLER 000007bf: PUSH1 0x00 000007c1: DUP2 000007c2: DUP2 000007c3: MSTORE 000007c4: PUSH1 0xa0 000007c6: PUSH1 0x20 000007c8: SWAP1 000007c9: DUP2 000007ca: MSTORE 000007cb: PUSH1 0x40 000007cd: SWAP2 000007ce: DUP3 000007cf: SWAP1 000007d0: KECCAK256 000007d1: SLOAD 000007d2: SWAP2 000007d3: MLOAD 000007d4: DUP5 000007d5: DUP2 000007d6: MSTORE 000007d7: PUSH1 0xff 000007d9: SWAP1 000007da: SWAP3 000007db: AND 000007dc: ISZERO 000007dd: SWAP3 000007de: SWAP2 000007df: PUSH32 0xa16480eaadf1bcfc74d6fe79423817d891a510e620d366c02a7d0b866dbf594f 00000800: SWAP2 00000801: ADD 00000802: PUSH1 0x40 00000804: MLOAD 00000805: DUP1 00000806: SWAP2 00000807: SUB 00000808: SWAP1 00000809: LOG3 0000080a: CALLER 0000080b: PUSH1 0x00 0000080d: SWAP1 0000080e: DUP2 0000080f: MSTORE 00000810: PUSH1 0xa0 00000812: PUSH1 0x20 00000814: MSTORE 00000815: PUSH1 0x40 00000817: SWAP1 00000818: KECCAK256 00000819: SLOAD 0000081a: PUSH1 0xff 0000081c: AND 0000081d: ISZERO 0000081e: PUSH2 0x085b 00000821: JUMPI 00000822: CALLER 00000823: PUSH1 0x00 00000825: SWAP1 00000826: DUP2 00000827: MSTORE 00000828: PUSH1 0xa0 0000082a: PUSH1 0x20 0000082c: MSTORE 0000082d: PUSH1 0x40 0000082f: SWAP1 00000830: KECCAK256 00000831: PUSH1 0x01 00000833: DUP2 00000834: ADD 00000835: SWAP2 00000836: SWAP1 00000837: SWAP2 00000838: SSTORE 00000839: PUSH1 0x02 0000083b: ADD 0000083c: DUP1 0000083d: SLOAD 0000083e: PUSH8 0xffffffff00000000 00000847: NOT 00000848: AND 00000849: PUSH5 0x0100000000 0000084f: TIMESTAMP 00000850: PUSH4 0xffffffff 00000855: AND 00000856: MUL 00000857: OR 00000858: SWAP1 00000859: SSTORE 0000085a: JUMP 0000085b: JUMPDEST 0000085c: PUSH1 0x40 0000085e: DUP1 0000085f: MLOAD 00000860: PUSH1 0xa0 00000862: DUP1 00000863: DUP3 00000864: ADD 00000865: DUP4 00000866: MSTORE 00000867: PUSH1 0x01 00000869: DUP1 0000086a: DUP4 0000086b: MSTORE 0000086c: CALLER 0000086d: PUSH1 0x20 0000086f: DUP1 00000870: DUP6 00000871: ADD 00000872: DUP3 00000873: DUP2 00000874: MSTORE 00000875: DUP6 00000876: DUP8 00000877: ADD 00000878: DUP9 00000879: DUP2 0000087a: MSTORE 0000087b: PUSH4 0xffffffff 00000880: TIMESTAMP 00000881: DUP2 00000882: AND 00000883: PUSH1 0x60 00000885: DUP10 00000886: ADD 00000887: DUP2 00000888: DUP2 00000889: MSTORE 0000088a: PUSH1 0x80 0000088c: DUP11 0000088d: ADD 0000088e: SWAP2 0000088f: DUP3 00000890: MSTORE 00000891: PUSH1 0x00 00000893: DUP8 00000894: DUP2 00000895: MSTORE 00000896: SWAP9 00000897: SWAP1 00000898: SWAP6 00000899: MSTORE 0000089a: SWAP9 0000089b: DUP8 0000089c: KECCAK256 0000089d: SWAP8 0000089e: MLOAD 0000089f: DUP9 000008a0: SLOAD 000008a1: SWAP4 000008a2: MLOAD 000008a3: PUSH1 0x01 000008a5: PUSH1 0x01 000008a7: PUSH1 0xa0 000008a9: SHL 000008aa: SUB 000008ab: AND 000008ac: PUSH2 0x0100 000008af: MUL 000008b0: PUSH2 0x0100 000008b3: PUSH1 0x01 000008b5: PUSH1 0xa8 000008b7: SHL 000008b8: SUB 000008b9: NOT 000008ba: SWAP2 000008bb: ISZERO 000008bc: ISZERO 000008bd: SWAP2 000008be: SWAP1 000008bf: SWAP2 000008c0: AND 000008c1: PUSH1 0x01 000008c3: PUSH1 0x01 000008c5: PUSH1 0xa8 000008c7: SHL 000008c8: SUB 000008c9: NOT 000008ca: SWAP1 000008cb: SWAP5 000008cc: AND 000008cd: SWAP4 000008ce: SWAP1 000008cf: SWAP4 000008d0: OR 000008d1: SWAP3 000008d2: SWAP1 000008d3: SWAP3 000008d4: OR 000008d5: DUP8 000008d6: SSTORE 000008d7: MLOAD 000008d8: DUP7 000008d9: DUP6 000008da: ADD 000008db: SSTORE 000008dc: SWAP1 000008dd: MLOAD 000008de: PUSH1 0x02 000008e0: SWAP1 000008e1: SWAP6 000008e2: ADD 000008e3: DUP1 000008e4: SLOAD 000008e5: SWAP7 000008e6: MLOAD 000008e7: DUP3 000008e8: AND 000008e9: PUSH5 0x0100000000 000008ef: MUL 000008f0: PUSH8 0xffffffffffffffff 000008f9: NOT 000008fa: SWAP1 000008fb: SWAP8 000008fc: AND 000008fd: SWAP6 000008fe: SWAP1 000008ff: SWAP2 00000900: AND 00000901: SWAP5 00000902: SWAP1 00000903: SWAP5 00000904: OR 00000905: SWAP5 00000906: SWAP1 00000907: SWAP5 00000908: OR 00000909: SWAP1 0000090a: SWAP3 0000090b: SSTORE 0000090c: PUSH1 0x9f 0000090e: DUP1 0000090f: SLOAD 00000910: SWAP3 00000911: DUP4 00000912: ADD 00000913: DUP2 00000914: SSTORE 00000915: SWAP1 00000916: MSTORE 00000917: PUSH32 0x0bc14066c33013fe88f66e314e4cf150b0b2d4d6451a1a51dbbd1c27cd11de28 00000938: ADD 00000939: DUP1 0000093a: SLOAD 0000093b: PUSH1 0x01 0000093d: PUSH1 0x01 0000093f: PUSH1 0xa0 00000941: SHL 00000942: SUB 00000943: NOT 00000944: AND 00000945: SWAP1 00000946: SWAP2 00000947: OR 00000948: SWAP1 00000949: SSTORE 0000094a: JUMPDEST 0000094b: POP 0000094c: JUMP 0000094d: JUMPDEST 0000094e: PUSH2 0x0955 00000951: PUSH2 0x16e1 00000954: JUMP 00000955: JUMPDEST 00000956: PUSH1 0x98 00000958: SSTORE 00000959: JUMP 0000095a: JUMPDEST 0000095b: PUSH1 0x60 0000095d: DUP1 0000095e: PUSH1 0x00 00000960: PUSH1 0x9f 00000962: DUP1 00000963: SLOAD 00000964: SWAP1 00000965: POP 00000966: PUSH8 0xffffffffffffffff 0000096f: DUP2 00000970: GT 00000971: ISZERO 00000972: PUSH2 0x097d 00000975: JUMPI 00000976: PUSH2 0x097d 00000979: PUSH2 0x1cf9 0000097c: JUMP 0000097d: JUMPDEST 0000097e: PUSH1 0x40 00000980: MLOAD 00000981: SWAP1 00000982: DUP1 00000983: DUP3 00000984: MSTORE 00000985: DUP1 00000986: PUSH1 0x20 00000988: MUL 00000989: PUSH1 0x20 0000098b: ADD 0000098c: DUP3 0000098d: ADD 0000098e: PUSH1 0x40 00000990: MSTORE 00000991: DUP1 00000992: ISZERO 00000993: PUSH2 0x09a6 00000996: JUMPI 00000997: DUP2 00000998: PUSH1 0x20 0000099a: ADD 0000099b: PUSH1 0x20 0000099d: DUP3 0000099e: MUL 0000099f: DUP1 000009a0: CALLDATASIZE 000009a1: DUP4 000009a2: CALLDATACOPY 000009a3: ADD 000009a4: SWAP1 000009a5: POP 000009a6: JUMPDEST 000009a7: POP 000009a8: SWAP1 000009a9: POP 000009aa: PUSH1 0x00 000009ac: JUMPDEST 000009ad: PUSH1 0x9f 000009af: SLOAD 000009b0: DUP2 000009b1: LT 000009b2: ISZERO 000009b3: PUSH2 0x0a2e 000009b6: JUMPI 000009b7: PUSH1 0xa1 000009b9: PUSH1 0x00 000009bb: PUSH1 0x9f 000009bd: DUP4 000009be: DUP2 000009bf: SLOAD 000009c0: DUP2 000009c1: LT 000009c2: PUSH2 0x09cd 000009c5: JUMPI 000009c6: PUSH2 0x09cd 000009c9: PUSH2 0x1d0f 000009cc: JUMP 000009cd: JUMPDEST 000009ce: PUSH1 0x00 000009d0: SWAP2 000009d1: DUP3 000009d2: MSTORE 000009d3: PUSH1 0x20 000009d5: DUP1 000009d6: DUP4 000009d7: KECCAK256 000009d8: SWAP1 000009d9: SWAP2 000009da: ADD 000009db: SLOAD 000009dc: PUSH1 0x01 000009de: PUSH1 0x01 000009e0: PUSH1 0xa0 000009e2: SHL 000009e3: SUB 000009e4: AND 000009e5: DUP4 000009e6: MSTORE 000009e7: DUP3 000009e8: ADD 000009e9: SWAP3 000009ea: SWAP1 000009eb: SWAP3 000009ec: MSTORE 000009ed: PUSH1 0x40 000009ef: ADD 000009f0: SWAP1 000009f1: KECCAK256 000009f2: SLOAD 000009f3: DUP3 000009f4: MLOAD 000009f5: PUSH1 0xff 000009f7: SWAP1 000009f8: SWAP2 000009f9: AND 000009fa: SWAP1 000009fb: DUP4 000009fc: SWAP1 000009fd: DUP4 000009fe: SWAP1 000009ff: DUP2 00000a00: LT 00000a01: PUSH2 0x0a0c 00000a04: JUMPI 00000a05: PUSH2 0x0a0c 00000a08: PUSH2 0x1d0f 00000a0b: JUMP 00000a0c: JUMPDEST 00000a0d: SWAP2 00000a0e: ISZERO 00000a0f: ISZERO 00000a10: PUSH1 0x20 00000a12: SWAP3 00000a13: DUP4 00000a14: MUL 00000a15: SWAP2 00000a16: SWAP1 00000a17: SWAP2 00000a18: ADD 00000a19: SWAP1 00000a1a: SWAP2 00000a1b: ADD 00000a1c: MSTORE 00000a1d: DUP1 00000a1e: PUSH2 0x0a26 00000a21: DUP2 00000a22: PUSH2 0x1d25 00000a25: JUMP 00000a26: JUMPDEST 00000a27: SWAP2 00000a28: POP 00000a29: POP 00000a2a: PUSH2 0x09ac 00000a2d: JUMP 00000a2e: JUMPDEST 00000a2f: POP 00000a30: PUSH1 0x9f 00000a32: DUP2 00000a33: DUP2 00000a34: DUP1 00000a35: SLOAD 00000a36: DUP1 00000a37: PUSH1 0x20 00000a39: MUL 00000a3a: PUSH1 0x20 00000a3c: ADD 00000a3d: PUSH1 0x40 00000a3f: MLOAD 00000a40: SWAP1 00000a41: DUP2 00000a42: ADD 00000a43: PUSH1 0x40 00000a45: MSTORE 00000a46: DUP1 00000a47: SWAP3 00000a48: SWAP2 00000a49: SWAP1 00000a4a: DUP2 00000a4b: DUP2 00000a4c: MSTORE 00000a4d: PUSH1 0x20 00000a4f: ADD 00000a50: DUP3 00000a51: DUP1 00000a52: SLOAD 00000a53: DUP1 00000a54: ISZERO 00000a55: PUSH2 0x0a87 00000a58: JUMPI 00000a59: PUSH1 0x20 00000a5b: MUL 00000a5c: DUP3 00000a5d: ADD 00000a5e: SWAP2 00000a5f: SWAP1 00000a60: PUSH1 0x00 00000a62: MSTORE 00000a63: PUSH1 0x20 00000a65: PUSH1 0x00 00000a67: KECCAK256 00000a68: SWAP1 00000a69: JUMPDEST 00000a6a: DUP2 00000a6b: SLOAD 00000a6c: PUSH1 0x01 00000a6e: PUSH1 0x01 00000a70: PUSH1 0xa0 00000a72: SHL 00000a73: SUB 00000a74: AND 00000a75: DUP2 00000a76: MSTORE 00000a77: PUSH1 0x01 00000a79: SWAP1 00000a7a: SWAP2 00000a7b: ADD 00000a7c: SWAP1 00000a7d: PUSH1 0x20 00000a7f: ADD 00000a80: DUP1 00000a81: DUP4 00000a82: GT 00000a83: PUSH2 0x0a69 00000a86: JUMPI 00000a87: JUMPDEST 00000a88: POP 00000a89: POP 00000a8a: POP 00000a8b: POP 00000a8c: POP 00000a8d: SWAP2 00000a8e: POP 00000a8f: SWAP3 00000a90: POP 00000a91: SWAP3 00000a92: POP 00000a93: POP 00000a94: SWAP1 00000a95: SWAP2 00000a96: JUMP 00000a97: JUMPDEST 00000a98: PUSH2 0x0a9f 00000a9b: PUSH2 0x16e1 00000a9e: JUMP 00000a9f: JUMPDEST 00000aa0: PUSH1 0x02 00000aa2: PUSH1 0x97 00000aa4: SLOAD 00000aa5: PUSH1 0xff 00000aa7: AND 00000aa8: PUSH1 0x04 00000aaa: DUP2 00000aab: GT 00000aac: ISZERO 00000aad: PUSH2 0x0ab8 00000ab0: JUMPI 00000ab1: PUSH2 0x0ab8 00000ab4: PUSH2 0x1ac3 00000ab7: JUMP 00000ab8: JUMPDEST 00000ab9: LT 00000aba: ISZERO 00000abb: PUSH2 0x0aff 00000abe: JUMPI 00000abf: PUSH1 0x40 00000ac1: MLOAD 00000ac2: PUSH3 0x461bcd 00000ac6: PUSH1 0xe5 00000ac8: SHL 00000ac9: DUP2 00000aca: MSTORE 00000acb: PUSH1 0x20 00000acd: PUSH1 0x04 00000acf: DUP3 00000ad0: ADD 00000ad1: MSTORE 00000ad2: PUSH1 0x16 00000ad4: PUSH1 0x24 00000ad6: DUP3 00000ad7: ADD 00000ad8: MSTORE 00000ad9: PUSH22 0x41756374696f6e206e6f7420636f6e636c7564696e67 00000af0: PUSH1 0x50 00000af2: SHL 00000af3: PUSH1 0x44 00000af5: DUP3 00000af6: ADD 00000af7: MSTORE 00000af8: PUSH1 0x64 00000afa: ADD 00000afb: PUSH2 0x070d 00000afe: JUMP 00000aff: JUMPDEST 00000b00: PUSH1 0x00 00000b02: PUSH1 0x9d 00000b04: SLOAD 00000b05: GT 00000b06: PUSH2 0x0b4a 00000b09: JUMPI 00000b0a: PUSH1 0x40 00000b0c: MLOAD 00000b0d: PUSH3 0x461bcd 00000b11: PUSH1 0xe5 00000b13: SHL 00000b14: DUP2 00000b15: MSTORE 00000b16: PUSH1 0x20 00000b18: PUSH1 0x04 00000b1a: DUP3 00000b1b: ADD 00000b1c: MSTORE 00000b1d: PUSH1 0x16 00000b1f: PUSH1 0x24 00000b21: DUP3 00000b22: ADD 00000b23: MSTORE 00000b24: PUSH22 0x1ddbdb909a59191959125d195b5cc81b9bdd081cd95d 00000b3b: PUSH1 0x52 00000b3d: SHL 00000b3e: PUSH1 0x44 00000b40: DUP3 00000b41: ADD 00000b42: MSTORE 00000b43: PUSH1 0x64 00000b45: ADD 00000b46: PUSH2 0x070d 00000b49: JUMP 00000b4a: JUMPDEST 00000b4b: PUSH1 0x00 00000b4d: PUSH1 0x9c 00000b4f: SLOAD 00000b50: GT 00000b51: PUSH2 0x0b91 00000b54: JUMPI 00000b55: PUSH1 0x40 00000b57: MLOAD 00000b58: PUSH3 0x461bcd 00000b5c: PUSH1 0xe5 00000b5e: SHL 00000b5f: DUP2 00000b60: MSTORE 00000b61: PUSH1 0x20 00000b63: PUSH1 0x04 00000b65: DUP3 00000b66: ADD 00000b67: MSTORE 00000b68: PUSH1 0x12 00000b6a: PUSH1 0x24 00000b6c: DUP3 00000b6d: ADD 00000b6e: MSTORE 00000b6f: PUSH18 0x199a5b985b141c9a58d9481b9bdd081cd95d 00000b82: PUSH1 0x72 00000b84: SHL 00000b85: PUSH1 0x44 00000b87: DUP3 00000b88: ADD 00000b89: MSTORE 00000b8a: PUSH1 0x64 00000b8c: ADD 00000b8d: PUSH2 0x070d 00000b90: JUMP 00000b91: JUMPDEST 00000b92: PUSH1 0x00 00000b94: PUSH1 0x9c 00000b96: SLOAD 00000b97: PUSH1 0x9d 00000b99: SLOAD 00000b9a: PUSH2 0x0ba3 00000b9d: SWAP2 00000b9e: SWAP1 00000b9f: PUSH2 0x1d3e 00000ba2: JUMP 00000ba3: JUMPDEST 00000ba4: SWAP1 00000ba5: POP 00000ba6: PUSH1 0x00 00000ba8: PUSH1 0x9e 00000baa: SLOAD 00000bab: DUP3 00000bac: PUSH2 0x0bb5 00000baf: SWAP2 00000bb0: SWAP1 00000bb1: PUSH2 0x1d55 00000bb4: JUMP 00000bb5: JUMPDEST 00000bb6: PUSH1 0x9e 00000bb8: DUP2 00000bb9: SWAP1 00000bba: SSTORE 00000bbb: SWAP1 00000bbc: POP 00000bbd: DUP1 00000bbe: PUSH2 0x0c02 00000bc1: JUMPI 00000bc2: PUSH1 0x40 00000bc4: MLOAD 00000bc5: PUSH3 0x461bcd 00000bc9: PUSH1 0xe5 00000bcb: SHL 00000bcc: DUP2 00000bcd: MSTORE 00000bce: PUSH1 0x20 00000bd0: PUSH1 0x04 00000bd2: DUP3 00000bd3: ADD 00000bd4: MSTORE 00000bd5: PUSH1 0x16 00000bd7: PUSH1 0x24 00000bd9: DUP3 00000bda: ADD 00000bdb: MSTORE 00000bdc: PUSH22 0x4e6f2062616c616e636520746f207769746864726177 00000bf3: PUSH1 0x50 00000bf5: SHL 00000bf6: PUSH1 0x44 00000bf8: DUP3 00000bf9: ADD 00000bfa: MSTORE 00000bfb: PUSH1 0x64 00000bfd: ADD 00000bfe: PUSH2 0x070d 00000c01: JUMP 00000c02: JUMPDEST 00000c03: PUSH1 0x97 00000c05: SLOAD 00000c06: PUSH2 0x0c1d 00000c09: SWAP1 00000c0a: PUSH2 0x0100 00000c0d: SWAP1 00000c0e: DIV 00000c0f: PUSH1 0x01 00000c11: PUSH1 0x01 00000c13: PUSH1 0xa0 00000c15: SHL 00000c16: SUB 00000c17: AND 00000c18: DUP3 00000c19: PUSH2 0x173b 00000c1c: JUMP 00000c1d: JUMPDEST 00000c1e: POP 00000c1f: POP 00000c20: JUMP 00000c21: JUMPDEST 00000c22: PUSH1 0x00 00000c24: PUSH1 0x97 00000c26: SLOAD 00000c27: PUSH1 0xff 00000c29: AND 00000c2a: PUSH1 0x04 00000c2c: DUP2 00000c2d: GT 00000c2e: ISZERO 00000c2f: PUSH2 0x0c3a 00000c32: JUMPI 00000c33: PUSH2 0x0c3a 00000c36: PUSH2 0x1ac3 00000c39: JUMP 00000c3a: JUMPDEST 00000c3b: EQ 00000c3c: PUSH2 0x0c81 00000c3f: JUMPI 00000c40: PUSH1 0x40 00000c42: MLOAD 00000c43: PUSH3 0x461bcd 00000c47: PUSH1 0xe5 00000c49: SHL 00000c4a: DUP2 00000c4b: MSTORE 00000c4c: PUSH1 0x20 00000c4e: PUSH1 0x04 00000c50: DUP3 00000c51: ADD 00000c52: MSTORE 00000c53: PUSH1 0x17 00000c55: PUSH1 0x24 00000c57: DUP3 00000c58: ADD 00000c59: MSTORE 00000c5a: PUSH23 0x105d58dd1a5bdb88185b1c9958591e481cdd185c9d1959 00000c72: PUSH1 0x4a 00000c74: SHL 00000c75: PUSH1 0x44 00000c77: DUP3 00000c78: ADD 00000c79: MSTORE 00000c7a: PUSH1 0x64 00000c7c: ADD 00000c7d: PUSH2 0x070d 00000c80: JUMP 00000c81: JUMPDEST 00000c82: PUSH2 0x0c89 00000c85: PUSH2 0x16e1 00000c88: JUMP 00000c89: JUMPDEST 00000c8a: PUSH1 0x9a 00000c8c: SSTORE 00000c8d: JUMP 00000c8e: JUMPDEST 00000c8f: PUSH2 0x0c96 00000c92: PUSH2 0x16e1 00000c95: JUMP 00000c96: JUMPDEST 00000c97: PUSH1 0x01 00000c99: PUSH1 0x01 00000c9b: PUSH1 0xa0 00000c9d: SHL 00000c9e: SUB 00000c9f: DUP2 00000ca0: AND 00000ca1: PUSH2 0x0cde 00000ca4: JUMPI 00000ca5: PUSH1 0x40 00000ca7: MLOAD 00000ca8: PUSH3 0x461bcd 00000cac: PUSH1 0xe5 00000cae: SHL 00000caf: DUP2 00000cb0: MSTORE 00000cb1: PUSH1 0x20 00000cb3: PUSH1 0x04 00000cb5: DUP3 00000cb6: ADD 00000cb7: MSTORE 00000cb8: PUSH1 0x0f 00000cba: PUSH1 0x24 00000cbc: DUP3 00000cbd: ADD 00000cbe: MSTORE 00000cbf: PUSH15 0x496e76616c69642061646472657373 00000ccf: PUSH1 0x88 00000cd1: SHL 00000cd2: PUSH1 0x44 00000cd4: DUP3 00000cd5: ADD 00000cd6: MSTORE 00000cd7: PUSH1 0x64 00000cd9: ADD 00000cda: PUSH2 0x070d 00000cdd: JUMP 00000cde: JUMPDEST 00000cdf: PUSH1 0x97 00000ce1: DUP1 00000ce2: SLOAD 00000ce3: PUSH1 0x01 00000ce5: PUSH1 0x01 00000ce7: PUSH1 0xa0 00000ce9: SHL 00000cea: SUB 00000ceb: SWAP1 00000cec: SWAP3 00000ced: AND 00000cee: PUSH2 0x0100 00000cf1: MUL 00000cf2: PUSH2 0x0100 00000cf5: PUSH1 0x01 00000cf7: PUSH1 0xa8 00000cf9: SHL 00000cfa: SUB 00000cfb: NOT 00000cfc: SWAP1 00000cfd: SWAP3 00000cfe: AND 00000cff: SWAP2 00000d00: SWAP1 00000d01: SWAP2 00000d02: OR 00000d03: SWAP1 00000d04: SSTORE 00000d05: JUMP 00000d06: JUMPDEST 00000d07: PUSH2 0x0d0e 00000d0a: PUSH2 0x16e1 00000d0d: JUMP 00000d0e: JUMPDEST 00000d0f: PUSH2 0x0d18 00000d12: PUSH1 0x00 00000d14: PUSH2 0x17ce 00000d17: JUMP 00000d18: JUMPDEST 00000d19: JUMP 00000d1a: JUMPDEST 00000d1b: PUSH2 0x0d22 00000d1e: PUSH2 0x16e1 00000d21: JUMP 00000d22: JUMPDEST 00000d23: PUSH1 0x04 00000d25: PUSH1 0x97 00000d27: SLOAD 00000d28: PUSH1 0xff 00000d2a: AND 00000d2b: PUSH1 0x04 00000d2d: DUP2 00000d2e: GT 00000d2f: ISZERO 00000d30: PUSH2 0x0d3b 00000d33: JUMPI 00000d34: PUSH2 0x0d3b 00000d37: PUSH2 0x1ac3 00000d3a: JUMP 00000d3b: JUMPDEST 00000d3c: LT 00000d3d: ISZERO 00000d3e: PUSH2 0x0d89 00000d41: JUMPI 00000d42: PUSH1 0x40 00000d44: MLOAD 00000d45: PUSH3 0x461bcd 00000d49: PUSH1 0xe5 00000d4b: SHL 00000d4c: DUP2 00000d4d: MSTORE 00000d4e: PUSH1 0x20 00000d50: PUSH1 0x04 00000d52: DUP3 00000d53: ADD 00000d54: MSTORE 00000d55: PUSH1 0x18 00000d57: PUSH1 0x24 00000d59: DUP3 00000d5a: ADD 00000d5b: MSTORE 00000d5c: PUSH32 0x41756374696f6e20726566756e64206e6f7420656e6465640000000000000000 00000d7d: PUSH1 0x44 00000d7f: DUP3 00000d80: ADD 00000d81: MSTORE 00000d82: PUSH1 0x64 00000d84: ADD 00000d85: PUSH2 0x070d 00000d88: JUMP 00000d89: JUMPDEST 00000d8a: PUSH1 0x97 00000d8c: SLOAD 00000d8d: PUSH2 0x0d18 00000d90: SWAP1 00000d91: PUSH2 0x0100 00000d94: SWAP1 00000d95: DIV 00000d96: PUSH1 0x01 00000d98: PUSH1 0x01 00000d9a: PUSH1 0xa0 00000d9c: SHL 00000d9d: SUB 00000d9e: AND 00000d9f: SELFBALANCE 00000da0: PUSH2 0x173b 00000da3: JUMP 00000da4: JUMPDEST 00000da5: PUSH1 0x60 00000da7: PUSH2 0x0db5 00000daa: DUP3 00000dab: PUSH1 0x9f 00000dad: DUP1 00000dae: SLOAD 00000daf: SWAP1 00000db0: POP 00000db1: PUSH2 0x1820 00000db4: JUMP 00000db5: JUMPDEST 00000db6: SWAP2 00000db7: POP 00000db8: PUSH1 0x00 00000dba: PUSH2 0x0dc3 00000dbd: DUP5 00000dbe: DUP5 00000dbf: PUSH2 0x1d55 00000dc2: JUMP 00000dc3: JUMPDEST 00000dc4: PUSH8 0xffffffffffffffff 00000dcd: DUP2 00000dce: GT 00000dcf: ISZERO 00000dd0: PUSH2 0x0ddb 00000dd3: JUMPI 00000dd4: PUSH2 0x0ddb 00000dd7: PUSH2 0x1cf9 00000dda: JUMP 00000ddb: JUMPDEST 00000ddc: PUSH1 0x40 00000dde: MLOAD 00000ddf: SWAP1 00000de0: DUP1 00000de1: DUP3 00000de2: MSTORE 00000de3: DUP1 00000de4: PUSH1 0x20 00000de6: MUL 00000de7: PUSH1 0x20 00000de9: ADD 00000dea: DUP3 00000deb: ADD 00000dec: PUSH1 0x40 00000dee: MSTORE 00000def: DUP1 00000df0: ISZERO 00000df1: PUSH2 0x0e04 00000df4: JUMPI 00000df5: DUP2 00000df6: PUSH1 0x20 00000df8: ADD 00000df9: PUSH1 0x20 00000dfb: DUP3 00000dfc: MUL 00000dfd: DUP1 00000dfe: CALLDATASIZE 00000dff: DUP4 00000e00: CALLDATACOPY 00000e01: ADD 00000e02: SWAP1 00000e03: POP 00000e04: JUMPDEST 00000e05: POP 00000e06: SWAP1 00000e07: POP 00000e08: PUSH1 0x00 00000e0a: JUMPDEST 00000e0b: PUSH2 0x0e14 00000e0e: DUP6 00000e0f: DUP6 00000e10: PUSH2 0x1d55 00000e13: JUMP 00000e14: JUMPDEST 00000e15: DUP2 00000e16: LT 00000e17: ISZERO 00000e18: PUSH2 0x0e91 00000e1b: JUMPI 00000e1c: PUSH1 0x9f 00000e1e: PUSH2 0x0e27 00000e21: DUP7 00000e22: DUP4 00000e23: PUSH2 0x1ce6 00000e26: JUMP 00000e27: JUMPDEST 00000e28: DUP2 00000e29: SLOAD 00000e2a: DUP2 00000e2b: LT 00000e2c: PUSH2 0x0e37 00000e2f: JUMPI 00000e30: PUSH2 0x0e37 00000e33: PUSH2 0x1d0f 00000e36: JUMP 00000e37: JUMPDEST 00000e38: SWAP1 00000e39: PUSH1 0x00 00000e3b: MSTORE 00000e3c: PUSH1 0x20 00000e3e: PUSH1 0x00 00000e40: KECCAK256 00000e41: ADD 00000e42: PUSH1 0x00 00000e44: SWAP1 00000e45: SLOAD 00000e46: SWAP1 00000e47: PUSH2 0x0100 00000e4a: EXP 00000e4b: SWAP1 00000e4c: DIV 00000e4d: PUSH1 0x01 00000e4f: PUSH1 0x01 00000e51: PUSH1 0xa0 00000e53: SHL 00000e54: SUB 00000e55: AND 00000e56: DUP3 00000e57: DUP3 00000e58: DUP2 00000e59: MLOAD 00000e5a: DUP2 00000e5b: LT 00000e5c: PUSH2 0x0e67 00000e5f: JUMPI 00000e60: PUSH2 0x0e67 00000e63: PUSH2 0x1d0f 00000e66: JUMP 00000e67: JUMPDEST 00000e68: PUSH1 0x01 00000e6a: PUSH1 0x01 00000e6c: PUSH1 0xa0 00000e6e: SHL 00000e6f: SUB 00000e70: SWAP1 00000e71: SWAP3 00000e72: AND 00000e73: PUSH1 0x20 00000e75: SWAP3 00000e76: DUP4 00000e77: MUL 00000e78: SWAP2 00000e79: SWAP1 00000e7a: SWAP2 00000e7b: ADD 00000e7c: SWAP1 00000e7d: SWAP2 00000e7e: ADD 00000e7f: MSTORE 00000e80: DUP1 00000e81: PUSH2 0x0e89 00000e84: DUP2 00000e85: PUSH2 0x1d25 00000e88: JUMP 00000e89: JUMPDEST 00000e8a: SWAP2 00000e8b: POP 00000e8c: POP 00000e8d: PUSH2 0x0e0a 00000e90: JUMP 00000e91: JUMPDEST 00000e92: POP 00000e93: SWAP1 00000e94: POP 00000e95: JUMPDEST 00000e96: SWAP3 00000e97: SWAP2 00000e98: POP 00000e99: POP 00000e9a: JUMP 00000e9b: JUMPDEST 00000e9c: PUSH2 0x0ea3 00000e9f: PUSH2 0x16e1 00000ea2: JUMP 00000ea3: JUMPDEST 00000ea4: DUP1 00000ea5: PUSH1 0xff 00000ea7: AND 00000ea8: PUSH1 0x04 00000eaa: DUP2 00000eab: GT 00000eac: ISZERO 00000ead: PUSH2 0x0eb8 00000eb0: JUMPI 00000eb1: PUSH2 0x0eb8 00000eb4: PUSH2 0x1ac3 00000eb7: JUMP 00000eb8: JUMPDEST 00000eb9: PUSH1 0x97 00000ebb: DUP1 00000ebc: SLOAD 00000ebd: PUSH1 0xff 00000ebf: NOT 00000ec0: AND 00000ec1: PUSH1 0x01 00000ec3: DUP4 00000ec4: PUSH1 0x04 00000ec6: DUP2 00000ec7: GT 00000ec8: ISZERO 00000ec9: PUSH2 0x0ed4 00000ecc: JUMPI 00000ecd: PUSH2 0x0ed4 00000ed0: PUSH2 0x1ac3 00000ed3: JUMP 00000ed4: JUMPDEST 00000ed5: MUL 00000ed6: OR 00000ed7: SWAP1 00000ed8: SSTORE 00000ed9: POP 00000eda: POP 00000edb: JUMP 00000edc: JUMPDEST 00000edd: PUSH1 0x00 00000edf: PUSH1 0x97 00000ee1: SLOAD 00000ee2: PUSH1 0xff 00000ee4: AND 00000ee5: PUSH1 0x04 00000ee7: DUP2 00000ee8: GT 00000ee9: ISZERO 00000eea: PUSH2 0x0ef5 00000eed: JUMPI 00000eee: PUSH2 0x0ef5 00000ef1: PUSH2 0x1ac3 00000ef4: JUMP 00000ef5: JUMPDEST 00000ef6: EQ 00000ef7: PUSH2 0x0f3c 00000efa: JUMPI 00000efb: PUSH1 0x40 00000efd: MLOAD 00000efe: PUSH3 0x461bcd 00000f02: PUSH1 0xe5 00000f04: SHL 00000f05: DUP2 00000f06: MSTORE 00000f07: PUSH1 0x20 00000f09: PUSH1 0x04 00000f0b: DUP3 00000f0c: ADD 00000f0d: MSTORE 00000f0e: PUSH1 0x17 00000f10: PUSH1 0x24 00000f12: DUP3 00000f13: ADD 00000f14: MSTORE 00000f15: PUSH23 0x105d58dd1a5bdb88185b1c9958591e481cdd185c9d1959 00000f2d: PUSH1 0x4a 00000f2f: SHL 00000f30: PUSH1 0x44 00000f32: DUP3 00000f33: ADD 00000f34: MSTORE 00000f35: PUSH1 0x64 00000f37: ADD 00000f38: PUSH2 0x070d 00000f3b: JUMP 00000f3c: JUMPDEST 00000f3d: PUSH2 0x0f44 00000f40: PUSH2 0x16e1 00000f43: JUMP 00000f44: JUMPDEST 00000f45: PUSH1 0x9b 00000f47: SSTORE 00000f48: JUMP 00000f49: JUMPDEST 00000f4a: PUSH2 0x0f51 00000f4d: PUSH2 0x16e1 00000f50: JUMP 00000f51: JUMPDEST 00000f52: PUSH1 0xff 00000f54: AND 00000f55: PUSH1 0x99 00000f57: SSTORE 00000f58: JUMP 00000f59: JUMPDEST 00000f5a: PUSH1 0x60 00000f5c: PUSH1 0x9f 00000f5e: DUP1 00000f5f: SLOAD 00000f60: DUP1 00000f61: PUSH1 0x20 00000f63: MUL 00000f64: PUSH1 0x20 00000f66: ADD 00000f67: PUSH1 0x40 00000f69: MLOAD 00000f6a: SWAP1 00000f6b: DUP2 00000f6c: ADD 00000f6d: PUSH1 0x40 00000f6f: MSTORE 00000f70: DUP1 00000f71: SWAP3 00000f72: SWAP2 00000f73: SWAP1 00000f74: DUP2 00000f75: DUP2 00000f76: MSTORE 00000f77: PUSH1 0x20 00000f79: ADD 00000f7a: DUP3 00000f7b: DUP1 00000f7c: SLOAD 00000f7d: DUP1 00000f7e: ISZERO 00000f7f: PUSH2 0x0fb1 00000f82: JUMPI 00000f83: PUSH1 0x20 00000f85: MUL 00000f86: DUP3 00000f87: ADD 00000f88: SWAP2 00000f89: SWAP1 00000f8a: PUSH1 0x00 00000f8c: MSTORE 00000f8d: PUSH1 0x20 00000f8f: PUSH1 0x00 00000f91: KECCAK256 00000f92: SWAP1 00000f93: JUMPDEST 00000f94: DUP2 00000f95: SLOAD 00000f96: PUSH1 0x01 00000f98: PUSH1 0x01 00000f9a: PUSH1 0xa0 00000f9c: SHL 00000f9d: SUB 00000f9e: AND 00000f9f: DUP2 00000fa0: MSTORE 00000fa1: PUSH1 0x01 00000fa3: SWAP1 00000fa4: SWAP2 00000fa5: ADD 00000fa6: SWAP1 00000fa7: PUSH1 0x20 00000fa9: ADD 00000faa: DUP1 00000fab: DUP4 00000fac: GT 00000fad: PUSH2 0x0f93 00000fb0: JUMPI 00000fb1: JUMPDEST 00000fb2: POP 00000fb3: POP 00000fb4: POP 00000fb5: POP 00000fb6: POP 00000fb7: SWAP1 00000fb8: POP 00000fb9: SWAP1 00000fba: JUMP 00000fbb: JUMPDEST 00000fbc: PUSH1 0x9f 00000fbe: SLOAD 00000fbf: PUSH1 0x60 00000fc1: SWAP1 00000fc2: PUSH1 0x00 00000fc4: SWAP1 00000fc5: PUSH8 0xffffffffffffffff 00000fce: DUP2 00000fcf: GT 00000fd0: ISZERO 00000fd1: PUSH2 0x0fdc 00000fd4: JUMPI 00000fd5: PUSH2 0x0fdc 00000fd8: PUSH2 0x1cf9 00000fdb: JUMP 00000fdc: JUMPDEST 00000fdd: PUSH1 0x40 00000fdf: MLOAD 00000fe0: SWAP1 00000fe1: DUP1 00000fe2: DUP3 00000fe3: MSTORE 00000fe4: DUP1 00000fe5: PUSH1 0x20 00000fe7: MUL 00000fe8: PUSH1 0x20 00000fea: ADD 00000feb: DUP3 00000fec: ADD 00000fed: PUSH1 0x40 00000fef: MSTORE 00000ff0: DUP1 00000ff1: ISZERO 00000ff2: PUSH2 0x1035 00000ff5: JUMPI 00000ff6: DUP2 00000ff7: PUSH1 0x20 00000ff9: ADD 00000ffa: JUMPDEST 00000ffb: PUSH1 0x40 00000ffd: DUP1 00000ffe: MLOAD 00000fff: PUSH1 0xa0 00001001: DUP2 00001002: ADD 00001003: DUP3 00001004: MSTORE 00001005: PUSH1 0x00 00001007: DUP1 00001008: DUP3 00001009: MSTORE 0000100a: PUSH1 0x20 0000100c: DUP1 0000100d: DUP4 0000100e: ADD 0000100f: DUP3 00001010: SWAP1 00001011: MSTORE 00001012: SWAP3 00001013: DUP3 00001014: ADD 00001015: DUP2 00001016: SWAP1 00001017: MSTORE 00001018: PUSH1 0x60 0000101a: DUP3 0000101b: ADD 0000101c: DUP2 0000101d: SWAP1 0000101e: MSTORE 0000101f: PUSH1 0x80 00001021: DUP3 00001022: ADD 00001023: MSTORE 00001024: DUP3 00001025: MSTORE 00001026: PUSH1 0x00 00001028: NOT 00001029: SWAP1 0000102a: SWAP3 0000102b: ADD 0000102c: SWAP2 0000102d: ADD 0000102e: DUP2 0000102f: PUSH2 0x0ffa 00001032: JUMPI 00001033: SWAP1 00001034: POP 00001035: JUMPDEST 00001036: POP 00001037: SWAP1 00001038: POP 00001039: PUSH1 0x00 0000103b: JUMPDEST 0000103c: PUSH1 0x9f 0000103e: SLOAD 0000103f: DUP2 00001040: LT 00001041: ISZERO 00001042: PUSH2 0x1105 00001045: JUMPI 00001046: PUSH1 0xa0 00001048: PUSH1 0x00 0000104a: PUSH1 0x9f 0000104c: DUP4 0000104d: DUP2 0000104e: SLOAD 0000104f: DUP2 00001050: LT 00001051: PUSH2 0x105c 00001054: JUMPI 00001055: PUSH2 0x105c 00001058: PUSH2 0x1d0f 0000105b: JUMP 0000105c: JUMPDEST 0000105d: PUSH1 0x00 0000105f: SWAP2 00001060: DUP3 00001061: MSTORE 00001062: PUSH1 0x20 00001064: DUP1 00001065: DUP4 00001066: KECCAK256 00001067: SWAP1 00001068: SWAP2 00001069: ADD 0000106a: SLOAD 0000106b: PUSH1 0x01 0000106d: PUSH1 0x01 0000106f: PUSH1 0xa0 00001071: SHL 00001072: SUB 00001073: SWAP1 00001074: DUP2 00001075: AND 00001076: DUP5 00001077: MSTORE 00001078: DUP4 00001079: DUP3 0000107a: ADD 0000107b: SWAP5 0000107c: SWAP1 0000107d: SWAP5 0000107e: MSTORE 0000107f: PUSH1 0x40 00001081: SWAP3 00001082: DUP4 00001083: ADD 00001084: SWAP1 00001085: SWAP2 00001086: KECCAK256 00001087: DUP3 00001088: MLOAD 00001089: PUSH1 0xa0 0000108b: DUP2 0000108c: ADD 0000108d: DUP5 0000108e: MSTORE 0000108f: DUP2 00001090: SLOAD 00001091: PUSH1 0xff 00001093: DUP2 00001094: AND 00001095: ISZERO 00001096: ISZERO 00001097: DUP3 00001098: MSTORE 00001099: PUSH2 0x0100 0000109c: SWAP1 0000109d: DIV 0000109e: SWAP1 0000109f: SWAP5 000010a0: AND 000010a1: SWAP2 000010a2: DUP5 000010a3: ADD 000010a4: SWAP2 000010a5: SWAP1 000010a6: SWAP2 000010a7: MSTORE 000010a8: PUSH1 0x01 000010aa: DUP2 000010ab: ADD 000010ac: SLOAD 000010ad: SWAP2 000010ae: DUP4 000010af: ADD 000010b0: SWAP2 000010b1: SWAP1 000010b2: SWAP2 000010b3: MSTORE 000010b4: PUSH1 0x02 000010b6: ADD 000010b7: SLOAD 000010b8: PUSH4 0xffffffff 000010bd: DUP1 000010be: DUP3 000010bf: AND 000010c0: PUSH1 0x60 000010c2: DUP5 000010c3: ADD 000010c4: MSTORE 000010c5: PUSH5 0x0100000000 000010cb: SWAP1 000010cc: SWAP2 000010cd: DIV 000010ce: AND 000010cf: PUSH1 0x80 000010d1: DUP3 000010d2: ADD 000010d3: MSTORE 000010d4: DUP3 000010d5: MLOAD 000010d6: DUP4 000010d7: SWAP1 000010d8: DUP4 000010d9: SWAP1 000010da: DUP2 000010db: LT 000010dc: PUSH2 0x10e7 000010df: JUMPI 000010e0: PUSH2 0x10e7 000010e3: PUSH2 0x1d0f 000010e6: JUMP 000010e7: JUMPDEST 000010e8: PUSH1 0x20 000010ea: MUL 000010eb: PUSH1 0x20 000010ed: ADD 000010ee: ADD 000010ef: DUP2 000010f0: SWAP1 000010f1: MSTORE 000010f2: POP 000010f3: DUP1 000010f4: DUP1 000010f5: PUSH2 0x10fd 000010f8: SWAP1 000010f9: PUSH2 0x1d25 000010fc: JUMP 000010fd: JUMPDEST 000010fe: SWAP2 000010ff: POP 00001100: POP 00001101: PUSH2 0x103b 00001104: JUMP 00001105: JUMPDEST 00001106: POP 00001107: SWAP2 00001108: SWAP1 00001109: POP 0000110a: JUMP 0000110b: JUMPDEST 0000110c: PUSH2 0x1113 0000110f: PUSH2 0x1838 00001112: JUMP 00001113: JUMPDEST 00001114: CALLER 00001115: PUSH1 0x00 00001117: SWAP1 00001118: DUP2 00001119: MSTORE 0000111a: PUSH1 0xa0 0000111c: PUSH1 0x20 0000111e: MSTORE 0000111f: PUSH1 0x40 00001121: SWAP1 00001122: KECCAK256 00001123: PUSH1 0x01 00001125: ADD 00001126: SLOAD 00001127: PUSH1 0x03 00001129: PUSH1 0x97 0000112b: SLOAD 0000112c: PUSH1 0xff 0000112e: AND 0000112f: PUSH1 0x04 00001131: DUP2 00001132: GT 00001133: ISZERO 00001134: PUSH2 0x113f 00001137: JUMPI 00001138: PUSH2 0x113f 0000113b: PUSH2 0x1ac3 0000113e: JUMP 0000113f: JUMPDEST 00001140: EQ 00001141: PUSH2 0x1185 00001144: JUMPI 00001145: PUSH1 0x40 00001147: MLOAD 00001148: PUSH3 0x461bcd 0000114c: PUSH1 0xe5 0000114e: SHL 0000114f: DUP2 00001150: MSTORE 00001151: PUSH1 0x20 00001153: PUSH1 0x04 00001155: DUP3 00001156: ADD 00001157: MSTORE 00001158: PUSH1 0x16 0000115a: PUSH1 0x24 0000115c: DUP3 0000115d: ADD 0000115e: MSTORE 0000115f: PUSH22 0x1499599d5b99081b9bdd081cdd185c9d1959081e595d 00001176: PUSH1 0x52 00001178: SHL 00001179: PUSH1 0x44 0000117b: DUP3 0000117c: ADD 0000117d: MSTORE 0000117e: PUSH1 0x64 00001180: ADD 00001181: PUSH2 0x070d 00001184: JUMP 00001185: JUMPDEST 00001186: PUSH1 0x00 00001188: PUSH1 0x9c 0000118a: SLOAD 0000118b: GT 0000118c: PUSH2 0x11cd 0000118f: JUMPI 00001190: PUSH1 0x40 00001192: MLOAD 00001193: PUSH3 0x461bcd 00001197: PUSH1 0xe5 00001199: SHL 0000119a: DUP2 0000119b: MSTORE 0000119c: PUSH1 0x20 0000119e: PUSH1 0x04 000011a0: DUP3 000011a1: ADD 000011a2: MSTORE 000011a3: PUSH1 0x13 000011a5: PUSH1 0x24 000011a7: DUP3 000011a8: ADD 000011a9: MSTORE 000011aa: PUSH19 0x119a5b985b081c1c9a58d9481b9bdd081cd95d 000011be: PUSH1 0x6a 000011c0: SHL 000011c1: PUSH1 0x44 000011c3: DUP3 000011c4: ADD 000011c5: MSTORE 000011c6: PUSH1 0x64 000011c8: ADD 000011c9: PUSH2 0x070d 000011cc: JUMP 000011cd: JUMPDEST 000011ce: PUSH2 0x11d9 000011d1: CALLER 000011d2: DUP6 000011d3: DUP6 000011d4: DUP6 000011d5: PUSH2 0x15ca 000011d8: JUMP 000011d9: JUMPDEST 000011da: PUSH2 0x1215 000011dd: JUMPI 000011de: PUSH1 0x40 000011e0: MLOAD 000011e1: PUSH3 0x461bcd 000011e5: PUSH1 0xe5 000011e7: SHL 000011e8: DUP2 000011e9: MSTORE 000011ea: PUSH1 0x20 000011ec: PUSH1 0x04 000011ee: DUP3 000011ef: ADD 000011f0: MSTORE 000011f1: PUSH1 0x0d 000011f3: PUSH1 0x24 000011f5: DUP3 000011f6: ADD 000011f7: MSTORE 000011f8: PUSH13 0x24b73b30b634b210383937b7b3 00001206: PUSH1 0x99 00001208: SHL 00001209: PUSH1 0x44 0000120b: DUP3 0000120c: ADD 0000120d: MSTORE 0000120e: PUSH1 0x64 00001210: ADD 00001211: PUSH2 0x070d 00001214: JUMP 00001215: JUMPDEST 00001216: PUSH1 0x00 00001218: DUP2 00001219: GT 0000121a: PUSH2 0x1255 0000121d: JUMPI 0000121e: PUSH1 0x40 00001220: MLOAD 00001221: PUSH3 0x461bcd 00001225: PUSH1 0xe5 00001227: SHL 00001228: DUP2 00001229: MSTORE 0000122a: PUSH1 0x20 0000122c: PUSH1 0x04 0000122e: DUP3 0000122f: ADD 00001230: MSTORE 00001231: PUSH1 0x0d 00001233: PUSH1 0x24 00001235: DUP3 00001236: ADD 00001237: MSTORE 00001238: PUSH13 0x139bc8189a59081c9958dbdc99 00001246: PUSH1 0x9a 00001248: SHL 00001249: PUSH1 0x44 0000124b: DUP3 0000124c: ADD 0000124d: MSTORE 0000124e: PUSH1 0x64 00001250: ADD 00001251: PUSH2 0x070d 00001254: JUMP 00001255: JUMPDEST 00001256: CALLER 00001257: PUSH1 0x00 00001259: SWAP1 0000125a: DUP2 0000125b: MSTORE 0000125c: PUSH1 0xa1 0000125e: PUSH1 0x20 00001260: MSTORE 00001261: PUSH1 0x40 00001263: SWAP1 00001264: KECCAK256 00001265: SLOAD 00001266: PUSH1 0xff 00001268: AND 00001269: ISZERO 0000126a: PUSH2 0x12a8 0000126d: JUMPI 0000126e: PUSH1 0x40 00001270: MLOAD 00001271: PUSH3 0x461bcd 00001275: PUSH1 0xe5 00001277: SHL 00001278: DUP2 00001279: MSTORE 0000127a: PUSH1 0x20 0000127c: PUSH1 0x04 0000127e: DUP3 0000127f: ADD 00001280: MSTORE 00001281: PUSH1 0x10 00001283: PUSH1 0x24 00001285: DUP3 00001286: ADD 00001287: MSTORE 00001288: PUSH16 0x105b1c9958591e481c99599d5b991959 00001299: PUSH1 0x82 0000129b: SHL 0000129c: PUSH1 0x44 0000129e: DUP3 0000129f: ADD 000012a0: MSTORE 000012a1: PUSH1 0x64 000012a3: ADD 000012a4: PUSH2 0x070d 000012a7: JUMP 000012a8: JUMPDEST 000012a9: PUSH1 0x00 000012ab: DUP3 000012ac: PUSH1 0x9c 000012ae: SLOAD 000012af: PUSH2 0x12b8 000012b2: SWAP2 000012b3: SWAP1 000012b4: PUSH2 0x1d3e 000012b7: JUMP 000012b8: JUMPDEST 000012b9: PUSH2 0x12c2 000012bc: SWAP1 000012bd: DUP4 000012be: PUSH2 0x1d55 000012c1: JUMP 000012c2: JUMPDEST 000012c3: SWAP1 000012c4: POP 000012c5: DUP2 000012c6: DUP2 000012c7: GT 000012c8: ISZERO 000012c9: PUSH2 0x1300 000012cc: JUMPI 000012cd: PUSH1 0x40 000012cf: MLOAD 000012d0: PUSH3 0x461bcd 000012d4: PUSH1 0xe5 000012d6: SHL 000012d7: DUP2 000012d8: MSTORE 000012d9: PUSH1 0x20 000012db: PUSH1 0x04 000012dd: DUP3 000012de: ADD 000012df: MSTORE 000012e0: PUSH1 0x09 000012e2: PUSH1 0x24 000012e4: DUP3 000012e5: ADD 000012e6: MSTORE 000012e7: PUSH9 0x756e646572666c6f77 000012f1: PUSH1 0xb8 000012f3: SHL 000012f4: PUSH1 0x44 000012f6: DUP3 000012f7: ADD 000012f8: MSTORE 000012f9: PUSH1 0x64 000012fb: ADD 000012fc: PUSH2 0x070d 000012ff: JUMP 00001300: JUMPDEST 00001301: PUSH1 0x00 00001303: DUP2 00001304: GT 00001305: PUSH2 0x1343 00001308: JUMPI 00001309: PUSH1 0x40 0000130b: MLOAD 0000130c: PUSH3 0x461bcd 00001310: PUSH1 0xe5 00001312: SHL 00001313: DUP2 00001314: MSTORE 00001315: PUSH1 0x20 00001317: PUSH1 0x04 00001319: DUP3 0000131a: ADD 0000131b: MSTORE 0000131c: PUSH1 0x10 0000131e: PUSH1 0x24 00001320: DUP3 00001321: ADD 00001322: MSTORE 00001323: PUSH16 0x139bc81c99599d5b99081b9959591959 00001334: PUSH1 0x82 00001336: SHL 00001337: PUSH1 0x44 00001339: DUP3 0000133a: ADD 0000133b: MSTORE 0000133c: PUSH1 0x64 0000133e: ADD 0000133f: PUSH2 0x070d 00001342: JUMP 00001343: JUMPDEST 00001344: CALLER 00001345: PUSH1 0x00 00001347: DUP2 00001348: DUP2 00001349: MSTORE 0000134a: PUSH1 0xa1 0000134c: PUSH1 0x20 0000134e: MSTORE 0000134f: PUSH1 0x40 00001351: SWAP1 00001352: DUP2 00001353: SWAP1 00001354: KECCAK256 00001355: DUP1 00001356: SLOAD 00001357: PUSH1 0xff 00001359: NOT 0000135a: AND 0000135b: PUSH1 0x01 0000135d: OR 0000135e: SWAP1 0000135f: SSTORE 00001360: MLOAD 00001361: DUP5 00001362: SWAP2 00001363: SWAP1 00001364: PUSH32 0x662bc2a64340bca927d72cb5c5ec2285714bb7a1b8927bb9c601287f4a479362 00001385: SWAP1 00001386: PUSH2 0x1392 00001389: SWAP1 0000138a: DUP6 0000138b: DUP2 0000138c: MSTORE 0000138d: PUSH1 0x20 0000138f: ADD 00001390: SWAP1 00001391: JUMP 00001392: JUMPDEST 00001393: PUSH1 0x40 00001395: MLOAD 00001396: DUP1 00001397: SWAP2 00001398: SUB 00001399: SWAP1 0000139a: LOG3 0000139b: PUSH2 0x13a4 0000139e: CALLER 0000139f: DUP3 000013a0: PUSH2 0x173b 000013a3: JUMP 000013a4: JUMPDEST 000013a5: POP 000013a6: POP 000013a7: PUSH2 0x13af 000013aa: PUSH1 0x01 000013ac: DUP1 000013ad: SSTORE 000013ae: JUMP 000013af: JUMPDEST 000013b0: POP 000013b1: POP 000013b2: POP 000013b3: JUMP 000013b4: JUMPDEST 000013b5: PUSH2 0x13bc 000013b8: PUSH2 0x16e1 000013bb: JUMP 000013bc: JUMPDEST 000013bd: PUSH1 0x9a 000013bf: SLOAD 000013c0: DUP2 000013c1: LT 000013c2: ISZERO 000013c3: PUSH2 0x13fe 000013c6: JUMPI 000013c7: PUSH1 0x40 000013c9: MLOAD 000013ca: PUSH3 0x461bcd 000013ce: PUSH1 0xe5 000013d0: SHL 000013d1: DUP2 000013d2: MSTORE 000013d3: PUSH1 0x20 000013d5: PUSH1 0x04 000013d7: DUP3 000013d8: ADD 000013d9: MSTORE 000013da: PUSH1 0x0d 000013dc: PUSH1 0x24 000013de: DUP3 000013df: ADD 000013e0: MSTORE 000013e1: PUSH13 0x507269636520746f6f206c6f77 000013ef: PUSH1 0x98 000013f1: SHL 000013f2: PUSH1 0x44 000013f4: DUP3 000013f5: ADD 000013f6: MSTORE 000013f7: PUSH1 0x64 000013f9: ADD 000013fa: PUSH2 0x070d 000013fd: JUMP 000013fe: JUMPDEST 000013ff: PUSH1 0x9c 00001401: SSTORE 00001402: JUMP 00001403: JUMPDEST 00001404: PUSH1 0x00 00001406: SLOAD 00001407: PUSH2 0x0100 0000140a: SWAP1 0000140b: DIV 0000140c: PUSH1 0xff 0000140e: AND 0000140f: ISZERO 00001410: DUP1 00001411: DUP1 00001412: ISZERO 00001413: PUSH2 0x1423 00001416: JUMPI 00001417: POP 00001418: PUSH1 0x00 0000141a: SLOAD 0000141b: PUSH1 0x01 0000141d: PUSH1 0xff 0000141f: SWAP1 00001420: SWAP2 00001421: AND 00001422: LT 00001423: JUMPDEST 00001424: DUP1 00001425: PUSH2 0x143d 00001428: JUMPI 00001429: POP 0000142a: ADDRESS 0000142b: EXTCODESIZE 0000142c: ISZERO 0000142d: DUP1 0000142e: ISZERO 0000142f: PUSH2 0x143d 00001432: JUMPI 00001433: POP 00001434: PUSH1 0x00 00001436: SLOAD 00001437: PUSH1 0xff 00001439: AND 0000143a: PUSH1 0x01 0000143c: EQ 0000143d: JUMPDEST 0000143e: PUSH2 0x14a0 00001441: JUMPI 00001442: PUSH1 0x40 00001444: MLOAD 00001445: PUSH3 0x461bcd 00001449: PUSH1 0xe5 0000144b: SHL 0000144c: DUP2 0000144d: MSTORE 0000144e: PUSH1 0x20 00001450: PUSH1 0x04 00001452: DUP3 00001453: ADD 00001454: MSTORE 00001455: PUSH1 0x2e 00001457: PUSH1 0x24 00001459: DUP3 0000145a: ADD 0000145b: MSTORE 0000145c: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561 0000147d: PUSH1 0x44 0000147f: DUP3 00001480: ADD 00001481: MSTORE 00001482: PUSH14 0x191e481a5b9a5d1a585b1a5e9959 00001491: PUSH1 0x92 00001493: SHL 00001494: PUSH1 0x64 00001496: DUP3 00001497: ADD 00001498: MSTORE 00001499: PUSH1 0x84 0000149b: ADD 0000149c: PUSH2 0x070d 0000149f: JUMP 000014a0: JUMPDEST 000014a1: PUSH1 0x00 000014a3: DUP1 000014a4: SLOAD 000014a5: PUSH1 0xff 000014a7: NOT 000014a8: AND 000014a9: PUSH1 0x01 000014ab: OR 000014ac: SWAP1 000014ad: SSTORE 000014ae: DUP1 000014af: ISZERO 000014b0: PUSH2 0x14c3 000014b3: JUMPI 000014b4: PUSH1 0x00 000014b6: DUP1 000014b7: SLOAD 000014b8: PUSH2 0xff00 000014bb: NOT 000014bc: AND 000014bd: PUSH2 0x0100 000014c0: OR 000014c1: SWAP1 000014c2: SSTORE 000014c3: JUMPDEST 000014c4: PUSH2 0x14cb 000014c7: PUSH2 0x1897 000014ca: JUMP 000014cb: JUMPDEST 000014cc: PUSH2 0x14d3 000014cf: PUSH2 0x18c6 000014d2: JUMP 000014d3: JUMPDEST 000014d4: PUSH2 0x14dc 000014d7: DUP3 000014d8: PUSH2 0x0c8e 000014db: JUMP 000014dc: JUMPDEST 000014dd: PUSH2 0x07d0 000014e0: PUSH1 0x99 000014e2: DUP2 000014e3: SWAP1 000014e4: SSTORE 000014e5: PUSH7 0xb1a2bc2ec50000 000014ed: PUSH1 0x9a 000014ef: SSTORE 000014f0: PUSH1 0x9b 000014f2: SSTORE 000014f3: DUP1 000014f4: ISZERO 000014f5: PUSH2 0x0c1d 000014f8: JUMPI 000014f9: PUSH1 0x00 000014fb: DUP1 000014fc: SLOAD 000014fd: PUSH2 0xff00 00001500: NOT 00001501: AND 00001502: SWAP1 00001503: SSTORE 00001504: PUSH1 0x40 00001506: MLOAD 00001507: PUSH1 0x01 00001509: DUP2 0000150a: MSTORE 0000150b: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498 0000152c: SWAP1 0000152d: PUSH1 0x20 0000152f: ADD 00001530: PUSH1 0x40 00001532: MLOAD 00001533: DUP1 00001534: SWAP2 00001535: SUB 00001536: SWAP1 00001537: LOG1 00001538: POP 00001539: POP 0000153a: JUMP 0000153b: JUMPDEST 0000153c: PUSH1 0x00 0000153e: PUSH2 0x1545 00001541: PUSH2 0x16e1 00001544: JUMP 00001545: JUMPDEST 00001546: POP 00001547: PUSH1 0x98 00001549: SLOAD 0000154a: SWAP1 0000154b: JUMP 0000154c: JUMPDEST 0000154d: PUSH1 0x9f 0000154f: DUP2 00001550: DUP2 00001551: SLOAD 00001552: DUP2 00001553: LT 00001554: PUSH2 0x155c 00001557: JUMPI 00001558: PUSH1 0x00 0000155a: DUP1 0000155b: REVERT 0000155c: JUMPDEST 0000155d: PUSH1 0x00 0000155f: SWAP2 00001560: DUP3 00001561: MSTORE 00001562: PUSH1 0x20 00001564: SWAP1 00001565: SWAP2 00001566: KECCAK256 00001567: ADD 00001568: SLOAD 00001569: PUSH1 0x01 0000156b: PUSH1 0x01 0000156d: PUSH1 0xa0 0000156f: SHL 00001570: SUB 00001571: AND 00001572: SWAP1 00001573: POP 00001574: DUP2 00001575: JUMP 00001576: JUMPDEST 00001577: PUSH2 0x157e 0000157a: PUSH2 0x16e1 0000157d: JUMP 0000157e: JUMPDEST 0000157f: PUSH1 0x9b 00001581: SLOAD 00001582: DUP2 00001583: GT 00001584: ISZERO 00001585: PUSH2 0x15c5 00001588: JUMPI 00001589: PUSH1 0x40 0000158b: MLOAD 0000158c: PUSH3 0x461bcd 00001590: PUSH1 0xe5 00001592: SHL 00001593: DUP2 00001594: MSTORE 00001595: PUSH1 0x20 00001597: PUSH1 0x04 00001599: DUP3 0000159a: ADD 0000159b: MSTORE 0000159c: PUSH1 0x12 0000159e: PUSH1 0x24 000015a0: DUP3 000015a1: ADD 000015a2: MSTORE 000015a3: PUSH18 0x546f6f206d616e7920776f6e206974656d73 000015b6: PUSH1 0x70 000015b8: SHL 000015b9: PUSH1 0x44 000015bb: DUP3 000015bc: ADD 000015bd: MSTORE 000015be: PUSH1 0x64 000015c0: ADD 000015c1: PUSH2 0x070d 000015c4: JUMP 000015c5: JUMPDEST 000015c6: PUSH1 0x9d 000015c8: SSTORE 000015c9: JUMP 000015ca: JUMPDEST 000015cb: PUSH1 0x40 000015cd: DUP1 000015ce: MLOAD 000015cf: PUSH1 0x01 000015d1: PUSH1 0x01 000015d3: PUSH1 0xa0 000015d5: SHL 000015d6: SUB 000015d7: DUP7 000015d8: AND 000015d9: PUSH1 0x20 000015db: DUP3 000015dc: ADD 000015dd: MSTORE 000015de: SWAP1 000015df: DUP2 000015e0: ADD 000015e1: DUP3 000015e2: SWAP1 000015e3: MSTORE 000015e4: PUSH1 0x00 000015e6: SWAP1 000015e7: DUP2 000015e8: SWAP1 000015e9: PUSH1 0x60 000015eb: ADD 000015ec: PUSH1 0x40 000015ee: DUP1 000015ef: MLOAD 000015f0: PUSH1 0x1f 000015f2: NOT 000015f3: DUP2 000015f4: DUP5 000015f5: SUB 000015f6: ADD 000015f7: DUP2 000015f8: MSTORE 000015f9: DUP3 000015fa: DUP3 000015fb: MSTORE 000015fc: DUP1 000015fd: MLOAD 000015fe: PUSH1 0x20 00001600: SWAP2 00001601: DUP3 00001602: ADD 00001603: KECCAK256 00001604: SWAP1 00001605: DUP4 00001606: ADD 00001607: MSTORE 00001608: ADD 00001609: PUSH1 0x40 0000160b: MLOAD 0000160c: PUSH1 0x20 0000160e: DUP2 0000160f: DUP4 00001610: SUB 00001611: SUB 00001612: DUP2 00001613: MSTORE 00001614: SWAP1 00001615: PUSH1 0x40 00001617: MSTORE 00001618: DUP1 00001619: MLOAD 0000161a: SWAP1 0000161b: PUSH1 0x20 0000161d: ADD 0000161e: KECCAK256 0000161f: SWAP1 00001620: POP 00001621: PUSH2 0x1661 00001624: DUP6 00001625: DUP6 00001626: DUP1 00001627: DUP1 00001628: PUSH1 0x20 0000162a: MUL 0000162b: PUSH1 0x20 0000162d: ADD 0000162e: PUSH1 0x40 00001630: MLOAD 00001631: SWAP1 00001632: DUP2 00001633: ADD 00001634: PUSH1 0x40 00001636: MSTORE 00001637: DUP1 00001638: SWAP4 00001639: SWAP3 0000163a: SWAP2 0000163b: SWAP1 0000163c: DUP2 0000163d: DUP2 0000163e: MSTORE 0000163f: PUSH1 0x20 00001641: ADD 00001642: DUP4 00001643: DUP4 00001644: PUSH1 0x20 00001646: MUL 00001647: DUP1 00001648: DUP3 00001649: DUP5 0000164a: CALLDATACOPY 0000164b: PUSH1 0x00 0000164d: SWAP3 0000164e: ADD 0000164f: SWAP2 00001650: SWAP1 00001651: SWAP2 00001652: MSTORE 00001653: POP 00001654: POP 00001655: PUSH1 0x98 00001657: SLOAD 00001658: SWAP2 00001659: POP 0000165a: DUP5 0000165b: SWAP1 0000165c: POP 0000165d: PUSH2 0x18f5 00001660: JUMP 00001661: JUMPDEST 00001662: SWAP7 00001663: SWAP6 00001664: POP 00001665: POP 00001666: POP 00001667: POP 00001668: POP 00001669: POP 0000166a: JUMP 0000166b: JUMPDEST 0000166c: PUSH2 0x1673 0000166f: PUSH2 0x16e1 00001672: JUMP 00001673: JUMPDEST 00001674: PUSH1 0x01 00001676: PUSH1 0x01 00001678: PUSH1 0xa0 0000167a: SHL 0000167b: SUB 0000167c: DUP2 0000167d: AND 0000167e: PUSH2 0x16d8 00001681: JUMPI 00001682: PUSH1 0x40 00001684: MLOAD 00001685: PUSH3 0x461bcd 00001689: PUSH1 0xe5 0000168b: SHL 0000168c: DUP2 0000168d: MSTORE 0000168e: PUSH1 0x20 00001690: PUSH1 0x04 00001692: DUP3 00001693: ADD 00001694: MSTORE 00001695: PUSH1 0x26 00001697: PUSH1 0x24 00001699: DUP3 0000169a: ADD 0000169b: MSTORE 0000169c: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061 000016bd: PUSH1 0x44 000016bf: DUP3 000016c0: ADD 000016c1: MSTORE 000016c2: PUSH6 0x646472657373 000016c9: PUSH1 0xd0 000016cb: SHL 000016cc: PUSH1 0x64 000016ce: DUP3 000016cf: ADD 000016d0: MSTORE 000016d1: PUSH1 0x84 000016d3: ADD 000016d4: PUSH2 0x070d 000016d7: JUMP 000016d8: JUMPDEST 000016d9: PUSH2 0x094a 000016dc: DUP2 000016dd: PUSH2 0x17ce 000016e0: JUMP 000016e1: JUMPDEST 000016e2: PUSH1 0x65 000016e4: SLOAD 000016e5: PUSH1 0x01 000016e7: PUSH1 0x01 000016e9: PUSH1 0xa0 000016eb: SHL 000016ec: SUB 000016ed: AND 000016ee: CALLER 000016ef: EQ 000016f0: PUSH2 0x0d18 000016f3: JUMPI 000016f4: PUSH1 0x40 000016f6: MLOAD 000016f7: PUSH3 0x461bcd 000016fb: PUSH1 0xe5 000016fd: SHL 000016fe: DUP2 000016ff: MSTORE 00001700: PUSH1 0x20 00001702: PUSH1 0x04 00001704: DUP3 00001705: ADD 00001706: DUP2 00001707: SWAP1 00001708: MSTORE 00001709: PUSH1 0x24 0000170b: DUP3 0000170c: ADD 0000170d: MSTORE 0000170e: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 0000172f: PUSH1 0x44 00001731: DUP3 00001732: ADD 00001733: MSTORE 00001734: PUSH1 0x64 00001736: ADD 00001737: PUSH2 0x070d 0000173a: JUMP 0000173b: JUMPDEST 0000173c: PUSH1 0x00 0000173e: DUP3 0000173f: PUSH1 0x01 00001741: PUSH1 0x01 00001743: PUSH1 0xa0 00001745: SHL 00001746: SUB 00001747: AND 00001748: DUP3 00001749: PUSH1 0x40 0000174b: MLOAD 0000174c: PUSH1 0x00 0000174e: PUSH1 0x40 00001750: MLOAD 00001751: DUP1 00001752: DUP4 00001753: SUB 00001754: DUP2 00001755: DUP6 00001756: DUP8 00001757: GAS 00001758: CALL 00001759: SWAP3 0000175a: POP 0000175b: POP 0000175c: POP 0000175d: RETURNDATASIZE 0000175e: DUP1 0000175f: PUSH1 0x00 00001761: DUP2 00001762: EQ 00001763: PUSH2 0x1788 00001766: JUMPI 00001767: PUSH1 0x40 00001769: MLOAD 0000176a: SWAP2 0000176b: POP 0000176c: PUSH1 0x1f 0000176e: NOT 0000176f: PUSH1 0x3f 00001771: RETURNDATASIZE 00001772: ADD 00001773: AND 00001774: DUP3 00001775: ADD 00001776: PUSH1 0x40 00001778: MSTORE 00001779: RETURNDATASIZE 0000177a: DUP3 0000177b: MSTORE 0000177c: RETURNDATASIZE 0000177d: PUSH1 0x00 0000177f: PUSH1 0x20 00001781: DUP5 00001782: ADD 00001783: RETURNDATACOPY 00001784: PUSH2 0x178d 00001787: JUMP 00001788: JUMPDEST 00001789: PUSH1 0x60 0000178b: SWAP2 0000178c: POP 0000178d: JUMPDEST 0000178e: POP 0000178f: POP 00001790: SWAP1 00001791: POP 00001792: DUP1 00001793: PUSH2 0x13af 00001796: JUMPI 00001797: PUSH1 0x40 00001799: MLOAD 0000179a: PUSH3 0x461bcd 0000179e: PUSH1 0xe5 000017a0: SHL 000017a1: DUP2 000017a2: MSTORE 000017a3: PUSH1 0x20 000017a5: PUSH1 0x04 000017a7: DUP3 000017a8: ADD 000017a9: MSTORE 000017aa: PUSH1 0x0d 000017ac: PUSH1 0x24 000017ae: DUP3 000017af: ADD 000017b0: MSTORE 000017b1: PUSH13 0x63616e74207769746864726177 000017bf: PUSH1 0x98 000017c1: SHL 000017c2: PUSH1 0x44 000017c4: DUP3 000017c5: ADD 000017c6: MSTORE 000017c7: PUSH1 0x64 000017c9: ADD 000017ca: PUSH2 0x070d 000017cd: JUMP 000017ce: JUMPDEST 000017cf: PUSH1 0x65 000017d1: DUP1 000017d2: SLOAD 000017d3: PUSH1 0x01 000017d5: PUSH1 0x01 000017d7: PUSH1 0xa0 000017d9: SHL 000017da: SUB 000017db: DUP4 000017dc: DUP2 000017dd: AND 000017de: PUSH1 0x01 000017e0: PUSH1 0x01 000017e2: PUSH1 0xa0 000017e4: SHL 000017e5: SUB 000017e6: NOT 000017e7: DUP4 000017e8: AND 000017e9: DUP2 000017ea: OR 000017eb: SWAP1 000017ec: SWAP4 000017ed: SSTORE 000017ee: PUSH1 0x40 000017f0: MLOAD 000017f1: SWAP2 000017f2: AND 000017f3: SWAP2 000017f4: SWAP1 000017f5: DUP3 000017f6: SWAP1 000017f7: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00001818: SWAP1 00001819: PUSH1 0x00 0000181b: SWAP1 0000181c: LOG3 0000181d: POP 0000181e: POP 0000181f: JUMP 00001820: JUMPDEST 00001821: PUSH1 0x00 00001823: DUP2 00001824: DUP4 00001825: LT 00001826: PUSH2 0x182f 00001829: JUMPI 0000182a: DUP2 0000182b: PUSH2 0x1831 0000182e: JUMP 0000182f: JUMPDEST 00001830: DUP3 00001831: JUMPDEST 00001832: SWAP4 00001833: SWAP3 00001834: POP 00001835: POP 00001836: POP 00001837: JUMP 00001838: JUMPDEST 00001839: PUSH1 0x02 0000183b: PUSH1 0x01 0000183d: SLOAD 0000183e: SUB 0000183f: PUSH2 0x188a 00001842: JUMPI 00001843: PUSH1 0x40 00001845: MLOAD 00001846: PUSH3 0x461bcd 0000184a: PUSH1 0xe5 0000184c: SHL 0000184d: DUP2 0000184e: MSTORE 0000184f: PUSH1 0x20 00001851: PUSH1 0x04 00001853: DUP3 00001854: ADD 00001855: MSTORE 00001856: PUSH1 0x1f 00001858: PUSH1 0x24 0000185a: DUP3 0000185b: ADD 0000185c: MSTORE 0000185d: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00 0000187e: PUSH1 0x44 00001880: DUP3 00001881: ADD 00001882: MSTORE 00001883: PUSH1 0x64 00001885: ADD 00001886: PUSH2 0x070d 00001889: JUMP 0000188a: JUMPDEST 0000188b: PUSH1 0x02 0000188d: PUSH1 0x01 0000188f: SSTORE 00001890: JUMP 00001891: JUMPDEST 00001892: PUSH1 0x01 00001894: DUP1 00001895: SSTORE 00001896: JUMP 00001897: JUMPDEST 00001898: PUSH1 0x00 0000189a: SLOAD 0000189b: PUSH2 0x0100 0000189e: SWAP1 0000189f: DIV 000018a0: PUSH1 0xff 000018a2: AND 000018a3: PUSH2 0x18be 000018a6: JUMPI 000018a7: PUSH1 0x40 000018a9: MLOAD 000018aa: PUSH3 0x461bcd 000018ae: PUSH1 0xe5 000018b0: SHL 000018b1: DUP2 000018b2: MSTORE 000018b3: PUSH1 0x04 000018b5: ADD 000018b6: PUSH2 0x070d 000018b9: SWAP1 000018ba: PUSH2 0x1d68 000018bd: JUMP 000018be: JUMPDEST 000018bf: PUSH2 0x0d18 000018c2: PUSH2 0x190b 000018c5: JUMP 000018c6: JUMPDEST 000018c7: PUSH1 0x00 000018c9: SLOAD 000018ca: PUSH2 0x0100 000018cd: SWAP1 000018ce: DIV 000018cf: PUSH1 0xff 000018d1: AND 000018d2: PUSH2 0x18ed 000018d5: JUMPI 000018d6: PUSH1 0x40 000018d8: MLOAD 000018d9: PUSH3 0x461bcd 000018dd: PUSH1 0xe5 000018df: SHL 000018e0: DUP2 000018e1: MSTORE 000018e2: PUSH1 0x04 000018e4: ADD 000018e5: PUSH2 0x070d 000018e8: SWAP1 000018e9: PUSH2 0x1d68 000018ec: JUMP 000018ed: JUMPDEST 000018ee: PUSH2 0x0d18 000018f1: PUSH2 0x1932 000018f4: JUMP 000018f5: JUMPDEST 000018f6: PUSH1 0x00 000018f8: DUP3 000018f9: PUSH2 0x1902 000018fc: DUP6 000018fd: DUP5 000018fe: PUSH2 0x1962 00001901: JUMP 00001902: JUMPDEST 00001903: EQ 00001904: SWAP5 00001905: SWAP4 00001906: POP 00001907: POP 00001908: POP 00001909: POP 0000190a: JUMP 0000190b: JUMPDEST 0000190c: PUSH1 0x00 0000190e: SLOAD 0000190f: PUSH2 0x0100 00001912: SWAP1 00001913: DIV 00001914: PUSH1 0xff 00001916: AND 00001917: PUSH2 0x1891 0000191a: JUMPI 0000191b: PUSH1 0x40 0000191d: MLOAD 0000191e: PUSH3 0x461bcd 00001922: PUSH1 0xe5 00001924: SHL 00001925: DUP2 00001926: MSTORE 00001927: PUSH1 0x04 00001929: ADD 0000192a: PUSH2 0x070d 0000192d: SWAP1 0000192e: PUSH2 0x1d68 00001931: JUMP 00001932: JUMPDEST 00001933: PUSH1 0x00 00001935: SLOAD 00001936: PUSH2 0x0100 00001939: SWAP1 0000193a: DIV 0000193b: PUSH1 0xff 0000193d: AND 0000193e: PUSH2 0x1959 00001941: JUMPI 00001942: PUSH1 0x40 00001944: MLOAD 00001945: PUSH3 0x461bcd 00001949: PUSH1 0xe5 0000194b: SHL 0000194c: DUP2 0000194d: MSTORE 0000194e: PUSH1 0x04 00001950: ADD 00001951: PUSH2 0x070d 00001954: SWAP1 00001955: PUSH2 0x1d68 00001958: JUMP 00001959: JUMPDEST 0000195a: PUSH2 0x0d18 0000195d: CALLER 0000195e: PUSH2 0x17ce 00001961: JUMP 00001962: JUMPDEST 00001963: PUSH1 0x00 00001965: DUP2 00001966: DUP2 00001967: JUMPDEST 00001968: DUP5 00001969: MLOAD 0000196a: DUP2 0000196b: LT 0000196c: ISZERO 0000196d: PUSH2 0x0e91 00001970: JUMPI 00001971: PUSH2 0x1993 00001974: DUP3 00001975: DUP7 00001976: DUP4 00001977: DUP2 00001978: MLOAD 00001979: DUP2 0000197a: LT 0000197b: PUSH2 0x1986 0000197e: JUMPI 0000197f: PUSH2 0x1986 00001982: PUSH2 0x1d0f 00001985: JUMP 00001986: JUMPDEST 00001987: PUSH1 0x20 00001989: MUL 0000198a: PUSH1 0x20 0000198c: ADD 0000198d: ADD 0000198e: MLOAD 0000198f: PUSH2 0x19a7 00001992: JUMP 00001993: JUMPDEST 00001994: SWAP2 00001995: POP 00001996: DUP1 00001997: PUSH2 0x199f 0000199a: DUP2 0000199b: PUSH2 0x1d25 0000199e: JUMP 0000199f: JUMPDEST 000019a0: SWAP2 000019a1: POP 000019a2: POP 000019a3: PUSH2 0x1967 000019a6: JUMP 000019a7: JUMPDEST 000019a8: PUSH1 0x00 000019aa: DUP2 000019ab: DUP4 000019ac: LT 000019ad: PUSH2 0x19c3 000019b0: JUMPI 000019b1: PUSH1 0x00 000019b3: DUP3 000019b4: DUP2 000019b5: MSTORE 000019b6: PUSH1 0x20 000019b8: DUP5 000019b9: SWAP1 000019ba: MSTORE 000019bb: PUSH1 0x40 000019bd: SWAP1 000019be: KECCAK256 000019bf: PUSH2 0x1831 000019c2: JUMP 000019c3: JUMPDEST 000019c4: PUSH1 0x00 000019c6: DUP4 000019c7: DUP2 000019c8: MSTORE 000019c9: PUSH1 0x20 000019cb: DUP4 000019cc: SWAP1 000019cd: MSTORE 000019ce: PUSH1 0x40 000019d0: SWAP1 000019d1: KECCAK256 000019d2: PUSH2 0x1831 000019d5: JUMP 000019d6: JUMPDEST 000019d7: PUSH1 0x00 000019d9: PUSH1 0x20 000019db: DUP3 000019dc: DUP5 000019dd: SUB 000019de: SLT 000019df: ISZERO 000019e0: PUSH2 0x19e8 000019e3: JUMPI 000019e4: PUSH1 0x00 000019e6: DUP1 000019e7: REVERT 000019e8: JUMPDEST 000019e9: POP 000019ea: CALLDATALOAD 000019eb: SWAP2 000019ec: SWAP1 000019ed: POP 000019ee: JUMP 000019ef: JUMPDEST 000019f0: DUP1 000019f1: CALLDATALOAD 000019f2: PUSH1 0x01 000019f4: PUSH1 0x01 000019f6: PUSH1 0xa0 000019f8: SHL 000019f9: SUB 000019fa: DUP2 000019fb: AND 000019fc: DUP2 000019fd: EQ 000019fe: PUSH2 0x1a06 00001a01: JUMPI 00001a02: PUSH1 0x00 00001a04: DUP1 00001a05: REVERT 00001a06: JUMPDEST 00001a07: SWAP2 00001a08: SWAP1 00001a09: POP 00001a0a: JUMP 00001a0b: JUMPDEST 00001a0c: PUSH1 0x00 00001a0e: PUSH1 0x20 00001a10: DUP3 00001a11: DUP5 00001a12: SUB 00001a13: SLT 00001a14: ISZERO 00001a15: PUSH2 0x1a1d 00001a18: JUMPI 00001a19: PUSH1 0x00 00001a1b: DUP1 00001a1c: REVERT 00001a1d: JUMPDEST 00001a1e: PUSH2 0x1831 00001a21: DUP3 00001a22: PUSH2 0x19ef 00001a25: JUMP 00001a26: JUMPDEST 00001a27: PUSH1 0x00 00001a29: DUP2 00001a2a: MLOAD 00001a2b: DUP1 00001a2c: DUP5 00001a2d: MSTORE 00001a2e: PUSH1 0x20 00001a30: DUP1 00001a31: DUP6 00001a32: ADD 00001a33: SWAP5 00001a34: POP 00001a35: DUP1 00001a36: DUP5 00001a37: ADD 00001a38: PUSH1 0x00 00001a3a: JUMPDEST 00001a3b: DUP4 00001a3c: DUP2 00001a3d: LT 00001a3e: ISZERO 00001a3f: PUSH2 0x1a5f 00001a42: JUMPI 00001a43: DUP2 00001a44: MLOAD 00001a45: PUSH1 0x01 00001a47: PUSH1 0x01 00001a49: PUSH1 0xa0 00001a4b: SHL 00001a4c: SUB 00001a4d: AND 00001a4e: DUP8 00001a4f: MSTORE 00001a50: SWAP6 00001a51: DUP3 00001a52: ADD 00001a53: SWAP6 00001a54: SWAP1 00001a55: DUP3 00001a56: ADD 00001a57: SWAP1 00001a58: PUSH1 0x01 00001a5a: ADD 00001a5b: PUSH2 0x1a3a 00001a5e: JUMP 00001a5f: JUMPDEST 00001a60: POP 00001a61: SWAP5 00001a62: SWAP6 00001a63: SWAP5 00001a64: POP 00001a65: POP 00001a66: POP 00001a67: POP 00001a68: POP 00001a69: JUMP 00001a6a: JUMPDEST 00001a6b: PUSH1 0x40 00001a6d: DUP2 00001a6e: MSTORE 00001a6f: PUSH1 0x00 00001a71: PUSH2 0x1a7d 00001a74: PUSH1 0x40 00001a76: DUP4 00001a77: ADD 00001a78: DUP6 00001a79: PUSH2 0x1a26 00001a7c: JUMP 00001a7d: JUMPDEST 00001a7e: DUP3 00001a7f: DUP2 00001a80: SUB 00001a81: PUSH1 0x20 00001a83: DUP5 00001a84: DUP2 00001a85: ADD 00001a86: SWAP2 00001a87: SWAP1 00001a88: SWAP2 00001a89: MSTORE 00001a8a: DUP5 00001a8b: MLOAD 00001a8c: DUP1 00001a8d: DUP4 00001a8e: MSTORE 00001a8f: DUP6 00001a90: DUP3 00001a91: ADD 00001a92: SWAP3 00001a93: DUP3 00001a94: ADD 00001a95: SWAP1 00001a96: PUSH1 0x00 00001a98: JUMPDEST 00001a99: DUP2 00001a9a: DUP2 00001a9b: LT 00001a9c: ISZERO 00001a9d: PUSH2 0x1ab6 00001aa0: JUMPI 00001aa1: DUP5 00001aa2: MLOAD 00001aa3: ISZERO 00001aa4: ISZERO 00001aa5: DUP4 00001aa6: MSTORE 00001aa7: SWAP4 00001aa8: DUP4 00001aa9: ADD 00001aaa: SWAP4 00001aab: SWAP2 00001aac: DUP4 00001aad: ADD 00001aae: SWAP2 00001aaf: PUSH1 0x01 00001ab1: ADD 00001ab2: PUSH2 0x1a98 00001ab5: JUMP 00001ab6: JUMPDEST 00001ab7: POP 00001ab8: SWAP1 00001ab9: SWAP8 00001aba: SWAP7 00001abb: POP 00001abc: POP 00001abd: POP 00001abe: POP 00001abf: POP 00001ac0: POP 00001ac1: POP 00001ac2: JUMP 00001ac3: JUMPDEST 00001ac4: PUSH4 0x4e487b71 00001ac9: PUSH1 0xe0 00001acb: SHL 00001acc: PUSH1 0x00 00001ace: MSTORE 00001acf: PUSH1 0x21 00001ad1: PUSH1 0x04 00001ad3: MSTORE 00001ad4: PUSH1 0x24 00001ad6: PUSH1 0x00 00001ad8: REVERT 00001ad9: JUMPDEST 00001ada: PUSH1 0x20 00001adc: DUP2 00001add: ADD 00001ade: PUSH1 0x05 00001ae0: DUP4 00001ae1: LT 00001ae2: PUSH2 0x1afb 00001ae5: JUMPI 00001ae6: PUSH4 0x4e487b71 00001aeb: PUSH1 0xe0 00001aed: SHL 00001aee: PUSH1 0x00 00001af0: MSTORE 00001af1: PUSH1 0x21 00001af3: PUSH1 0x04 00001af5: MSTORE 00001af6: PUSH1 0x24 00001af8: PUSH1 0x00 00001afa: REVERT 00001afb: JUMPDEST 00001afc: SWAP2 00001afd: SWAP1 00001afe: MSTORE 00001aff: SWAP1 00001b00: JUMP 00001b01: JUMPDEST 00001b02: PUSH1 0x00 00001b04: DUP1 00001b05: PUSH1 0x40 00001b07: DUP4 00001b08: DUP6 00001b09: SUB 00001b0a: SLT 00001b0b: ISZERO 00001b0c: PUSH2 0x1b14 00001b0f: JUMPI 00001b10: PUSH1 0x00 00001b12: DUP1 00001b13: REVERT 00001b14: JUMPDEST 00001b15: POP 00001b16: POP 00001b17: DUP1 00001b18: CALLDATALOAD 00001b19: SWAP3 00001b1a: PUSH1 0x20 00001b1c: SWAP1 00001b1d: SWAP2 00001b1e: ADD 00001b1f: CALLDATALOAD 00001b20: SWAP2 00001b21: POP 00001b22: JUMP 00001b23: JUMPDEST 00001b24: PUSH1 0x20 00001b26: DUP2 00001b27: MSTORE 00001b28: PUSH1 0x00 00001b2a: PUSH2 0x1831 00001b2d: PUSH1 0x20 00001b2f: DUP4 00001b30: ADD 00001b31: DUP5 00001b32: PUSH2 0x1a26 00001b35: JUMP 00001b36: JUMPDEST 00001b37: PUSH1 0x00 00001b39: PUSH1 0x20 00001b3b: DUP3 00001b3c: DUP5 00001b3d: SUB 00001b3e: SLT 00001b3f: ISZERO 00001b40: PUSH2 0x1b48 00001b43: JUMPI 00001b44: PUSH1 0x00 00001b46: DUP1 00001b47: REVERT 00001b48: JUMPDEST 00001b49: DUP2 00001b4a: CALLDATALOAD 00001b4b: PUSH1 0xff 00001b4d: DUP2 00001b4e: AND 00001b4f: DUP2 00001b50: EQ 00001b51: PUSH2 0x1831 00001b54: JUMPI 00001b55: PUSH1 0x00 00001b57: DUP1 00001b58: REVERT 00001b59: JUMPDEST 00001b5a: PUSH1 0x20 00001b5c: DUP1 00001b5d: DUP3 00001b5e: MSTORE 00001b5f: DUP3 00001b60: MLOAD 00001b61: DUP3 00001b62: DUP3 00001b63: ADD 00001b64: DUP2 00001b65: SWAP1 00001b66: MSTORE 00001b67: PUSH1 0x00 00001b69: SWAP2 00001b6a: SWAP1 00001b6b: PUSH1 0x40 00001b6d: SWAP1 00001b6e: DUP2 00001b6f: DUP6 00001b70: ADD 00001b71: SWAP1 00001b72: DUP7 00001b73: DUP5 00001b74: ADD 00001b75: DUP6 00001b76: JUMPDEST 00001b77: DUP3 00001b78: DUP2 00001b79: LT 00001b7a: ISZERO 00001b7b: PUSH2 0x1bd1 00001b7e: JUMPI 00001b7f: DUP2 00001b80: MLOAD 00001b81: DUP1 00001b82: MLOAD 00001b83: ISZERO 00001b84: ISZERO 00001b85: DUP6 00001b86: MSTORE 00001b87: DUP7 00001b88: DUP2 00001b89: ADD 00001b8a: MLOAD 00001b8b: PUSH1 0x01 00001b8d: PUSH1 0x01 00001b8f: PUSH1 0xa0 00001b91: SHL 00001b92: SUB 00001b93: AND 00001b94: DUP8 00001b95: DUP7 00001b96: ADD 00001b97: MSTORE 00001b98: DUP6 00001b99: DUP2 00001b9a: ADD 00001b9b: MLOAD 00001b9c: DUP7 00001b9d: DUP7 00001b9e: ADD 00001b9f: MSTORE 00001ba0: PUSH1 0x60 00001ba2: DUP1 00001ba3: DUP3 00001ba4: ADD 00001ba5: MLOAD 00001ba6: PUSH4 0xffffffff 00001bab: SWAP1 00001bac: DUP2 00001bad: AND 00001bae: SWAP2 00001baf: DUP8 00001bb0: ADD 00001bb1: SWAP2 00001bb2: SWAP1 00001bb3: SWAP2 00001bb4: MSTORE 00001bb5: PUSH1 0x80 00001bb7: SWAP2 00001bb8: DUP3 00001bb9: ADD 00001bba: MLOAD 00001bbb: AND 00001bbc: SWAP1 00001bbd: DUP6 00001bbe: ADD 00001bbf: MSTORE 00001bc0: PUSH1 0xa0 00001bc2: SWAP1 00001bc3: SWAP4 00001bc4: ADD 00001bc5: SWAP3 00001bc6: SWAP1 00001bc7: DUP6 00001bc8: ADD 00001bc9: SWAP1 00001bca: PUSH1 0x01 00001bcc: ADD 00001bcd: PUSH2 0x1b76 00001bd0: JUMP 00001bd1: JUMPDEST 00001bd2: POP 00001bd3: SWAP2 00001bd4: SWAP8 00001bd5: SWAP7 00001bd6: POP 00001bd7: POP 00001bd8: POP 00001bd9: POP 00001bda: POP 00001bdb: POP 00001bdc: POP 00001bdd: JUMP 00001bde: JUMPDEST 00001bdf: PUSH1 0x00 00001be1: DUP1 00001be2: DUP4 00001be3: PUSH1 0x1f 00001be5: DUP5 00001be6: ADD 00001be7: SLT 00001be8: PUSH2 0x1bf0 00001beb: JUMPI 00001bec: PUSH1 0x00 00001bee: DUP1 00001bef: REVERT 00001bf0: JUMPDEST 00001bf1: POP 00001bf2: DUP2 00001bf3: CALLDATALOAD 00001bf4: PUSH8 0xffffffffffffffff 00001bfd: DUP2 00001bfe: GT 00001bff: ISZERO 00001c00: PUSH2 0x1c08 00001c03: JUMPI 00001c04: PUSH1 0x00 00001c06: DUP1 00001c07: REVERT 00001c08: JUMPDEST 00001c09: PUSH1 0x20 00001c0b: DUP4 00001c0c: ADD 00001c0d: SWAP2 00001c0e: POP 00001c0f: DUP4 00001c10: PUSH1 0x20 00001c12: DUP3 00001c13: PUSH1 0x05 00001c15: SHL 00001c16: DUP6 00001c17: ADD 00001c18: ADD 00001c19: GT 00001c1a: ISZERO 00001c1b: PUSH2 0x1c23 00001c1e: JUMPI 00001c1f: PUSH1 0x00 00001c21: DUP1 00001c22: REVERT 00001c23: JUMPDEST 00001c24: SWAP3 00001c25: POP 00001c26: SWAP3 00001c27: SWAP1 00001c28: POP 00001c29: JUMP 00001c2a: JUMPDEST 00001c2b: PUSH1 0x00 00001c2d: DUP1 00001c2e: PUSH1 0x00 00001c30: PUSH1 0x40 00001c32: DUP5 00001c33: DUP7 00001c34: SUB 00001c35: SLT 00001c36: ISZERO 00001c37: PUSH2 0x1c3f 00001c3a: JUMPI 00001c3b: PUSH1 0x00 00001c3d: DUP1 00001c3e: REVERT 00001c3f: JUMPDEST 00001c40: DUP4 00001c41: CALLDATALOAD 00001c42: PUSH8 0xffffffffffffffff 00001c4b: DUP2 00001c4c: GT 00001c4d: ISZERO 00001c4e: PUSH2 0x1c56 00001c51: JUMPI 00001c52: PUSH1 0x00 00001c54: DUP1 00001c55: REVERT 00001c56: JUMPDEST 00001c57: PUSH2 0x1c62 00001c5a: DUP7 00001c5b: DUP3 00001c5c: DUP8 00001c5d: ADD 00001c5e: PUSH2 0x1bde 00001c61: JUMP 00001c62: JUMPDEST 00001c63: SWAP1 00001c64: SWAP8 00001c65: SWAP1 00001c66: SWAP7 00001c67: POP 00001c68: PUSH1 0x20 00001c6a: SWAP6 00001c6b: SWAP1 00001c6c: SWAP6 00001c6d: ADD 00001c6e: CALLDATALOAD 00001c6f: SWAP5 00001c70: SWAP4 00001c71: POP 00001c72: POP 00001c73: POP 00001c74: POP 00001c75: JUMP 00001c76: JUMPDEST 00001c77: PUSH1 0x00 00001c79: DUP1 00001c7a: PUSH1 0x00 00001c7c: DUP1 00001c7d: PUSH1 0x60 00001c7f: DUP6 00001c80: DUP8 00001c81: SUB 00001c82: SLT 00001c83: ISZERO 00001c84: PUSH2 0x1c8c 00001c87: JUMPI 00001c88: PUSH1 0x00 00001c8a: DUP1 00001c8b: REVERT 00001c8c: JUMPDEST 00001c8d: PUSH2 0x1c95 00001c90: DUP6 00001c91: PUSH2 0x19ef 00001c94: JUMP 00001c95: JUMPDEST 00001c96: SWAP4 00001c97: POP 00001c98: PUSH1 0x20 00001c9a: DUP6 00001c9b: ADD 00001c9c: CALLDATALOAD 00001c9d: PUSH8 0xffffffffffffffff 00001ca6: DUP2 00001ca7: GT 00001ca8: ISZERO 00001ca9: PUSH2 0x1cb1 00001cac: JUMPI 00001cad: PUSH1 0x00 00001caf: DUP1 00001cb0: REVERT 00001cb1: JUMPDEST 00001cb2: PUSH2 0x1cbd 00001cb5: DUP8 00001cb6: DUP3 00001cb7: DUP9 00001cb8: ADD 00001cb9: PUSH2 0x1bde 00001cbc: JUMP 00001cbd: JUMPDEST 00001cbe: SWAP6 00001cbf: SWAP9 00001cc0: SWAP1 00001cc1: SWAP8 00001cc2: POP 00001cc3: SWAP5 00001cc4: SWAP6 00001cc5: PUSH1 0x40 00001cc7: ADD 00001cc8: CALLDATALOAD 00001cc9: SWAP5 00001cca: SWAP4 00001ccb: POP 00001ccc: POP 00001ccd: POP 00001cce: POP 00001ccf: JUMP 00001cd0: JUMPDEST 00001cd1: PUSH4 0x4e487b71 00001cd6: PUSH1 0xe0 00001cd8: SHL 00001cd9: PUSH1 0x00 00001cdb: MSTORE 00001cdc: PUSH1 0x11 00001cde: PUSH1 0x04 00001ce0: MSTORE 00001ce1: PUSH1 0x24 00001ce3: PUSH1 0x00 00001ce5: REVERT 00001ce6: JUMPDEST 00001ce7: DUP1 00001ce8: DUP3 00001ce9: ADD 00001cea: DUP1 00001ceb: DUP3 00001cec: GT 00001ced: ISZERO 00001cee: PUSH2 0x0e95 00001cf1: JUMPI 00001cf2: PUSH2 0x0e95 00001cf5: PUSH2 0x1cd0 00001cf8: JUMP 00001cf9: JUMPDEST 00001cfa: PUSH4 0x4e487b71 00001cff: PUSH1 0xe0 00001d01: SHL 00001d02: PUSH1 0x00 00001d04: MSTORE 00001d05: PUSH1 0x41 00001d07: PUSH1 0x04 00001d09: MSTORE 00001d0a: PUSH1 0x24 00001d0c: PUSH1 0x00 00001d0e: REVERT 00001d0f: JUMPDEST 00001d10: PUSH4 0x4e487b71 00001d15: PUSH1 0xe0 00001d17: SHL 00001d18: PUSH1 0x00 00001d1a: MSTORE 00001d1b: PUSH1 0x32 00001d1d: PUSH1 0x04 00001d1f: MSTORE 00001d20: PUSH1 0x24 00001d22: PUSH1 0x00 00001d24: REVERT 00001d25: JUMPDEST 00001d26: PUSH1 0x00 00001d28: PUSH1 0x01 00001d2a: DUP3 00001d2b: ADD 00001d2c: PUSH2 0x1d37 00001d2f: JUMPI 00001d30: PUSH2 0x1d37 00001d33: PUSH2 0x1cd0 00001d36: JUMP 00001d37: JUMPDEST 00001d38: POP 00001d39: PUSH1 0x01 00001d3b: ADD 00001d3c: SWAP1 00001d3d: JUMP 00001d3e: JUMPDEST 00001d3f: DUP1 00001d40: DUP3 00001d41: MUL 00001d42: DUP2 00001d43: ISZERO 00001d44: DUP3 00001d45: DUP3 00001d46: DIV 00001d47: DUP5 00001d48: EQ 00001d49: OR 00001d4a: PUSH2 0x0e95 00001d4d: JUMPI 00001d4e: PUSH2 0x0e95 00001d51: PUSH2 0x1cd0 00001d54: JUMP 00001d55: JUMPDEST 00001d56: DUP2 00001d57: DUP2 00001d58: SUB 00001d59: DUP2 00001d5a: DUP2 00001d5b: GT 00001d5c: ISZERO 00001d5d: PUSH2 0x0e95 00001d60: JUMPI 00001d61: PUSH2 0x0e95 00001d64: PUSH2 0x1cd0 00001d67: JUMP 00001d68: JUMPDEST 00001d69: PUSH1 0x20 00001d6b: DUP1 00001d6c: DUP3 00001d6d: MSTORE 00001d6e: PUSH1 0x2b 00001d70: SWAP1 00001d71: DUP3 00001d72: ADD 00001d73: MSTORE 00001d74: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069 00001d95: PUSH1 0x40 00001d97: DUP3 00001d98: ADD 00001d99: MSTORE 00001d9a: PUSH11 0x6e697469616c697a696e67 00001da6: PUSH1 0xa8 00001da8: SHL 00001da9: PUSH1 0x60 00001dab: DUP3 00001dac: ADD 00001dad: MSTORE 00001dae: PUSH1 0x80 00001db0: ADD 00001db1: SWAP1 00001db2: JUMP 00001db3: INVALID 00001db4: LOG2 00001db5: PUSH5 0x6970667358 00001dbb: UNKNOWN(0x22) 00001dbc: SLT 00001dbd: KECCAK256 00001dbe: UNKNOWN(0x25) 00001dbf: UNKNOWN(0xAD) 00001dc0: SLOAD 00001dc1: UNKNOWN(0xDA) 00001dc2: UNKNOWN(0xAF) 00001dc3: DUP10 00001dc4: UNKNOWN(0xDF) 00001dc5: UNKNOWN(0xAC) 00001dc6: KECCAK256 00001dc7: SGT 00001dc8: UNKNOWN(0x26) 00001dc9: OR 00001dca: STOP 00001dcb: UNKNOWN(0x26) 00001dcc: UNKNOWN(0x21) 00001dcd: UNKNOWN(0xC3) 00001dce: MUL 00001dcf: PUSH6 0x2c398c7c8c44 00001dd6: UNKNOWN(0xBF) 00001dd7: UNKNOWN(0x1F) 00001dd8: CALLDATASIZE 00001dd9: GASLIMIT 00001dda: PUSH3 0x4155f5 00001dde: PUSH5 0x736f6c6343 00001de4: STOP 00001de5: ADDMOD 00001de6: SGT 00001de7: STOP 00001de8: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x1de6a4f6a2d4ce26b7c242912a1d7c099533384b9559e611b9f397d15b002deb
call_targets:
0x5d7b782ec34cae8b38a56c1a3487337583178466
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x1de6a4f6a2d4ce26b7c242912a1d7c099533384b9559e611b9f397d15b002deb",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x5d7b782ec34cae8b38a56c1a3487337583178466"
],
"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": "0xcff29dfd",
"selector": "0xcff29dfd",
"calldata_variants": [
"0xcff29dfd",
"0xcff29dfd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd4b156e9",
"selector": "0xd4b156e9",
"calldata_variants": [
"0xd4b156e9",
"0xd4b156e90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe6ba4a18",
"selector": "0xe6ba4a18",
"calldata_variants": [
"0xe6ba4a18",
"0xe6ba4a180000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe961928e",
"selector": "0xe961928e",
"calldata_variants": [
"0xe961928e",
"0xe961928e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb81c78ec",
"selector": "0xb81c78ec",
"calldata_variants": [
"0xb81c78ec",
"0xb81c78ec0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb9ea2fc4",
"selector": "0xb9ea2fc4",
"calldata_variants": [
"0xb9ea2fc4",
"0xb9ea2fc40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbb55f25c",
"selector": "0xbb55f25c",
"calldata_variants": [
"0xbb55f25c",
"0xbb55f25c0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 5976,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 1,
"guards_detected": [],
"untrusted_call_count": 1
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x1de6a4f6a2d4ce26b7c242912a1d7c099533384b9559e611b9f397d15b002deb
call_targets:
0x5d7b782ec34cae8b38a56c1a3487337583178466
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x1de6a4f6a2d4ce26b7c242912a1d7c099533384b9559e611b9f397d15b002deb",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x5d7b782ec34cae8b38a56c1a3487337583178466"
],
"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": "0xcff29dfd",
"selector": "0xcff29dfd",
"calldata_variants": [
"0xcff29dfd",
"0xcff29dfd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd4b156e9",
"selector": "0xd4b156e9",
"calldata_variants": [
"0xd4b156e9",
"0xd4b156e90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe6ba4a18",
"selector": "0xe6ba4a18",
"calldata_variants": [
"0xe6ba4a18",
"0xe6ba4a180000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe961928e",
"selector": "0xe961928e",
"calldata_variants": [
"0xe961928e",
"0xe961928e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb81c78ec",
"selector": "0xb81c78ec",
"calldata_variants": [
"0xb81c78ec",
"0xb81c78ec0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb9ea2fc4",
"selector": "0xb9ea2fc4",
"calldata_variants": [
"0xb9ea2fc4",
"0xb9ea2fc40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbb55f25c",
"selector": "0xbb55f25c",
"calldata_variants": [
"0xbb55f25c",
"0xbb55f25c0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 5976,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 1,
"guards_detected": []
}
|
| medium | math | codex | Incorrect withdrawal accounting enables repeated sales withdrawals after sales changes | 75 | no | — |
viewevidence_json{
"evidence": "withdrawed is set to available (remaining) instead of being accumulated, which becomes exploitable if sales is later increased.",
"locations": [
"contracts/BlindAuction.sol:268",
"contracts/BlindAuction.sol:269",
"contracts/BlindAuction.sol:270",
"contracts/BlindAuction.sol:326",
"contracts/BlindAuction.sol:321"
],
"recommendation": "Track cumulative withdrawals: set `withdrawed += available` (or `withdrawed = sales` after transfer), and freeze `finalPrice`/`wonBiddedItems` once withdrawals begin or after bidding ends.",
"exploit_scenario": "Owner calls withdrawSales once (withdrawed = sales). Later increases finalPrice or wonBiddedItems so sales grows. Because withdrawed is reset to available instead of accumulated, each subsequent withdrawSales call continues to return the same available amount, allowing repeated withdrawals until the contract balance is drained (reducing funds needed for refunds)."
}
|
| low | access_control | codex | Admin can bypass refund guarantees via arbitrary state and price changes | 65 | no | — |
viewevidence_json{
"evidence": "Critical parameters and state are mutable at any time by the owner, and withdrawAll only checks auctionState which the owner can set arbitrarily.",
"locations": [
"contracts/BlindAuction.sol:277",
"contracts/BlindAuction.sol:278",
"contracts/BlindAuction.sol:335",
"contracts/BlindAuction.sol:336",
"contracts/BlindAuction.sol:321",
"contracts/BlindAuction.sol:326"
],
"recommendation": "Enforce monotonic state transitions and freeze finalPrice/wonBiddedItems once bidding ends or refunds start; allow withdrawAll only after refunds are completed or after a defined deadline.",
"exploit_scenario": "Owner can set auctionState to REFUND_ENDED at any time and call withdrawAll, draining all funds before users refund. Owner can also change finalPrice or wonBiddedItems after refunds start, causing some refunds to revert or to be underpaid compared to earlier refunds."
}
|