019bb377-6977-7248-ab58-bc41dc632e0d
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 |
|---|---|---|---|---|
| 39776 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 39777 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 39778 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 39779 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 39780 | capability.graph | complete | 1 / 3 | 3 months ago |
| 39781 | detector.run | complete | 1 / 3 | 3 months ago |
| 39782 | validation.fork | complete | 1 / 3 | 3 months ago |
| 39940 | report.consolidate | complete | 1 / 6 | 3 months ago |
| 39941 | 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-a_2wzvxo)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-a_2wzvxo)
'forge' returned non-zero exit code 1
Error: Encountered invalid solc version in lib/openzeppelin-contracts/contracts/access/Ownable.sol: No solc version exists that matches the version requirement: ^0.8.20
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-a_2wzvxo/out/build-info is not a directory.
{"no_findings":false,"summary":"Owner can arbitrarily control raffle randomness, and the raffle can become permanently un-runnable when remaining supply is zero or exceeds tickets, locking user funds/refunds.","findings":[{"severity":"high","category":"math","title":"Raffle can permanently revert when remainingURS is zero or exceeds totalTickets, locking tickets and refunds","exploit_scenario":"If VIP/pass minting exhausts supply (remainingURS == 0) or overall ticket sales are below remaining supply (totalTickets < remainingURS), runRaffle computes slotSize = totalTickets / remainingURS as 0 or divides by zero and then reverts on modulo. Because raffleNumber is never set, users cannot call calculateMyResult and never receive refunds or mint allocations. An attacker with enough passes could intentionally exhaust supply before the public ticket phase, causing subsequent ticket buyers to be permanently stuck.","recommendation":"Guard against remainingURS == 0 and totalTickets < remainingURS. Enforce limits in takingTickets or runRaffle, or add a cancellation/refund path when demand is insufficient. Consider setting a safe slotSize (e.g., 1) or reverting ticket sales when no supply remains.","evidence":"slotSize and offsetInSlot are computed from totalTickets/remainingURS without checking remainingURS or ensuring slotSize > 0; calculateMyResult requires raffleNumber to be set.","locations":["contracts/URSStore.sol:192","contracts/URSStore.sol:215","contracts/URSStore.sol:223","contracts/URSStore.sol:224","contracts/URSStore.sol:300"]},{"severity":"medium","category":"oracle","title":"Owner-controlled raffle number enables deterministic winner selection","exploit_scenario":"The owner sets raffleNumber at any time after ticket sales, with no commitment or external randomness. This allows the owner to choose a raffleNumber that favors specific ticket indices (including their own), undermining fairness and enabling manipulation of winners.","recommendation":"Use a commit-reveal scheme or an external randomness oracle (e.g., Chainlink VRF) with a binding that prevents the owner from selecting the final value after seeing ticket distribution.","evidence":"raffleNumber is set directly by onlyOwner with no entropy or commitment mechanism.","locations":["contracts/URSStore.sol:215","contracts/URSStore.sol:218"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-f27joe90
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bb37d-af27-7912-8f03-be92c0092a41
--------
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 instructions**
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-f27joe90 succeeded in 5ms:
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/URSStore.sol
================================================================================
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/access/Ownable.sol";
interface Factory {
function mint(address) external;
}
interface Pass {
function balanceOf(address) external view returns (uint256);
}
contract URSStore is Ownable {
thinking
**Analyzing contract arithmetic and logic vulnerabilities**
I’m auditing the only file for vulnerabilities, focusing on arithmetic errors like division by zero when totalTickets is less than remainingURS, which causes raffle functions to revert and lock funds. There’s also concern about the owner-controlled randomness enabling oracle manipulation, refund transfer risks causing possible denial-of-service, and a design flaw allowing users to buy tickets when supply is exhausted, leading to locked funds. I’m examining minting order and external calls for reentrancy possibilities and verifying access control and accounting invariants to identify exploitability.
exec
/bin/bash -lc 'nl -ba contracts/URSStore.sol' in /tmp/codex-f27joe90 succeeded in 12ms:
1 // SPDX-License-Identifier: MIT
2 pragma solidity ^0.8.0;
3
4 import "@openzeppelin/contracts/access/Ownable.sol";
5
6 interface Factory {
7 function mint(address) external;
8 }
9
10 interface Pass {
11 function balanceOf(address) external view returns (uint256);
12 }
13
14 contract URSStore is Ownable {
15 Pass public constant pass =
16 Pass(0xe0e19Aa07cb819664001adFFeA6a176A75897899);
17 Factory public constant ursFactory =
18 Factory(0x08f0B2A4351514E63E9E03A661aDFe58D463CfBc);
19
20 /**
thinking
**Summarizing raffle vulnerabilities**
I'm identifying two main issues: owner-controlled randomness enables unfair winner selection, and a division-by-zero bug can permanently lock user funds if ticket supply conditions aren't met. I'll detail exploit scenarios, categorize severity and type, and propose mitigations with specific code locations before crafting the JSON output accordingly.
codex
{"no_findings":false,"summary":"Owner can arbitrarily control raffle randomness, and the raffle can become permanently un-runnable when remaining supply is zero or exceeds tickets, locking user funds/refunds.","findings":[{"severity":"high","category":"math","title":"Raffle can permanently revert when remainingURS is zero or exceeds totalTickets, locking tickets and refunds","exploit_scenario":"If VIP/pass minting exhausts supply (remainingURS == 0) or overall ticket sales are below remaining supply (totalTickets < remainingURS), runRaffle computes slotSize = totalTickets / remainingURS as 0 or divides by zero and then reverts on modulo. Because raffleNumber is never set, users cannot call calculateMyResult and never receive refunds or mint allocations. An attacker with enough passes could intentionally exhaust supply before the public ticket phase, causing subsequent ticket buyers to be permanently stuck.","recommendation":"Guard against remainingURS == 0 and totalTickets < remainingURS. Enforce limits in takingTickets or runRaffle, or add a cancellation/refund path when demand is insufficient. Consider setting a safe slotSize (e.g., 1) or reverting ticket sales when no supply remains.","evidence":"slotSize and offsetInSlot are computed from totalTickets/remainingURS without checking remainingURS or ensuring slotSize > 0; calculateMyResult requires raffleNumber to be set.","locations":["contracts/URSStore.sol:192","contracts/URSStore.sol:215","contracts/URSStore.sol:223","contracts/URSStore.sol:224","contracts/URSStore.sol:300"]},{"severity":"medium","category":"oracle","title":"Owner-controlled raffle number enables deterministic winner selection","exploit_scenario":"The owner sets raffleNumber at any time after ticket sales, with no commitment or external randomness. This allows the owner to choose a raffleNumber that favors specific ticket indices (including their own), undermining fairness and enabling manipulation of winners.","recommendation":"Use a commit-reveal scheme or an external randomness oracle (e.g., Chainlink VRF) with a binding that prevents the owner from selecting the final value after seeing ticket distribution.","evidence":"raffleNumber is set directly by onlyOwner with no entropy or commitment mechanism.","locations":["contracts/URSStore.sol:215","contracts/URSStore.sol:218"]}]}
tokens used
17,504
{
"codex": {
"ran_at": "2026-01-12T18:37:03.800891+00:00",
"returncode": 0
},
"project": {
"mode": "source",
"file_count": 3,
"import_count": 2,
"first_party_contracts_count": 1
},
"summary": "Owner can arbitrarily control raffle randomness, and the raffle can become permanently un-runnable when remaining supply is zero or exceeds tickets, locking user funds/refunds.",
"raw_final": {
"summary": "Owner can arbitrarily control raffle randomness, and the raffle can become permanently un-runnable when remaining supply is zero or exceeds tickets, locking user funds/refunds.",
"findings": [
{
"title": "Raffle can permanently revert when remainingURS is zero or exceeds totalTickets, locking tickets and refunds",
"category": "math",
"evidence": "slotSize and offsetInSlot are computed from totalTickets/remainingURS without checking remainingURS or ensuring slotSize > 0; calculateMyResult requires raffleNumber to be set.",
"severity": "high",
"locations": [
"contracts/URSStore.sol:192",
"contracts/URSStore.sol:215",
"contracts/URSStore.sol:223",
"contracts/URSStore.sol:224",
"contracts/URSStore.sol:300"
],
"recommendation": "Guard against remainingURS == 0 and totalTickets < remainingURS. Enforce limits in takingTickets or runRaffle, or add a cancellation/refund path when demand is insufficient. Consider setting a safe slotSize (e.g., 1) or reverting ticket sales when no supply remains.",
"exploit_scenario": "If VIP/pass minting exhausts supply (remainingURS == 0) or overall ticket sales are below remaining supply (totalTickets < remainingURS), runRaffle computes slotSize = totalTickets / remainingURS as 0 or divides by zero and then reverts on modulo. Because raffleNumber is never set, users cannot call calculateMyResult and never receive refunds or mint allocations. An attacker with enough passes could intentionally exhaust supply before the public ticket phase, causing subsequent ticket buyers to be permanently stuck."
},
{
"title": "Owner-controlled raffle number enables deterministic winner selection",
"category": "oracle",
"evidence": "raffleNumber is set directly by onlyOwner with no entropy or commitment mechanism.",
"severity": "medium",
"locations": [
"contracts/URSStore.sol:215",
"contracts/URSStore.sol:218"
],
"recommendation": "Use a commit-reveal scheme or an external randomness oracle (e.g., Chainlink VRF) with a binding that prevents the owner from selecting the final value after seeing ticket distribution.",
"exploit_scenario": "The owner sets raffleNumber at any time after ticket sales, with no commitment or external randomness. This allows the owner to choose a raffleNumber that favors specific ticket indices (including their own), undermining fairness and enabling manipulation of winners."
}
],
"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 0x01d8 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x969f0172 00000019: GT 0000001a: PUSH2 0x0102 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xe56d3db8 00000024: GT 00000025: PUSH2 0x0095 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xf23e1fd2 0000002f: GT 00000030: PUSH2 0x0064 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xf23e1fd2 0000003a: EQ 0000003b: PUSH2 0x052d 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xf26d3117 00000045: EQ 00000046: PUSH2 0x0542 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xf2fde38b 00000050: EQ 00000051: PUSH2 0x0557 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xfd23492a 0000005b: EQ 0000005c: PUSH2 0x0577 0000005f: JUMPI 00000060: PUSH1 0x00 00000062: DUP1 00000063: REVERT 00000064: JUMPDEST 00000065: DUP1 00000066: PUSH4 0xe56d3db8 0000006b: EQ 0000006c: PUSH2 0x04c4 0000006f: JUMPI 00000070: DUP1 00000071: PUSH4 0xee69ef92 00000076: EQ 00000077: PUSH2 0x04d9 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0xf09703ca 00000081: EQ 00000082: PUSH2 0x0501 00000085: JUMPI 00000086: DUP1 00000087: PUSH4 0xf1dbc1c6 0000008c: EQ 0000008d: PUSH2 0x0517 00000090: JUMPI 00000091: PUSH1 0x00 00000093: DUP1 00000094: REVERT 00000095: JUMPDEST 00000096: DUP1 00000097: PUSH4 0xdd11247e 0000009c: GT 0000009d: PUSH2 0x00d1 000000a0: JUMPI 000000a1: DUP1 000000a2: PUSH4 0xdd11247e 000000a7: EQ 000000a8: PUSH2 0x046d 000000ab: JUMPI 000000ac: DUP1 000000ad: PUSH4 0xde7fcb1d 000000b2: EQ 000000b3: PUSH2 0x0483 000000b6: JUMPI 000000b7: DUP1 000000b8: PUSH4 0xe01dca9c 000000bd: EQ 000000be: PUSH2 0x0498 000000c1: JUMPI 000000c2: DUP1 000000c3: PUSH4 0xe06699ad 000000c8: EQ 000000c9: PUSH2 0x04ae 000000cc: JUMPI 000000cd: PUSH1 0x00 000000cf: DUP1 000000d0: REVERT 000000d1: JUMPDEST 000000d2: DUP1 000000d3: PUSH4 0x969f0172 000000d8: EQ 000000d9: PUSH2 0x03fc 000000dc: JUMPI 000000dd: DUP1 000000de: PUSH4 0xa7a1ed72 000000e3: EQ 000000e4: PUSH2 0x0412 000000e7: JUMPI 000000e8: DUP1 000000e9: PUSH4 0xc041de1f 000000ee: EQ 000000ef: PUSH2 0x043a 000000f2: JUMPI 000000f3: DUP1 000000f4: PUSH4 0xd17aade4 000000f9: EQ 000000fa: PUSH2 0x044d 000000fd: JUMPI 000000fe: PUSH1 0x00 00000100: DUP1 00000101: REVERT 00000102: JUMPDEST 00000103: DUP1 00000104: PUSH4 0x4fdecd25 00000109: GT 0000010a: PUSH2 0x017a 0000010d: JUMPI 0000010e: DUP1 0000010f: PUSH4 0x628a0cf8 00000114: GT 00000115: PUSH2 0x0149 00000118: JUMPI 00000119: DUP1 0000011a: PUSH4 0x628a0cf8 0000011f: EQ 00000120: PUSH2 0x0372 00000123: JUMPI 00000124: DUP1 00000125: PUSH4 0x715018a6 0000012a: EQ 0000012b: PUSH2 0x0388 0000012e: JUMPI 0000012f: DUP1 00000130: PUSH4 0x857b7916 00000135: EQ 00000136: PUSH2 0x039d 00000139: JUMPI 0000013a: DUP1 0000013b: PUSH4 0x8da5cb5b 00000140: EQ 00000141: PUSH2 0x03ca 00000144: JUMPI 00000145: PUSH1 0x00 00000147: DUP1 00000148: REVERT 00000149: JUMPDEST 0000014a: DUP1 0000014b: PUSH4 0x4fdecd25 00000150: EQ 00000151: PUSH2 0x02d5 00000154: JUMPI 00000155: DUP1 00000156: PUSH4 0x51cff8d9 0000015b: EQ 0000015c: PUSH2 0x02eb 0000015f: JUMPI 00000160: DUP1 00000161: PUSH4 0x5609cc4c 00000166: EQ 00000167: PUSH2 0x030b 0000016a: JUMPI 0000016b: DUP1 0000016c: PUSH4 0x623c4047 00000171: EQ 00000172: PUSH2 0x0321 00000175: JUMPI 00000176: PUSH1 0x00 00000178: DUP1 00000179: REVERT 0000017a: JUMPDEST 0000017b: DUP1 0000017c: PUSH4 0x1d527dc3 00000181: GT 00000182: PUSH2 0x01b6 00000185: JUMPI 00000186: DUP1 00000187: PUSH4 0x1d527dc3 0000018c: EQ 0000018d: PUSH2 0x0237 00000190: JUMPI 00000191: DUP1 00000192: PUSH4 0x1f322afe 00000197: EQ 00000198: PUSH2 0x0257 0000019b: JUMPI 0000019c: DUP1 0000019d: PUSH4 0x31657926 000001a2: EQ 000001a3: PUSH2 0x026c 000001a6: JUMPI 000001a7: DUP1 000001a8: PUSH4 0x3f91da31 000001ad: EQ 000001ae: PUSH2 0x02b5 000001b1: JUMPI 000001b2: PUSH1 0x00 000001b4: DUP1 000001b5: REVERT 000001b6: JUMPDEST 000001b7: DUP1 000001b8: PUSH4 0x0e696ece 000001bd: EQ 000001be: PUSH2 0x01dd 000001c1: JUMPI 000001c2: DUP1 000001c3: PUSH4 0x1209b1f6 000001c8: EQ 000001c9: PUSH2 0x01f2 000001cc: JUMPI 000001cd: DUP1 000001ce: PUSH4 0x13b228ec 000001d3: EQ 000001d4: PUSH2 0x0221 000001d7: JUMPI 000001d8: JUMPDEST 000001d9: PUSH1 0x00 000001db: DUP1 000001dc: REVERT 000001dd: JUMPDEST 000001de: PUSH2 0x01f0 000001e1: PUSH2 0x01eb 000001e4: CALLDATASIZE 000001e5: PUSH1 0x04 000001e7: PUSH2 0x17e9 000001ea: JUMP 000001eb: JUMPDEST 000001ec: PUSH2 0x058e 000001ef: JUMP 000001f0: JUMPDEST 000001f1: STOP 000001f2: JUMPDEST 000001f3: CALLVALUE 000001f4: DUP1 000001f5: ISZERO 000001f6: PUSH2 0x01fe 000001f9: JUMPI 000001fa: PUSH1 0x00 000001fc: DUP1 000001fd: REVERT 000001fe: JUMPDEST 000001ff: POP 00000200: PUSH2 0x020e 00000203: PUSH8 0x011c37937e080000 0000020c: DUP2 0000020d: JUMP 0000020e: JUMPDEST 0000020f: PUSH1 0x40 00000211: MLOAD 00000212: SWAP1 00000213: DUP2 00000214: MSTORE 00000215: PUSH1 0x20 00000217: ADD 00000218: JUMPDEST 00000219: PUSH1 0x40 0000021b: MLOAD 0000021c: DUP1 0000021d: SWAP2 0000021e: SUB 0000021f: SWAP1 00000220: RETURN 00000221: JUMPDEST 00000222: CALLVALUE 00000223: DUP1 00000224: ISZERO 00000225: PUSH2 0x022d 00000228: JUMPI 00000229: PUSH1 0x00 0000022b: DUP1 0000022c: REVERT 0000022d: JUMPDEST 0000022e: POP 0000022f: PUSH2 0x020e 00000232: PUSH1 0x04 00000234: SLOAD 00000235: DUP2 00000236: JUMP 00000237: JUMPDEST 00000238: CALLVALUE 00000239: DUP1 0000023a: ISZERO 0000023b: PUSH2 0x0243 0000023e: JUMPI 0000023f: PUSH1 0x00 00000241: DUP1 00000242: REVERT 00000243: JUMPDEST 00000244: POP 00000245: PUSH2 0x01f0 00000248: PUSH2 0x0252 0000024b: CALLDATASIZE 0000024c: PUSH1 0x04 0000024e: PUSH2 0x17e9 00000251: JUMP 00000252: JUMPDEST 00000253: PUSH2 0x07ec 00000256: JUMP 00000257: JUMPDEST 00000258: CALLVALUE 00000259: DUP1 0000025a: ISZERO 0000025b: PUSH2 0x0263 0000025e: JUMPI 0000025f: PUSH1 0x00 00000261: DUP1 00000262: REVERT 00000263: JUMPDEST 00000264: POP 00000265: PUSH2 0x020e 00000268: PUSH1 0x32 0000026a: DUP2 0000026b: JUMP 0000026c: JUMPDEST 0000026d: CALLVALUE 0000026e: DUP1 0000026f: ISZERO 00000270: PUSH2 0x0278 00000273: JUMPI 00000274: PUSH1 0x00 00000276: DUP1 00000277: REVERT 00000278: JUMPDEST 00000279: POP 0000027a: PUSH2 0x02a0 0000027d: PUSH2 0x0287 00000280: CALLDATASIZE 00000281: PUSH1 0x04 00000283: PUSH2 0x16ff 00000286: JUMP 00000287: JUMPDEST 00000288: PUSH1 0x06 0000028a: PUSH1 0x20 0000028c: MSTORE 0000028d: PUSH1 0x00 0000028f: SWAP1 00000290: DUP2 00000291: MSTORE 00000292: PUSH1 0x40 00000294: SWAP1 00000295: KECCAK256 00000296: DUP1 00000297: SLOAD 00000298: PUSH1 0x01 0000029a: SWAP1 0000029b: SWAP2 0000029c: ADD 0000029d: SLOAD 0000029e: DUP3 0000029f: JUMP 000002a0: JUMPDEST 000002a1: PUSH1 0x40 000002a3: DUP1 000002a4: MLOAD 000002a5: SWAP3 000002a6: DUP4 000002a7: MSTORE 000002a8: PUSH1 0x20 000002aa: DUP4 000002ab: ADD 000002ac: SWAP2 000002ad: SWAP1 000002ae: SWAP2 000002af: MSTORE 000002b0: ADD 000002b1: PUSH2 0x0218 000002b4: JUMP 000002b5: JUMPDEST 000002b6: CALLVALUE 000002b7: DUP1 000002b8: ISZERO 000002b9: PUSH2 0x02c1 000002bc: JUMPI 000002bd: PUSH1 0x00 000002bf: DUP1 000002c0: REVERT 000002c1: JUMPDEST 000002c2: POP 000002c3: PUSH2 0x01f0 000002c6: PUSH2 0x02d0 000002c9: CALLDATASIZE 000002ca: PUSH1 0x04 000002cc: PUSH2 0x17e9 000002cf: JUMP 000002d0: JUMPDEST 000002d1: PUSH2 0x0903 000002d4: JUMP 000002d5: JUMPDEST 000002d6: CALLVALUE 000002d7: DUP1 000002d8: ISZERO 000002d9: PUSH2 0x02e1 000002dc: JUMPI 000002dd: PUSH1 0x00 000002df: DUP1 000002e0: REVERT 000002e1: JUMPDEST 000002e2: POP 000002e3: PUSH2 0x020e 000002e6: PUSH2 0x2710 000002e9: DUP2 000002ea: JUMP 000002eb: JUMPDEST 000002ec: CALLVALUE 000002ed: DUP1 000002ee: ISZERO 000002ef: PUSH2 0x02f7 000002f2: JUMPI 000002f3: PUSH1 0x00 000002f5: DUP1 000002f6: REVERT 000002f7: JUMPDEST 000002f8: POP 000002f9: PUSH2 0x01f0 000002fc: PUSH2 0x0306 000002ff: CALLDATASIZE 00000300: PUSH1 0x04 00000302: PUSH2 0x16ff 00000305: JUMP 00000306: JUMPDEST 00000307: PUSH2 0x0968 0000030a: JUMP 0000030b: JUMPDEST 0000030c: CALLVALUE 0000030d: DUP1 0000030e: ISZERO 0000030f: PUSH2 0x0317 00000312: JUMPI 00000313: PUSH1 0x00 00000315: DUP1 00000316: REVERT 00000317: JUMPDEST 00000318: POP 00000319: PUSH2 0x020e 0000031c: PUSH1 0x02 0000031e: SLOAD 0000031f: DUP2 00000320: JUMP 00000321: JUMPDEST 00000322: CALLVALUE 00000323: DUP1 00000324: ISZERO 00000325: PUSH2 0x032d 00000328: JUMPI 00000329: PUSH1 0x00 0000032b: DUP1 0000032c: REVERT 0000032d: JUMPDEST 0000032e: POP 0000032f: PUSH2 0x035b 00000332: PUSH2 0x033c 00000335: CALLDATASIZE 00000336: PUSH1 0x04 00000338: PUSH2 0x16ff 0000033b: JUMP 0000033c: JUMPDEST 0000033d: PUSH1 0x0b 0000033f: PUSH1 0x20 00000341: MSTORE 00000342: PUSH1 0x00 00000344: SWAP1 00000345: DUP2 00000346: MSTORE 00000347: PUSH1 0x40 00000349: SWAP1 0000034a: KECCAK256 0000034b: DUP1 0000034c: SLOAD 0000034d: PUSH1 0x01 0000034f: SWAP1 00000350: SWAP2 00000351: ADD 00000352: SLOAD 00000353: PUSH1 0xff 00000355: SWAP1 00000356: SWAP2 00000357: AND 00000358: SWAP1 00000359: DUP3 0000035a: JUMP 0000035b: JUMPDEST 0000035c: PUSH1 0x40 0000035e: DUP1 0000035f: MLOAD 00000360: SWAP3 00000361: ISZERO 00000362: ISZERO 00000363: DUP4 00000364: MSTORE 00000365: PUSH1 0x20 00000367: DUP4 00000368: ADD 00000369: SWAP2 0000036a: SWAP1 0000036b: SWAP2 0000036c: MSTORE 0000036d: ADD 0000036e: PUSH2 0x0218 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 0x020e 00000383: PUSH1 0x09 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 0x01f0 00000399: PUSH2 0x0b1b 0000039c: JUMP 0000039d: JUMPDEST 0000039e: CALLVALUE 0000039f: DUP1 000003a0: ISZERO 000003a1: PUSH2 0x03a9 000003a4: JUMPI 000003a5: PUSH1 0x00 000003a7: DUP1 000003a8: REVERT 000003a9: JUMPDEST 000003aa: POP 000003ab: PUSH2 0x020e 000003ae: PUSH2 0x03b8 000003b1: CALLDATASIZE 000003b2: PUSH1 0x04 000003b4: PUSH2 0x16ff 000003b7: JUMP 000003b8: JUMPDEST 000003b9: PUSH1 0x03 000003bb: PUSH1 0x20 000003bd: MSTORE 000003be: PUSH1 0x00 000003c0: SWAP1 000003c1: DUP2 000003c2: MSTORE 000003c3: PUSH1 0x40 000003c5: SWAP1 000003c6: KECCAK256 000003c7: SLOAD 000003c8: DUP2 000003c9: JUMP 000003ca: JUMPDEST 000003cb: CALLVALUE 000003cc: DUP1 000003cd: ISZERO 000003ce: PUSH2 0x03d6 000003d1: JUMPI 000003d2: PUSH1 0x00 000003d4: DUP1 000003d5: REVERT 000003d6: JUMPDEST 000003d7: POP 000003d8: PUSH1 0x00 000003da: SLOAD 000003db: PUSH1 0x01 000003dd: PUSH1 0x01 000003df: PUSH1 0xa0 000003e1: SHL 000003e2: SUB 000003e3: AND 000003e4: JUMPDEST 000003e5: PUSH1 0x40 000003e7: MLOAD 000003e8: PUSH1 0x01 000003ea: PUSH1 0x01 000003ec: PUSH1 0xa0 000003ee: SHL 000003ef: SUB 000003f0: SWAP1 000003f1: SWAP2 000003f2: AND 000003f3: DUP2 000003f4: MSTORE 000003f5: PUSH1 0x20 000003f7: ADD 000003f8: PUSH2 0x0218 000003fb: JUMP 000003fc: JUMPDEST 000003fd: CALLVALUE 000003fe: DUP1 000003ff: ISZERO 00000400: PUSH2 0x0408 00000403: JUMPI 00000404: PUSH1 0x00 00000406: DUP1 00000407: REVERT 00000408: JUMPDEST 00000409: POP 0000040a: PUSH2 0x020e 0000040d: PUSH2 0x7e90 00000410: DUP2 00000411: JUMP 00000412: JUMPDEST 00000413: CALLVALUE 00000414: DUP1 00000415: ISZERO 00000416: PUSH2 0x041e 00000419: JUMPI 0000041a: PUSH1 0x00 0000041c: DUP1 0000041d: REVERT 0000041e: JUMPDEST 0000041f: POP 00000420: PUSH2 0x03e4 00000423: PUSH20 0xe0e19aa07cb819664001adffea6a176a75897899 00000438: DUP2 00000439: JUMP 0000043a: JUMPDEST 0000043b: PUSH2 0x01f0 0000043e: PUSH2 0x0448 00000441: CALLDATASIZE 00000442: PUSH1 0x04 00000444: PUSH2 0x17e9 00000447: JUMP 00000448: JUMPDEST 00000449: PUSH2 0x0b51 0000044c: JUMP 0000044d: JUMPDEST 0000044e: CALLVALUE 0000044f: DUP1 00000450: ISZERO 00000451: PUSH2 0x0459 00000454: JUMPI 00000455: PUSH1 0x00 00000457: DUP1 00000458: REVERT 00000459: JUMPDEST 0000045a: POP 0000045b: PUSH2 0x01f0 0000045e: PUSH2 0x0468 00000461: CALLDATASIZE 00000462: PUSH1 0x04 00000464: PUSH2 0x1722 00000467: JUMP 00000468: JUMPDEST 00000469: PUSH2 0x0f2e 0000046c: JUMP 0000046d: JUMPDEST 0000046e: CALLVALUE 0000046f: DUP1 00000470: ISZERO 00000471: PUSH2 0x0479 00000474: JUMPI 00000475: PUSH1 0x00 00000477: DUP1 00000478: REVERT 00000479: JUMPDEST 0000047a: POP 0000047b: PUSH2 0x020e 0000047e: PUSH1 0x05 00000480: SLOAD 00000481: DUP2 00000482: JUMP 00000483: JUMPDEST 00000484: CALLVALUE 00000485: DUP1 00000486: ISZERO 00000487: PUSH2 0x048f 0000048a: JUMPI 0000048b: PUSH1 0x00 0000048d: DUP1 0000048e: REVERT 0000048f: JUMPDEST 00000490: POP 00000491: PUSH2 0x020e 00000494: PUSH1 0x1e 00000496: DUP2 00000497: JUMP 00000498: JUMPDEST 00000499: CALLVALUE 0000049a: DUP1 0000049b: ISZERO 0000049c: PUSH2 0x04a4 0000049f: JUMPI 000004a0: PUSH1 0x00 000004a2: DUP1 000004a3: REVERT 000004a4: JUMPDEST 000004a5: POP 000004a6: PUSH2 0x020e 000004a9: PUSH1 0x08 000004ab: SLOAD 000004ac: DUP2 000004ad: JUMP 000004ae: JUMPDEST 000004af: CALLVALUE 000004b0: DUP1 000004b1: ISZERO 000004b2: PUSH2 0x04ba 000004b5: JUMPI 000004b6: PUSH1 0x00 000004b8: DUP1 000004b9: REVERT 000004ba: JUMPDEST 000004bb: POP 000004bc: PUSH2 0x020e 000004bf: PUSH1 0x01 000004c1: SLOAD 000004c2: DUP2 000004c3: JUMP 000004c4: JUMPDEST 000004c5: CALLVALUE 000004c6: DUP1 000004c7: ISZERO 000004c8: PUSH2 0x04d0 000004cb: JUMPI 000004cc: PUSH1 0x00 000004ce: DUP1 000004cf: REVERT 000004d0: JUMPDEST 000004d1: POP 000004d2: PUSH2 0x01f0 000004d5: PUSH2 0x1198 000004d8: JUMP 000004d9: JUMPDEST 000004da: CALLVALUE 000004db: DUP1 000004dc: ISZERO 000004dd: PUSH2 0x04e5 000004e0: JUMPI 000004e1: PUSH1 0x00 000004e3: DUP1 000004e4: REVERT 000004e5: JUMPDEST 000004e6: POP 000004e7: PUSH2 0x03e4 000004ea: PUSH20 0x08f0b2a4351514e63e9e03a661adfe58d463cfbc 000004ff: DUP2 00000500: JUMP 00000501: JUMPDEST 00000502: CALLVALUE 00000503: DUP1 00000504: ISZERO 00000505: PUSH2 0x050d 00000508: JUMPI 00000509: PUSH1 0x00 0000050b: DUP1 0000050c: REVERT 0000050d: JUMPDEST 0000050e: POP 0000050f: PUSH2 0x020e 00000512: PUSH1 0x07 00000514: SLOAD 00000515: DUP2 00000516: JUMP 00000517: JUMPDEST 00000518: CALLVALUE 00000519: DUP1 0000051a: ISZERO 0000051b: PUSH2 0x0523 0000051e: JUMPI 0000051f: PUSH1 0x00 00000521: DUP1 00000522: REVERT 00000523: JUMPDEST 00000524: POP 00000525: PUSH2 0x020e 00000528: PUSH1 0x0a 0000052a: SLOAD 0000052b: DUP2 0000052c: JUMP 0000052d: JUMPDEST 0000052e: CALLVALUE 0000052f: DUP1 00000530: ISZERO 00000531: PUSH2 0x0539 00000534: JUMPI 00000535: PUSH1 0x00 00000537: DUP1 00000538: REVERT 00000539: JUMPDEST 0000053a: POP 0000053b: PUSH2 0x01f0 0000053e: PUSH2 0x1339 00000541: JUMP 00000542: JUMPDEST 00000543: CALLVALUE 00000544: DUP1 00000545: ISZERO 00000546: PUSH2 0x054e 00000549: JUMPI 0000054a: PUSH1 0x00 0000054c: DUP1 0000054d: REVERT 0000054e: JUMPDEST 0000054f: POP 00000550: PUSH2 0x020e 00000553: PUSH1 0x05 00000555: DUP2 00000556: JUMP 00000557: JUMPDEST 00000558: CALLVALUE 00000559: DUP1 0000055a: ISZERO 0000055b: PUSH2 0x0563 0000055e: JUMPI 0000055f: PUSH1 0x00 00000561: DUP1 00000562: REVERT 00000563: JUMPDEST 00000564: POP 00000565: PUSH2 0x01f0 00000568: PUSH2 0x0572 0000056b: CALLDATASIZE 0000056c: PUSH1 0x04 0000056e: PUSH2 0x16ff 00000571: JUMP 00000572: JUMPDEST 00000573: PUSH2 0x14ce 00000576: JUMP 00000577: JUMPDEST 00000578: CALLVALUE 00000579: DUP1 0000057a: ISZERO 0000057b: PUSH2 0x0583 0000057e: JUMPI 0000057f: PUSH1 0x00 00000581: DUP1 00000582: REVERT 00000583: JUMPDEST 00000584: POP 00000585: PUSH2 0x020e 00000588: PUSH3 0x015180 0000058c: DUP2 0000058d: JUMP 0000058e: JUMPDEST 0000058f: PUSH2 0x7e90 00000592: PUSH1 0x04 00000594: SLOAD 00000595: PUSH2 0x059e 00000598: SWAP2 00000599: SWAP1 0000059a: PUSH2 0x188f 0000059d: JUMP 0000059e: JUMPDEST 0000059f: TIMESTAMP 000005a0: LT 000005a1: ISZERO 000005a2: PUSH2 0x05e8 000005a5: JUMPI 000005a6: PUSH1 0x40 000005a8: MLOAD 000005a9: PUSH3 0x461bcd 000005ad: PUSH1 0xe5 000005af: SHL 000005b0: DUP2 000005b1: MSTORE 000005b2: PUSH1 0x20 000005b4: PUSH1 0x04 000005b6: DUP3 000005b7: ADD 000005b8: MSTORE 000005b9: PUSH1 0x13 000005bb: PUSH1 0x24 000005bd: DUP3 000005be: ADD 000005bf: MSTORE 000005c0: PUSH19 0x14dd1bdc99481a5cc81b9bdd081bdc195b9959 000005d4: PUSH1 0x6a 000005d6: SHL 000005d7: PUSH1 0x44 000005d9: DUP3 000005da: ADD 000005db: MSTORE 000005dc: PUSH1 0x64 000005de: ADD 000005df: JUMPDEST 000005e0: PUSH1 0x40 000005e2: MLOAD 000005e3: DUP1 000005e4: SWAP2 000005e5: SUB 000005e6: SWAP1 000005e7: REVERT 000005e8: JUMPDEST 000005e9: PUSH3 0x015180 000005ed: PUSH2 0x7e90 000005f0: PUSH1 0x04 000005f2: SLOAD 000005f3: PUSH2 0x05fc 000005f6: SWAP2 000005f7: SWAP1 000005f8: PUSH2 0x188f 000005fb: JUMP 000005fc: JUMPDEST 000005fd: PUSH2 0x0606 00000600: SWAP2 00000601: SWAP1 00000602: PUSH2 0x188f 00000605: JUMP 00000606: JUMPDEST 00000607: TIMESTAMP 00000608: LT 00000609: PUSH2 0x0646 0000060c: JUMPI 0000060d: PUSH1 0x40 0000060f: MLOAD 00000610: PUSH3 0x461bcd 00000614: PUSH1 0xe5 00000616: SHL 00000617: DUP2 00000618: MSTORE 00000619: PUSH1 0x20 0000061b: PUSH1 0x04 0000061d: DUP3 0000061e: ADD 0000061f: MSTORE 00000620: PUSH1 0x0f 00000622: PUSH1 0x24 00000624: DUP3 00000625: ADD 00000626: MSTORE 00000627: PUSH15 0x14dd1bdc99481a5cc818db1bdcd959 00000637: PUSH1 0x8a 00000639: SHL 0000063a: PUSH1 0x44 0000063c: DUP3 0000063d: ADD 0000063e: MSTORE 0000063f: PUSH1 0x64 00000641: ADD 00000642: PUSH2 0x05df 00000645: JUMP 00000646: JUMPDEST 00000647: PUSH1 0x00 00000649: DUP2 0000064a: GT 0000064b: PUSH2 0x0696 0000064e: JUMPI 0000064f: PUSH1 0x40 00000651: MLOAD 00000652: PUSH3 0x461bcd 00000656: PUSH1 0xe5 00000658: SHL 00000659: DUP2 0000065a: MSTORE 0000065b: PUSH1 0x20 0000065d: PUSH1 0x04 0000065f: DUP3 00000660: ADD 00000661: MSTORE 00000662: PUSH1 0x1f 00000664: PUSH1 0x24 00000666: DUP3 00000667: ADD 00000668: MSTORE 00000669: PUSH32 0x4e65656420746f2074616b65207469636b6574206d6f7265207468616e203000 0000068a: PUSH1 0x44 0000068c: DUP3 0000068d: ADD 0000068e: MSTORE 0000068f: PUSH1 0x64 00000691: ADD 00000692: PUSH2 0x05df 00000695: JUMP 00000696: JUMPDEST 00000697: CALLER 00000698: PUSH1 0x00 0000069a: SWAP1 0000069b: DUP2 0000069c: MSTORE 0000069d: PUSH1 0x06 0000069f: PUSH1 0x20 000006a1: MSTORE 000006a2: PUSH1 0x40 000006a4: SWAP1 000006a5: KECCAK256 000006a6: PUSH1 0x01 000006a8: DUP2 000006a9: ADD 000006aa: SLOAD 000006ab: ISZERO 000006ac: PUSH2 0x06ec 000006af: JUMPI 000006b0: PUSH1 0x40 000006b2: MLOAD 000006b3: PUSH3 0x461bcd 000006b7: PUSH1 0xe5 000006b9: SHL 000006ba: DUP2 000006bb: MSTORE 000006bc: PUSH1 0x20 000006be: PUSH1 0x04 000006c0: DUP3 000006c1: ADD 000006c2: MSTORE 000006c3: PUSH1 0x12 000006c5: PUSH1 0x24 000006c7: DUP3 000006c8: ADD 000006c9: MSTORE 000006ca: PUSH18 0x105b1c9958591e481c9959da5cdd195c9959 000006dd: PUSH1 0x72 000006df: SHL 000006e0: PUSH1 0x44 000006e2: DUP3 000006e3: ADD 000006e4: MSTORE 000006e5: PUSH1 0x64 000006e7: ADD 000006e8: PUSH2 0x05df 000006eb: JUMP 000006ec: JUMPDEST 000006ed: PUSH1 0x00 000006ef: PUSH2 0x0700 000006f2: DUP4 000006f3: PUSH8 0x011c37937e080000 000006fc: PUSH2 0x18bb 000006ff: JUMP 00000700: JUMPDEST 00000701: SWAP1 00000702: POP 00000703: CALLVALUE 00000704: DUP2 00000705: GT 00000706: ISZERO 00000707: PUSH2 0x0745 0000070a: JUMPI 0000070b: PUSH1 0x40 0000070d: MLOAD 0000070e: PUSH3 0x461bcd 00000712: PUSH1 0xe5 00000714: SHL 00000715: DUP2 00000716: MSTORE 00000717: PUSH1 0x20 00000719: PUSH1 0x04 0000071b: DUP3 0000071c: ADD 0000071d: MSTORE 0000071e: PUSH1 0x10 00000720: PUSH1 0x24 00000722: DUP3 00000723: ADD 00000724: MSTORE 00000725: PUSH16 0x4e6f7420656e6f756768206d6f6e6579 00000736: PUSH1 0x80 00000738: SHL 00000739: PUSH1 0x44 0000073b: DUP3 0000073c: ADD 0000073d: MSTORE 0000073e: PUSH1 0x64 00000740: ADD 00000741: PUSH2 0x05df 00000744: JUMP 00000745: JUMPDEST 00000746: PUSH1 0x05 00000748: DUP1 00000749: SLOAD 0000074a: DUP4 0000074b: SSTORE 0000074c: PUSH1 0x01 0000074e: DUP4 0000074f: ADD 00000750: DUP5 00000751: SWAP1 00000752: SSTORE 00000753: SLOAD 00000754: PUSH2 0x075e 00000757: SWAP1 00000758: DUP5 00000759: SWAP1 0000075a: PUSH2 0x188f 0000075d: JUMP 0000075e: JUMPDEST 0000075f: PUSH1 0x05 00000761: SSTORE 00000762: PUSH1 0x00 00000764: PUSH2 0x076d 00000767: DUP3 00000768: CALLVALUE 00000769: PUSH2 0x18da 0000076c: JUMP 0000076d: JUMPDEST 0000076e: PUSH1 0x40 00000770: DUP1 00000771: MLOAD 00000772: CALLER 00000773: DUP2 00000774: MSTORE 00000775: PUSH1 0x20 00000777: DUP2 00000778: ADD 00000779: DUP8 0000077a: SWAP1 0000077b: MSTORE 0000077c: SWAP1 0000077d: DUP2 0000077e: ADD 0000077f: DUP3 00000780: SWAP1 00000781: MSTORE 00000782: SWAP1 00000783: SWAP2 00000784: POP 00000785: PUSH32 0x6192e5b79064affb67b5a129ebac18695dbad1247983304d927ebc3800ffe895 000007a6: SWAP1 000007a7: PUSH1 0x60 000007a9: ADD 000007aa: PUSH1 0x40 000007ac: MLOAD 000007ad: DUP1 000007ae: SWAP2 000007af: SUB 000007b0: SWAP1 000007b1: LOG1 000007b2: DUP1 000007b3: ISZERO 000007b4: PUSH2 0x07e6 000007b7: JUMPI 000007b8: PUSH1 0x40 000007ba: MLOAD 000007bb: CALLER 000007bc: SWAP1 000007bd: DUP3 000007be: ISZERO 000007bf: PUSH2 0x08fc 000007c2: MUL 000007c3: SWAP1 000007c4: DUP4 000007c5: SWAP1 000007c6: PUSH1 0x00 000007c8: DUP2 000007c9: DUP2 000007ca: DUP2 000007cb: DUP6 000007cc: DUP9 000007cd: DUP9 000007ce: CALL 000007cf: SWAP4 000007d0: POP 000007d1: POP 000007d2: POP 000007d3: POP 000007d4: ISZERO 000007d5: DUP1 000007d6: ISZERO 000007d7: PUSH2 0x07e4 000007da: JUMPI 000007db: RETURNDATASIZE 000007dc: PUSH1 0x00 000007de: DUP1 000007df: RETURNDATACOPY 000007e0: RETURNDATASIZE 000007e1: PUSH1 0x00 000007e3: REVERT 000007e4: JUMPDEST 000007e5: POP 000007e6: JUMPDEST 000007e7: POP 000007e8: POP 000007e9: POP 000007ea: POP 000007eb: JUMP 000007ec: JUMPDEST 000007ed: PUSH1 0x00 000007ef: SLOAD 000007f0: PUSH1 0x01 000007f2: PUSH1 0x01 000007f4: PUSH1 0xa0 000007f6: SHL 000007f7: SUB 000007f8: AND 000007f9: CALLER 000007fa: EQ 000007fb: PUSH2 0x0816 000007fe: JUMPI 000007ff: PUSH1 0x40 00000801: MLOAD 00000802: PUSH3 0x461bcd 00000806: PUSH1 0xe5 00000808: SHL 00000809: DUP2 0000080a: MSTORE 0000080b: PUSH1 0x04 0000080d: ADD 0000080e: PUSH2 0x05df 00000811: SWAP1 00000812: PUSH2 0x1819 00000815: JUMP 00000816: JUMPDEST 00000817: PUSH1 0x07 00000819: SLOAD 0000081a: ISZERO 0000081b: PUSH2 0x0866 0000081e: JUMPI 0000081f: PUSH1 0x40 00000821: MLOAD 00000822: PUSH3 0x461bcd 00000826: PUSH1 0xe5 00000828: SHL 00000829: DUP2 0000082a: MSTORE 0000082b: PUSH1 0x20 0000082d: PUSH1 0x04 0000082f: DUP3 00000830: ADD 00000831: MSTORE 00000832: PUSH1 0x1c 00000834: PUSH1 0x24 00000836: DUP3 00000837: ADD 00000838: MSTORE 00000839: PUSH32 0x726166666c65206e756d62657220697320616c72656164792073657400000000 0000085a: PUSH1 0x44 0000085c: DUP3 0000085d: ADD 0000085e: MSTORE 0000085f: PUSH1 0x64 00000861: ADD 00000862: PUSH2 0x05df 00000865: JUMP 00000866: JUMPDEST 00000867: PUSH1 0x07 00000869: DUP2 0000086a: SWAP1 0000086b: SSTORE 0000086c: PUSH1 0x02 0000086e: SLOAD 0000086f: PUSH1 0x01 00000871: SLOAD 00000872: PUSH1 0x00 00000874: SWAP2 00000875: SWAP1 00000876: PUSH2 0x0881 00000879: SWAP1 0000087a: PUSH2 0x2710 0000087d: PUSH2 0x18da 00000880: JUMP 00000881: JUMPDEST 00000882: PUSH2 0x088b 00000885: SWAP2 00000886: SWAP1 00000887: PUSH2 0x18da 0000088a: JUMP 0000088b: JUMPDEST 0000088c: SWAP1 0000088d: POP 0000088e: DUP1 0000088f: PUSH1 0x05 00000891: SLOAD 00000892: PUSH2 0x089b 00000895: SWAP2 00000896: SWAP1 00000897: PUSH2 0x18a7 0000089a: JUMP 0000089b: JUMPDEST 0000089c: PUSH1 0x09 0000089e: DUP2 0000089f: SWAP1 000008a0: SSTORE 000008a1: PUSH2 0x08aa 000008a4: SWAP1 000008a5: DUP4 000008a6: PUSH2 0x190c 000008a9: JUMP 000008aa: JUMPDEST 000008ab: PUSH1 0x08 000008ad: SSTORE 000008ae: PUSH1 0x09 000008b0: SLOAD 000008b1: PUSH1 0x01 000008b3: SWAP1 000008b4: PUSH2 0x08be 000008b7: SWAP1 000008b8: DUP4 000008b9: SWAP1 000008ba: PUSH2 0x18bb 000008bd: JUMP 000008be: JUMPDEST 000008bf: PUSH2 0x08c8 000008c2: SWAP2 000008c3: SWAP1 000008c4: PUSH2 0x18da 000008c7: JUMP 000008c8: JUMPDEST 000008c9: PUSH1 0x0a 000008cb: SSTORE 000008cc: PUSH1 0x40 000008ce: MLOAD 000008cf: DUP3 000008d0: DUP2 000008d1: MSTORE 000008d2: PUSH32 0xf4293f5394ce7317abe45cfb7dae5a7e2f8c7efeaae1022b2667da672a88708a 000008f3: SWAP1 000008f4: PUSH1 0x20 000008f6: ADD 000008f7: JUMPDEST 000008f8: PUSH1 0x40 000008fa: MLOAD 000008fb: DUP1 000008fc: SWAP2 000008fd: SUB 000008fe: SWAP1 000008ff: LOG1 00000900: POP 00000901: POP 00000902: JUMP 00000903: JUMPDEST 00000904: PUSH1 0x00 00000906: SLOAD 00000907: PUSH1 0x01 00000909: PUSH1 0x01 0000090b: PUSH1 0xa0 0000090d: SHL 0000090e: SUB 0000090f: AND 00000910: CALLER 00000911: EQ 00000912: PUSH2 0x092d 00000915: JUMPI 00000916: PUSH1 0x40 00000918: MLOAD 00000919: PUSH3 0x461bcd 0000091d: PUSH1 0xe5 0000091f: SHL 00000920: DUP2 00000921: MSTORE 00000922: PUSH1 0x04 00000924: ADD 00000925: PUSH2 0x05df 00000928: SWAP1 00000929: PUSH2 0x1819 0000092c: JUMP 0000092d: JUMPDEST 0000092e: PUSH1 0x04 00000930: DUP2 00000931: SWAP1 00000932: SSTORE 00000933: PUSH1 0x40 00000935: MLOAD 00000936: DUP2 00000937: DUP2 00000938: MSTORE 00000939: PUSH32 0x370ed5694aff8260b2113acb4c27c8f7e4e4576e89d9dc173a696c70228eda57 0000095a: SWAP1 0000095b: PUSH1 0x20 0000095d: ADD 0000095e: PUSH1 0x40 00000960: MLOAD 00000961: DUP1 00000962: SWAP2 00000963: SUB 00000964: SWAP1 00000965: LOG1 00000966: POP 00000967: JUMP 00000968: JUMPDEST 00000969: PUSH1 0x00 0000096b: SLOAD 0000096c: PUSH1 0x01 0000096e: PUSH1 0x01 00000970: PUSH1 0xa0 00000972: SHL 00000973: SUB 00000974: AND 00000975: CALLER 00000976: EQ 00000977: PUSH2 0x0992 0000097a: JUMPI 0000097b: PUSH1 0x40 0000097d: MLOAD 0000097e: PUSH3 0x461bcd 00000982: PUSH1 0xe5 00000984: SHL 00000985: DUP2 00000986: MSTORE 00000987: PUSH1 0x04 00000989: ADD 0000098a: PUSH2 0x05df 0000098d: SWAP1 0000098e: PUSH2 0x1819 00000991: JUMP 00000992: JUMPDEST 00000993: PUSH1 0x01 00000995: PUSH1 0x01 00000997: PUSH1 0xa0 00000999: SHL 0000099a: SUB 0000099b: DUP2 0000099c: AND 0000099d: PUSH2 0x09b8 000009a0: JUMPI 000009a1: PUSH1 0x40 000009a3: MLOAD 000009a4: PUSH3 0x461bcd 000009a8: PUSH1 0xe5 000009aa: SHL 000009ab: DUP2 000009ac: MSTORE 000009ad: PUSH1 0x04 000009af: ADD 000009b0: PUSH2 0x05df 000009b3: SWAP1 000009b4: PUSH2 0x184e 000009b7: JUMP 000009b8: JUMPDEST 000009b9: PUSH1 0x00 000009bb: SLOAD 000009bc: PUSH1 0x01 000009be: PUSH1 0xa0 000009c0: SHL 000009c1: SWAP1 000009c2: DIV 000009c3: PUSH1 0xff 000009c5: AND 000009c6: ISZERO 000009c7: PUSH2 0x0a04 000009ca: JUMPI 000009cb: PUSH1 0x40 000009cd: MLOAD 000009ce: PUSH3 0x461bcd 000009d2: PUSH1 0xe5 000009d4: SHL 000009d5: DUP2 000009d6: MSTORE 000009d7: PUSH1 0x20 000009d9: PUSH1 0x04 000009db: DUP3 000009dc: ADD 000009dd: MSTORE 000009de: PUSH1 0x0f 000009e0: PUSH1 0x24 000009e2: DUP3 000009e3: ADD 000009e4: MSTORE 000009e5: PUSH15 0x105b1c9958591e4818db185a5b5959 000009f5: PUSH1 0x8a 000009f7: SHL 000009f8: PUSH1 0x44 000009fa: DUP3 000009fb: ADD 000009fc: MSTORE 000009fd: PUSH1 0x64 000009ff: ADD 00000a00: PUSH2 0x05df 00000a03: JUMP 00000a04: JUMPDEST 00000a05: PUSH1 0x02 00000a07: SLOAD 00000a08: PUSH1 0x05 00000a0a: SLOAD 00000a0b: PUSH2 0x0a14 00000a0e: SWAP2 00000a0f: SWAP1 00000a10: PUSH2 0x188f 00000a13: JUMP 00000a14: JUMPDEST 00000a15: PUSH2 0x0a21 00000a18: PUSH1 0x32 00000a1a: PUSH2 0x2710 00000a1d: PUSH2 0x18da 00000a20: JUMP 00000a21: JUMPDEST 00000a22: GT 00000a23: ISZERO 00000a24: PUSH2 0x0a6f 00000a27: JUMPI 00000a28: PUSH1 0x40 00000a2a: MLOAD 00000a2b: PUSH3 0x461bcd 00000a2f: PUSH1 0xe5 00000a31: SHL 00000a32: DUP2 00000a33: MSTORE 00000a34: PUSH1 0x20 00000a36: PUSH1 0x04 00000a38: DUP3 00000a39: ADD 00000a3a: MSTORE 00000a3b: PUSH1 0x1f 00000a3d: PUSH1 0x24 00000a3f: DUP3 00000a40: ADD 00000a41: MSTORE 00000a42: PUSH32 0x4e6f7420656e6f756768206574686572732061726520636f6c6c656374656400 00000a63: PUSH1 0x44 00000a65: DUP3 00000a66: ADD 00000a67: MSTORE 00000a68: PUSH1 0x64 00000a6a: ADD 00000a6b: PUSH2 0x05df 00000a6e: JUMP 00000a6f: JUMPDEST 00000a70: PUSH1 0x00 00000a72: PUSH2 0x0a7e 00000a75: PUSH1 0x32 00000a77: PUSH2 0x2710 00000a7a: PUSH2 0x18da 00000a7d: JUMP 00000a7e: JUMPDEST 00000a7f: PUSH2 0x0a90 00000a82: SWAP1 00000a83: PUSH8 0x011c37937e080000 00000a8c: PUSH2 0x18bb 00000a8f: JUMP 00000a90: JUMPDEST 00000a91: PUSH1 0x40 00000a93: MLOAD 00000a94: PUSH1 0x01 00000a96: PUSH1 0x01 00000a98: PUSH1 0xa0 00000a9a: SHL 00000a9b: SUB 00000a9c: DUP5 00000a9d: AND 00000a9e: DUP2 00000a9f: MSTORE 00000aa0: SWAP1 00000aa1: SWAP2 00000aa2: POP 00000aa3: PUSH32 0xf67611512e0a2d90c96fd3f08dca4971bc45fba9dc679eabe839a32abbe58a8e 00000ac4: SWAP1 00000ac5: PUSH1 0x20 00000ac7: ADD 00000ac8: PUSH1 0x40 00000aca: MLOAD 00000acb: DUP1 00000acc: SWAP2 00000acd: SUB 00000ace: SWAP1 00000acf: LOG1 00000ad0: PUSH1 0x00 00000ad2: DUP1 00000ad3: SLOAD 00000ad4: PUSH1 0xff 00000ad6: PUSH1 0xa0 00000ad8: SHL 00000ad9: NOT 00000ada: AND 00000adb: PUSH1 0x01 00000add: PUSH1 0xa0 00000adf: SHL 00000ae0: OR 00000ae1: DUP2 00000ae2: SSTORE 00000ae3: PUSH1 0x40 00000ae5: MLOAD 00000ae6: PUSH1 0x01 00000ae8: PUSH1 0x01 00000aea: PUSH1 0xa0 00000aec: SHL 00000aed: SUB 00000aee: DUP5 00000aef: AND 00000af0: SWAP2 00000af1: DUP4 00000af2: ISZERO 00000af3: PUSH2 0x08fc 00000af6: MUL 00000af7: SWAP2 00000af8: DUP5 00000af9: SWAP2 00000afa: DUP2 00000afb: DUP2 00000afc: DUP2 00000afd: DUP6 00000afe: DUP9 00000aff: DUP9 00000b00: CALL 00000b01: SWAP4 00000b02: POP 00000b03: POP 00000b04: POP 00000b05: POP 00000b06: ISZERO 00000b07: DUP1 00000b08: ISZERO 00000b09: PUSH2 0x0b16 00000b0c: JUMPI 00000b0d: RETURNDATASIZE 00000b0e: PUSH1 0x00 00000b10: DUP1 00000b11: RETURNDATACOPY 00000b12: RETURNDATASIZE 00000b13: PUSH1 0x00 00000b15: REVERT 00000b16: JUMPDEST 00000b17: POP 00000b18: POP 00000b19: POP 00000b1a: JUMP 00000b1b: JUMPDEST 00000b1c: PUSH1 0x00 00000b1e: SLOAD 00000b1f: PUSH1 0x01 00000b21: PUSH1 0x01 00000b23: PUSH1 0xa0 00000b25: SHL 00000b26: SUB 00000b27: AND 00000b28: CALLER 00000b29: EQ 00000b2a: PUSH2 0x0b45 00000b2d: JUMPI 00000b2e: PUSH1 0x40 00000b30: MLOAD 00000b31: PUSH3 0x461bcd 00000b35: PUSH1 0xe5 00000b37: SHL 00000b38: DUP2 00000b39: MSTORE 00000b3a: PUSH1 0x04 00000b3c: ADD 00000b3d: PUSH2 0x05df 00000b40: SWAP1 00000b41: PUSH2 0x1819 00000b44: JUMP 00000b45: JUMPDEST 00000b46: PUSH2 0x0b4f 00000b49: PUSH1 0x00 00000b4b: PUSH2 0x1569 00000b4e: JUMP 00000b4f: JUMPDEST 00000b50: JUMP 00000b51: JUMPDEST 00000b52: PUSH1 0x04 00000b54: SLOAD 00000b55: TIMESTAMP 00000b56: LT 00000b57: ISZERO 00000b58: PUSH2 0x0ba3 00000b5b: JUMPI 00000b5c: PUSH1 0x40 00000b5e: MLOAD 00000b5f: PUSH3 0x461bcd 00000b63: PUSH1 0xe5 00000b65: SHL 00000b66: DUP2 00000b67: MSTORE 00000b68: PUSH1 0x20 00000b6a: PUSH1 0x04 00000b6c: DUP3 00000b6d: ADD 00000b6e: MSTORE 00000b6f: PUSH1 0x1b 00000b71: PUSH1 0x24 00000b73: DUP3 00000b74: ADD 00000b75: MSTORE 00000b76: PUSH32 0x53746f7265206973206e6f74206f70656e656420666f72205649500000000000 00000b97: PUSH1 0x44 00000b99: DUP3 00000b9a: ADD 00000b9b: MSTORE 00000b9c: PUSH1 0x64 00000b9e: ADD 00000b9f: PUSH2 0x05df 00000ba2: JUMP 00000ba3: JUMPDEST 00000ba4: PUSH2 0x7e90 00000ba7: PUSH1 0x04 00000ba9: SLOAD 00000baa: PUSH2 0x0bb3 00000bad: SWAP2 00000bae: SWAP1 00000baf: PUSH2 0x188f 00000bb2: JUMP 00000bb3: JUMPDEST 00000bb4: TIMESTAMP 00000bb5: LT 00000bb6: PUSH2 0x0c01 00000bb9: JUMPI 00000bba: PUSH1 0x40 00000bbc: MLOAD 00000bbd: PUSH3 0x461bcd 00000bc1: PUSH1 0xe5 00000bc3: SHL 00000bc4: DUP2 00000bc5: MSTORE 00000bc6: PUSH1 0x20 00000bc8: PUSH1 0x04 00000bca: DUP3 00000bcb: ADD 00000bcc: MSTORE 00000bcd: PUSH1 0x17 00000bcf: PUSH1 0x24 00000bd1: DUP3 00000bd2: ADD 00000bd3: MSTORE 00000bd4: PUSH32 0x53746f726520697320636c6f73656420666f7220564950000000000000000000 00000bf5: PUSH1 0x44 00000bf7: DUP3 00000bf8: ADD 00000bf9: MSTORE 00000bfa: PUSH1 0x64 00000bfc: ADD 00000bfd: PUSH2 0x05df 00000c00: JUMP 00000c01: JUMPDEST 00000c02: PUSH1 0x1e 00000c04: DUP2 00000c05: GT 00000c06: ISZERO 00000c07: PUSH2 0x0c52 00000c0a: JUMPI 00000c0b: PUSH1 0x40 00000c0d: MLOAD 00000c0e: PUSH3 0x461bcd 00000c12: PUSH1 0xe5 00000c14: SHL 00000c15: DUP2 00000c16: MSTORE 00000c17: PUSH1 0x20 00000c19: PUSH1 0x04 00000c1b: DUP3 00000c1c: ADD 00000c1d: MSTORE 00000c1e: PUSH1 0x1b 00000c20: PUSH1 0x24 00000c22: DUP3 00000c23: ADD 00000c24: MSTORE 00000c25: PUSH32 0x6d696e7420616d6f756e742065786365656473206d6178696d756d0000000000 00000c46: PUSH1 0x44 00000c48: DUP3 00000c49: ADD 00000c4a: MSTORE 00000c4b: PUSH1 0x64 00000c4d: ADD 00000c4e: PUSH2 0x05df 00000c51: JUMP 00000c52: JUMPDEST 00000c53: PUSH1 0x00 00000c55: DUP2 00000c56: GT 00000c57: PUSH2 0x0ca2 00000c5a: JUMPI 00000c5b: PUSH1 0x40 00000c5d: MLOAD 00000c5e: PUSH3 0x461bcd 00000c62: PUSH1 0xe5 00000c64: SHL 00000c65: DUP2 00000c66: MSTORE 00000c67: PUSH1 0x20 00000c69: PUSH1 0x04 00000c6b: DUP3 00000c6c: ADD 00000c6d: MSTORE 00000c6e: PUSH1 0x18 00000c70: PUSH1 0x24 00000c72: DUP3 00000c73: ADD 00000c74: MSTORE 00000c75: PUSH32 0x4e65656420746f206d696e74206d6f7265207468616e20300000000000000000 00000c96: PUSH1 0x44 00000c98: DUP3 00000c99: ADD 00000c9a: MSTORE 00000c9b: PUSH1 0x64 00000c9d: ADD 00000c9e: PUSH2 0x05df 00000ca1: JUMP 00000ca2: JUMPDEST 00000ca3: CALLER 00000ca4: PUSH1 0x00 00000ca6: DUP2 00000ca7: DUP2 00000ca8: MSTORE 00000ca9: PUSH1 0x03 00000cab: PUSH1 0x20 00000cad: MSTORE 00000cae: PUSH1 0x40 00000cb0: DUP1 00000cb1: DUP3 00000cb2: KECCAK256 00000cb3: SLOAD 00000cb4: SWAP1 00000cb5: MLOAD 00000cb6: PUSH4 0x70a08231 00000cbb: PUSH1 0xe0 00000cbd: SHL 00000cbe: DUP2 00000cbf: MSTORE 00000cc0: PUSH1 0x04 00000cc2: DUP2 00000cc3: ADD 00000cc4: SWAP4 00000cc5: SWAP1 00000cc6: SWAP4 00000cc7: MSTORE 00000cc8: SWAP2 00000cc9: PUSH20 0xe0e19aa07cb819664001adffea6a176a75897899 00000cde: SWAP1 00000cdf: PUSH4 0x70a08231 00000ce4: SWAP1 00000ce5: PUSH1 0x24 00000ce7: ADD 00000ce8: PUSH1 0x20 00000cea: PUSH1 0x40 00000cec: MLOAD 00000ced: DUP1 00000cee: DUP4 00000cef: SUB 00000cf0: DUP2 00000cf1: DUP7 00000cf2: DUP1 00000cf3: EXTCODESIZE 00000cf4: ISZERO 00000cf5: DUP1 00000cf6: ISZERO 00000cf7: PUSH2 0x0cff 00000cfa: JUMPI 00000cfb: PUSH1 0x00 00000cfd: DUP1 00000cfe: REVERT 00000cff: JUMPDEST 00000d00: POP 00000d01: GAS 00000d02: STATICCALL 00000d03: ISZERO 00000d04: DUP1 00000d05: ISZERO 00000d06: PUSH2 0x0d13 00000d09: JUMPI 00000d0a: RETURNDATASIZE 00000d0b: PUSH1 0x00 00000d0d: DUP1 00000d0e: RETURNDATACOPY 00000d0f: RETURNDATASIZE 00000d10: PUSH1 0x00 00000d12: REVERT 00000d13: JUMPDEST 00000d14: POP 00000d15: POP 00000d16: POP 00000d17: POP 00000d18: PUSH1 0x40 00000d1a: MLOAD 00000d1b: RETURNDATASIZE 00000d1c: PUSH1 0x1f 00000d1e: NOT 00000d1f: PUSH1 0x1f 00000d21: DUP3 00000d22: ADD 00000d23: AND 00000d24: DUP3 00000d25: ADD 00000d26: DUP1 00000d27: PUSH1 0x40 00000d29: MSTORE 00000d2a: POP 00000d2b: DUP2 00000d2c: ADD 00000d2d: SWAP1 00000d2e: PUSH2 0x0d37 00000d31: SWAP2 00000d32: SWAP1 00000d33: PUSH2 0x1801 00000d36: JUMP 00000d37: JUMPDEST 00000d38: SWAP1 00000d39: POP 00000d3a: DUP3 00000d3b: DUP3 00000d3c: PUSH2 0x0d46 00000d3f: PUSH1 0x05 00000d41: DUP5 00000d42: PUSH2 0x18bb 00000d45: JUMP 00000d46: JUMPDEST 00000d47: PUSH2 0x0d50 00000d4a: SWAP2 00000d4b: SWAP1 00000d4c: PUSH2 0x18da 00000d4f: JUMP 00000d50: JUMPDEST 00000d51: LT 00000d52: ISZERO 00000d53: PUSH2 0x0d90 00000d56: JUMPI 00000d57: PUSH1 0x40 00000d59: MLOAD 00000d5a: PUSH3 0x461bcd 00000d5e: PUSH1 0xe5 00000d60: SHL 00000d61: DUP2 00000d62: MSTORE 00000d63: PUSH1 0x20 00000d65: PUSH1 0x04 00000d67: DUP3 00000d68: ADD 00000d69: MSTORE 00000d6a: PUSH1 0x0f 00000d6c: PUSH1 0x24 00000d6e: DUP3 00000d6f: ADD 00000d70: MSTORE 00000d71: PUSH15 0x4e6f7420656e6f7567682050617373 00000d81: PUSH1 0x88 00000d83: SHL 00000d84: PUSH1 0x44 00000d86: DUP3 00000d87: ADD 00000d88: MSTORE 00000d89: PUSH1 0x64 00000d8b: ADD 00000d8c: PUSH2 0x05df 00000d8f: JUMP 00000d90: JUMPDEST 00000d91: PUSH1 0x00 00000d93: PUSH2 0x0da4 00000d96: DUP5 00000d97: PUSH8 0x011c37937e080000 00000da0: PUSH2 0x18bb 00000da3: JUMP 00000da4: JUMPDEST 00000da5: SWAP1 00000da6: POP 00000da7: CALLVALUE 00000da8: DUP2 00000da9: GT 00000daa: ISZERO 00000dab: PUSH2 0x0de9 00000dae: JUMPI 00000daf: PUSH1 0x40 00000db1: MLOAD 00000db2: PUSH3 0x461bcd 00000db6: PUSH1 0xe5 00000db8: SHL 00000db9: DUP2 00000dba: MSTORE 00000dbb: PUSH1 0x20 00000dbd: PUSH1 0x04 00000dbf: DUP3 00000dc0: ADD 00000dc1: MSTORE 00000dc2: PUSH1 0x10 00000dc4: PUSH1 0x24 00000dc6: DUP3 00000dc7: ADD 00000dc8: MSTORE 00000dc9: PUSH16 0x4e6f7420656e6f756768206d6f6e6579 00000dda: PUSH1 0x80 00000ddc: SHL 00000ddd: PUSH1 0x44 00000ddf: DUP3 00000de0: ADD 00000de1: MSTORE 00000de2: PUSH1 0x64 00000de4: ADD 00000de5: PUSH2 0x05df 00000de8: JUMP 00000de9: JUMPDEST 00000dea: PUSH1 0x00 00000dec: JUMPDEST 00000ded: DUP5 00000dee: DUP2 00000def: LT 00000df0: ISZERO 00000df1: PUSH2 0x0e6c 00000df4: JUMPI 00000df5: PUSH1 0x40 00000df7: MLOAD 00000df8: PUSH4 0x35313c21 00000dfd: PUSH1 0xe1 00000dff: SHL 00000e00: DUP2 00000e01: MSTORE 00000e02: CALLER 00000e03: PUSH1 0x04 00000e05: DUP3 00000e06: ADD 00000e07: MSTORE 00000e08: PUSH20 0x08f0b2a4351514e63e9e03a661adfe58d463cfbc 00000e1d: SWAP1 00000e1e: PUSH4 0x6a627842 00000e23: SWAP1 00000e24: PUSH1 0x24 00000e26: ADD 00000e27: PUSH1 0x00 00000e29: PUSH1 0x40 00000e2b: MLOAD 00000e2c: DUP1 00000e2d: DUP4 00000e2e: SUB 00000e2f: DUP2 00000e30: PUSH1 0x00 00000e32: DUP8 00000e33: DUP1 00000e34: EXTCODESIZE 00000e35: ISZERO 00000e36: DUP1 00000e37: ISZERO 00000e38: PUSH2 0x0e40 00000e3b: JUMPI 00000e3c: PUSH1 0x00 00000e3e: DUP1 00000e3f: REVERT 00000e40: JUMPDEST 00000e41: POP 00000e42: GAS 00000e43: CALL 00000e44: ISZERO 00000e45: DUP1 00000e46: ISZERO 00000e47: PUSH2 0x0e54 00000e4a: JUMPI 00000e4b: RETURNDATASIZE 00000e4c: PUSH1 0x00 00000e4e: DUP1 00000e4f: RETURNDATACOPY 00000e50: RETURNDATASIZE 00000e51: PUSH1 0x00 00000e53: REVERT 00000e54: JUMPDEST 00000e55: POP 00000e56: POP 00000e57: POP 00000e58: POP 00000e59: PUSH1 0x01 00000e5b: DUP2 00000e5c: PUSH2 0x0e65 00000e5f: SWAP2 00000e60: SWAP1 00000e61: PUSH2 0x188f 00000e64: JUMP 00000e65: JUMPDEST 00000e66: SWAP1 00000e67: POP 00000e68: PUSH2 0x0dec 00000e6b: JUMP 00000e6c: JUMPDEST 00000e6d: POP 00000e6e: PUSH2 0x0e77 00000e71: DUP5 00000e72: DUP5 00000e73: PUSH2 0x188f 00000e76: JUMP 00000e77: JUMPDEST 00000e78: CALLER 00000e79: PUSH1 0x00 00000e7b: SWAP1 00000e7c: DUP2 00000e7d: MSTORE 00000e7e: PUSH1 0x03 00000e80: PUSH1 0x20 00000e82: MSTORE 00000e83: PUSH1 0x40 00000e85: DUP2 00000e86: KECCAK256 00000e87: SWAP2 00000e88: SWAP1 00000e89: SWAP2 00000e8a: SSTORE 00000e8b: PUSH1 0x02 00000e8d: DUP1 00000e8e: SLOAD 00000e8f: DUP7 00000e90: SWAP3 00000e91: SWAP1 00000e92: PUSH2 0x0e9c 00000e95: SWAP1 00000e96: DUP5 00000e97: SWAP1 00000e98: PUSH2 0x188f 00000e9b: JUMP 00000e9c: JUMPDEST 00000e9d: SWAP1 00000e9e: SWAP2 00000e9f: SSTORE 00000ea0: POP 00000ea1: PUSH1 0x00 00000ea3: SWAP1 00000ea4: POP 00000ea5: PUSH2 0x0eae 00000ea8: DUP3 00000ea9: CALLVALUE 00000eaa: PUSH2 0x18da 00000ead: JUMP 00000eae: JUMPDEST 00000eaf: PUSH1 0x40 00000eb1: DUP1 00000eb2: MLOAD 00000eb3: CALLER 00000eb4: DUP2 00000eb5: MSTORE 00000eb6: PUSH1 0x20 00000eb8: DUP2 00000eb9: ADD 00000eba: DUP9 00000ebb: SWAP1 00000ebc: MSTORE 00000ebd: SWAP1 00000ebe: DUP2 00000ebf: ADD 00000ec0: DUP3 00000ec1: SWAP1 00000ec2: MSTORE 00000ec3: SWAP1 00000ec4: SWAP2 00000ec5: POP 00000ec6: PUSH32 0x3fb7239d51fdc92f75bd949133afbe9bd5bce32e3b263c054fd238ef0f9a229f 00000ee7: SWAP1 00000ee8: PUSH1 0x60 00000eea: ADD 00000eeb: JUMPDEST 00000eec: PUSH1 0x40 00000eee: MLOAD 00000eef: DUP1 00000ef0: SWAP2 00000ef1: SUB 00000ef2: SWAP1 00000ef3: LOG1 00000ef4: DUP1 00000ef5: ISZERO 00000ef6: PUSH2 0x07e4 00000ef9: JUMPI 00000efa: PUSH1 0x40 00000efc: MLOAD 00000efd: CALLER 00000efe: SWAP1 00000eff: DUP3 00000f00: ISZERO 00000f01: PUSH2 0x08fc 00000f04: MUL 00000f05: SWAP1 00000f06: DUP4 00000f07: SWAP1 00000f08: PUSH1 0x00 00000f0a: DUP2 00000f0b: DUP2 00000f0c: DUP2 00000f0d: DUP6 00000f0e: DUP9 00000f0f: DUP9 00000f10: CALL 00000f11: SWAP4 00000f12: POP 00000f13: POP 00000f14: POP 00000f15: POP 00000f16: ISZERO 00000f17: DUP1 00000f18: ISZERO 00000f19: PUSH2 0x0f26 00000f1c: JUMPI 00000f1d: RETURNDATASIZE 00000f1e: PUSH1 0x00 00000f20: DUP1 00000f21: RETURNDATACOPY 00000f22: RETURNDATASIZE 00000f23: PUSH1 0x00 00000f25: REVERT 00000f26: JUMPDEST 00000f27: POP 00000f28: POP 00000f29: POP 00000f2a: POP 00000f2b: POP 00000f2c: POP 00000f2d: JUMP 00000f2e: JUMPDEST 00000f2f: PUSH1 0x00 00000f31: SLOAD 00000f32: PUSH1 0x01 00000f34: PUSH1 0x01 00000f36: PUSH1 0xa0 00000f38: SHL 00000f39: SUB 00000f3a: AND 00000f3b: CALLER 00000f3c: EQ 00000f3d: PUSH2 0x0f58 00000f40: JUMPI 00000f41: PUSH1 0x40 00000f43: MLOAD 00000f44: PUSH3 0x461bcd 00000f48: PUSH1 0xe5 00000f4a: SHL 00000f4b: DUP2 00000f4c: MSTORE 00000f4d: PUSH1 0x04 00000f4f: ADD 00000f50: PUSH2 0x05df 00000f53: SWAP1 00000f54: PUSH2 0x1819 00000f57: JUMP 00000f58: JUMPDEST 00000f59: PUSH3 0x015180 00000f5d: PUSH2 0x7e90 00000f60: PUSH1 0x04 00000f62: SLOAD 00000f63: PUSH2 0x0f6c 00000f66: SWAP2 00000f67: SWAP1 00000f68: PUSH2 0x188f 00000f6b: JUMP 00000f6c: JUMPDEST 00000f6d: PUSH2 0x0f76 00000f70: SWAP2 00000f71: SWAP1 00000f72: PUSH2 0x188f 00000f75: JUMP 00000f76: JUMPDEST 00000f77: TIMESTAMP 00000f78: LT 00000f79: PUSH2 0x0fd0 00000f7c: JUMPI 00000f7d: PUSH1 0x40 00000f7f: MLOAD 00000f80: PUSH3 0x461bcd 00000f84: PUSH1 0xe5 00000f86: SHL 00000f87: DUP2 00000f88: MSTORE 00000f89: PUSH1 0x20 00000f8b: PUSH1 0x04 00000f8d: DUP3 00000f8e: ADD 00000f8f: MSTORE 00000f90: PUSH1 0x24 00000f92: DUP1 00000f93: DUP3 00000f94: ADD 00000f95: MSTORE 00000f96: PUSH32 0x4e6f7420617661696c61626c65206166746572207469636b6574696e67207065 00000fb7: PUSH1 0x44 00000fb9: DUP3 00000fba: ADD 00000fbb: MSTORE 00000fbc: PUSH4 0x1c9a5bd9 00000fc1: PUSH1 0xe2 00000fc3: SHL 00000fc4: PUSH1 0x64 00000fc6: DUP3 00000fc7: ADD 00000fc8: MSTORE 00000fc9: PUSH1 0x84 00000fcb: ADD 00000fcc: PUSH2 0x05df 00000fcf: JUMP 00000fd0: JUMPDEST 00000fd1: DUP1 00000fd2: MLOAD 00000fd3: DUP1 00000fd4: PUSH2 0x1033 00000fd7: JUMPI 00000fd8: PUSH1 0x40 00000fda: MLOAD 00000fdb: PUSH3 0x461bcd 00000fdf: PUSH1 0xe5 00000fe1: SHL 00000fe2: DUP2 00000fe3: MSTORE 00000fe4: PUSH1 0x20 00000fe6: PUSH1 0x04 00000fe8: DUP3 00000fe9: ADD 00000fea: MSTORE 00000feb: PUSH1 0x2b 00000fed: PUSH1 0x24 00000fef: DUP3 00000ff0: ADD 00000ff1: MSTORE 00000ff2: PUSH32 0x4e756d626572206f6620726563697069656e7473206d75737420626520677265 00001013: PUSH1 0x44 00001015: DUP3 00001016: ADD 00001017: MSTORE 00001018: PUSH11 0x061746572207468616e203 00001024: PUSH1 0xac 00001026: SHL 00001027: PUSH1 0x64 00001029: DUP3 0000102a: ADD 0000102b: MSTORE 0000102c: PUSH1 0x84 0000102e: ADD 0000102f: PUSH2 0x05df 00001032: JUMP 00001033: JUMPDEST 00001034: PUSH1 0x32 00001036: DUP2 00001037: PUSH1 0x01 00001039: SLOAD 0000103a: PUSH2 0x1043 0000103d: SWAP2 0000103e: SWAP1 0000103f: PUSH2 0x188f 00001042: JUMP 00001043: JUMPDEST 00001044: GT 00001045: ISZERO 00001046: PUSH2 0x1091 00001049: JUMPI 0000104a: PUSH1 0x40 0000104c: MLOAD 0000104d: PUSH3 0x461bcd 00001051: PUSH1 0xe5 00001053: SHL 00001054: DUP2 00001055: MSTORE 00001056: PUSH1 0x20 00001058: PUSH1 0x04 0000105a: DUP3 0000105b: ADD 0000105c: MSTORE 0000105d: PUSH1 0x18 0000105f: PUSH1 0x24 00001061: DUP3 00001062: ADD 00001063: MSTORE 00001064: PUSH32 0x45786365656473206d6178207072652d6d696e74205552530000000000000000 00001085: PUSH1 0x44 00001087: DUP3 00001088: ADD 00001089: MSTORE 0000108a: PUSH1 0x64 0000108c: ADD 0000108d: PUSH2 0x05df 00001090: JUMP 00001091: JUMPDEST 00001092: PUSH1 0x00 00001094: JUMPDEST 00001095: DUP2 00001096: DUP2 00001097: LT 00001098: ISZERO 00001099: PUSH2 0x117c 0000109c: JUMPI 0000109d: PUSH1 0x00 0000109f: DUP4 000010a0: DUP3 000010a1: DUP2 000010a2: MLOAD 000010a3: DUP2 000010a4: LT 000010a5: PUSH2 0x10be 000010a8: JUMPI 000010a9: PUSH4 0x4e487b71 000010ae: PUSH1 0xe0 000010b0: SHL 000010b1: PUSH1 0x00 000010b3: MSTORE 000010b4: PUSH1 0x32 000010b6: PUSH1 0x04 000010b8: MSTORE 000010b9: PUSH1 0x24 000010bb: PUSH1 0x00 000010bd: REVERT 000010be: JUMPDEST 000010bf: PUSH1 0x20 000010c1: MUL 000010c2: PUSH1 0x20 000010c4: ADD 000010c5: ADD 000010c6: MLOAD 000010c7: SWAP1 000010c8: POP 000010c9: PUSH1 0x00 000010cb: PUSH1 0x01 000010cd: PUSH1 0x01 000010cf: PUSH1 0xa0 000010d1: SHL 000010d2: SUB 000010d3: AND 000010d4: DUP2 000010d5: PUSH1 0x01 000010d7: PUSH1 0x01 000010d9: PUSH1 0xa0 000010db: SHL 000010dc: SUB 000010dd: AND 000010de: EQ 000010df: ISZERO 000010e0: PUSH2 0x10fb 000010e3: JUMPI 000010e4: PUSH1 0x40 000010e6: MLOAD 000010e7: PUSH3 0x461bcd 000010eb: PUSH1 0xe5 000010ed: SHL 000010ee: DUP2 000010ef: MSTORE 000010f0: PUSH1 0x04 000010f2: ADD 000010f3: PUSH2 0x05df 000010f6: SWAP1 000010f7: PUSH2 0x184e 000010fa: JUMP 000010fb: JUMPDEST 000010fc: PUSH1 0x40 000010fe: MLOAD 000010ff: PUSH4 0x35313c21 00001104: PUSH1 0xe1 00001106: SHL 00001107: DUP2 00001108: MSTORE 00001109: PUSH1 0x01 0000110b: PUSH1 0x01 0000110d: PUSH1 0xa0 0000110f: SHL 00001110: SUB 00001111: DUP3 00001112: AND 00001113: PUSH1 0x04 00001115: DUP3 00001116: ADD 00001117: MSTORE 00001118: PUSH20 0x08f0b2a4351514e63e9e03a661adfe58d463cfbc 0000112d: SWAP1 0000112e: PUSH4 0x6a627842 00001133: SWAP1 00001134: PUSH1 0x24 00001136: ADD 00001137: PUSH1 0x00 00001139: PUSH1 0x40 0000113b: MLOAD 0000113c: DUP1 0000113d: DUP4 0000113e: SUB 0000113f: DUP2 00001140: PUSH1 0x00 00001142: DUP8 00001143: DUP1 00001144: EXTCODESIZE 00001145: ISZERO 00001146: DUP1 00001147: ISZERO 00001148: PUSH2 0x1150 0000114b: JUMPI 0000114c: PUSH1 0x00 0000114e: DUP1 0000114f: REVERT 00001150: JUMPDEST 00001151: POP 00001152: GAS 00001153: CALL 00001154: ISZERO 00001155: DUP1 00001156: ISZERO 00001157: PUSH2 0x1164 0000115a: JUMPI 0000115b: RETURNDATASIZE 0000115c: PUSH1 0x00 0000115e: DUP1 0000115f: RETURNDATACOPY 00001160: RETURNDATASIZE 00001161: PUSH1 0x00 00001163: REVERT 00001164: JUMPDEST 00001165: POP 00001166: POP 00001167: POP 00001168: POP 00001169: POP 0000116a: DUP1 0000116b: DUP1 0000116c: PUSH2 0x1174 0000116f: SWAP1 00001170: PUSH2 0x18f1 00001173: JUMP 00001174: JUMPDEST 00001175: SWAP2 00001176: POP 00001177: POP 00001178: PUSH2 0x1094 0000117b: JUMP 0000117c: JUMPDEST 0000117d: POP 0000117e: DUP1 0000117f: PUSH1 0x01 00001181: PUSH1 0x00 00001183: DUP3 00001184: DUP3 00001185: SLOAD 00001186: PUSH2 0x118f 00001189: SWAP2 0000118a: SWAP1 0000118b: PUSH2 0x188f 0000118e: JUMP 0000118f: JUMPDEST 00001190: SWAP1 00001191: SWAP2 00001192: SSTORE 00001193: POP 00001194: POP 00001195: POP 00001196: POP 00001197: JUMP 00001198: JUMPDEST 00001199: CALLER 0000119a: PUSH1 0x00 0000119c: SWAP1 0000119d: DUP2 0000119e: MSTORE 0000119f: PUSH1 0x0b 000011a1: PUSH1 0x20 000011a3: MSTORE 000011a4: PUSH1 0x40 000011a6: SWAP1 000011a7: KECCAK256 000011a8: DUP1 000011a9: SLOAD 000011aa: PUSH1 0xff 000011ac: AND 000011ad: PUSH2 0x11f8 000011b0: JUMPI 000011b1: PUSH1 0x40 000011b3: MLOAD 000011b4: PUSH3 0x461bcd 000011b8: PUSH1 0xe5 000011ba: SHL 000011bb: DUP2 000011bc: MSTORE 000011bd: PUSH1 0x20 000011bf: PUSH1 0x04 000011c1: DUP3 000011c2: ADD 000011c3: MSTORE 000011c4: PUSH1 0x1c 000011c6: PUSH1 0x24 000011c8: DUP3 000011c9: ADD 000011ca: MSTORE 000011cb: PUSH32 0x726573756c74206973206e6f742063616c63756c617465642079657400000000 000011ec: PUSH1 0x44 000011ee: DUP3 000011ef: ADD 000011f0: MSTORE 000011f1: PUSH1 0x64 000011f3: ADD 000011f4: PUSH2 0x05df 000011f7: JUMP 000011f8: JUMPDEST 000011f9: PUSH1 0x00 000011fb: DUP2 000011fc: PUSH1 0x01 000011fe: ADD 000011ff: SLOAD 00001200: GT 00001201: PUSH2 0x123f 00001204: JUMPI 00001205: PUSH1 0x40 00001207: MLOAD 00001208: PUSH3 0x461bcd 0000120c: PUSH1 0xe5 0000120e: SHL 0000120f: DUP2 00001210: MSTORE 00001211: PUSH1 0x20 00001213: PUSH1 0x04 00001215: DUP3 00001216: ADD 00001217: MSTORE 00001218: PUSH1 0x10 0000121a: PUSH1 0x24 0000121c: DUP3 0000121d: ADD 0000121e: MSTORE 0000121f: PUSH16 0x4e6f2076616c6964207469636b657473 00001230: PUSH1 0x80 00001232: SHL 00001233: PUSH1 0x44 00001235: DUP3 00001236: ADD 00001237: MSTORE 00001238: PUSH1 0x64 0000123a: ADD 0000123b: PUSH2 0x05df 0000123e: JUMP 0000123f: JUMPDEST 00001240: PUSH1 0x00 00001242: PUSH1 0x1e 00001244: DUP3 00001245: PUSH1 0x01 00001247: ADD 00001248: SLOAD 00001249: GT 0000124a: ISZERO 0000124b: PUSH2 0x1272 0000124e: JUMPI 0000124f: PUSH1 0x1e 00001251: SWAP1 00001252: POP 00001253: PUSH1 0x1e 00001255: DUP3 00001256: PUSH1 0x01 00001258: ADD 00001259: PUSH1 0x00 0000125b: DUP3 0000125c: DUP3 0000125d: SLOAD 0000125e: PUSH2 0x1267 00001261: SWAP2 00001262: SWAP1 00001263: PUSH2 0x18da 00001266: JUMP 00001267: JUMPDEST 00001268: SWAP1 00001269: SWAP2 0000126a: SSTORE 0000126b: POP 0000126c: PUSH2 0x127f 0000126f: SWAP1 00001270: POP 00001271: JUMP 00001272: JUMPDEST 00001273: POP 00001274: PUSH1 0x01 00001276: DUP2 00001277: ADD 00001278: DUP1 00001279: SLOAD 0000127a: PUSH1 0x00 0000127c: SWAP1 0000127d: SWAP2 0000127e: SSTORE 0000127f: JUMPDEST 00001280: PUSH1 0x00 00001282: JUMPDEST 00001283: DUP2 00001284: DUP2 00001285: LT 00001286: ISZERO 00001287: PUSH2 0x1302 0000128a: JUMPI 0000128b: PUSH1 0x40 0000128d: MLOAD 0000128e: PUSH4 0x35313c21 00001293: PUSH1 0xe1 00001295: SHL 00001296: DUP2 00001297: MSTORE 00001298: CALLER 00001299: PUSH1 0x04 0000129b: DUP3 0000129c: ADD 0000129d: MSTORE 0000129e: PUSH20 0x08f0b2a4351514e63e9e03a661adfe58d463cfbc 000012b3: SWAP1 000012b4: PUSH4 0x6a627842 000012b9: SWAP1 000012ba: PUSH1 0x24 000012bc: ADD 000012bd: PUSH1 0x00 000012bf: PUSH1 0x40 000012c1: MLOAD 000012c2: DUP1 000012c3: DUP4 000012c4: SUB 000012c5: DUP2 000012c6: PUSH1 0x00 000012c8: DUP8 000012c9: DUP1 000012ca: EXTCODESIZE 000012cb: ISZERO 000012cc: DUP1 000012cd: ISZERO 000012ce: PUSH2 0x12d6 000012d1: JUMPI 000012d2: PUSH1 0x00 000012d4: DUP1 000012d5: REVERT 000012d6: JUMPDEST 000012d7: POP 000012d8: GAS 000012d9: CALL 000012da: ISZERO 000012db: DUP1 000012dc: ISZERO 000012dd: PUSH2 0x12ea 000012e0: JUMPI 000012e1: RETURNDATASIZE 000012e2: PUSH1 0x00 000012e4: DUP1 000012e5: RETURNDATACOPY 000012e6: RETURNDATASIZE 000012e7: PUSH1 0x00 000012e9: REVERT 000012ea: JUMPDEST 000012eb: POP 000012ec: POP 000012ed: POP 000012ee: POP 000012ef: PUSH1 0x01 000012f1: DUP2 000012f2: PUSH2 0x12fb 000012f5: SWAP2 000012f6: SWAP1 000012f7: PUSH2 0x188f 000012fa: JUMP 000012fb: JUMPDEST 000012fc: SWAP1 000012fd: POP 000012fe: PUSH2 0x1282 00001301: JUMP 00001302: JUMPDEST 00001303: POP 00001304: PUSH1 0x40 00001306: DUP1 00001307: MLOAD 00001308: CALLER 00001309: DUP2 0000130a: MSTORE 0000130b: PUSH1 0x20 0000130d: DUP2 0000130e: ADD 0000130f: DUP4 00001310: SWAP1 00001311: MSTORE 00001312: PUSH32 0x5406fee47ca53ab04296dd8fe26d8ad9e7fd708c0d92db6f68d01664f264d84e 00001333: SWAP2 00001334: ADD 00001335: PUSH2 0x08f7 00001338: JUMP 00001339: JUMPDEST 0000133a: PUSH1 0x00 0000133c: PUSH1 0x07 0000133e: SLOAD 0000133f: GT 00001340: PUSH2 0x138b 00001343: JUMPI 00001344: PUSH1 0x40 00001346: MLOAD 00001347: PUSH3 0x461bcd 0000134b: PUSH1 0xe5 0000134d: SHL 0000134e: DUP2 0000134f: MSTORE 00001350: PUSH1 0x20 00001352: PUSH1 0x04 00001354: DUP3 00001355: ADD 00001356: MSTORE 00001357: PUSH1 0x1c 00001359: PUSH1 0x24 0000135b: DUP3 0000135c: ADD 0000135d: MSTORE 0000135e: PUSH32 0x726166666c65206e756d626572206973206e6f74207365742079657400000000 0000137f: PUSH1 0x44 00001381: DUP3 00001382: ADD 00001383: MSTORE 00001384: PUSH1 0x64 00001386: ADD 00001387: PUSH2 0x05df 0000138a: JUMP 0000138b: JUMPDEST 0000138c: CALLER 0000138d: PUSH1 0x00 0000138f: SWAP1 00001390: DUP2 00001391: MSTORE 00001392: PUSH1 0x06 00001394: PUSH1 0x20 00001396: MSTORE 00001397: PUSH1 0x40 00001399: SWAP1 0000139a: KECCAK256 0000139b: PUSH1 0x01 0000139d: DUP2 0000139e: ADD 0000139f: SLOAD 000013a0: PUSH2 0x13e1 000013a3: JUMPI 000013a4: PUSH1 0x40 000013a6: MLOAD 000013a7: PUSH3 0x461bcd 000013ab: PUSH1 0xe5 000013ad: SHL 000013ae: DUP2 000013af: MSTORE 000013b0: PUSH1 0x20 000013b2: PUSH1 0x04 000013b4: DUP3 000013b5: ADD 000013b6: MSTORE 000013b7: PUSH1 0x13 000013b9: PUSH1 0x24 000013bb: DUP3 000013bc: ADD 000013bd: MSTORE 000013be: PUSH19 0x139bc8185d985a5b18589b19481d1a58dad95d 000013d2: PUSH1 0x6a 000013d4: SHL 000013d5: PUSH1 0x44 000013d7: DUP3 000013d8: ADD 000013d9: MSTORE 000013da: PUSH1 0x64 000013dc: ADD 000013dd: PUSH2 0x05df 000013e0: JUMP 000013e1: JUMPDEST 000013e2: CALLER 000013e3: PUSH1 0x00 000013e5: SWAP1 000013e6: DUP2 000013e7: MSTORE 000013e8: PUSH1 0x0b 000013ea: PUSH1 0x20 000013ec: MSTORE 000013ed: PUSH1 0x40 000013ef: SWAP1 000013f0: KECCAK256 000013f1: DUP1 000013f2: SLOAD 000013f3: PUSH1 0xff 000013f5: AND 000013f6: ISZERO 000013f7: PUSH2 0x1434 000013fa: JUMPI 000013fb: PUSH1 0x40 000013fd: MLOAD 000013fe: PUSH3 0x461bcd 00001402: PUSH1 0xe5 00001404: SHL 00001405: DUP2 00001406: MSTORE 00001407: PUSH1 0x20 00001409: PUSH1 0x04 0000140b: DUP3 0000140c: ADD 0000140d: MSTORE 0000140e: PUSH1 0x0f 00001410: PUSH1 0x24 00001412: DUP3 00001413: ADD 00001414: MSTORE 00001415: PUSH15 0x105b1c9958591e4818da1958dad959 00001425: PUSH1 0x8a 00001427: SHL 00001428: PUSH1 0x44 0000142a: DUP3 0000142b: ADD 0000142c: MSTORE 0000142d: PUSH1 0x64 0000142f: ADD 00001430: PUSH2 0x05df 00001433: JUMP 00001434: JUMPDEST 00001435: PUSH1 0x00 00001437: PUSH2 0x1451 0000143a: DUP4 0000143b: PUSH1 0x00 0000143d: ADD 0000143e: SLOAD 0000143f: DUP5 00001440: PUSH1 0x01 00001442: ADD 00001443: SLOAD 00001444: PUSH1 0x09 00001446: SLOAD 00001447: PUSH1 0x08 00001449: SLOAD 0000144a: PUSH1 0x0a 0000144c: SLOAD 0000144d: PUSH2 0x15b9 00001450: JUMP 00001451: JUMPDEST 00001452: PUSH1 0x01 00001454: DUP1 00001455: DUP5 00001456: ADD 00001457: DUP3 00001458: SWAP1 00001459: SSTORE 0000145a: DUP4 0000145b: SLOAD 0000145c: PUSH1 0xff 0000145e: NOT 0000145f: AND 00001460: DUP2 00001461: OR 00001462: DUP5 00001463: SSTORE 00001464: DUP5 00001465: ADD 00001466: SLOAD 00001467: SWAP1 00001468: SWAP2 00001469: POP 0000146a: PUSH1 0x00 0000146c: SWAP1 0000146d: PUSH2 0x1477 00001470: SWAP1 00001471: DUP4 00001472: SWAP1 00001473: PUSH2 0x18da 00001476: JUMP 00001477: JUMPDEST 00001478: SWAP1 00001479: POP 0000147a: PUSH1 0x00 0000147c: PUSH2 0x148d 0000147f: PUSH8 0x011c37937e080000 00001488: DUP4 00001489: PUSH2 0x18bb 0000148c: JUMP 0000148d: JUMPDEST 0000148e: PUSH1 0x40 00001490: DUP1 00001491: MLOAD 00001492: CALLER 00001493: DUP2 00001494: MSTORE 00001495: PUSH1 0x20 00001497: DUP2 00001498: ADD 00001499: DUP7 0000149a: SWAP1 0000149b: MSTORE 0000149c: SWAP1 0000149d: DUP2 0000149e: ADD 0000149f: DUP3 000014a0: SWAP1 000014a1: MSTORE 000014a2: SWAP1 000014a3: SWAP2 000014a4: POP 000014a5: PUSH32 0x99257e7b73feb32ca1b0836474e4150fd92fa32d0ec98657c263864188e42bb4 000014c6: SWAP1 000014c7: PUSH1 0x60 000014c9: ADD 000014ca: PUSH2 0x0eeb 000014cd: JUMP 000014ce: JUMPDEST 000014cf: PUSH1 0x00 000014d1: SLOAD 000014d2: PUSH1 0x01 000014d4: PUSH1 0x01 000014d6: PUSH1 0xa0 000014d8: SHL 000014d9: SUB 000014da: AND 000014db: CALLER 000014dc: EQ 000014dd: PUSH2 0x14f8 000014e0: JUMPI 000014e1: PUSH1 0x40 000014e3: MLOAD 000014e4: PUSH3 0x461bcd 000014e8: PUSH1 0xe5 000014ea: SHL 000014eb: DUP2 000014ec: MSTORE 000014ed: PUSH1 0x04 000014ef: ADD 000014f0: PUSH2 0x05df 000014f3: SWAP1 000014f4: PUSH2 0x1819 000014f7: JUMP 000014f8: JUMPDEST 000014f9: PUSH1 0x01 000014fb: PUSH1 0x01 000014fd: PUSH1 0xa0 000014ff: SHL 00001500: SUB 00001501: DUP2 00001502: AND 00001503: PUSH2 0x155d 00001506: JUMPI 00001507: PUSH1 0x40 00001509: MLOAD 0000150a: PUSH3 0x461bcd 0000150e: PUSH1 0xe5 00001510: SHL 00001511: DUP2 00001512: MSTORE 00001513: PUSH1 0x20 00001515: PUSH1 0x04 00001517: DUP3 00001518: ADD 00001519: MSTORE 0000151a: PUSH1 0x26 0000151c: PUSH1 0x24 0000151e: DUP3 0000151f: ADD 00001520: MSTORE 00001521: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061 00001542: PUSH1 0x44 00001544: DUP3 00001545: ADD 00001546: MSTORE 00001547: PUSH6 0x646472657373 0000154e: PUSH1 0xd0 00001550: SHL 00001551: PUSH1 0x64 00001553: DUP3 00001554: ADD 00001555: MSTORE 00001556: PUSH1 0x84 00001558: ADD 00001559: PUSH2 0x05df 0000155c: JUMP 0000155d: JUMPDEST 0000155e: PUSH2 0x1566 00001561: DUP2 00001562: PUSH2 0x1569 00001565: JUMP 00001566: JUMPDEST 00001567: POP 00001568: JUMP 00001569: JUMPDEST 0000156a: PUSH1 0x00 0000156c: DUP1 0000156d: SLOAD 0000156e: PUSH1 0x01 00001570: PUSH1 0x01 00001572: PUSH1 0xa0 00001574: SHL 00001575: SUB 00001576: DUP4 00001577: DUP2 00001578: AND 00001579: PUSH1 0x01 0000157b: PUSH1 0x01 0000157d: PUSH1 0xa0 0000157f: SHL 00001580: SUB 00001581: NOT 00001582: DUP4 00001583: AND 00001584: DUP2 00001585: OR 00001586: DUP5 00001587: SSTORE 00001588: PUSH1 0x40 0000158a: MLOAD 0000158b: SWAP2 0000158c: SWAP1 0000158d: SWAP3 0000158e: AND 0000158f: SWAP3 00001590: DUP4 00001591: SWAP2 00001592: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 000015b3: SWAP2 000015b4: SWAP1 000015b5: LOG3 000015b6: POP 000015b7: POP 000015b8: JUMP 000015b9: JUMPDEST 000015ba: PUSH1 0x00 000015bc: DUP1 000015bd: PUSH1 0x01 000015bf: PUSH2 0x15c8 000015c2: DUP8 000015c3: DUP10 000015c4: PUSH2 0x188f 000015c7: JUMP 000015c8: JUMPDEST 000015c9: PUSH2 0x15d2 000015cc: SWAP2 000015cd: SWAP1 000015ce: PUSH2 0x18da 000015d1: JUMP 000015d2: JUMPDEST 000015d3: SWAP1 000015d4: POP 000015d5: DUP3 000015d6: DUP2 000015d7: GT 000015d8: ISZERO 000015d9: PUSH2 0x15df 000015dc: JUMPI 000015dd: POP 000015de: DUP2 000015df: JUMPDEST 000015e0: PUSH1 0x00 000015e2: PUSH2 0x15eb 000015e5: DUP7 000015e6: DUP10 000015e7: PUSH2 0x190c 000015ea: JUMP 000015eb: JUMPDEST 000015ec: SWAP1 000015ed: POP 000015ee: PUSH1 0x00 000015f0: PUSH2 0x15f9 000015f3: DUP8 000015f4: DUP5 000015f5: PUSH2 0x190c 000015f8: JUMP 000015f9: JUMPDEST 000015fa: SWAP1 000015fb: POP 000015fc: PUSH1 0x00 000015fe: DUP7 000015ff: DUP4 00001600: GT 00001601: PUSH2 0x1620 00001604: JUMPI 00001605: DUP3 00001606: PUSH2 0x160f 00001609: DUP9 0000160a: DUP13 0000160b: PUSH2 0x188f 0000160e: JUMP 0000160f: JUMPDEST 00001610: PUSH2 0x1619 00001613: SWAP2 00001614: SWAP1 00001615: PUSH2 0x18da 00001618: JUMP 00001619: JUMPDEST 0000161a: SWAP1 0000161b: POP 0000161c: PUSH2 0x1643 0000161f: JUMP 00001620: JUMPDEST 00001621: DUP3 00001622: DUP8 00001623: PUSH2 0x162c 00001626: DUP11 00001627: DUP14 00001628: PUSH2 0x188f 0000162b: JUMP 0000162c: JUMPDEST 0000162d: PUSH2 0x1636 00001630: SWAP2 00001631: SWAP1 00001632: PUSH2 0x188f 00001635: JUMP 00001636: JUMPDEST 00001637: PUSH2 0x1640 0000163a: SWAP2 0000163b: SWAP1 0000163c: PUSH2 0x18da 0000163f: JUMP 00001640: JUMPDEST 00001641: SWAP1 00001642: POP 00001643: JUMPDEST 00001644: DUP6 00001645: DUP2 00001646: GT 00001647: ISZERO 00001648: PUSH2 0x1654 0000164b: JUMPI 0000164c: PUSH1 0x00 0000164e: SWAP5 0000164f: POP 00001650: PUSH2 0x16e2 00001653: JUMP 00001654: JUMPDEST 00001655: PUSH1 0x00 00001657: DUP8 00001658: DUP4 00001659: LT 0000165a: PUSH2 0x1679 0000165d: JUMPI 0000165e: DUP3 0000165f: PUSH2 0x1668 00001662: DUP10 00001663: DUP8 00001664: PUSH2 0x188f 00001667: JUMP 00001668: JUMPDEST 00001669: PUSH2 0x1672 0000166c: SWAP2 0000166d: SWAP1 0000166e: PUSH2 0x18da 00001671: JUMP 00001672: JUMPDEST 00001673: SWAP1 00001674: POP 00001675: PUSH2 0x16ac 00001678: JUMP 00001679: JUMPDEST 0000167a: DUP9 0000167b: DUP6 0000167c: LT 0000167d: ISZERO 0000167e: PUSH2 0x1689 00001681: JUMPI 00001682: POP 00001683: PUSH1 0x00 00001685: PUSH2 0x16ac 00001688: JUMP 00001689: JUMPDEST 0000168a: DUP9 0000168b: DUP4 0000168c: PUSH2 0x1695 0000168f: DUP11 00001690: DUP9 00001691: PUSH2 0x188f 00001694: JUMP 00001695: JUMPDEST 00001696: PUSH2 0x169f 00001699: SWAP2 0000169a: SWAP1 0000169b: PUSH2 0x18da 0000169e: JUMP 0000169f: JUMPDEST 000016a0: PUSH2 0x16a9 000016a3: SWAP2 000016a4: SWAP1 000016a5: PUSH2 0x18da 000016a8: JUMP 000016a9: JUMPDEST 000016aa: SWAP1 000016ab: POP 000016ac: JUMPDEST 000016ad: DUP1 000016ae: DUP3 000016af: GT 000016b0: ISZERO 000016b1: PUSH2 0x16bd 000016b4: JUMPI 000016b5: PUSH1 0x00 000016b7: SWAP6 000016b8: POP 000016b9: PUSH2 0x16e0 000016bc: JUMP 000016bd: JUMPDEST 000016be: DUP9 000016bf: PUSH2 0x16c8 000016c2: DUP4 000016c3: DUP4 000016c4: PUSH2 0x18da 000016c7: JUMP 000016c8: JUMPDEST 000016c9: PUSH2 0x16d2 000016cc: SWAP2 000016cd: SWAP1 000016ce: PUSH2 0x18a7 000016d1: JUMP 000016d2: JUMPDEST 000016d3: PUSH2 0x16dd 000016d6: SWAP1 000016d7: PUSH1 0x01 000016d9: PUSH2 0x188f 000016dc: JUMP 000016dd: JUMPDEST 000016de: SWAP6 000016df: POP 000016e0: JUMPDEST 000016e1: POP 000016e2: JUMPDEST 000016e3: POP 000016e4: POP 000016e5: POP 000016e6: POP 000016e7: SWAP6 000016e8: SWAP5 000016e9: POP 000016ea: POP 000016eb: POP 000016ec: POP 000016ed: POP 000016ee: JUMP 000016ef: JUMPDEST 000016f0: DUP1 000016f1: CALLDATALOAD 000016f2: PUSH2 0x16fa 000016f5: DUP2 000016f6: PUSH2 0x1962 000016f9: JUMP 000016fa: JUMPDEST 000016fb: SWAP2 000016fc: SWAP1 000016fd: POP 000016fe: JUMP 000016ff: JUMPDEST 00001700: PUSH1 0x00 00001702: PUSH1 0x20 00001704: DUP3 00001705: DUP5 00001706: SUB 00001707: SLT 00001708: ISZERO 00001709: PUSH2 0x1710 0000170c: JUMPI 0000170d: DUP1 0000170e: DUP2 0000170f: REVERT 00001710: JUMPDEST 00001711: DUP2 00001712: CALLDATALOAD 00001713: PUSH2 0x171b 00001716: DUP2 00001717: PUSH2 0x1962 0000171a: JUMP 0000171b: JUMPDEST 0000171c: SWAP4 0000171d: SWAP3 0000171e: POP 0000171f: POP 00001720: POP 00001721: JUMP 00001722: JUMPDEST 00001723: PUSH1 0x00 00001725: PUSH1 0x20 00001727: DUP1 00001728: DUP4 00001729: DUP6 0000172a: SUB 0000172b: SLT 0000172c: ISZERO 0000172d: PUSH2 0x1734 00001730: JUMPI 00001731: DUP2 00001732: DUP3 00001733: REVERT 00001734: JUMPDEST 00001735: DUP3 00001736: CALLDATALOAD 00001737: PUSH8 0xffffffffffffffff 00001740: DUP1 00001741: DUP3 00001742: GT 00001743: ISZERO 00001744: PUSH2 0x174b 00001747: JUMPI 00001748: DUP4 00001749: DUP5 0000174a: REVERT 0000174b: JUMPDEST 0000174c: DUP2 0000174d: DUP6 0000174e: ADD 0000174f: SWAP2 00001750: POP 00001751: DUP6 00001752: PUSH1 0x1f 00001754: DUP4 00001755: ADD 00001756: SLT 00001757: PUSH2 0x175e 0000175a: JUMPI 0000175b: DUP4 0000175c: DUP5 0000175d: REVERT 0000175e: JUMPDEST 0000175f: DUP2 00001760: CALLDATALOAD 00001761: DUP2 00001762: DUP2 00001763: GT 00001764: ISZERO 00001765: PUSH2 0x1770 00001768: JUMPI 00001769: PUSH2 0x1770 0000176c: PUSH2 0x194c 0000176f: JUMP 00001770: JUMPDEST 00001771: DUP1 00001772: PUSH1 0x05 00001774: SHL 00001775: PUSH1 0x40 00001777: MLOAD 00001778: PUSH1 0x1f 0000177a: NOT 0000177b: PUSH1 0x3f 0000177d: DUP4 0000177e: ADD 0000177f: AND 00001780: DUP2 00001781: ADD 00001782: DUP2 00001783: DUP2 00001784: LT 00001785: DUP6 00001786: DUP3 00001787: GT 00001788: OR 00001789: ISZERO 0000178a: PUSH2 0x1795 0000178d: JUMPI 0000178e: PUSH2 0x1795 00001791: PUSH2 0x194c 00001794: JUMP 00001795: JUMPDEST 00001796: PUSH1 0x40 00001798: MSTORE 00001799: DUP3 0000179a: DUP2 0000179b: MSTORE 0000179c: DUP6 0000179d: DUP2 0000179e: ADD 0000179f: SWAP4 000017a0: POP 000017a1: DUP5 000017a2: DUP7 000017a3: ADD 000017a4: DUP3 000017a5: DUP7 000017a6: ADD 000017a7: DUP8 000017a8: ADD 000017a9: DUP11 000017aa: LT 000017ab: ISZERO 000017ac: PUSH2 0x17b3 000017af: JUMPI 000017b0: DUP8 000017b1: DUP9 000017b2: REVERT 000017b3: JUMPDEST 000017b4: DUP8 000017b5: SWAP6 000017b6: POP 000017b7: JUMPDEST 000017b8: DUP4 000017b9: DUP7 000017ba: LT 000017bb: ISZERO 000017bc: PUSH2 0x17dc 000017bf: JUMPI 000017c0: PUSH2 0x17c8 000017c3: DUP2 000017c4: PUSH2 0x16ef 000017c7: JUMP 000017c8: JUMPDEST 000017c9: DUP6 000017ca: MSTORE 000017cb: PUSH1 0x01 000017cd: SWAP6 000017ce: SWAP1 000017cf: SWAP6 000017d0: ADD 000017d1: SWAP5 000017d2: SWAP4 000017d3: DUP7 000017d4: ADD 000017d5: SWAP4 000017d6: DUP7 000017d7: ADD 000017d8: PUSH2 0x17b7 000017db: JUMP 000017dc: JUMPDEST 000017dd: POP 000017de: SWAP9 000017df: SWAP8 000017e0: POP 000017e1: POP 000017e2: POP 000017e3: POP 000017e4: POP 000017e5: POP 000017e6: POP 000017e7: POP 000017e8: JUMP 000017e9: JUMPDEST 000017ea: PUSH1 0x00 000017ec: PUSH1 0x20 000017ee: DUP3 000017ef: DUP5 000017f0: SUB 000017f1: SLT 000017f2: ISZERO 000017f3: PUSH2 0x17fa 000017f6: JUMPI 000017f7: DUP1 000017f8: DUP2 000017f9: REVERT 000017fa: JUMPDEST 000017fb: POP 000017fc: CALLDATALOAD 000017fd: SWAP2 000017fe: SWAP1 000017ff: POP 00001800: JUMP 00001801: JUMPDEST 00001802: PUSH1 0x00 00001804: PUSH1 0x20 00001806: DUP3 00001807: DUP5 00001808: SUB 00001809: SLT 0000180a: ISZERO 0000180b: PUSH2 0x1812 0000180e: JUMPI 0000180f: DUP1 00001810: DUP2 00001811: REVERT 00001812: JUMPDEST 00001813: POP 00001814: MLOAD 00001815: SWAP2 00001816: SWAP1 00001817: POP 00001818: JUMP 00001819: JUMPDEST 0000181a: PUSH1 0x20 0000181c: DUP1 0000181d: DUP3 0000181e: MSTORE 0000181f: DUP2 00001820: DUP2 00001821: ADD 00001822: MSTORE 00001823: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00001844: PUSH1 0x40 00001846: DUP3 00001847: ADD 00001848: MSTORE 00001849: PUSH1 0x60 0000184b: ADD 0000184c: SWAP1 0000184d: JUMP 0000184e: JUMPDEST 0000184f: PUSH1 0x20 00001851: DUP1 00001852: DUP3 00001853: MSTORE 00001854: PUSH1 0x21 00001856: SWAP1 00001857: DUP3 00001858: ADD 00001859: MSTORE 0000185a: PUSH32 0x72656365697665722063616e206e6f7420626520656d70747920616464726573 0000187b: PUSH1 0x40 0000187d: DUP3 0000187e: ADD 0000187f: MSTORE 00001880: PUSH1 0x73 00001882: PUSH1 0xf8 00001884: SHL 00001885: PUSH1 0x60 00001887: DUP3 00001888: ADD 00001889: MSTORE 0000188a: PUSH1 0x80 0000188c: ADD 0000188d: SWAP1 0000188e: JUMP 0000188f: JUMPDEST 00001890: PUSH1 0x00 00001892: DUP3 00001893: NOT 00001894: DUP3 00001895: GT 00001896: ISZERO 00001897: PUSH2 0x18a2 0000189a: JUMPI 0000189b: PUSH2 0x18a2 0000189e: PUSH2 0x1920 000018a1: JUMP 000018a2: JUMPDEST 000018a3: POP 000018a4: ADD 000018a5: SWAP1 000018a6: JUMP 000018a7: JUMPDEST 000018a8: PUSH1 0x00 000018aa: DUP3 000018ab: PUSH2 0x18b6 000018ae: JUMPI 000018af: PUSH2 0x18b6 000018b2: PUSH2 0x1936 000018b5: JUMP 000018b6: JUMPDEST 000018b7: POP 000018b8: DIV 000018b9: SWAP1 000018ba: JUMP 000018bb: JUMPDEST 000018bc: PUSH1 0x00 000018be: DUP2 000018bf: PUSH1 0x00 000018c1: NOT 000018c2: DIV 000018c3: DUP4 000018c4: GT 000018c5: DUP3 000018c6: ISZERO 000018c7: ISZERO 000018c8: AND 000018c9: ISZERO 000018ca: PUSH2 0x18d5 000018cd: JUMPI 000018ce: PUSH2 0x18d5 000018d1: PUSH2 0x1920 000018d4: JUMP 000018d5: JUMPDEST 000018d6: POP 000018d7: MUL 000018d8: SWAP1 000018d9: JUMP 000018da: JUMPDEST 000018db: PUSH1 0x00 000018dd: DUP3 000018de: DUP3 000018df: LT 000018e0: ISZERO 000018e1: PUSH2 0x18ec 000018e4: JUMPI 000018e5: PUSH2 0x18ec 000018e8: PUSH2 0x1920 000018eb: JUMP 000018ec: JUMPDEST 000018ed: POP 000018ee: SUB 000018ef: SWAP1 000018f0: JUMP 000018f1: JUMPDEST 000018f2: PUSH1 0x00 000018f4: PUSH1 0x00 000018f6: NOT 000018f7: DUP3 000018f8: EQ 000018f9: ISZERO 000018fa: PUSH2 0x1905 000018fd: JUMPI 000018fe: PUSH2 0x1905 00001901: PUSH2 0x1920 00001904: JUMP 00001905: JUMPDEST 00001906: POP 00001907: PUSH1 0x01 00001909: ADD 0000190a: SWAP1 0000190b: JUMP 0000190c: JUMPDEST 0000190d: PUSH1 0x00 0000190f: DUP3 00001910: PUSH2 0x191b 00001913: JUMPI 00001914: PUSH2 0x191b 00001917: PUSH2 0x1936 0000191a: JUMP 0000191b: JUMPDEST 0000191c: POP 0000191d: MOD 0000191e: SWAP1 0000191f: JUMP 00001920: JUMPDEST 00001921: PUSH4 0x4e487b71 00001926: PUSH1 0xe0 00001928: SHL 00001929: PUSH1 0x00 0000192b: MSTORE 0000192c: PUSH1 0x11 0000192e: PUSH1 0x04 00001930: MSTORE 00001931: PUSH1 0x24 00001933: PUSH1 0x00 00001935: REVERT 00001936: JUMPDEST 00001937: PUSH4 0x4e487b71 0000193c: PUSH1 0xe0 0000193e: SHL 0000193f: PUSH1 0x00 00001941: MSTORE 00001942: PUSH1 0x12 00001944: PUSH1 0x04 00001946: MSTORE 00001947: PUSH1 0x24 00001949: PUSH1 0x00 0000194b: REVERT 0000194c: JUMPDEST 0000194d: PUSH4 0x4e487b71 00001952: PUSH1 0xe0 00001954: SHL 00001955: PUSH1 0x00 00001957: MSTORE 00001958: PUSH1 0x41 0000195a: PUSH1 0x04 0000195c: MSTORE 0000195d: PUSH1 0x24 0000195f: PUSH1 0x00 00001961: REVERT 00001962: JUMPDEST 00001963: PUSH1 0x01 00001965: PUSH1 0x01 00001967: PUSH1 0xa0 00001969: SHL 0000196a: SUB 0000196b: DUP2 0000196c: AND 0000196d: DUP2 0000196e: EQ 0000196f: PUSH2 0x1566 00001972: JUMPI 00001973: PUSH1 0x00 00001975: DUP1 00001976: REVERT 00001977: INVALID 00001978: LOG2 00001979: PUSH5 0x6970667358 0000197f: UNKNOWN(0x22) 00001980: SLT 00001981: KECCAK256 00001982: UNKNOWN(0xF7) 00001983: UNKNOWN(0xC9) 00001984: UNKNOWN(0xAA) 00001985: PUSH26 0x13f9f613382ab4e3dca873a1a41f766c96b4c5433b9d5893f6bf 000019a0: INVALID 000019a1: KECCAK256 000019a2: PUSH5 0x736f6c6343 000019a8: STOP 000019a9: ADDMOD 000019aa: DIV 000019ab: STOP 000019ac: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x10640940223d3fbb597d20732fb5de0ce46dd7f4f5ee2d3fc712adcac12dd69c
call_targets:
0xd19fa1565564f552200ab656c3003d5868555539
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x10640940223d3fbb597d20732fb5de0ce46dd7f4f5ee2d3fc712adcac12dd69c",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xd19fa1565564f552200ab656c3003d5868555539"
],
"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": "0xf23e1fd2",
"selector": "0xf23e1fd2",
"calldata_variants": [
"0xf23e1fd2",
"0xf23e1fd20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf26d3117",
"selector": "0xf26d3117",
"calldata_variants": [
"0xf26d3117",
"0xf26d31170000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfd23492a",
"selector": "0xfd23492a",
"calldata_variants": [
"0xfd23492a",
"0xfd23492a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe56d3db8",
"selector": "0xe56d3db8",
"calldata_variants": [
"0xe56d3db8",
"0xe56d3db80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xee69ef92",
"selector": "0xee69ef92",
"calldata_variants": [
"0xee69ef92",
"0xee69ef920000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf09703ca",
"selector": "0xf09703ca",
"calldata_variants": [
"0xf09703ca",
"0xf09703ca0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf1dbc1c6",
"selector": "0xf1dbc1c6",
"calldata_variants": [
"0xf1dbc1c6",
"0xf1dbc1c60000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1998,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2816,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3651,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 6,
"guards_detected": [],
"untrusted_call_count": 6
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x10640940223d3fbb597d20732fb5de0ce46dd7f4f5ee2d3fc712adcac12dd69c
call_targets:
0xd19fa1565564f552200ab656c3003d5868555539
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x10640940223d3fbb597d20732fb5de0ce46dd7f4f5ee2d3fc712adcac12dd69c",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xd19fa1565564f552200ab656c3003d5868555539"
],
"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": "0xf23e1fd2",
"selector": "0xf23e1fd2",
"calldata_variants": [
"0xf23e1fd2",
"0xf23e1fd20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf26d3117",
"selector": "0xf26d3117",
"calldata_variants": [
"0xf26d3117",
"0xf26d31170000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfd23492a",
"selector": "0xfd23492a",
"calldata_variants": [
"0xfd23492a",
"0xfd23492a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe56d3db8",
"selector": "0xe56d3db8",
"calldata_variants": [
"0xe56d3db8",
"0xe56d3db80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xee69ef92",
"selector": "0xee69ef92",
"calldata_variants": [
"0xee69ef92",
"0xee69ef920000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf09703ca",
"selector": "0xf09703ca",
"calldata_variants": [
"0xf09703ca",
"0xf09703ca0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf1dbc1c6",
"selector": "0xf1dbc1c6",
"calldata_variants": [
"0xf1dbc1c6",
"0xf1dbc1c60000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1998,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2816,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3651,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 6,
"guards_detected": []
}
|
| high | math | codex | Raffle can permanently revert when remainingURS is zero or exceeds totalTickets, locking tickets and refunds | 85 | no | — |
viewevidence_json{
"evidence": "slotSize and offsetInSlot are computed from totalTickets/remainingURS without checking remainingURS or ensuring slotSize > 0; calculateMyResult requires raffleNumber to be set.",
"locations": [
"contracts/URSStore.sol:192",
"contracts/URSStore.sol:215",
"contracts/URSStore.sol:223",
"contracts/URSStore.sol:224",
"contracts/URSStore.sol:300"
],
"recommendation": "Guard against remainingURS == 0 and totalTickets < remainingURS. Enforce limits in takingTickets or runRaffle, or add a cancellation/refund path when demand is insufficient. Consider setting a safe slotSize (e.g., 1) or reverting ticket sales when no supply remains.",
"exploit_scenario": "If VIP/pass minting exhausts supply (remainingURS == 0) or overall ticket sales are below remaining supply (totalTickets < remainingURS), runRaffle computes slotSize = totalTickets / remainingURS as 0 or divides by zero and then reverts on modulo. Because raffleNumber is never set, users cannot call calculateMyResult and never receive refunds or mint allocations. An attacker with enough passes could intentionally exhaust supply before the public ticket phase, causing subsequent ticket buyers to be permanently stuck."
}
|
| medium | oracle | codex | Owner-controlled raffle number enables deterministic winner selection | 75 | no | — |
viewevidence_json{
"evidence": "raffleNumber is set directly by onlyOwner with no entropy or commitment mechanism.",
"locations": [
"contracts/URSStore.sol:215",
"contracts/URSStore.sol:218"
],
"recommendation": "Use a commit-reveal scheme or an external randomness oracle (e.g., Chainlink VRF) with a binding that prevents the owner from selecting the final value after seeing ticket distribution.",
"exploit_scenario": "The owner sets raffleNumber at any time after ticket sales, with no commitment or external randomness. This allows the owner to choose a raffleNumber that favors specific ticket indices (including their own), undermining fairness and enabling manipulation of winners."
}
|