019be3d6-8355-7101-a9ce-9df439e1eb56
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 |
|---|---|---|---|---|
| 40834 | artifact.fetch | complete | 1 / 3 | 2 months ago |
| 40835 | proxy.resolve | complete | 1 / 3 | 2 months ago |
| 40836 | tool.cast_disasm | complete | 1 / 3 | 2 months ago |
| 40837 | analysis.bundle | complete | 1 / 3 | 2 months ago |
| 40838 | capability.graph | complete | 1 / 3 | 2 months ago |
| 40839 | detector.run | complete | 1 / 3 | 2 months ago |
| 40840 | validation.fork | complete | 1 / 3 | 2 months ago |
| 41331 | report.consolidate | complete | 1 / 6 | 2 months ago |
| 41332 | tool.slither | failed | 2 / 2 | 2 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-4jh0_suu)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-4jh0_suu)
'forge' returned non-zero exit code 1
Compiling 1 files with Solc 0.4.21
Error: invalid value: string "SaleStagesLib.StageStorage storage", expected a valid Solidity type specifier at line 1 column 1023375
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-4jh0_suu/out/build-info is not a directory.
{"no_findings":false,"summary":"Identified replayable KYC signatures that can bypass intended purchase limits, a configuration-dependent signature bypass, and a refund flag bug that undermines refund tracking.","findings":[{"severity":"medium","category":"auth","title":"KYC signature replay allows bypassing intended per-user limits","exploit_scenario":"A whitelisted user can reuse the same signed KYC payload multiple times, each time staying under the per-transaction max, to exceed the intended cumulative purchase limit because there is no nonce/usage tracking or cumulative cap enforcement.","recommendation":"Bind signatures to unique nonces and/or the exact purchase amount and track used nonces or cumulative purchases per user; include contract address and chain ID in the signed data to prevent cross-contract replays.","evidence":"`buyWithKYCData` only validates a static payload (address, customerId, min/max) and enforces min/max only per call, with no nonce or cumulative tracking.","locations":["contracts/Contract.sol:1242","contracts/Contract.sol:1251","contracts/Contract.sol:1264"]},{"severity":"low","category":"auth","title":"KYC signature check can be bypassed if signerAddress is unset","exploit_scenario":"If the owner forgets to set `signerAddress`, an attacker can pass an invalid signature that makes `ecrecover` return the zero address, which will satisfy the equality check and allow unauthorized purchases.","recommendation":"Require `signerAddress != address(0)` inside `buyWithKYCData` and consider setting it in the constructor to avoid misconfiguration.","evidence":"`buyWithKYCData` only checks `ecrecover(...) == signerAddress` and does not guard against `signerAddress` being zero; `signerAddress` is only set via an external owner call.","locations":["contracts/Contract.sol:1242","contracts/Contract.sol:1253","contracts/Contract.sol:1272"]},{"severity":"low","category":"other","title":"Refunded flag never set due to equality operator","exploit_scenario":"Because `refunded[msg.sender] == true;` is a comparison, not an assignment, the refund flag never changes. If `refundable` is re-credited (e.g., via another admin refund), the same address can collect multiple refunds without the intended one-time guard.","recommendation":"Change `refunded[msg.sender] == true;` to `refunded[msg.sender] = true;` and consider setting it during `refundParticipant` as well.","evidence":"`collectRefund` attempts to set the refund flag but uses `==`, leaving it permanently false.","locations":["contracts/Contract.sol:1220","contracts/Contract.sol:1227"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-ookuofs6
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019be44a-abab-7040-9e8a-bde18a3203fc
--------
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
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-ookuofs6 succeeded in 8ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.
================================================================================
FILE: contracts/Contract.sol
================================================================================
pragma solidity 0.4.21;
// File: contracts/BytesDeserializer.sol
/*
* This smart contract code is Copyright 2017 TokenMarket Ltd. For more information see https://tokenmarket.net
*
* Licensed under the Apache License, version 2.0: https://github.com/TokenMarketNet/ico/blob/master/LICENSE.txt
*/
/*
* Deserialize bytes payloads.
*
* Values are in big-endian byte order.
thinking
**Identifying refund logic flaw**
Detected a misuse of equality instead of assignment in refund marking, causing the refunded flag to never update; this could permit multiple refunds if refundable balances are replenished later, indicating a potential vulnerability.
thinking
**Planning deeper audit on refund and buy logic**
Refund flag bug seems minor due to other balance checks, but potential reentrancy and external call risks remain unclear without seeing full buyTokens and related functions; next step is to locate and review the complete Crowdsale contract to analyze external calls and state changes.
exec
/bin/bash -lc "rg -n \"buyTokens|buyWithKYCData|transfer\\(|delegatecall|call\\(\" AUDIT_BUNDLE.txt" in /tmp/codex-ookuofs6 succeeded in 19ms:
172: function transfer(address to, uint256 value) public returns (bool);
227: function transfer(address _to, uint256 _value) public returns (bool) {
430: function transfer(address _to, uint _value) canTransfer(msg.sender) public returns (bool success) {
431: // Call StandardToken.transfer()
432: return super.transfer(_to, _value);
657: function buyTokens(uint128 buyer) internal stopInEmergency {
703: owner.transfer(weiRaised);
779: beneficiary.transfer(withdrawalAmount);
1089: msg.sender.transfer(withdrawalAmount);
1235: msg.sender.transfer(theirwei);
1248: function buyWithKYCData(bytes dataframe, uint8 v, bytes32 r, bytes32 s) public payable {
1273: buyTokens(customerId);
thinking
**Scanning buyTokens and Crowdsale area**
I'll review the code from lines 600 to 800 to understand the logic around buyTokens and Crowdsale functions before proceeding.
exec
/bin/bash -lc "nl -ba AUDIT_BUNDLE.txt | sed -n '560,820p'" in /tmp/codex-ookuofs6 succeeded in 8ms:
560
561 contract Stoppable is Ownable {
562 bool public halted;
563
564 event SaleStopped(address owner, uint256 datetime);
565
566 modifier stopInEmergency {
567 require(!halted);
568 _;
569 }
570
571 function hasHalted() internal view returns (bool isHalted) {
572 return halted;
573 }
574
575 // called by the owner on emergency, triggers stopped state
576 function stopICO() external onlyOwner {
577 halted = true;
578 SaleStopped(msg.sender, now);
579 }
thinking
**Identifying signature replay risk**
Noticed the buyWithKYCData signature uses sha256 without domain separation or nonce, allowing replay across contracts or chains and unlimited reuse by the same whitelisted address. This presents a crucial vulnerability to address.
thinking
**Confirming signature replay enables cumulative limit bypass**
The per-purchase min/max check allows repeated buys with the same signature to exceed intended total limits, creating an accounting/invariant flaw under authorization/signature validation. Also, token release agent setting likely misconfigured but not a direct vulnerability.
exec
/bin/bash -lc "rg -n \"function\\(\\) payable|fallback|receive\" AUDIT_BUNDLE.txt" in /tmp/codex-ookuofs6 succeeded in 19ms:
466: * @param _to The address that will receive the minted tokens.
1065: function preallocate(address receiver, uint tokens, uint weiPrice) internal {
1072: tokenBalanceOf[receiver] = tokenBalanceOf[receiver].add(tokenAmount);
1074: presaleBalanceOf[receiver] = presaleBalanceOf[receiver].add(weiAmount);
1076: produceTokens(receiver, weiAmount, tokenAmount);
thinking
**Investigating fallback and function coverage**
I'm checking for the presence of a payable fallback and broader function coverage around line 820 and beyond 1000, focusing on stage-related logic and potential vulnerabilities.
exec
/bin/bash -lc "nl -ba AUDIT_BUNDLE.txt | sed -n '1000,1320p'" in /tmp/codex-ookuofs6 succeeded in 7ms:
1000 }
1001
1002 // This is used for extending the sales start time (and the deadlines of each stage) accordingly
1003 function extendStart(uint256 _newStart) external onlyOwner {
1004 require(_newStart > startTime);
1005 require(_newStart > now);
1006 require(now < startTime);
1007
1008 uint256 difference = _newStart - startTime;
1009 uint256 oldStart = startTime;
1010 startTime = _newStart;
1011 endTime = endTime + difference;
1012
1013 // Loop through every stage in the sale
1014 for (uint8 i = 0; i < 4; i++) {
1015 // Extend that stages deadline accordingly
1016 uint256 temp = stages.stages[i].deadline;
1017 temp = temp + difference;
1018
1019 stages.changeDeadline(i, temp);
thinking
**Analyzing signature replay and validation weaknesses**
Identified potential replay risk since signatures lack nonces or unique per-transaction data, allowing indefinite reuse; noted signature uses raw sha256 without Ethereum prefix, which is standard if server handles raw hashes. Also spotted strict inequality limits on purchase amounts and a possible division-by-zero risk in token calculation if stage price is zero.
thinking
**Detailing multiple contract logic and security nuances**
Confirmed division-by-zero risk at exact sale start due to stage 0 price zero causing revert for purchases, but only momentary. Highlighted a flaw where `refunded` flags aren’t properly set, potentially allowing repeated refunds if owner resets credit. Identified missing signer address check in signature verification enabling bypass if unset, and signature replay risks due to no domain separation or nonces. Verified token ownership and release agent interplay is consistent if setup done correctly off-chain. Also noted edge cases in withdrawal logic and intentional but notable operator precedence in emergency halts.
exec
/bin/bash -lc 'rg --files' in /tmp/codex-ookuofs6 succeeded in 11ms:
codex-output-schema.json
AUDIT_BUNDLE.txt
contracts/Contract.sol
thinking
**Confirming source file and line references**
Contracts live in contracts/Contract.sol, which appears as a full concatenated file; I'll verify line numbers there to reference functions accurately, starting with buyWithKYCData.
exec
/bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1120,1320p'" in /tmp/codex-ookuofs6 succeeded in 7ms:
1120 */
1121 contract KYCCrowdsale is KYCPayloadDeserializer, PickCrowdsale {
1122
1123 /* Server holds the private key to this address to decide if the AML payload is valid or not. */
1124 address public signerAddress;
1125 mapping(address => uint256) public refundable;
1126 mapping(address => bool) public refunded;
1127 mapping(address => bool) public blacklist;
1128
1129 /* A new server-side signer key was set to be effective */
1130 event SignerChanged(address signer);
1131 event TokensReclaimed(address user, uint256 amount, uint256 datetime);
1132 event AddedToBlacklist(address user, uint256 datetime);
1133 event RemovedFromBlacklist(address user, uint256 datetime);
1134 event RefundCollected(address user, uint256 datetime);
1135 event TokensReleased(address agent, uint256 datetime, uint256 bounty, uint256 founders);
1136
1137 /*
1138 * Constructor.
1139 */
thinking
**Locating buyTokens implementation context**
I'm searching around line 630 to find related code and line numbers for buyTokens to guide further exploration or modifications.
exec
/bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '620,780p'" in /tmp/codex-ookuofs6 succeeded in 6ms:
620 * @param purchaser who paid for the tokens
621 * @param beneficiary who got the tokens
622 * @param value weis paid for purchase
623 * @param amount amount of tokens purchased
624 */
625 event TokenPurchase(address indexed purchaser, address indexed beneficiary, uint256 value, uint256 amount, uint256 datetime);
626
627 /*
628 * Contructor
629 * This initialises the basic crowdsale data
630 * It transfers ownership of this token to the chosen beneficiary
631 */
632 function Crowdsale(uint256 _startTime, uint256 _endTime, uint256 _rate, address _wallet, PickToken _token) public {
633 require(_startTime >= now);
634 require(_endTime >= _startTime);
635 require(_rate > 0);
636 require(_wallet != address(0));
637
638 token = _token;
639 startTime = _startTime;
thinking
**Audit finds no critical vulnerabilities**
Rechecked key functions and access controls, confirming owner-exclusive permissions prevent misuse. Verified no reentrancy or unchecked arithmetic risks in token operations given controlled inputs.
thinking
```json
{
"no_findings": false,
"summary": "Identified medium-severity replay vulnerability in KYC signature allowing users to exceed purchase limits, plus two low-severity issues: signer address unset enabling signature bypass and a bug in refund flag assignment allowing repeated refunds.",
"findings": [
{
"severity": "medium",
"category": "auth",
"title": "KYC signature replay allows bypassing max purchase limits",
"exploit_scenario": "A whitelisted user reuses the same signed KYC data multiple times with purchase amounts under the per-transaction max to cumulatively exceed intended maximum allocations.",
"recommendation": "Implement nonce or per-user cumulative tracking to prevent signature reuse beyond allowed limits.",
"evidence": "buyWithKYCData uses signed payload only for address, customerId, min, max and checks weiAmount against min/max per call without nonce or usage tracking in storage.",
"locations": [
"contracts/Contract.sol:1242",
"contracts/Contract.sol:1251",
"contracts/Contract.sol:1264"
]
},
{
"severity": "low",
"category": "auth",
"title": "KYC enforcement can be bypassed if signerAddress is unset",
"exploit_scenario": "If the signerAddress is not configured (remains zero), invalid signatures with certain v/r/s values cause ecrecover to return zero address, passing signature check improperly.",
"recommendation": "Enforce signerAddress is set and add validation to reject zero addresses during signature verification.",
"evidence": "signerAddress defaults to zero; require(ecrecover(...) == signerAddress) lacks explicit signerAddress non-zero check; ecrecover can return zero for invalid signatures.",
"locations": [
"contracts/Contract.sol:1242",
"contracts/Contract.sol:1253",
"contracts/Contract.sol:1272"
]
},
{
"severity": "low",
"category": "other",
"title": "Refunded flag is never set due to equality operator",
"exploit_scenario": "Due to use of '==' instead of assignment, the refunded flag is never set, allowing repeated refunds if refundable balance is replenished.",
"recommendation": "Correct the refunded flag assignment to use '=' so the flag properly marks refunded participants.",
"evidence": "refunded[msg.sender] == true; uses comparison instead of assignment preventing state update.",
"locations": [
"contracts/Contract.sol:1220",
"contracts/Contract.sol:1225"
]
}
]
}
```
codex
{"no_findings":false,"summary":"Identified replayable KYC signatures that can bypass intended purchase limits, a configuration-dependent signature bypass, and a refund flag bug that undermines refund tracking.","findings":[{"severity":"medium","category":"auth","title":"KYC signature replay allows bypassing intended per-user limits","exploit_scenario":"A whitelisted user can reuse the same signed KYC payload multiple times, each time staying under the per-transaction max, to exceed the intended cumulative purchase limit because there is no nonce/usage tracking or cumulative cap enforcement.","recommendation":"Bind signatures to unique nonces and/or the exact purchase amount and track used nonces or cumulative purchases per user; include contract address and chain ID in the signed data to prevent cross-contract replays.","evidence":"`buyWithKYCData` only validates a static payload (address, customerId, min/max) and enforces min/max only per call, with no nonce or cumulative tracking.","locations":["contracts/Contract.sol:1242","contracts/Contract.sol:1251","contracts/Contract.sol:1264"]},{"severity":"low","category":"auth","title":"KYC signature check can be bypassed if signerAddress is unset","exploit_scenario":"If the owner forgets to set `signerAddress`, an attacker can pass an invalid signature that makes `ecrecover` return the zero address, which will satisfy the equality check and allow unauthorized purchases.","recommendation":"Require `signerAddress != address(0)` inside `buyWithKYCData` and consider setting it in the constructor to avoid misconfiguration.","evidence":"`buyWithKYCData` only checks `ecrecover(...) == signerAddress` and does not guard against `signerAddress` being zero; `signerAddress` is only set via an external owner call.","locations":["contracts/Contract.sol:1242","contracts/Contract.sol:1253","contracts/Contract.sol:1272"]},{"severity":"low","category":"other","title":"Refunded flag never set due to equality operator","exploit_scenario":"Because `refunded[msg.sender] == true;` is a comparison, not an assignment, the refund flag never changes. If `refundable` is re-credited (e.g., via another admin refund), the same address can collect multiple refunds without the intended one-time guard.","recommendation":"Change `refunded[msg.sender] == true;` to `refunded[msg.sender] = true;` and consider setting it during `refundParticipant` as well.","evidence":"`collectRefund` attempts to set the refund flag but uses `==`, leaving it permanently false.","locations":["contracts/Contract.sol:1220","contracts/Contract.sol:1227"]}]}
tokens used
38,760
{
"codex": {
"ran_at": "2026-01-22T06:04:31.089858+00:00",
"returncode": 0
},
"project": {
"mode": "source",
"file_count": 1,
"import_count": 0,
"first_party_contracts_count": 1
},
"summary": "Identified replayable KYC signatures that can bypass intended purchase limits, a configuration-dependent signature bypass, and a refund flag bug that undermines refund tracking.",
"raw_final": {
"summary": "Identified replayable KYC signatures that can bypass intended purchase limits, a configuration-dependent signature bypass, and a refund flag bug that undermines refund tracking.",
"findings": [
{
"title": "KYC signature replay allows bypassing intended per-user limits",
"category": "auth",
"evidence": "`buyWithKYCData` only validates a static payload (address, customerId, min/max) and enforces min/max only per call, with no nonce or cumulative tracking.",
"severity": "medium",
"locations": [
"contracts/Contract.sol:1242",
"contracts/Contract.sol:1251",
"contracts/Contract.sol:1264"
],
"recommendation": "Bind signatures to unique nonces and/or the exact purchase amount and track used nonces or cumulative purchases per user; include contract address and chain ID in the signed data to prevent cross-contract replays.",
"exploit_scenario": "A whitelisted user can reuse the same signed KYC payload multiple times, each time staying under the per-transaction max, to exceed the intended cumulative purchase limit because there is no nonce/usage tracking or cumulative cap enforcement."
},
{
"title": "KYC signature check can be bypassed if signerAddress is unset",
"category": "auth",
"evidence": "`buyWithKYCData` only checks `ecrecover(...) == signerAddress` and does not guard against `signerAddress` being zero; `signerAddress` is only set via an external owner call.",
"severity": "low",
"locations": [
"contracts/Contract.sol:1242",
"contracts/Contract.sol:1253",
"contracts/Contract.sol:1272"
],
"recommendation": "Require `signerAddress != address(0)` inside `buyWithKYCData` and consider setting it in the constructor to avoid misconfiguration.",
"exploit_scenario": "If the owner forgets to set `signerAddress`, an attacker can pass an invalid signature that makes `ecrecover` return the zero address, which will satisfy the equality check and allow unauthorized purchases."
},
{
"title": "Refunded flag never set due to equality operator",
"category": "other",
"evidence": "`collectRefund` attempts to set the refund flag but uses `==`, leaving it permanently false.",
"severity": "low",
"locations": [
"contracts/Contract.sol:1220",
"contracts/Contract.sol:1227"
],
"recommendation": "Change `refunded[msg.sender] == true;` to `refunded[msg.sender] = true;` and consider setting it during `refundParticipant` as well.",
"exploit_scenario": "Because `refunded[msg.sender] == true;` is a comparison, not an assignment, the refund flag never changes. If `refundable` is re-credited (e.g., via another admin refund), the same address can collect multiple refunds without the intended one-time guard."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x60 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x0242 0000000c: JUMPI 0000000d: PUSH4 0xffffffff 00000012: PUSH1 0xe0 00000014: PUSH1 0x02 00000016: EXP 00000017: PUSH1 0x00 00000019: CALLDATALOAD 0000001a: DIV 0000001b: AND 0000001c: PUSH4 0x046dc166 00000021: DUP2 00000022: EQ 00000023: PUSH2 0x0247 00000026: JUMPI 00000027: DUP1 00000028: PUSH4 0x15a5d9d8 0000002d: EQ 0000002e: PUSH2 0x0268 00000031: JUMPI 00000032: DUP1 00000033: PUSH4 0x1f130761 00000038: EQ 00000039: PUSH2 0x0297 0000003c: JUMPI 0000003d: DUP1 0000003e: PUSH4 0x26654d57 00000043: EQ 00000044: PUSH2 0x02bc 00000047: JUMPI 00000048: DUP1 00000049: PUSH4 0x26ce3da0 0000004e: EQ 0000004f: PUSH2 0x02e7 00000052: JUMPI 00000053: DUP1 00000054: PUSH4 0x2c4e722e 00000059: EQ 0000005a: PUSH2 0x02fa 0000005d: JUMPI 0000005e: DUP1 0000005f: PUSH4 0x3197cbb6 00000064: EQ 00000065: PUSH2 0x030d 00000068: JUMPI 00000069: DUP1 0000006a: PUSH4 0x38af3eed 0000006f: EQ 00000070: PUSH2 0x0320 00000073: JUMPI 00000074: DUP1 00000075: PUSH4 0x3c20d1a5 0000007a: EQ 0000007b: PUSH2 0x0333 0000007e: JUMPI 0000007f: DUP1 00000080: PUSH4 0x3f4dd268 00000085: EQ 00000086: PUSH2 0x034c 00000089: JUMPI 0000008a: DUP1 0000008b: PUSH4 0x4042b66f 00000090: EQ 00000091: PUSH2 0x0365 00000094: JUMPI 00000095: DUP1 00000096: PUSH4 0x4413a688 0000009b: EQ 0000009c: PUSH2 0x0378 0000009f: JUMPI 000000a0: DUP1 000000a1: PUSH4 0x47d20373 000000a6: EQ 000000a7: PUSH2 0x038b 000000aa: JUMPI 000000ab: DUP1 000000ac: PUSH4 0x521eb273 000000b1: EQ 000000b2: PUSH2 0x03b4 000000b5: JUMPI 000000b6: DUP1 000000b7: PUSH4 0x537df3b6 000000bc: EQ 000000bd: PUSH2 0x03c7 000000c0: JUMPI 000000c1: DUP1 000000c2: PUSH4 0x5b7633d0 000000c7: EQ 000000c8: PUSH2 0x03e6 000000cb: JUMPI 000000cc: DUP1 000000cd: PUSH4 0x5edca2b4 000000d2: EQ 000000d3: PUSH2 0x03f9 000000d6: JUMPI 000000d7: DUP1 000000d8: PUSH4 0x68ec0d99 000000dd: EQ 000000de: PUSH2 0x040c 000000e1: JUMPI 000000e2: DUP1 000000e3: PUSH4 0x693e2279 000000e8: EQ 000000e9: PUSH2 0x042b 000000ec: JUMPI 000000ed: DUP1 000000ee: PUSH4 0x70a08231 000000f3: EQ 000000f4: PUSH2 0x043e 000000f7: JUMPI 000000f8: DUP1 000000f9: PUSH4 0x73752db4 000000fe: EQ 000000ff: PUSH2 0x045d 00000102: JUMPI 00000103: DUP1 00000104: PUSH4 0x756a288e 00000109: EQ 0000010a: PUSH2 0x04fc 0000010d: JUMPI 0000010e: DUP1 0000010f: PUSH4 0x78e97925 00000114: EQ 00000115: PUSH2 0x0515 00000118: JUMPI 00000119: DUP1 0000011a: PUSH4 0x7c6bd96d 0000011f: EQ 00000120: PUSH2 0x0528 00000123: JUMPI 00000124: DUP1 00000125: PUSH4 0x7db71fc4 0000012a: EQ 0000012b: PUSH2 0x053e 0000012e: JUMPI 0000012f: DUP1 00000130: PUSH4 0x88426aec 00000135: EQ 00000136: PUSH2 0x0566 00000139: JUMPI 0000013a: DUP1 0000013b: PUSH4 0x8da5cb5b 00000140: EQ 00000141: PUSH2 0x057f 00000144: JUMPI 00000145: DUP1 00000146: PUSH4 0x906a26e0 0000014b: EQ 0000014c: PUSH2 0x0592 0000014f: JUMPI 00000150: DUP1 00000151: PUSH4 0x91778b9c 00000156: EQ 00000157: PUSH2 0x05a5 0000015a: JUMPI 0000015b: DUP1 0000015c: PUSH4 0x9944d5e7 00000161: EQ 00000162: PUSH2 0x05c1 00000165: JUMPI 00000166: DUP1 00000167: PUSH4 0xb0891f4f 0000016c: EQ 0000016d: PUSH2 0x05d4 00000170: JUMPI 00000171: DUP1 00000172: PUSH4 0xb51459fe 00000177: EQ 00000178: PUSH2 0x05e7 0000017b: JUMPI 0000017c: DUP1 0000017d: PUSH4 0xb9b8af0b 00000182: EQ 00000183: PUSH2 0x060e 00000186: JUMPI 00000187: DUP1 00000188: PUSH4 0xbcdea6f9 0000018d: EQ 0000018e: PUSH2 0x0621 00000191: JUMPI 00000192: DUP1 00000193: PUSH4 0xbdd30406 00000198: EQ 00000199: PUSH2 0x063a 0000019c: JUMPI 0000019d: DUP1 0000019e: PUSH4 0xc033a490 000001a3: EQ 000001a4: PUSH2 0x064d 000001a7: JUMPI 000001a8: DUP1 000001a9: PUSH4 0xc80ec522 000001ae: EQ 000001af: PUSH2 0x066c 000001b2: JUMPI 000001b3: DUP1 000001b4: PUSH4 0xc8e569a8 000001b9: EQ 000001ba: PUSH2 0x067f 000001bd: JUMPI 000001be: DUP1 000001bf: PUSH4 0xd7c7159c 000001c4: EQ 000001c5: PUSH2 0x0692 000001c8: JUMPI 000001c9: DUP1 000001ca: PUSH4 0xdfc6fbaa 000001cf: EQ 000001d0: PUSH2 0x06e8 000001d3: JUMPI 000001d4: DUP1 000001d5: PUSH4 0xe42c08f2 000001da: EQ 000001db: PUSH2 0x0707 000001de: JUMPI 000001df: DUP1 000001e0: PUSH4 0xe6ca0f47 000001e5: EQ 000001e6: PUSH2 0x0726 000001e9: JUMPI 000001ea: DUP1 000001eb: PUSH4 0xecb70fb7 000001f0: EQ 000001f1: PUSH2 0x0739 000001f4: JUMPI 000001f5: DUP1 000001f6: PUSH4 0xf2fde38b 000001fb: EQ 000001fc: PUSH2 0x074c 000001ff: JUMPI 00000200: DUP1 00000201: PUSH4 0xf7c00e2f 00000206: EQ 00000207: PUSH2 0x076b 0000020a: JUMPI 0000020b: DUP1 0000020c: PUSH4 0xf9f92be4 00000211: EQ 00000212: PUSH2 0x077e 00000215: JUMPI 00000216: DUP1 00000217: PUSH4 0xfb0cf7ab 0000021c: EQ 0000021d: PUSH2 0x079d 00000220: JUMPI 00000221: DUP1 00000222: PUSH4 0xfb86a404 00000227: EQ 00000228: PUSH2 0x07b6 0000022b: JUMPI 0000022c: DUP1 0000022d: PUSH4 0xfc0c546a 00000232: EQ 00000233: PUSH2 0x07c9 00000236: JUMPI 00000237: DUP1 00000238: PUSH4 0xfcaa7664 0000023d: EQ 0000023e: PUSH2 0x07dc 00000241: JUMPI 00000242: JUMPDEST 00000243: PUSH1 0x00 00000245: DUP1 00000246: REVERT 00000247: JUMPDEST 00000248: CALLVALUE 00000249: ISZERO 0000024a: PUSH2 0x0252 0000024d: JUMPI 0000024e: PUSH1 0x00 00000250: DUP1 00000251: REVERT 00000252: JUMPDEST 00000253: PUSH2 0x0266 00000256: PUSH1 0x01 00000258: PUSH1 0xa0 0000025a: PUSH1 0x02 0000025c: EXP 0000025d: SUB 0000025e: PUSH1 0x04 00000260: CALLDATALOAD 00000261: AND 00000262: PUSH2 0x07ef 00000265: JUMP 00000266: JUMPDEST 00000267: STOP 00000268: JUMPDEST 00000269: CALLVALUE 0000026a: ISZERO 0000026b: PUSH2 0x0273 0000026e: JUMPI 0000026f: PUSH1 0x00 00000271: DUP1 00000272: REVERT 00000273: JUMPDEST 00000274: PUSH2 0x027b 00000277: PUSH2 0x088e 0000027a: JUMP 0000027b: JUMPDEST 0000027c: PUSH1 0x40 0000027e: MLOAD 0000027f: PUSH1 0x01 00000281: PUSH1 0xa0 00000283: PUSH1 0x02 00000285: EXP 00000286: SUB 00000287: SWAP1 00000288: SWAP2 00000289: AND 0000028a: DUP2 0000028b: MSTORE 0000028c: PUSH1 0x20 0000028e: ADD 0000028f: PUSH1 0x40 00000291: MLOAD 00000292: DUP1 00000293: SWAP2 00000294: SUB 00000295: SWAP1 00000296: RETURN 00000297: JUMPDEST 00000298: CALLVALUE 00000299: ISZERO 0000029a: PUSH2 0x02a2 0000029d: JUMPI 0000029e: PUSH1 0x00 000002a0: DUP1 000002a1: REVERT 000002a2: JUMPDEST 000002a3: PUSH2 0x02aa 000002a6: PUSH2 0x089d 000002a9: JUMP 000002aa: JUMPDEST 000002ab: PUSH1 0x40 000002ad: MLOAD 000002ae: SWAP1 000002af: DUP2 000002b0: MSTORE 000002b1: PUSH1 0x20 000002b3: ADD 000002b4: PUSH1 0x40 000002b6: MLOAD 000002b7: DUP1 000002b8: SWAP2 000002b9: SUB 000002ba: SWAP1 000002bb: RETURN 000002bc: JUMPDEST 000002bd: CALLVALUE 000002be: ISZERO 000002bf: PUSH2 0x02c7 000002c2: JUMPI 000002c3: PUSH1 0x00 000002c5: DUP1 000002c6: REVERT 000002c7: JUMPDEST 000002c8: PUSH2 0x0266 000002cb: PUSH1 0x01 000002cd: PUSH1 0xa0 000002cf: PUSH1 0x02 000002d1: EXP 000002d2: SUB 000002d3: PUSH1 0x04 000002d5: CALLDATALOAD 000002d6: AND 000002d7: PUSH1 0x24 000002d9: CALLDATALOAD 000002da: PUSH1 0x44 000002dc: CALLDATALOAD 000002dd: PUSH1 0x64 000002df: CALLDATALOAD 000002e0: PUSH1 0x84 000002e2: CALLDATALOAD 000002e3: PUSH2 0x08a3 000002e6: JUMP 000002e7: JUMPDEST 000002e8: CALLVALUE 000002e9: ISZERO 000002ea: PUSH2 0x02f2 000002ed: JUMPI 000002ee: PUSH1 0x00 000002f0: DUP1 000002f1: REVERT 000002f2: JUMPDEST 000002f3: PUSH2 0x0266 000002f6: PUSH2 0x0a8c 000002f9: JUMP 000002fa: JUMPDEST 000002fb: CALLVALUE 000002fc: ISZERO 000002fd: PUSH2 0x0305 00000300: JUMPI 00000301: PUSH1 0x00 00000303: DUP1 00000304: REVERT 00000305: JUMPDEST 00000306: PUSH2 0x02aa 00000309: PUSH2 0x0b6e 0000030c: JUMP 0000030d: JUMPDEST 0000030e: CALLVALUE 0000030f: ISZERO 00000310: PUSH2 0x0318 00000313: JUMPI 00000314: PUSH1 0x00 00000316: DUP1 00000317: REVERT 00000318: JUMPDEST 00000319: PUSH2 0x02aa 0000031c: PUSH2 0x0b74 0000031f: JUMP 00000320: JUMPDEST 00000321: CALLVALUE 00000322: ISZERO 00000323: PUSH2 0x032b 00000326: JUMPI 00000327: PUSH1 0x00 00000329: DUP1 0000032a: REVERT 0000032b: JUMPDEST 0000032c: PUSH2 0x027b 0000032f: PUSH2 0x0b7a 00000332: JUMP 00000333: JUMPDEST 00000334: CALLVALUE 00000335: ISZERO 00000336: PUSH2 0x033e 00000339: JUMPI 0000033a: PUSH1 0x00 0000033c: DUP1 0000033d: REVERT 0000033e: JUMPDEST 0000033f: PUSH2 0x02aa 00000342: PUSH1 0xff 00000344: PUSH1 0x04 00000346: CALLDATALOAD 00000347: AND 00000348: PUSH2 0x0b8e 0000034b: JUMP 0000034c: JUMPDEST 0000034d: CALLVALUE 0000034e: ISZERO 0000034f: PUSH2 0x0357 00000352: JUMPI 00000353: PUSH1 0x00 00000355: DUP1 00000356: REVERT 00000357: JUMPDEST 00000358: PUSH2 0x0266 0000035b: PUSH1 0x04 0000035d: CALLDATALOAD 0000035e: PUSH1 0x24 00000360: CALLDATALOAD 00000361: PUSH2 0x0ba6 00000364: JUMP 00000365: JUMPDEST 00000366: CALLVALUE 00000367: ISZERO 00000368: PUSH2 0x0370 0000036b: JUMPI 0000036c: PUSH1 0x00 0000036e: DUP1 0000036f: REVERT 00000370: JUMPDEST 00000371: PUSH2 0x02aa 00000374: PUSH2 0x0cc6 00000377: JUMP 00000378: JUMPDEST 00000379: CALLVALUE 0000037a: ISZERO 0000037b: PUSH2 0x0383 0000037e: JUMPI 0000037f: PUSH1 0x00 00000381: DUP1 00000382: REVERT 00000383: JUMPDEST 00000384: PUSH2 0x0266 00000387: PUSH2 0x0ccc 0000038a: JUMP 0000038b: JUMPDEST 0000038c: CALLVALUE 0000038d: ISZERO 0000038e: PUSH2 0x0396 00000391: JUMPI 00000392: PUSH1 0x00 00000394: DUP1 00000395: REVERT 00000396: JUMPDEST 00000397: PUSH2 0x039e 0000039a: PUSH2 0x0d63 0000039d: JUMP 0000039e: JUMPDEST 0000039f: PUSH1 0x40 000003a1: MLOAD 000003a2: PUSH1 0xff 000003a4: SWAP1 000003a5: SWAP2 000003a6: AND 000003a7: DUP2 000003a8: MSTORE 000003a9: PUSH1 0x20 000003ab: ADD 000003ac: PUSH1 0x40 000003ae: MLOAD 000003af: DUP1 000003b0: SWAP2 000003b1: SUB 000003b2: SWAP1 000003b3: RETURN 000003b4: JUMPDEST 000003b5: CALLVALUE 000003b6: ISZERO 000003b7: PUSH2 0x03bf 000003ba: JUMPI 000003bb: PUSH1 0x00 000003bd: DUP1 000003be: REVERT 000003bf: JUMPDEST 000003c0: PUSH2 0x027b 000003c3: PUSH2 0x0d6c 000003c6: JUMP 000003c7: JUMPDEST 000003c8: CALLVALUE 000003c9: ISZERO 000003ca: PUSH2 0x03d2 000003cd: JUMPI 000003ce: PUSH1 0x00 000003d0: DUP1 000003d1: REVERT 000003d2: JUMPDEST 000003d3: PUSH2 0x0266 000003d6: PUSH1 0x01 000003d8: PUSH1 0xa0 000003da: PUSH1 0x02 000003dc: EXP 000003dd: SUB 000003de: PUSH1 0x04 000003e0: CALLDATALOAD 000003e1: AND 000003e2: PUSH2 0x0d7b 000003e5: JUMP 000003e6: JUMPDEST 000003e7: CALLVALUE 000003e8: ISZERO 000003e9: PUSH2 0x03f1 000003ec: JUMPI 000003ed: PUSH1 0x00 000003ef: DUP1 000003f0: REVERT 000003f1: JUMPDEST 000003f2: PUSH2 0x027b 000003f5: PUSH2 0x0e2a 000003f8: JUMP 000003f9: JUMPDEST 000003fa: CALLVALUE 000003fb: ISZERO 000003fc: PUSH2 0x0404 000003ff: JUMPI 00000400: PUSH1 0x00 00000402: DUP1 00000403: REVERT 00000404: JUMPDEST 00000405: PUSH2 0x0266 00000408: PUSH2 0x0e39 0000040b: JUMP 0000040c: JUMPDEST 0000040d: CALLVALUE 0000040e: ISZERO 0000040f: PUSH2 0x0417 00000412: JUMPI 00000413: PUSH1 0x00 00000415: DUP1 00000416: REVERT 00000417: JUMPDEST 00000418: PUSH2 0x02aa 0000041b: PUSH1 0x01 0000041d: PUSH1 0xa0 0000041f: PUSH1 0x02 00000421: EXP 00000422: SUB 00000423: PUSH1 0x04 00000425: CALLDATALOAD 00000426: AND 00000427: PUSH2 0x0f53 0000042a: JUMP 0000042b: JUMPDEST 0000042c: CALLVALUE 0000042d: ISZERO 0000042e: PUSH2 0x0436 00000431: JUMPI 00000432: PUSH1 0x00 00000434: DUP1 00000435: REVERT 00000436: JUMPDEST 00000437: PUSH2 0x02aa 0000043a: PUSH2 0x0f65 0000043d: JUMP 0000043e: JUMPDEST 0000043f: CALLVALUE 00000440: ISZERO 00000441: PUSH2 0x0449 00000444: JUMPI 00000445: PUSH1 0x00 00000447: DUP1 00000448: REVERT 00000449: JUMPDEST 0000044a: PUSH2 0x02aa 0000044d: PUSH1 0x01 0000044f: PUSH1 0xa0 00000451: PUSH1 0x02 00000453: EXP 00000454: SUB 00000455: PUSH1 0x04 00000457: CALLDATALOAD 00000458: AND 00000459: PUSH2 0x0f6b 0000045c: JUMP 0000045d: JUMPDEST 0000045e: CALLVALUE 0000045f: ISZERO 00000460: PUSH2 0x0468 00000463: JUMPI 00000464: PUSH1 0x00 00000466: DUP1 00000467: REVERT 00000468: JUMPDEST 00000469: PUSH2 0x04ae 0000046c: PUSH1 0x04 0000046e: PUSH1 0x24 00000470: DUP2 00000471: CALLDATALOAD 00000472: DUP2 00000473: DUP2 00000474: ADD 00000475: SWAP1 00000476: DUP4 00000477: ADD 00000478: CALLDATALOAD 00000479: DUP1 0000047a: PUSH1 0x20 0000047c: PUSH1 0x1f 0000047e: DUP3 0000047f: ADD 00000480: DUP2 00000481: SWAP1 00000482: DIV 00000483: DUP2 00000484: MUL 00000485: ADD 00000486: PUSH1 0x40 00000488: MLOAD 00000489: SWAP1 0000048a: DUP2 0000048b: ADD 0000048c: PUSH1 0x40 0000048e: MSTORE 0000048f: DUP2 00000490: DUP2 00000491: MSTORE 00000492: SWAP3 00000493: SWAP2 00000494: SWAP1 00000495: PUSH1 0x20 00000497: DUP5 00000498: ADD 00000499: DUP4 0000049a: DUP4 0000049b: DUP1 0000049c: DUP3 0000049d: DUP5 0000049e: CALLDATACOPY 0000049f: POP 000004a0: SWAP5 000004a1: SWAP7 000004a2: POP 000004a3: PUSH2 0x0f7d 000004a6: SWAP6 000004a7: POP 000004a8: POP 000004a9: POP 000004aa: POP 000004ab: POP 000004ac: POP 000004ad: JUMP 000004ae: JUMPDEST 000004af: PUSH1 0x40 000004b1: MLOAD 000004b2: PUSH1 0x01 000004b4: PUSH1 0xa0 000004b6: PUSH1 0x02 000004b8: EXP 000004b9: SUB 000004ba: SWAP1 000004bb: SWAP5 000004bc: AND 000004bd: DUP5 000004be: MSTORE 000004bf: PUSH16 0xffffffffffffffffffffffffffffffff 000004d0: SWAP1 000004d1: SWAP3 000004d2: AND 000004d3: PUSH1 0x20 000004d5: DUP5 000004d6: ADD 000004d7: MSTORE 000004d8: PUSH4 0xffffffff 000004dd: SWAP1 000004de: DUP2 000004df: AND 000004e0: PUSH1 0x40 000004e2: DUP1 000004e3: DUP6 000004e4: ADD 000004e5: SWAP2 000004e6: SWAP1 000004e7: SWAP2 000004e8: MSTORE 000004e9: SWAP2 000004ea: AND 000004eb: PUSH1 0x60 000004ed: DUP4 000004ee: ADD 000004ef: MSTORE 000004f0: PUSH1 0x80 000004f2: SWAP1 000004f3: SWAP2 000004f4: ADD 000004f5: SWAP1 000004f6: MLOAD 000004f7: DUP1 000004f8: SWAP2 000004f9: SUB 000004fa: SWAP1 000004fb: RETURN 000004fc: JUMPDEST 000004fd: CALLVALUE 000004fe: ISZERO 000004ff: PUSH2 0x0507 00000502: JUMPI 00000503: PUSH1 0x00 00000505: DUP1 00000506: REVERT 00000507: JUMPDEST 00000508: PUSH2 0x02aa 0000050b: PUSH1 0xff 0000050d: PUSH1 0x04 0000050f: CALLDATALOAD 00000510: AND 00000511: PUSH2 0x1309 00000514: JUMP 00000515: JUMPDEST 00000516: CALLVALUE 00000517: ISZERO 00000518: PUSH2 0x0520 0000051b: JUMPI 0000051c: PUSH1 0x00 0000051e: DUP1 0000051f: REVERT 00000520: JUMPDEST 00000521: PUSH2 0x02aa 00000524: PUSH2 0x1321 00000527: JUMP 00000528: JUMPDEST 00000529: CALLVALUE 0000052a: ISZERO 0000052b: PUSH2 0x0533 0000052e: JUMPI 0000052f: PUSH1 0x00 00000531: DUP1 00000532: REVERT 00000533: JUMPDEST 00000534: PUSH2 0x0266 00000537: PUSH1 0x04 00000539: CALLDATALOAD 0000053a: PUSH2 0x1327 0000053d: JUMP 0000053e: JUMPDEST 0000053f: CALLVALUE 00000540: ISZERO 00000541: PUSH2 0x0549 00000544: JUMPI 00000545: PUSH1 0x00 00000547: DUP1 00000548: REVERT 00000549: JUMPDEST 0000054a: PUSH2 0x02aa 0000054d: PUSH16 0xffffffffffffffffffffffffffffffff 0000055e: PUSH1 0x04 00000560: CALLDATALOAD 00000561: AND 00000562: PUSH2 0x1412 00000565: JUMP 00000566: JUMPDEST 00000567: CALLVALUE 00000568: ISZERO 00000569: PUSH2 0x0571 0000056c: JUMPI 0000056d: PUSH1 0x00 0000056f: DUP1 00000570: REVERT 00000571: JUMPDEST 00000572: PUSH2 0x02aa 00000575: PUSH1 0xff 00000577: PUSH1 0x04 00000579: CALLDATALOAD 0000057a: AND 0000057b: PUSH2 0x1424 0000057e: JUMP 0000057f: JUMPDEST 00000580: CALLVALUE 00000581: ISZERO 00000582: PUSH2 0x058a 00000585: JUMPI 00000586: PUSH1 0x00 00000588: DUP1 00000589: REVERT 0000058a: JUMPDEST 0000058b: PUSH2 0x027b 0000058e: PUSH2 0x1439 00000591: JUMP 00000592: JUMPDEST 00000593: CALLVALUE 00000594: ISZERO 00000595: PUSH2 0x059d 00000598: JUMPI 00000599: PUSH1 0x00 0000059b: DUP1 0000059c: REVERT 0000059d: JUMPDEST 0000059e: PUSH2 0x02aa 000005a1: PUSH2 0x1448 000005a4: JUMP 000005a5: JUMPDEST 000005a6: CALLVALUE 000005a7: ISZERO 000005a8: PUSH2 0x05b0 000005ab: JUMPI 000005ac: PUSH1 0x00 000005ae: DUP1 000005af: REVERT 000005b0: JUMPDEST 000005b1: PUSH2 0x0266 000005b4: PUSH1 0xff 000005b6: PUSH1 0x04 000005b8: CALLDATALOAD 000005b9: AND 000005ba: PUSH1 0x24 000005bc: CALLDATALOAD 000005bd: PUSH2 0x144e 000005c0: JUMP 000005c1: JUMPDEST 000005c2: CALLVALUE 000005c3: ISZERO 000005c4: PUSH2 0x05cc 000005c7: JUMPI 000005c8: PUSH1 0x00 000005ca: DUP1 000005cb: REVERT 000005cc: JUMPDEST 000005cd: PUSH2 0x02aa 000005d0: PUSH2 0x14d2 000005d3: JUMP 000005d4: JUMPDEST 000005d5: CALLVALUE 000005d6: ISZERO 000005d7: PUSH2 0x05df 000005da: JUMPI 000005db: PUSH1 0x00 000005dd: DUP1 000005de: REVERT 000005df: JUMPDEST 000005e0: PUSH2 0x0266 000005e3: PUSH2 0x14d8 000005e6: JUMP 000005e7: JUMPDEST 000005e8: CALLVALUE 000005e9: ISZERO 000005ea: PUSH2 0x05f2 000005ed: JUMPI 000005ee: PUSH1 0x00 000005f0: DUP1 000005f1: REVERT 000005f2: JUMPDEST 000005f3: PUSH2 0x05fa 000005f6: PUSH2 0x1544 000005f9: JUMP 000005fa: JUMPDEST 000005fb: PUSH1 0x40 000005fd: MLOAD 000005fe: SWAP1 000005ff: ISZERO 00000600: ISZERO 00000601: DUP2 00000602: MSTORE 00000603: PUSH1 0x20 00000605: ADD 00000606: PUSH1 0x40 00000608: MLOAD 00000609: DUP1 0000060a: SWAP2 0000060b: SUB 0000060c: SWAP1 0000060d: RETURN 0000060e: JUMPDEST 0000060f: CALLVALUE 00000610: ISZERO 00000611: PUSH2 0x0619 00000614: JUMPI 00000615: PUSH1 0x00 00000617: DUP1 00000618: REVERT 00000619: JUMPDEST 0000061a: PUSH2 0x05fa 0000061d: PUSH2 0x154d 00000620: JUMP 00000621: JUMPDEST 00000622: CALLVALUE 00000623: ISZERO 00000624: PUSH2 0x062c 00000627: JUMPI 00000628: PUSH1 0x00 0000062a: DUP1 0000062b: REVERT 0000062c: JUMPDEST 0000062d: PUSH2 0x02aa 00000630: PUSH1 0xff 00000632: PUSH1 0x04 00000634: CALLDATALOAD 00000635: AND 00000636: PUSH2 0x155d 00000639: JUMP 0000063a: JUMPDEST 0000063b: CALLVALUE 0000063c: ISZERO 0000063d: PUSH2 0x0645 00000640: JUMPI 00000641: PUSH1 0x00 00000643: DUP1 00000644: REVERT 00000645: JUMPDEST 00000646: PUSH2 0x0266 00000649: PUSH2 0x1575 0000064c: JUMP 0000064d: JUMPDEST 0000064e: CALLVALUE 0000064f: ISZERO 00000650: PUSH2 0x0658 00000653: JUMPI 00000654: PUSH1 0x00 00000656: DUP1 00000657: REVERT 00000658: JUMPDEST 00000659: PUSH2 0x05fa 0000065c: PUSH1 0x01 0000065e: PUSH1 0xa0 00000660: PUSH1 0x02 00000662: EXP 00000663: SUB 00000664: PUSH1 0x04 00000666: CALLDATALOAD 00000667: AND 00000668: PUSH2 0x169e 0000066b: JUMP 0000066c: JUMPDEST 0000066d: CALLVALUE 0000066e: ISZERO 0000066f: PUSH2 0x0677 00000672: JUMPI 00000673: PUSH1 0x00 00000675: DUP1 00000676: REVERT 00000677: JUMPDEST 00000678: PUSH2 0x02aa 0000067b: PUSH2 0x16b3 0000067e: JUMP 0000067f: JUMPDEST 00000680: CALLVALUE 00000681: ISZERO 00000682: PUSH2 0x068a 00000685: JUMPI 00000686: PUSH1 0x00 00000688: DUP1 00000689: REVERT 0000068a: JUMPDEST 0000068b: PUSH2 0x0266 0000068e: PUSH2 0x16b9 00000691: JUMP 00000692: JUMPDEST 00000693: PUSH2 0x0266 00000696: PUSH1 0x04 00000698: PUSH1 0x24 0000069a: DUP2 0000069b: CALLDATALOAD 0000069c: DUP2 0000069d: DUP2 0000069e: ADD 0000069f: SWAP1 000006a0: DUP4 000006a1: ADD 000006a2: CALLDATALOAD 000006a3: DUP1 000006a4: PUSH1 0x20 000006a6: PUSH1 0x1f 000006a8: DUP3 000006a9: ADD 000006aa: DUP2 000006ab: SWAP1 000006ac: DIV 000006ad: DUP2 000006ae: MUL 000006af: ADD 000006b0: PUSH1 0x40 000006b2: MLOAD 000006b3: SWAP1 000006b4: DUP2 000006b5: ADD 000006b6: PUSH1 0x40 000006b8: MSTORE 000006b9: DUP2 000006ba: DUP2 000006bb: MSTORE 000006bc: SWAP3 000006bd: SWAP2 000006be: SWAP1 000006bf: PUSH1 0x20 000006c1: DUP5 000006c2: ADD 000006c3: DUP4 000006c4: DUP4 000006c5: DUP1 000006c6: DUP3 000006c7: DUP5 000006c8: CALLDATACOPY 000006c9: POP 000006ca: SWAP5 000006cb: SWAP7 000006cc: POP 000006cd: POP 000006ce: PUSH1 0xff 000006d0: DUP6 000006d1: CALLDATALOAD 000006d2: AND 000006d3: SWAP5 000006d4: PUSH1 0x20 000006d6: DUP2 000006d7: ADD 000006d8: CALLDATALOAD 000006d9: SWAP5 000006da: POP 000006db: PUSH1 0x40 000006dd: ADD 000006de: CALLDATALOAD 000006df: SWAP3 000006e0: POP 000006e1: PUSH2 0x173e 000006e4: SWAP2 000006e5: POP 000006e6: POP 000006e7: JUMP 000006e8: JUMPDEST 000006e9: CALLVALUE 000006ea: ISZERO 000006eb: PUSH2 0x06f3 000006ee: JUMPI 000006ef: PUSH1 0x00 000006f1: DUP1 000006f2: REVERT 000006f3: JUMPDEST 000006f4: PUSH2 0x02aa 000006f7: PUSH1 0x01 000006f9: PUSH1 0xa0 000006fb: PUSH1 0x02 000006fd: EXP 000006fe: SUB 000006ff: PUSH1 0x04 00000701: CALLDATALOAD 00000702: AND 00000703: PUSH2 0x18cb 00000706: JUMP 00000707: JUMPDEST 00000708: CALLVALUE 00000709: ISZERO 0000070a: PUSH2 0x0712 0000070d: JUMPI 0000070e: PUSH1 0x00 00000710: DUP1 00000711: REVERT 00000712: JUMPDEST 00000713: PUSH2 0x02aa 00000716: PUSH1 0x01 00000718: PUSH1 0xa0 0000071a: PUSH1 0x02 0000071c: EXP 0000071d: SUB 0000071e: PUSH1 0x04 00000720: CALLDATALOAD 00000721: AND 00000722: PUSH2 0x18dd 00000725: JUMP 00000726: JUMPDEST 00000727: CALLVALUE 00000728: ISZERO 00000729: PUSH2 0x0731 0000072c: JUMPI 0000072d: PUSH1 0x00 0000072f: DUP1 00000730: REVERT 00000731: JUMPDEST 00000732: PUSH2 0x0266 00000735: PUSH2 0x18ef 00000738: JUMP 00000739: JUMPDEST 0000073a: CALLVALUE 0000073b: ISZERO 0000073c: PUSH2 0x0744 0000073f: JUMPI 00000740: PUSH1 0x00 00000742: DUP1 00000743: REVERT 00000744: JUMPDEST 00000745: PUSH2 0x05fa 00000748: PUSH2 0x1a0f 0000074b: JUMP 0000074c: JUMPDEST 0000074d: CALLVALUE 0000074e: ISZERO 0000074f: PUSH2 0x0757 00000752: JUMPI 00000753: PUSH1 0x00 00000755: DUP1 00000756: REVERT 00000757: JUMPDEST 00000758: PUSH2 0x0266 0000075b: PUSH1 0x01 0000075d: PUSH1 0xa0 0000075f: PUSH1 0x02 00000761: EXP 00000762: SUB 00000763: PUSH1 0x04 00000765: CALLDATALOAD 00000766: AND 00000767: PUSH2 0x1a31 0000076a: JUMP 0000076b: JUMPDEST 0000076c: CALLVALUE 0000076d: ISZERO 0000076e: PUSH2 0x0776 00000771: JUMPI 00000772: PUSH1 0x00 00000774: DUP1 00000775: REVERT 00000776: JUMPDEST 00000777: PUSH2 0x02aa 0000077a: PUSH2 0x1acc 0000077d: JUMP 0000077e: JUMPDEST 0000077f: CALLVALUE 00000780: ISZERO 00000781: PUSH2 0x0789 00000784: JUMPI 00000785: PUSH1 0x00 00000787: DUP1 00000788: REVERT 00000789: JUMPDEST 0000078a: PUSH2 0x05fa 0000078d: PUSH1 0x01 0000078f: PUSH1 0xa0 00000791: PUSH1 0x02 00000793: EXP 00000794: SUB 00000795: PUSH1 0x04 00000797: CALLDATALOAD 00000798: AND 00000799: PUSH2 0x1ad2 0000079c: JUMP 0000079d: JUMPDEST 0000079e: CALLVALUE 0000079f: ISZERO 000007a0: PUSH2 0x07a8 000007a3: JUMPI 000007a4: PUSH1 0x00 000007a6: DUP1 000007a7: REVERT 000007a8: JUMPDEST 000007a9: PUSH2 0x02aa 000007ac: PUSH1 0xff 000007ae: PUSH1 0x04 000007b0: CALLDATALOAD 000007b1: AND 000007b2: PUSH2 0x1ae7 000007b5: JUMP 000007b6: JUMPDEST 000007b7: CALLVALUE 000007b8: ISZERO 000007b9: PUSH2 0x07c1 000007bc: JUMPI 000007bd: PUSH1 0x00 000007bf: DUP1 000007c0: REVERT 000007c1: JUMPDEST 000007c2: PUSH2 0x02aa 000007c5: PUSH2 0x1aff 000007c8: JUMP 000007c9: JUMPDEST 000007ca: CALLVALUE 000007cb: ISZERO 000007cc: PUSH2 0x07d4 000007cf: JUMPI 000007d0: PUSH1 0x00 000007d2: DUP1 000007d3: REVERT 000007d4: JUMPDEST 000007d5: PUSH2 0x027b 000007d8: PUSH2 0x1b05 000007db: JUMP 000007dc: JUMPDEST 000007dd: CALLVALUE 000007de: ISZERO 000007df: PUSH2 0x07e7 000007e2: JUMPI 000007e3: PUSH1 0x00 000007e5: DUP1 000007e6: REVERT 000007e7: JUMPDEST 000007e8: PUSH2 0x039e 000007eb: PUSH2 0x1b14 000007ee: JUMP 000007ef: JUMPDEST 000007f0: PUSH1 0x00 000007f2: SLOAD 000007f3: CALLER 000007f4: PUSH1 0x01 000007f6: PUSH1 0xa0 000007f8: PUSH1 0x02 000007fa: EXP 000007fb: SUB 000007fc: SWAP1 000007fd: DUP2 000007fe: AND 000007ff: SWAP2 00000800: AND 00000801: EQ 00000802: PUSH2 0x080a 00000805: JUMPI 00000806: PUSH1 0x00 00000808: DUP1 00000809: REVERT 0000080a: JUMPDEST 0000080b: PUSH1 0x01 0000080d: PUSH1 0xa0 0000080f: PUSH1 0x02 00000811: EXP 00000812: SUB 00000813: DUP2 00000814: AND 00000815: ISZERO 00000816: ISZERO 00000817: PUSH2 0x081f 0000081a: JUMPI 0000081b: PUSH1 0x00 0000081d: DUP1 0000081e: REVERT 0000081f: JUMPDEST 00000820: PUSH1 0x19 00000822: DUP1 00000823: SLOAD 00000824: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000839: NOT 0000083a: AND 0000083b: PUSH1 0x01 0000083d: PUSH1 0xa0 0000083f: PUSH1 0x02 00000841: EXP 00000842: SUB 00000843: DUP4 00000844: DUP2 00000845: AND 00000846: SWAP2 00000847: SWAP1 00000848: SWAP2 00000849: OR 0000084a: SWAP2 0000084b: DUP3 0000084c: SWAP1 0000084d: SSTORE 0000084e: PUSH32 0x5719a5656c5cfdaafa148ecf366fd3b0a7fae06449ce2a46225977fb7417e29d 0000086f: SWAP2 00000870: AND 00000871: PUSH1 0x40 00000873: MLOAD 00000874: PUSH1 0x01 00000876: PUSH1 0xa0 00000878: PUSH1 0x02 0000087a: EXP 0000087b: SUB 0000087c: SWAP1 0000087d: SWAP2 0000087e: AND 0000087f: DUP2 00000880: MSTORE 00000881: PUSH1 0x20 00000883: ADD 00000884: PUSH1 0x40 00000886: MLOAD 00000887: DUP1 00000888: SWAP2 00000889: SUB 0000088a: SWAP1 0000088b: LOG1 0000088c: POP 0000088d: JUMP 0000088e: JUMPDEST 0000088f: PUSH1 0x05 00000891: SLOAD 00000892: PUSH1 0x01 00000894: PUSH1 0xa0 00000896: PUSH1 0x02 00000898: EXP 00000899: SUB 0000089a: AND 0000089b: DUP2 0000089c: JUMP 0000089d: JUMPDEST 0000089e: PUSH1 0x09 000008a0: SLOAD 000008a1: DUP2 000008a2: JUMP 000008a3: JUMPDEST 000008a4: PUSH1 0x00 000008a6: DUP1 000008a7: SLOAD 000008a8: DUP2 000008a9: SWAP1 000008aa: CALLER 000008ab: PUSH1 0x01 000008ad: PUSH1 0xa0 000008af: PUSH1 0x02 000008b1: EXP 000008b2: SUB 000008b3: SWAP1 000008b4: DUP2 000008b5: AND 000008b6: SWAP2 000008b7: AND 000008b8: EQ 000008b9: PUSH2 0x08c1 000008bc: JUMPI 000008bd: PUSH1 0x00 000008bf: DUP1 000008c0: REVERT 000008c1: JUMPDEST 000008c2: PUSH1 0x01 000008c4: PUSH1 0xa0 000008c6: PUSH1 0x02 000008c8: EXP 000008c9: SUB 000008ca: DUP8 000008cb: AND 000008cc: PUSH1 0x00 000008ce: SWAP1 000008cf: DUP2 000008d0: MSTORE 000008d1: PUSH1 0x0b 000008d3: PUSH1 0x20 000008d5: MSTORE 000008d6: PUSH1 0x40 000008d8: DUP2 000008d9: KECCAK256 000008da: SLOAD 000008db: GT 000008dc: PUSH2 0x08e4 000008df: JUMPI 000008e0: PUSH1 0x00 000008e2: DUP1 000008e3: REVERT 000008e4: JUMPDEST 000008e5: POP 000008e6: POP 000008e7: PUSH1 0x01 000008e9: PUSH1 0xa0 000008eb: PUSH1 0x02 000008ed: EXP 000008ee: SUB 000008ef: DUP6 000008f0: AND 000008f1: PUSH1 0x00 000008f3: SWAP1 000008f4: DUP2 000008f5: MSTORE 000008f6: PUSH1 0x0b 000008f8: PUSH1 0x20 000008fa: SWAP1 000008fb: DUP2 000008fc: MSTORE 000008fd: PUSH1 0x40 000008ff: DUP1 00000900: DUP4 00000901: KECCAK256 00000902: DUP1 00000903: SLOAD 00000904: PUSH1 0x0d 00000906: DUP5 00000907: MSTORE 00000908: DUP3 00000909: DUP6 0000090a: KECCAK256 0000090b: DUP1 0000090c: SLOAD 0000090d: SWAP3 0000090e: DUP7 0000090f: SWAP1 00000910: SSTORE 00000911: DUP6 00000912: SWAP1 00000913: SSTORE 00000914: PUSH1 0x1a 00000916: SWAP1 00000917: SWAP4 00000918: MSTORE 00000919: SWAP3 0000091a: KECCAK256 0000091b: DUP2 0000091c: SWAP1 0000091d: SSTORE 0000091e: PUSH1 0x07 00000920: SLOAD 00000921: SWAP1 00000922: SWAP2 00000923: SWAP1 00000924: PUSH2 0x0933 00000927: SWAP1 00000928: DUP4 00000929: PUSH4 0xffffffff 0000092e: PUSH2 0x1b81 00000931: AND 00000932: JUMP 00000933: JUMPDEST 00000934: PUSH1 0x07 00000936: SSTORE 00000937: PUSH1 0x09 00000939: SLOAD 0000093a: PUSH2 0x0949 0000093d: SWAP1 0000093e: DUP3 0000093f: PUSH4 0xffffffff 00000944: PUSH2 0x1b81 00000947: AND 00000948: JUMP 00000949: JUMPDEST 0000094a: PUSH1 0x09 0000094c: SSTORE 0000094d: PUSH1 0x01 0000094f: SLOAD 00000950: PUSH1 0x01 00000952: PUSH1 0xa0 00000954: PUSH1 0x02 00000956: EXP 00000957: SUB 00000958: AND 00000959: PUSH4 0x2a724f2a 0000095e: DUP9 0000095f: PUSH1 0x40 00000961: MLOAD 00000962: PUSH1 0xe0 00000964: PUSH1 0x02 00000966: EXP 00000967: PUSH4 0xffffffff 0000096c: DUP5 0000096d: AND 0000096e: MUL 0000096f: DUP2 00000970: MSTORE 00000971: PUSH1 0x01 00000973: PUSH1 0xa0 00000975: PUSH1 0x02 00000977: EXP 00000978: SUB 00000979: SWAP1 0000097a: SWAP2 0000097b: AND 0000097c: PUSH1 0x04 0000097e: DUP3 0000097f: ADD 00000980: MSTORE 00000981: PUSH1 0x24 00000983: ADD 00000984: PUSH1 0x00 00000986: PUSH1 0x40 00000988: MLOAD 00000989: DUP1 0000098a: DUP4 0000098b: SUB 0000098c: DUP2 0000098d: PUSH1 0x00 0000098f: DUP8 00000990: DUP1 00000991: EXTCODESIZE 00000992: ISZERO 00000993: ISZERO 00000994: PUSH2 0x099c 00000997: JUMPI 00000998: PUSH1 0x00 0000099a: DUP1 0000099b: REVERT 0000099c: JUMPDEST 0000099d: GAS 0000099e: CALL 0000099f: ISZERO 000009a0: ISZERO 000009a1: PUSH2 0x09a9 000009a4: JUMPI 000009a5: PUSH1 0x00 000009a7: DUP1 000009a8: REVERT 000009a9: JUMPDEST 000009aa: POP 000009ab: POP 000009ac: POP 000009ad: PUSH1 0x01 000009af: PUSH1 0xa0 000009b1: PUSH1 0x02 000009b3: EXP 000009b4: SUB 000009b5: DUP8 000009b6: AND 000009b7: PUSH1 0x00 000009b9: SWAP1 000009ba: DUP2 000009bb: MSTORE 000009bc: PUSH1 0x1c 000009be: PUSH1 0x20 000009c0: MSTORE 000009c1: PUSH1 0x40 000009c3: SWAP1 000009c4: DUP2 000009c5: SWAP1 000009c6: KECCAK256 000009c7: DUP1 000009c8: SLOAD 000009c9: PUSH1 0xff 000009cb: NOT 000009cc: AND 000009cd: PUSH1 0x01 000009cf: OR 000009d0: SWAP1 000009d1: SSTORE 000009d2: PUSH32 0xc11da825993c0394a75762588c54907093a1361e6d6cb67950b28ba0010b8f39 000009f3: SWAP1 000009f4: DUP9 000009f5: SWAP1 000009f6: TIMESTAMP 000009f7: SWAP1 000009f8: MLOAD 000009f9: PUSH1 0x01 000009fb: PUSH1 0xa0 000009fd: PUSH1 0x02 000009ff: EXP 00000a00: SUB 00000a01: SWAP1 00000a02: SWAP3 00000a03: AND 00000a04: DUP3 00000a05: MSTORE 00000a06: PUSH1 0x20 00000a08: DUP3 00000a09: ADD 00000a0a: MSTORE 00000a0b: PUSH1 0x40 00000a0d: SWAP1 00000a0e: DUP2 00000a0f: ADD 00000a10: SWAP1 00000a11: MLOAD 00000a12: DUP1 00000a13: SWAP2 00000a14: SUB 00000a15: SWAP1 00000a16: LOG1 00000a17: PUSH2 0x0a2a 00000a1a: PUSH1 0x12 00000a1c: DUP8 00000a1d: DUP8 00000a1e: DUP8 00000a1f: DUP8 00000a20: PUSH4 0xffffffff 00000a25: PUSH2 0x1b93 00000a28: AND 00000a29: JUMP 00000a2a: JUMPDEST 00000a2b: PUSH32 0xa06cc0a3867aea08c9e799994171a2eaa01b0db6891bff21ff54cc2639d3e678 00000a4c: DUP8 00000a4d: DUP3 00000a4e: TIMESTAMP 00000a4f: PUSH1 0x40 00000a51: MLOAD 00000a52: DUP1 00000a53: DUP5 00000a54: PUSH1 0x01 00000a56: PUSH1 0xa0 00000a58: PUSH1 0x02 00000a5a: EXP 00000a5b: SUB 00000a5c: AND 00000a5d: PUSH1 0x01 00000a5f: PUSH1 0xa0 00000a61: PUSH1 0x02 00000a63: EXP 00000a64: SUB 00000a65: AND 00000a66: DUP2 00000a67: MSTORE 00000a68: PUSH1 0x20 00000a6a: ADD 00000a6b: DUP4 00000a6c: DUP2 00000a6d: MSTORE 00000a6e: PUSH1 0x20 00000a70: ADD 00000a71: DUP3 00000a72: DUP2 00000a73: MSTORE 00000a74: PUSH1 0x20 00000a76: ADD 00000a77: SWAP4 00000a78: POP 00000a79: POP 00000a7a: POP 00000a7b: POP 00000a7c: PUSH1 0x40 00000a7e: MLOAD 00000a7f: DUP1 00000a80: SWAP2 00000a81: SUB 00000a82: SWAP1 00000a83: LOG1 00000a84: POP 00000a85: POP 00000a86: POP 00000a87: POP 00000a88: POP 00000a89: POP 00000a8a: POP 00000a8b: JUMP 00000a8c: JUMPDEST 00000a8d: PUSH1 0x01 00000a8f: PUSH1 0xa0 00000a91: PUSH1 0x02 00000a93: EXP 00000a94: SUB 00000a95: CALLER 00000a96: AND 00000a97: PUSH1 0x00 00000a99: SWAP1 00000a9a: DUP2 00000a9b: MSTORE 00000a9c: PUSH1 0x1a 00000a9e: PUSH1 0x20 00000aa0: MSTORE 00000aa1: PUSH1 0x40 00000aa3: DUP2 00000aa4: KECCAK256 00000aa5: SLOAD 00000aa6: DUP2 00000aa7: SWAP1 00000aa8: GT 00000aa9: PUSH2 0x0ab1 00000aac: JUMPI 00000aad: PUSH1 0x00 00000aaf: DUP1 00000ab0: REVERT 00000ab1: JUMPDEST 00000ab2: PUSH1 0x01 00000ab4: PUSH1 0xa0 00000ab6: PUSH1 0x02 00000ab8: EXP 00000ab9: SUB 00000aba: CALLER 00000abb: AND 00000abc: PUSH1 0x00 00000abe: SWAP1 00000abf: DUP2 00000ac0: MSTORE 00000ac1: PUSH1 0x1b 00000ac3: PUSH1 0x20 00000ac5: MSTORE 00000ac6: PUSH1 0x40 00000ac8: SWAP1 00000ac9: KECCAK256 00000aca: SLOAD 00000acb: PUSH1 0xff 00000acd: AND 00000ace: ISZERO 00000acf: PUSH2 0x0ad7 00000ad2: JUMPI 00000ad3: PUSH1 0x00 00000ad5: DUP1 00000ad6: REVERT 00000ad7: JUMPDEST 00000ad8: POP 00000ad9: PUSH1 0x01 00000adb: PUSH1 0xa0 00000add: PUSH1 0x02 00000adf: EXP 00000ae0: SUB 00000ae1: CALLER 00000ae2: AND 00000ae3: PUSH1 0x00 00000ae5: DUP2 00000ae6: DUP2 00000ae7: MSTORE 00000ae8: PUSH1 0x1a 00000aea: PUSH1 0x20 00000aec: SWAP1 00000aed: DUP2 00000aee: MSTORE 00000aef: PUSH1 0x40 00000af1: DUP1 00000af2: DUP4 00000af3: KECCAK256 00000af4: DUP1 00000af5: SLOAD 00000af6: SWAP4 00000af7: SWAP1 00000af8: SSTORE 00000af9: PUSH1 0x1b 00000afb: SWAP1 00000afc: SWAP2 00000afd: MSTORE 00000afe: SWAP1 00000aff: SWAP2 00000b00: SWAP1 00000b01: DUP3 00000b02: ISZERO 00000b03: PUSH2 0x08fc 00000b06: MUL 00000b07: SWAP1 00000b08: DUP4 00000b09: SWAP1 00000b0a: MLOAD 00000b0b: PUSH1 0x00 00000b0d: PUSH1 0x40 00000b0f: MLOAD 00000b10: DUP1 00000b11: DUP4 00000b12: SUB 00000b13: DUP2 00000b14: DUP6 00000b15: DUP9 00000b16: DUP9 00000b17: CALL 00000b18: SWAP4 00000b19: POP 00000b1a: POP 00000b1b: POP 00000b1c: POP 00000b1d: ISZERO 00000b1e: ISZERO 00000b1f: PUSH2 0x0b27 00000b22: JUMPI 00000b23: PUSH1 0x00 00000b25: DUP1 00000b26: REVERT 00000b27: JUMPDEST 00000b28: PUSH32 0x1e62ddfe8c731f66f6b6294434d45407c080972bd05b50d1745257de2220a4e4 00000b49: CALLER 00000b4a: TIMESTAMP 00000b4b: PUSH1 0x40 00000b4d: MLOAD 00000b4e: PUSH1 0x01 00000b50: PUSH1 0xa0 00000b52: PUSH1 0x02 00000b54: EXP 00000b55: SUB 00000b56: SWAP1 00000b57: SWAP3 00000b58: AND 00000b59: DUP3 00000b5a: MSTORE 00000b5b: PUSH1 0x20 00000b5d: DUP3 00000b5e: ADD 00000b5f: MSTORE 00000b60: PUSH1 0x40 00000b62: SWAP1 00000b63: DUP2 00000b64: ADD 00000b65: SWAP1 00000b66: MLOAD 00000b67: DUP1 00000b68: SWAP2 00000b69: SUB 00000b6a: SWAP1 00000b6b: LOG1 00000b6c: POP 00000b6d: JUMP 00000b6e: JUMPDEST 00000b6f: PUSH1 0x06 00000b71: SLOAD 00000b72: DUP2 00000b73: JUMP 00000b74: JUMPDEST 00000b75: PUSH1 0x03 00000b77: SLOAD 00000b78: DUP2 00000b79: JUMP 00000b7a: JUMPDEST 00000b7b: PUSH1 0x11 00000b7d: SLOAD 00000b7e: PUSH2 0x0100 00000b81: SWAP1 00000b82: DIV 00000b83: PUSH1 0x01 00000b85: PUSH1 0xa0 00000b87: PUSH1 0x02 00000b89: EXP 00000b8a: SUB 00000b8b: AND 00000b8c: DUP2 00000b8d: JUMP 00000b8e: JUMPDEST 00000b8f: PUSH1 0xff 00000b91: AND 00000b92: PUSH1 0x00 00000b94: SWAP1 00000b95: DUP2 00000b96: MSTORE 00000b97: PUSH1 0x12 00000b99: PUSH1 0x20 00000b9b: MSTORE 00000b9c: PUSH1 0x40 00000b9e: SWAP1 00000b9f: KECCAK256 00000ba0: PUSH1 0x04 00000ba2: ADD 00000ba3: SLOAD 00000ba4: SWAP1 00000ba5: JUMP 00000ba6: JUMPDEST 00000ba7: PUSH1 0x00 00000ba9: SLOAD 00000baa: CALLER 00000bab: PUSH1 0x01 00000bad: PUSH1 0xa0 00000baf: PUSH1 0x02 00000bb1: EXP 00000bb2: SUB 00000bb3: SWAP1 00000bb4: DUP2 00000bb5: AND 00000bb6: SWAP2 00000bb7: AND 00000bb8: EQ 00000bb9: PUSH2 0x0bc1 00000bbc: JUMPI 00000bbd: PUSH1 0x00 00000bbf: DUP1 00000bc0: REVERT 00000bc1: JUMPDEST 00000bc2: PUSH1 0x00 00000bc4: DUP3 00000bc5: GT 00000bc6: DUP1 00000bc7: PUSH2 0x0bd3 00000bca: JUMPI 00000bcb: POP 00000bcc: PUSH1 0x0f 00000bce: SLOAD 00000bcf: PUSH1 0x09 00000bd1: SLOAD 00000bd2: EQ 00000bd3: JUMPDEST 00000bd4: ISZERO 00000bd5: ISZERO 00000bd6: PUSH2 0x0bde 00000bd9: JUMPI 00000bda: PUSH1 0x00 00000bdc: DUP1 00000bdd: REVERT 00000bde: JUMPDEST 00000bdf: PUSH1 0x00 00000be1: DUP2 00000be2: GT 00000be3: DUP1 00000be4: PUSH2 0x0bf0 00000be7: JUMPI 00000be8: POP 00000be9: PUSH1 0x0f 00000beb: SLOAD 00000bec: PUSH1 0x09 00000bee: SLOAD 00000bef: EQ 00000bf0: JUMPDEST 00000bf1: ISZERO 00000bf2: ISZERO 00000bf3: PUSH2 0x0bfb 00000bf6: JUMPI 00000bf7: PUSH1 0x00 00000bf9: DUP1 00000bfa: REVERT 00000bfb: JUMPDEST 00000bfc: PUSH2 0x0c05 00000bff: DUP3 00000c00: DUP3 00000c01: PUSH2 0x1c6a 00000c04: JUMP 00000c05: JUMPDEST 00000c06: PUSH1 0x01 00000c08: SLOAD 00000c09: PUSH1 0x01 00000c0b: PUSH1 0xa0 00000c0d: PUSH1 0x02 00000c0f: EXP 00000c10: SUB 00000c11: AND 00000c12: PUSH4 0x5f412d4f 00000c17: PUSH1 0x40 00000c19: MLOAD 00000c1a: DUP2 00000c1b: PUSH4 0xffffffff 00000c20: AND 00000c21: PUSH1 0xe0 00000c23: PUSH1 0x02 00000c25: EXP 00000c26: MUL 00000c27: DUP2 00000c28: MSTORE 00000c29: PUSH1 0x04 00000c2b: ADD 00000c2c: PUSH1 0x00 00000c2e: PUSH1 0x40 00000c30: MLOAD 00000c31: DUP1 00000c32: DUP4 00000c33: SUB 00000c34: DUP2 00000c35: PUSH1 0x00 00000c37: DUP8 00000c38: DUP1 00000c39: EXTCODESIZE 00000c3a: ISZERO 00000c3b: ISZERO 00000c3c: PUSH2 0x0c44 00000c3f: JUMPI 00000c40: PUSH1 0x00 00000c42: DUP1 00000c43: REVERT 00000c44: JUMPDEST 00000c45: GAS 00000c46: CALL 00000c47: ISZERO 00000c48: ISZERO 00000c49: PUSH2 0x0c51 00000c4c: JUMPI 00000c4d: PUSH1 0x00 00000c4f: DUP1 00000c50: REVERT 00000c51: JUMPDEST 00000c52: POP 00000c53: POP 00000c54: PUSH1 0x11 00000c56: DUP1 00000c57: SLOAD 00000c58: PUSH1 0xff 00000c5a: NOT 00000c5b: AND 00000c5c: PUSH1 0x01 00000c5e: OR 00000c5f: SWAP1 00000c60: SSTORE 00000c61: POP 00000c62: PUSH32 0x8b81fe67377346f7a0a4a369e94f00c5ae54efa1ff15df40b4d54554e164525a 00000c83: CALLER 00000c84: TIMESTAMP 00000c85: DUP5 00000c86: DUP5 00000c87: PUSH1 0x40 00000c89: MLOAD 00000c8a: DUP1 00000c8b: DUP6 00000c8c: PUSH1 0x01 00000c8e: PUSH1 0xa0 00000c90: PUSH1 0x02 00000c92: EXP 00000c93: SUB 00000c94: AND 00000c95: PUSH1 0x01 00000c97: PUSH1 0xa0 00000c99: PUSH1 0x02 00000c9b: EXP 00000c9c: SUB 00000c9d: AND 00000c9e: DUP2 00000c9f: MSTORE 00000ca0: PUSH1 0x20 00000ca2: ADD 00000ca3: DUP5 00000ca4: DUP2 00000ca5: MSTORE 00000ca6: PUSH1 0x20 00000ca8: ADD 00000ca9: DUP4 00000caa: DUP2 00000cab: MSTORE 00000cac: PUSH1 0x20 00000cae: ADD 00000caf: DUP3 00000cb0: DUP2 00000cb1: MSTORE 00000cb2: PUSH1 0x20 00000cb4: ADD 00000cb5: SWAP5 00000cb6: POP 00000cb7: POP 00000cb8: POP 00000cb9: POP 00000cba: POP 00000cbb: PUSH1 0x40 00000cbd: MLOAD 00000cbe: DUP1 00000cbf: SWAP2 00000cc0: SUB 00000cc1: SWAP1 00000cc2: LOG1 00000cc3: POP 00000cc4: POP 00000cc5: JUMP 00000cc6: JUMPDEST 00000cc7: PUSH1 0x07 00000cc9: SLOAD 00000cca: DUP2 00000ccb: JUMP 00000ccc: JUMPDEST 00000ccd: PUSH1 0x00 00000ccf: SLOAD 00000cd0: CALLER 00000cd1: PUSH1 0x01 00000cd3: PUSH1 0xa0 00000cd5: PUSH1 0x02 00000cd7: EXP 00000cd8: SUB 00000cd9: SWAP1 00000cda: DUP2 00000cdb: AND 00000cdc: SWAP2 00000cdd: AND 00000cde: EQ 00000cdf: PUSH2 0x0ce7 00000ce2: JUMPI 00000ce3: PUSH1 0x00 00000ce5: DUP1 00000ce6: REVERT 00000ce7: JUMPDEST 00000ce8: PUSH1 0x14 00000cea: SLOAD 00000ceb: PUSH1 0xff 00000ced: AND 00000cee: DUP1 00000cef: ISZERO 00000cf0: PUSH2 0x0cf8 00000cf3: JUMPI 00000cf4: PUSH1 0x00 00000cf6: DUP1 00000cf7: REVERT 00000cf8: JUMPDEST 00000cf9: PUSH1 0x16 00000cfb: SLOAD 00000cfc: PUSH2 0x0d17 00000cff: SWAP1 00000d00: PUSH1 0x01 00000d02: PUSH1 0xa0 00000d04: PUSH1 0x02 00000d06: EXP 00000d07: SUB 00000d08: AND 00000d09: PUSH3 0x1312d0 00000d0d: PUSH5 0x02540be400 00000d13: PUSH2 0x1d7f 00000d16: JUMP 00000d17: JUMPDEST 00000d18: PUSH1 0x14 00000d1a: SLOAD 00000d1b: PUSH2 0x0d38 00000d1e: SWAP1 00000d1f: PUSH3 0x010000 00000d23: SWAP1 00000d24: DIV 00000d25: PUSH1 0x01 00000d27: PUSH1 0xa0 00000d29: PUSH1 0x02 00000d2b: EXP 00000d2c: SUB 00000d2d: AND 00000d2e: PUSH3 0x1b2071 00000d32: PUSH1 0x00 00000d34: PUSH2 0x1d7f 00000d37: JUMP 00000d38: JUMPDEST 00000d39: PUSH1 0x15 00000d3b: SLOAD 00000d3c: PUSH2 0x0d53 00000d3f: SWAP1 00000d40: PUSH1 0x01 00000d42: PUSH1 0xa0 00000d44: PUSH1 0x02 00000d46: EXP 00000d47: SUB 00000d48: AND 00000d49: PUSH3 0x06c81d 00000d4d: PUSH1 0x00 00000d4f: PUSH2 0x1d7f 00000d52: JUMP 00000d53: JUMPDEST 00000d54: POP 00000d55: PUSH1 0x14 00000d57: DUP1 00000d58: SLOAD 00000d59: PUSH1 0xff 00000d5b: NOT 00000d5c: AND 00000d5d: PUSH1 0x01 00000d5f: OR 00000d60: SWAP1 00000d61: SSTORE 00000d62: JUMP 00000d63: JUMPDEST 00000d64: PUSH1 0x13 00000d66: SLOAD 00000d67: PUSH1 0xff 00000d69: AND 00000d6a: DUP2 00000d6b: JUMP 00000d6c: JUMPDEST 00000d6d: PUSH1 0x04 00000d6f: SLOAD 00000d70: PUSH1 0x01 00000d72: PUSH1 0xa0 00000d74: PUSH1 0x02 00000d76: EXP 00000d77: SUB 00000d78: AND 00000d79: DUP2 00000d7a: JUMP 00000d7b: JUMPDEST 00000d7c: PUSH1 0x00 00000d7e: SLOAD 00000d7f: CALLER 00000d80: PUSH1 0x01 00000d82: PUSH1 0xa0 00000d84: PUSH1 0x02 00000d86: EXP 00000d87: SUB 00000d88: SWAP1 00000d89: DUP2 00000d8a: AND 00000d8b: SWAP2 00000d8c: AND 00000d8d: EQ 00000d8e: PUSH2 0x0d96 00000d91: JUMPI 00000d92: PUSH1 0x00 00000d94: DUP1 00000d95: REVERT 00000d96: JUMPDEST 00000d97: PUSH1 0x01 00000d99: PUSH1 0xa0 00000d9b: PUSH1 0x02 00000d9d: EXP 00000d9e: SUB 00000d9f: DUP2 00000da0: AND 00000da1: PUSH1 0x00 00000da3: SWAP1 00000da4: DUP2 00000da5: MSTORE 00000da6: PUSH1 0x1c 00000da8: PUSH1 0x20 00000daa: MSTORE 00000dab: PUSH1 0x40 00000dad: SWAP1 00000dae: KECCAK256 00000daf: SLOAD 00000db0: PUSH1 0xff 00000db2: AND 00000db3: ISZERO 00000db4: ISZERO 00000db5: PUSH1 0x01 00000db7: EQ 00000db8: PUSH2 0x0dc0 00000dbb: JUMPI 00000dbc: PUSH1 0x00 00000dbe: DUP1 00000dbf: REVERT 00000dc0: JUMPDEST 00000dc1: PUSH1 0x01 00000dc3: PUSH1 0xa0 00000dc5: PUSH1 0x02 00000dc7: EXP 00000dc8: SUB 00000dc9: DUP2 00000dca: AND 00000dcb: PUSH1 0x00 00000dcd: SWAP1 00000dce: DUP2 00000dcf: MSTORE 00000dd0: PUSH1 0x1c 00000dd2: PUSH1 0x20 00000dd4: MSTORE 00000dd5: PUSH1 0x40 00000dd7: SWAP1 00000dd8: DUP2 00000dd9: SWAP1 00000dda: KECCAK256 00000ddb: DUP1 00000ddc: SLOAD 00000ddd: PUSH1 0xff 00000ddf: NOT 00000de0: AND 00000de1: SWAP1 00000de2: SSTORE 00000de3: PUSH32 0xa231666d2d1aeb79bb1f0db1a8c9bfc28af2eed3f0a9b68ed157c46ba782c3eb 00000e04: SWAP1 00000e05: DUP3 00000e06: SWAP1 00000e07: TIMESTAMP 00000e08: SWAP1 00000e09: MLOAD 00000e0a: PUSH1 0x01 00000e0c: PUSH1 0xa0 00000e0e: PUSH1 0x02 00000e10: EXP 00000e11: SUB 00000e12: SWAP1 00000e13: SWAP3 00000e14: AND 00000e15: DUP3 00000e16: MSTORE 00000e17: PUSH1 0x20 00000e19: DUP3 00000e1a: ADD 00000e1b: MSTORE 00000e1c: PUSH1 0x40 00000e1e: SWAP1 00000e1f: DUP2 00000e20: ADD 00000e21: SWAP1 00000e22: MLOAD 00000e23: DUP1 00000e24: SWAP2 00000e25: SUB 00000e26: SWAP1 00000e27: LOG1 00000e28: POP 00000e29: JUMP 00000e2a: JUMPDEST 00000e2b: PUSH1 0x19 00000e2d: SLOAD 00000e2e: PUSH1 0x01 00000e30: PUSH1 0xa0 00000e32: PUSH1 0x02 00000e34: EXP 00000e35: SUB 00000e36: AND 00000e37: DUP2 00000e38: JUMP 00000e39: JUMPDEST 00000e3a: PUSH1 0x01 00000e3c: PUSH1 0xa0 00000e3e: PUSH1 0x02 00000e40: EXP 00000e41: SUB 00000e42: CALLER 00000e43: AND 00000e44: PUSH1 0x00 00000e46: SWAP1 00000e47: DUP2 00000e48: MSTORE 00000e49: PUSH1 0x0b 00000e4b: PUSH1 0x20 00000e4d: MSTORE 00000e4e: PUSH1 0x40 00000e50: DUP2 00000e51: KECCAK256 00000e52: SLOAD 00000e53: DUP2 00000e54: SWAP1 00000e55: GT 00000e56: PUSH2 0x0e5e 00000e59: JUMPI 00000e5a: PUSH1 0x00 00000e5c: DUP1 00000e5d: REVERT 00000e5e: JUMPDEST 00000e5f: PUSH2 0x0e66 00000e62: PUSH2 0x1a0f 00000e65: JUMP 00000e66: JUMPDEST 00000e67: DUP1 00000e68: ISZERO 00000e69: PUSH2 0x0e75 00000e6c: JUMPI 00000e6d: POP 00000e6e: PUSH1 0x0e 00000e70: SLOAD 00000e71: PUSH1 0x09 00000e73: SLOAD 00000e74: LT 00000e75: JUMPDEST 00000e76: DUP1 00000e77: PUSH2 0x0e83 00000e7a: JUMPI 00000e7b: POP 00000e7c: PUSH2 0x0e83 00000e7f: PUSH2 0x1ea6 00000e82: JUMP 00000e83: JUMPDEST 00000e84: ISZERO 00000e85: ISZERO 00000e86: PUSH2 0x0e8e 00000e89: JUMPI 00000e8a: PUSH1 0x00 00000e8c: DUP1 00000e8d: REVERT 00000e8e: JUMPDEST 00000e8f: POP 00000e90: PUSH1 0x01 00000e92: PUSH1 0xa0 00000e94: PUSH1 0x02 00000e96: EXP 00000e97: SUB 00000e98: CALLER 00000e99: AND 00000e9a: PUSH1 0x00 00000e9c: DUP2 00000e9d: DUP2 00000e9e: MSTORE 00000e9f: PUSH1 0x0b 00000ea1: PUSH1 0x20 00000ea3: MSTORE 00000ea4: PUSH1 0x40 00000ea6: DUP1 00000ea7: DUP3 00000ea8: KECCAK256 00000ea9: DUP1 00000eaa: SLOAD 00000eab: SWAP3 00000eac: SWAP1 00000ead: SSTORE 00000eae: SWAP1 00000eaf: SWAP2 00000eb0: SWAP1 00000eb1: DUP3 00000eb2: ISZERO 00000eb3: PUSH2 0x08fc 00000eb6: MUL 00000eb7: SWAP1 00000eb8: DUP4 00000eb9: SWAP1 00000eba: MLOAD 00000ebb: PUSH1 0x00 00000ebd: PUSH1 0x40 00000ebf: MLOAD 00000ec0: DUP1 00000ec1: DUP4 00000ec2: SUB 00000ec3: DUP2 00000ec4: DUP6 00000ec5: DUP9 00000ec6: DUP9 00000ec7: CALL 00000ec8: SWAP4 00000ec9: POP 00000eca: POP 00000ecb: POP 00000ecc: POP 00000ecd: ISZERO 00000ece: ISZERO 00000ecf: PUSH2 0x0ed7 00000ed2: JUMPI 00000ed3: PUSH1 0x00 00000ed5: DUP1 00000ed6: REVERT 00000ed7: JUMPDEST 00000ed8: PUSH1 0x01 00000eda: PUSH1 0xa0 00000edc: PUSH1 0x02 00000ede: EXP 00000edf: SUB 00000ee0: CALLER 00000ee1: AND 00000ee2: PUSH1 0x00 00000ee4: SWAP1 00000ee5: DUP2 00000ee6: MSTORE 00000ee7: PUSH1 0x0b 00000ee9: PUSH1 0x20 00000eeb: MSTORE 00000eec: PUSH1 0x40 00000eee: SWAP1 00000eef: KECCAK256 00000ef0: SLOAD 00000ef1: ISZERO 00000ef2: PUSH2 0x0ef7 00000ef5: JUMPI 00000ef6: INVALID 00000ef7: JUMPDEST 00000ef8: PUSH32 0x399cf6f6b4834b62adc1e73a85b69f3eea1c55f32d09057693655aab33e8b542 00000f19: CALLER 00000f1a: DUP3 00000f1b: TIMESTAMP 00000f1c: PUSH1 0x40 00000f1e: MLOAD 00000f1f: DUP1 00000f20: DUP5 00000f21: PUSH1 0x01 00000f23: PUSH1 0xa0 00000f25: PUSH1 0x02 00000f27: EXP 00000f28: SUB 00000f29: AND 00000f2a: PUSH1 0x01 00000f2c: PUSH1 0xa0 00000f2e: PUSH1 0x02 00000f30: EXP 00000f31: SUB 00000f32: AND 00000f33: DUP2 00000f34: MSTORE 00000f35: PUSH1 0x20 00000f37: ADD 00000f38: DUP4 00000f39: DUP2 00000f3a: MSTORE 00000f3b: PUSH1 0x20 00000f3d: ADD 00000f3e: DUP3 00000f3f: DUP2 00000f40: MSTORE 00000f41: PUSH1 0x20 00000f43: ADD 00000f44: SWAP4 00000f45: POP 00000f46: POP 00000f47: POP 00000f48: POP 00000f49: PUSH1 0x40 00000f4b: MLOAD 00000f4c: DUP1 00000f4d: SWAP2 00000f4e: SUB 00000f4f: SWAP1 00000f50: LOG1 00000f51: POP 00000f52: JUMP 00000f53: JUMPDEST 00000f54: PUSH1 0x1a 00000f56: PUSH1 0x20 00000f58: MSTORE 00000f59: PUSH1 0x00 00000f5b: SWAP1 00000f5c: DUP2 00000f5d: MSTORE 00000f5e: PUSH1 0x40 00000f60: SWAP1 00000f61: KECCAK256 00000f62: SLOAD 00000f63: DUP2 00000f64: JUMP 00000f65: JUMPDEST 00000f66: PUSH1 0x18 00000f68: SLOAD 00000f69: DUP2 00000f6a: JUMP 00000f6b: JUMPDEST 00000f6c: PUSH1 0x0b 00000f6e: PUSH1 0x20 00000f70: MSTORE 00000f71: PUSH1 0x00 00000f73: SWAP1 00000f74: DUP2 00000f75: MSTORE 00000f76: PUSH1 0x40 00000f78: SWAP1 00000f79: KECCAK256 00000f7a: SLOAD 00000f7b: DUP2 00000f7c: JUMP 00000f7d: JUMPDEST 00000f7e: PUSH1 0x00 00000f80: DUP1 00000f81: DUP1 00000f82: DUP1 00000f83: DUP1 00000f84: DUP1 00000f85: DUP1 00000f86: DUP1 00000f87: PUSH20 0x0838ae8262bdc0779cbfbeef8811f2abf51c1c7a 00000f9c: PUSH4 0xb655e138 00000fa1: DUP11 00000fa2: DUP4 00000fa3: PUSH1 0x40 00000fa5: MLOAD 00000fa6: DUP4 00000fa7: PUSH4 0xffffffff 00000fac: AND 00000fad: PUSH1 0xe0 00000faf: PUSH1 0x02 00000fb1: EXP 00000fb2: MUL 00000fb3: DUP2 00000fb4: MSTORE 00000fb5: PUSH1 0x04 00000fb7: ADD 00000fb8: DUP1 00000fb9: DUP1 00000fba: PUSH1 0x20 00000fbc: ADD 00000fbd: DUP4 00000fbe: DUP2 00000fbf: MSTORE 00000fc0: PUSH1 0x20 00000fc2: ADD 00000fc3: DUP3 00000fc4: DUP2 00000fc5: SUB 00000fc6: DUP3 00000fc7: MSTORE 00000fc8: DUP5 00000fc9: DUP2 00000fca: DUP2 00000fcb: MLOAD 00000fcc: DUP2 00000fcd: MSTORE 00000fce: PUSH1 0x20 00000fd0: ADD 00000fd1: SWAP2 00000fd2: POP 00000fd3: DUP1 00000fd4: MLOAD 00000fd5: SWAP1 00000fd6: PUSH1 0x20 00000fd8: ADD 00000fd9: SWAP1 00000fda: DUP1 00000fdb: DUP4 00000fdc: DUP4 00000fdd: PUSH1 0x00 00000fdf: JUMPDEST 00000fe0: DUP4 00000fe1: DUP2 00000fe2: LT 00000fe3: ISZERO 00000fe4: PUSH2 0x0ff7 00000fe7: JUMPI 00000fe8: DUP1 00000fe9: DUP3 00000fea: ADD 00000feb: MLOAD 00000fec: DUP4 00000fed: DUP3 00000fee: ADD 00000fef: MSTORE 00000ff0: PUSH1 0x20 00000ff2: ADD 00000ff3: PUSH2 0x0fdf 00000ff6: JUMP 00000ff7: JUMPDEST 00000ff8: POP 00000ff9: POP 00000ffa: POP 00000ffb: POP 00000ffc: SWAP1 00000ffd: POP 00000ffe: SWAP1 00000fff: DUP2 00001000: ADD 00001001: SWAP1 00001002: PUSH1 0x1f 00001004: AND 00001005: DUP1 00001006: ISZERO 00001007: PUSH2 0x1024 0000100a: JUMPI 0000100b: DUP1 0000100c: DUP3 0000100d: SUB 0000100e: DUP1 0000100f: MLOAD 00001010: PUSH1 0x01 00001012: DUP4 00001013: PUSH1 0x20 00001015: SUB 00001016: PUSH2 0x0100 00001019: EXP 0000101a: SUB 0000101b: NOT 0000101c: AND 0000101d: DUP2 0000101e: MSTORE 0000101f: PUSH1 0x20 00001021: ADD 00001022: SWAP2 00001023: POP 00001024: JUMPDEST 00001025: POP 00001026: SWAP4 00001027: POP 00001028: POP 00001029: POP 0000102a: POP 0000102b: PUSH1 0x20 0000102d: PUSH1 0x40 0000102f: MLOAD 00001030: DUP1 00001031: DUP4 00001032: SUB 00001033: DUP2 00001034: DUP7 00001035: DUP1 00001036: EXTCODESIZE 00001037: ISZERO 00001038: ISZERO 00001039: PUSH2 0x1041 0000103c: JUMPI 0000103d: PUSH1 0x00 0000103f: DUP1 00001040: REVERT 00001041: JUMPDEST 00001042: GAS 00001043: DELEGATECALL 00001044: ISZERO 00001045: ISZERO 00001046: PUSH2 0x104e 00001049: JUMPI 0000104a: PUSH1 0x00 0000104c: DUP1 0000104d: REVERT 0000104e: JUMPDEST 0000104f: POP 00001050: POP 00001051: POP 00001052: PUSH1 0x40 00001054: MLOAD 00001055: DUP1 00001056: MLOAD 00001057: SWAP5 00001058: POP 00001059: PUSH20 0x0838ae8262bdc0779cbfbeef8811f2abf51c1c7a 0000106e: SWAP1 0000106f: POP 00001070: PUSH4 0x16419aa7 00001075: DUP11 00001076: PUSH1 0x14 00001078: PUSH1 0x40 0000107a: MLOAD 0000107b: DUP4 0000107c: PUSH4 0xffffffff 00001081: AND 00001082: PUSH1 0xe0 00001084: PUSH1 0x02 00001086: EXP 00001087: MUL 00001088: DUP2 00001089: MSTORE 0000108a: PUSH1 0x04 0000108c: ADD 0000108d: DUP1 0000108e: DUP1 0000108f: PUSH1 0x20 00001091: ADD 00001092: DUP4 00001093: DUP2 00001094: MSTORE 00001095: PUSH1 0x20 00001097: ADD 00001098: DUP3 00001099: DUP2 0000109a: SUB 0000109b: DUP3 0000109c: MSTORE 0000109d: DUP5 0000109e: DUP2 0000109f: DUP2 000010a0: MLOAD 000010a1: DUP2 000010a2: MSTORE 000010a3: PUSH1 0x20 000010a5: ADD 000010a6: SWAP2 000010a7: POP 000010a8: DUP1 000010a9: MLOAD 000010aa: SWAP1 000010ab: PUSH1 0x20 000010ad: ADD 000010ae: SWAP1 000010af: DUP1 000010b0: DUP4 000010b1: DUP4 000010b2: PUSH1 0x00 000010b4: JUMPDEST 000010b5: DUP4 000010b6: DUP2 000010b7: LT 000010b8: ISZERO 000010b9: PUSH2 0x10cc 000010bc: JUMPI 000010bd: DUP1 000010be: DUP3 000010bf: ADD 000010c0: MLOAD 000010c1: DUP4 000010c2: DUP3 000010c3: ADD 000010c4: MSTORE 000010c5: PUSH1 0x20 000010c7: ADD 000010c8: PUSH2 0x10b4 000010cb: JUMP 000010cc: JUMPDEST 000010cd: POP 000010ce: POP 000010cf: POP 000010d0: POP 000010d1: SWAP1 000010d2: POP 000010d3: SWAP1 000010d4: DUP2 000010d5: ADD 000010d6: SWAP1 000010d7: PUSH1 0x1f 000010d9: AND 000010da: DUP1 000010db: ISZERO 000010dc: PUSH2 0x10f9 000010df: JUMPI 000010e0: DUP1 000010e1: DUP3 000010e2: SUB 000010e3: DUP1 000010e4: MLOAD 000010e5: PUSH1 0x01 000010e7: DUP4 000010e8: PUSH1 0x20 000010ea: SUB 000010eb: PUSH2 0x0100 000010ee: EXP 000010ef: SUB 000010f0: NOT 000010f1: AND 000010f2: DUP2 000010f3: MSTORE 000010f4: PUSH1 0x20 000010f6: ADD 000010f7: SWAP2 000010f8: POP 000010f9: JUMPDEST 000010fa: POP 000010fb: SWAP4 000010fc: POP 000010fd: POP 000010fe: POP 000010ff: POP 00001100: PUSH1 0x20 00001102: PUSH1 0x40 00001104: MLOAD 00001105: DUP1 00001106: DUP4 00001107: SUB 00001108: DUP2 00001109: DUP7 0000110a: DUP1 0000110b: EXTCODESIZE 0000110c: ISZERO 0000110d: ISZERO 0000110e: PUSH2 0x1116 00001111: JUMPI 00001112: PUSH1 0x00 00001114: DUP1 00001115: REVERT 00001116: JUMPDEST 00001117: GAS 00001118: DELEGATECALL 00001119: ISZERO 0000111a: ISZERO 0000111b: PUSH2 0x1123 0000111e: JUMPI 0000111f: PUSH1 0x00 00001121: DUP1 00001122: REVERT 00001123: JUMPDEST 00001124: POP 00001125: POP 00001126: POP 00001127: PUSH1 0x40 00001129: MLOAD 0000112a: DUP1 0000112b: MLOAD 0000112c: PUSH17 0x0100000000000000000000000000000000 0000113e: SWAP1 0000113f: DIV 00001140: SWAP4 00001141: POP 00001142: PUSH20 0x0838ae8262bdc0779cbfbeef8811f2abf51c1c7a 00001157: SWAP1 00001158: POP 00001159: PUSH4 0xd54dd8f9 0000115e: DUP11 0000115f: PUSH1 0x24 00001161: PUSH1 0x40 00001163: MLOAD 00001164: DUP4 00001165: PUSH4 0xffffffff 0000116a: AND 0000116b: PUSH1 0xe0 0000116d: PUSH1 0x02 0000116f: EXP 00001170: MUL 00001171: DUP2 00001172: MSTORE 00001173: PUSH1 0x04 00001175: ADD 00001176: DUP1 00001177: DUP1 00001178: PUSH1 0x20 0000117a: ADD 0000117b: DUP4 0000117c: DUP2 0000117d: MSTORE 0000117e: PUSH1 0x20 00001180: ADD 00001181: DUP3 00001182: DUP2 00001183: SUB 00001184: DUP3 00001185: MSTORE 00001186: DUP5 00001187: DUP2 00001188: DUP2 00001189: MLOAD 0000118a: DUP2 0000118b: MSTORE 0000118c: PUSH1 0x20 0000118e: ADD 0000118f: SWAP2 00001190: POP 00001191: DUP1 00001192: MLOAD 00001193: SWAP1 00001194: PUSH1 0x20 00001196: ADD 00001197: SWAP1 00001198: DUP1 00001199: DUP4 0000119a: DUP4 0000119b: PUSH1 0x00 0000119d: JUMPDEST 0000119e: DUP4 0000119f: DUP2 000011a0: LT 000011a1: ISZERO 000011a2: PUSH2 0x11b5 000011a5: JUMPI 000011a6: DUP1 000011a7: DUP3 000011a8: ADD 000011a9: MLOAD 000011aa: DUP4 000011ab: DUP3 000011ac: ADD 000011ad: MSTORE 000011ae: PUSH1 0x20 000011b0: ADD 000011b1: PUSH2 0x119d 000011b4: JUMP 000011b5: JUMPDEST 000011b6: POP 000011b7: POP 000011b8: POP 000011b9: POP 000011ba: SWAP1 000011bb: POP 000011bc: SWAP1 000011bd: DUP2 000011be: ADD 000011bf: SWAP1 000011c0: PUSH1 0x1f 000011c2: AND 000011c3: DUP1 000011c4: ISZERO 000011c5: PUSH2 0x11e2 000011c8: JUMPI 000011c9: DUP1 000011ca: DUP3 000011cb: SUB 000011cc: DUP1 000011cd: MLOAD 000011ce: PUSH1 0x01 000011d0: DUP4 000011d1: PUSH1 0x20 000011d3: SUB 000011d4: PUSH2 0x0100 000011d7: EXP 000011d8: SUB 000011d9: NOT 000011da: AND 000011db: DUP2 000011dc: MSTORE 000011dd: PUSH1 0x20 000011df: ADD 000011e0: SWAP2 000011e1: POP 000011e2: JUMPDEST 000011e3: POP 000011e4: SWAP4 000011e5: POP 000011e6: POP 000011e7: POP 000011e8: POP 000011e9: PUSH1 0x20 000011eb: PUSH1 0x40 000011ed: MLOAD 000011ee: DUP1 000011ef: DUP4 000011f0: SUB 000011f1: DUP2 000011f2: DUP7 000011f3: DUP1 000011f4: EXTCODESIZE 000011f5: ISZERO 000011f6: ISZERO 000011f7: PUSH2 0x11ff 000011fa: JUMPI 000011fb: PUSH1 0x00 000011fd: DUP1 000011fe: REVERT 000011ff: JUMPDEST 00001200: GAS 00001201: DELEGATECALL 00001202: ISZERO 00001203: ISZERO 00001204: PUSH2 0x120c 00001207: JUMPI 00001208: PUSH1 0x00 0000120a: DUP1 0000120b: REVERT 0000120c: JUMPDEST 0000120d: POP 0000120e: POP 0000120f: POP 00001210: PUSH1 0x40 00001212: MLOAD 00001213: DUP1 00001214: MLOAD 00001215: PUSH1 0xe0 00001217: PUSH1 0x02 00001219: EXP 0000121a: SWAP1 0000121b: DIV 0000121c: SWAP3 0000121d: POP 0000121e: PUSH20 0x0838ae8262bdc0779cbfbeef8811f2abf51c1c7a 00001233: SWAP1 00001234: POP 00001235: PUSH4 0xd54dd8f9 0000123a: DUP11 0000123b: PUSH1 0x28 0000123d: PUSH1 0x40 0000123f: MLOAD 00001240: DUP4 00001241: PUSH4 0xffffffff 00001246: AND 00001247: PUSH1 0xe0 00001249: PUSH1 0x02 0000124b: EXP 0000124c: MUL 0000124d: DUP2 0000124e: MSTORE 0000124f: PUSH1 0x04 00001251: ADD 00001252: DUP1 00001253: DUP1 00001254: PUSH1 0x20 00001256: ADD 00001257: DUP4 00001258: DUP2 00001259: MSTORE 0000125a: PUSH1 0x20 0000125c: ADD 0000125d: DUP3 0000125e: DUP2 0000125f: SUB 00001260: DUP3 00001261: MSTORE 00001262: DUP5 00001263: DUP2 00001264: DUP2 00001265: MLOAD 00001266: DUP2 00001267: MSTORE 00001268: PUSH1 0x20 0000126a: ADD 0000126b: SWAP2 0000126c: POP 0000126d: DUP1 0000126e: MLOAD 0000126f: SWAP1 00001270: PUSH1 0x20 00001272: ADD 00001273: SWAP1 00001274: DUP1 00001275: DUP4 00001276: DUP4 00001277: PUSH1 0x00 00001279: JUMPDEST 0000127a: DUP4 0000127b: DUP2 0000127c: LT 0000127d: ISZERO 0000127e: PUSH2 0x1291 00001281: JUMPI 00001282: DUP1 00001283: DUP3 00001284: ADD 00001285: MLOAD 00001286: DUP4 00001287: DUP3 00001288: ADD 00001289: MSTORE 0000128a: PUSH1 0x20 0000128c: ADD 0000128d: PUSH2 0x1279 00001290: JUMP 00001291: JUMPDEST 00001292: POP 00001293: POP 00001294: POP 00001295: POP 00001296: SWAP1 00001297: POP 00001298: SWAP1 00001299: DUP2 0000129a: ADD 0000129b: SWAP1 0000129c: PUSH1 0x1f 0000129e: AND 0000129f: DUP1 000012a0: ISZERO 000012a1: PUSH2 0x12be 000012a4: JUMPI 000012a5: DUP1 000012a6: DUP3 000012a7: SUB 000012a8: DUP1 000012a9: MLOAD 000012aa: PUSH1 0x01 000012ac: DUP4 000012ad: PUSH1 0x20 000012af: SUB 000012b0: PUSH2 0x0100 000012b3: EXP 000012b4: SUB 000012b5: NOT 000012b6: AND 000012b7: DUP2 000012b8: MSTORE 000012b9: PUSH1 0x20 000012bb: ADD 000012bc: SWAP2 000012bd: POP 000012be: JUMPDEST 000012bf: POP 000012c0: SWAP4 000012c1: POP 000012c2: POP 000012c3: POP 000012c4: POP 000012c5: PUSH1 0x20 000012c7: PUSH1 0x40 000012c9: MLOAD 000012ca: DUP1 000012cb: DUP4 000012cc: SUB 000012cd: DUP2 000012ce: DUP7 000012cf: DUP1 000012d0: EXTCODESIZE 000012d1: ISZERO 000012d2: ISZERO 000012d3: PUSH2 0x12db 000012d6: JUMPI 000012d7: PUSH1 0x00 000012d9: DUP1 000012da: REVERT 000012db: JUMPDEST 000012dc: GAS 000012dd: DELEGATECALL 000012de: ISZERO 000012df: ISZERO 000012e0: PUSH2 0x12e8 000012e3: JUMPI 000012e4: PUSH1 0x00 000012e6: DUP1 000012e7: REVERT 000012e8: JUMPDEST 000012e9: POP 000012ea: POP 000012eb: POP 000012ec: PUSH1 0x40 000012ee: MLOAD 000012ef: DUP1 000012f0: MLOAD 000012f1: SWAP5 000012f2: SWAP11 000012f3: SWAP4 000012f4: SWAP10 000012f5: POP 000012f6: SWAP2 000012f7: SWAP8 000012f8: POP 000012f9: POP 000012fa: PUSH1 0xe0 000012fc: PUSH1 0x02 000012fe: EXP 000012ff: SWAP1 00001300: SWAP3 00001301: DIV 00001302: SWAP5 00001303: POP 00001304: SWAP3 00001305: POP 00001306: POP 00001307: POP 00001308: JUMP 00001309: JUMPDEST 0000130a: PUSH1 0xff 0000130c: AND 0000130d: PUSH1 0x00 0000130f: SWAP1 00001310: DUP2 00001311: MSTORE 00001312: PUSH1 0x12 00001314: PUSH1 0x20 00001316: MSTORE 00001317: PUSH1 0x40 00001319: SWAP1 0000131a: KECCAK256 0000131b: PUSH1 0x02 0000131d: ADD 0000131e: SLOAD 0000131f: SWAP1 00001320: JUMP 00001321: JUMPDEST 00001322: PUSH1 0x02 00001324: SLOAD 00001325: DUP2 00001326: JUMP 00001327: JUMPDEST 00001328: PUSH1 0x00 0000132a: DUP1 0000132b: SLOAD 0000132c: DUP2 0000132d: SWAP1 0000132e: DUP2 0000132f: SWAP1 00001330: DUP2 00001331: SWAP1 00001332: CALLER 00001333: PUSH1 0x01 00001335: PUSH1 0xa0 00001337: PUSH1 0x02 00001339: EXP 0000133a: SUB 0000133b: SWAP1 0000133c: DUP2 0000133d: AND 0000133e: SWAP2 0000133f: AND 00001340: EQ 00001341: PUSH2 0x1349 00001344: JUMPI 00001345: PUSH1 0x00 00001347: DUP1 00001348: REVERT 00001349: JUMPDEST 0000134a: PUSH1 0x02 0000134c: SLOAD 0000134d: DUP6 0000134e: GT 0000134f: PUSH2 0x1357 00001352: JUMPI 00001353: PUSH1 0x00 00001355: DUP1 00001356: REVERT 00001357: JUMPDEST 00001358: TIMESTAMP 00001359: DUP6 0000135a: GT 0000135b: PUSH2 0x1363 0000135e: JUMPI 0000135f: PUSH1 0x00 00001361: DUP1 00001362: REVERT 00001363: JUMPDEST 00001364: PUSH1 0x02 00001366: SLOAD 00001367: TIMESTAMP 00001368: LT 00001369: PUSH2 0x1371 0000136c: JUMPI 0000136d: PUSH1 0x00 0000136f: DUP1 00001370: REVERT 00001371: JUMPDEST 00001372: PUSH1 0x02 00001374: DUP1 00001375: SLOAD 00001376: SWAP1 00001377: DUP7 00001378: SWAP1 00001379: SSTORE 0000137a: PUSH1 0x03 0000137c: DUP1 0000137d: SLOAD 0000137e: DUP3 0000137f: DUP9 00001380: SUB 00001381: SWAP1 00001382: DUP2 00001383: ADD 00001384: SWAP1 00001385: SWAP2 00001386: SSTORE 00001387: SWAP5 00001388: POP 00001389: SWAP3 0000138a: POP 0000138b: PUSH1 0x00 0000138d: SWAP2 0000138e: POP 0000138f: JUMPDEST 00001390: PUSH1 0x04 00001392: DUP3 00001393: PUSH1 0xff 00001395: AND 00001396: LT 00001397: ISZERO 00001398: PUSH2 0x13d1 0000139b: JUMPI 0000139c: POP 0000139d: PUSH1 0xff 0000139f: DUP2 000013a0: AND 000013a1: PUSH1 0x00 000013a3: SWAP1 000013a4: DUP2 000013a5: MSTORE 000013a6: PUSH1 0x12 000013a8: PUSH1 0x20 000013aa: DUP2 000013ab: SWAP1 000013ac: MSTORE 000013ad: PUSH1 0x40 000013af: SWAP1 000013b0: SWAP2 000013b1: KECCAK256 000013b2: SLOAD 000013b3: DUP5 000013b4: ADD 000013b5: SWAP1 000013b6: PUSH2 0x13c6 000013b9: SWAP1 000013ba: DUP4 000013bb: DUP4 000013bc: PUSH4 0xffffffff 000013c1: PUSH2 0x1eb6 000013c4: AND 000013c5: JUMP 000013c6: JUMPDEST 000013c7: PUSH1 0x01 000013c9: SWAP1 000013ca: SWAP2 000013cb: ADD 000013cc: SWAP1 000013cd: PUSH2 0x138f 000013d0: JUMP 000013d1: JUMPDEST 000013d2: PUSH32 0xb03c6e4d98649731c861f3ac1560370eb9b13fe3950dbe318f413df44aecc1fd 000013f3: DUP4 000013f4: DUP7 000013f5: PUSH1 0x40 000013f7: MLOAD 000013f8: SWAP2 000013f9: DUP3 000013fa: MSTORE 000013fb: PUSH1 0x20 000013fd: DUP3 000013fe: ADD 000013ff: MSTORE 00001400: PUSH1 0x40 00001402: SWAP1 00001403: DUP2 00001404: ADD 00001405: SWAP1 00001406: MLOAD 00001407: DUP1 00001408: SWAP2 00001409: SUB 0000140a: SWAP1 0000140b: LOG1 0000140c: POP 0000140d: POP 0000140e: POP 0000140f: POP 00001410: POP 00001411: JUMP 00001412: JUMPDEST 00001413: PUSH1 0x0a 00001415: PUSH1 0x20 00001417: MSTORE 00001418: PUSH1 0x00 0000141a: SWAP1 0000141b: DUP2 0000141c: MSTORE 0000141d: PUSH1 0x40 0000141f: SWAP1 00001420: KECCAK256 00001421: SLOAD 00001422: DUP2 00001423: JUMP 00001424: JUMPDEST 00001425: PUSH1 0xff 00001427: AND 00001428: PUSH1 0x00 0000142a: SWAP1 0000142b: DUP2 0000142c: MSTORE 0000142d: PUSH1 0x12 0000142f: PUSH1 0x20 00001431: MSTORE 00001432: PUSH1 0x40 00001434: SWAP1 00001435: KECCAK256 00001436: SLOAD 00001437: SWAP1 00001438: JUMP 00001439: JUMPDEST 0000143a: PUSH1 0x00 0000143c: SLOAD 0000143d: PUSH1 0x01 0000143f: PUSH1 0xa0 00001441: PUSH1 0x02 00001443: EXP 00001444: SUB 00001445: AND 00001446: DUP2 00001447: JUMP 00001448: JUMPDEST 00001449: PUSH1 0x0e 0000144b: SLOAD 0000144c: DUP2 0000144d: JUMP 0000144e: JUMPDEST 0000144f: PUSH1 0x00 00001451: SLOAD 00001452: CALLER 00001453: PUSH1 0x01 00001455: PUSH1 0xa0 00001457: PUSH1 0x02 00001459: EXP 0000145a: SUB 0000145b: SWAP1 0000145c: DUP2 0000145d: AND 0000145e: SWAP2 0000145f: AND 00001460: EQ 00001461: PUSH2 0x1469 00001464: JUMPI 00001465: PUSH1 0x00 00001467: DUP1 00001468: REVERT 00001469: JUMPDEST 0000146a: PUSH2 0x147b 0000146d: PUSH1 0x12 0000146f: DUP4 00001470: DUP4 00001471: PUSH4 0xffffffff 00001476: PUSH2 0x1eed 00001479: AND 0000147a: JUMP 0000147b: JUMPDEST 0000147c: PUSH32 0x3c943c1401d461f1e9a9793a341ba4f600dc3643686cb337621026d523049715 0000149d: CALLER 0000149e: DUP4 0000149f: DUP4 000014a0: PUSH1 0x40 000014a2: MLOAD 000014a3: PUSH1 0x01 000014a5: PUSH1 0xa0 000014a7: PUSH1 0x02 000014a9: EXP 000014aa: SUB 000014ab: SWAP1 000014ac: SWAP4 000014ad: AND 000014ae: DUP4 000014af: MSTORE 000014b0: PUSH1 0xff 000014b2: SWAP1 000014b3: SWAP2 000014b4: AND 000014b5: PUSH1 0x20 000014b7: DUP4 000014b8: ADD 000014b9: MSTORE 000014ba: PUSH1 0x40 000014bc: DUP1 000014bd: DUP4 000014be: ADD 000014bf: SWAP2 000014c0: SWAP1 000014c1: SWAP2 000014c2: MSTORE 000014c3: PUSH1 0x60 000014c5: SWAP1 000014c6: SWAP2 000014c7: ADD 000014c8: SWAP1 000014c9: MLOAD 000014ca: DUP1 000014cb: SWAP2 000014cc: SUB 000014cd: SWAP1 000014ce: LOG1 000014cf: POP 000014d0: POP 000014d1: JUMP 000014d2: JUMPDEST 000014d3: PUSH1 0x17 000014d5: SLOAD 000014d6: DUP2 000014d7: JUMP 000014d8: JUMPDEST 000014d9: PUSH1 0x00 000014db: SLOAD 000014dc: CALLER 000014dd: PUSH1 0x01 000014df: PUSH1 0xa0 000014e1: PUSH1 0x02 000014e3: EXP 000014e4: SUB 000014e5: SWAP1 000014e6: DUP2 000014e7: AND 000014e8: SWAP2 000014e9: AND 000014ea: EQ 000014eb: PUSH2 0x14f3 000014ee: JUMPI 000014ef: PUSH1 0x00 000014f1: DUP1 000014f2: REVERT 000014f3: JUMPDEST 000014f4: PUSH1 0x01 000014f6: SLOAD 000014f7: PUSH1 0x01 000014f9: PUSH1 0xa0 000014fb: PUSH1 0x02 000014fd: EXP 000014fe: SUB 000014ff: AND 00001500: PUSH4 0x3e96d28e 00001505: PUSH1 0x40 00001507: MLOAD 00001508: DUP2 00001509: PUSH4 0xffffffff 0000150e: AND 0000150f: PUSH1 0xe0 00001511: PUSH1 0x02 00001513: EXP 00001514: MUL 00001515: DUP2 00001516: MSTORE 00001517: PUSH1 0x04 00001519: ADD 0000151a: PUSH1 0x00 0000151c: PUSH1 0x40 0000151e: MLOAD 0000151f: DUP1 00001520: DUP4 00001521: SUB 00001522: DUP2 00001523: PUSH1 0x00 00001525: DUP8 00001526: DUP1 00001527: EXTCODESIZE 00001528: ISZERO 00001529: ISZERO 0000152a: PUSH2 0x1532 0000152d: JUMPI 0000152e: PUSH1 0x00 00001530: DUP1 00001531: REVERT 00001532: JUMPDEST 00001533: GAS 00001534: CALL 00001535: ISZERO 00001536: ISZERO 00001537: PUSH2 0x153f 0000153a: JUMPI 0000153b: PUSH1 0x00 0000153d: DUP1 0000153e: REVERT 0000153f: JUMPDEST 00001540: POP 00001541: POP 00001542: POP 00001543: JUMP 00001544: JUMPDEST 00001545: PUSH1 0x11 00001547: SLOAD 00001548: PUSH1 0xff 0000154a: AND 0000154b: DUP2 0000154c: JUMP 0000154d: JUMPDEST 0000154e: PUSH1 0x00 00001550: SLOAD 00001551: PUSH1 0xa0 00001553: PUSH1 0x02 00001555: EXP 00001556: SWAP1 00001557: DIV 00001558: PUSH1 0xff 0000155a: AND 0000155b: DUP2 0000155c: JUMP 0000155d: JUMPDEST 0000155e: PUSH1 0xff 00001560: AND 00001561: PUSH1 0x00 00001563: SWAP1 00001564: DUP2 00001565: MSTORE 00001566: PUSH1 0x12 00001568: PUSH1 0x20 0000156a: MSTORE 0000156b: PUSH1 0x40 0000156d: SWAP1 0000156e: KECCAK256 0000156f: PUSH1 0x03 00001571: ADD 00001572: SLOAD 00001573: SWAP1 00001574: JUMP 00001575: JUMPDEST 00001576: PUSH1 0x00 00001578: DUP1 00001579: SLOAD 0000157a: CALLER 0000157b: PUSH1 0x01 0000157d: PUSH1 0xa0 0000157f: PUSH1 0x02 00001581: EXP 00001582: SUB 00001583: SWAP1 00001584: DUP2 00001585: AND 00001586: SWAP2 00001587: AND 00001588: EQ 00001589: PUSH2 0x1591 0000158c: JUMPI 0000158d: PUSH1 0x00 0000158f: DUP1 00001590: REVERT 00001591: JUMPDEST 00001592: PUSH1 0x00 00001594: SLOAD 00001595: PUSH1 0xa0 00001597: PUSH1 0x02 00001599: EXP 0000159a: SWAP1 0000159b: DIV 0000159c: PUSH1 0xff 0000159e: AND 0000159f: ISZERO 000015a0: PUSH2 0x15a8 000015a3: JUMPI 000015a4: PUSH1 0x00 000015a6: DUP1 000015a7: REVERT 000015a8: JUMPDEST 000015a9: PUSH2 0x15b0 000015ac: PUSH2 0x1a0f 000015af: JUMP 000015b0: JUMPDEST 000015b1: ISZERO 000015b2: ISZERO 000015b3: PUSH2 0x15bb 000015b6: JUMPI 000015b7: PUSH1 0x00 000015b9: DUP1 000015ba: REVERT 000015bb: JUMPDEST 000015bc: PUSH1 0x11 000015be: SLOAD 000015bf: PUSH1 0xff 000015c1: AND 000015c2: ISZERO 000015c3: ISZERO 000015c4: PUSH2 0x15cc 000015c7: JUMPI 000015c8: PUSH1 0x00 000015ca: DUP1 000015cb: REVERT 000015cc: JUMPDEST 000015cd: PUSH1 0x0e 000015cf: SLOAD 000015d0: PUSH1 0x09 000015d2: SLOAD 000015d3: GT 000015d4: PUSH2 0x15dc 000015d7: JUMPI 000015d8: PUSH1 0x00 000015da: DUP1 000015db: REVERT 000015dc: JUMPDEST 000015dd: PUSH1 0x10 000015df: SLOAD 000015e0: PUSH1 0x07 000015e2: SLOAD 000015e3: PUSH2 0x15f1 000015e6: SWAP2 000015e7: PUSH4 0xffffffff 000015ec: PUSH2 0x1b81 000015ef: AND 000015f0: JUMP 000015f1: JUMPDEST 000015f2: PUSH1 0x10 000015f4: SLOAD 000015f5: SWAP1 000015f6: SWAP2 000015f7: POP 000015f8: PUSH2 0x1607 000015fb: SWAP1 000015fc: DUP3 000015fd: PUSH4 0xffffffff 00001602: PUSH2 0x1f27 00001605: AND 00001606: JUMP 00001607: JUMPDEST 00001608: PUSH1 0x10 0000160a: SSTORE 0000160b: PUSH1 0x11 0000160d: SLOAD 0000160e: PUSH2 0x0100 00001611: SWAP1 00001612: DIV 00001613: PUSH1 0x01 00001615: PUSH1 0xa0 00001617: PUSH1 0x02 00001619: EXP 0000161a: SUB 0000161b: AND 0000161c: PUSH2 0x08fc 0000161f: DUP3 00001620: ISZERO 00001621: MUL 00001622: DUP3 00001623: PUSH1 0x40 00001625: MLOAD 00001626: PUSH1 0x00 00001628: PUSH1 0x40 0000162a: MLOAD 0000162b: DUP1 0000162c: DUP4 0000162d: SUB 0000162e: DUP2 0000162f: DUP6 00001630: DUP9 00001631: DUP9 00001632: CALL 00001633: SWAP4 00001634: POP 00001635: POP 00001636: POP 00001637: POP 00001638: ISZERO 00001639: ISZERO 0000163a: PUSH2 0x1642 0000163d: JUMPI 0000163e: PUSH1 0x00 00001640: DUP1 00001641: REVERT 00001642: JUMPDEST 00001643: PUSH32 0x9f7cbddba892cf26a7cd63d61d3c8d085df04bbbe7601e53311038ca6dab196b 00001664: CALLER 00001665: DUP3 00001666: TIMESTAMP 00001667: PUSH1 0x40 00001669: MLOAD 0000166a: DUP1 0000166b: DUP5 0000166c: PUSH1 0x01 0000166e: PUSH1 0xa0 00001670: PUSH1 0x02 00001672: EXP 00001673: SUB 00001674: AND 00001675: PUSH1 0x01 00001677: PUSH1 0xa0 00001679: PUSH1 0x02 0000167b: EXP 0000167c: SUB 0000167d: AND 0000167e: DUP2 0000167f: MSTORE 00001680: PUSH1 0x20 00001682: ADD 00001683: DUP4 00001684: DUP2 00001685: MSTORE 00001686: PUSH1 0x20 00001688: ADD 00001689: DUP3 0000168a: DUP2 0000168b: MSTORE 0000168c: PUSH1 0x20 0000168e: ADD 0000168f: SWAP4 00001690: POP 00001691: POP 00001692: POP 00001693: POP 00001694: PUSH1 0x40 00001696: MLOAD 00001697: DUP1 00001698: SWAP2 00001699: SUB 0000169a: SWAP1 0000169b: LOG1 0000169c: POP 0000169d: JUMP 0000169e: JUMPDEST 0000169f: PUSH1 0x1b 000016a1: PUSH1 0x20 000016a3: MSTORE 000016a4: PUSH1 0x00 000016a6: SWAP1 000016a7: DUP2 000016a8: MSTORE 000016a9: PUSH1 0x40 000016ab: SWAP1 000016ac: KECCAK256 000016ad: SLOAD 000016ae: PUSH1 0xff 000016b0: AND 000016b1: DUP2 000016b2: JUMP 000016b3: JUMPDEST 000016b4: PUSH1 0x10 000016b6: SLOAD 000016b7: DUP2 000016b8: JUMP 000016b9: JUMPDEST 000016ba: PUSH1 0x00 000016bc: SLOAD 000016bd: CALLER 000016be: PUSH1 0x01 000016c0: PUSH1 0xa0 000016c2: PUSH1 0x02 000016c4: EXP 000016c5: SUB 000016c6: SWAP1 000016c7: DUP2 000016c8: AND 000016c9: SWAP2 000016ca: AND 000016cb: EQ 000016cc: PUSH2 0x16d4 000016cf: JUMPI 000016d0: PUSH1 0x00 000016d2: DUP1 000016d3: REVERT 000016d4: JUMPDEST 000016d5: PUSH1 0x00 000016d7: DUP1 000016d8: SLOAD 000016d9: PUSH21 0xff0000000000000000000000000000000000000000 000016ef: NOT 000016f0: AND 000016f1: PUSH1 0xa0 000016f3: PUSH1 0x02 000016f5: EXP 000016f6: OR 000016f7: SWAP1 000016f8: SSTORE 000016f9: PUSH32 0x4898556e3bd8b06263e50e938f30f736c1fd2030390474dd6bc0b28d8c545037 0000171a: CALLER 0000171b: TIMESTAMP 0000171c: PUSH1 0x40 0000171e: MLOAD 0000171f: PUSH1 0x01 00001721: PUSH1 0xa0 00001723: PUSH1 0x02 00001725: EXP 00001726: SUB 00001727: SWAP1 00001728: SWAP3 00001729: AND 0000172a: DUP3 0000172b: MSTORE 0000172c: PUSH1 0x20 0000172e: DUP3 0000172f: ADD 00001730: MSTORE 00001731: PUSH1 0x40 00001733: SWAP1 00001734: DUP2 00001735: ADD 00001736: SWAP1 00001737: MLOAD 00001738: DUP1 00001739: SWAP2 0000173a: SUB 0000173b: SWAP1 0000173c: LOG1 0000173d: JUMP 0000173e: JUMPDEST 0000173f: PUSH1 0x00 00001741: DUP1 00001742: PUSH1 0x00 00001744: DUP1 00001745: PUSH1 0x00 00001747: DUP1 00001748: PUSH1 0x00 0000174a: DUP1 0000174b: PUSH1 0x02 0000174d: DUP13 0000174e: PUSH1 0x40 00001750: MLOAD 00001751: DUP1 00001752: DUP3 00001753: DUP1 00001754: MLOAD 00001755: SWAP1 00001756: PUSH1 0x20 00001758: ADD 00001759: SWAP1 0000175a: DUP1 0000175b: DUP4 0000175c: DUP4 0000175d: JUMPDEST 0000175e: PUSH1 0x20 00001760: DUP4 00001761: LT 00001762: PUSH2 0x177c 00001765: JUMPI 00001766: DUP1 00001767: MLOAD 00001768: DUP3 00001769: MSTORE 0000176a: PUSH1 0x1f 0000176c: NOT 0000176d: SWAP1 0000176e: SWAP3 0000176f: ADD 00001770: SWAP2 00001771: PUSH1 0x20 00001773: SWAP2 00001774: DUP3 00001775: ADD 00001776: SWAP2 00001777: ADD 00001778: PUSH2 0x175d 0000177b: JUMP 0000177c: JUMPDEST 0000177d: PUSH1 0x01 0000177f: DUP4 00001780: PUSH1 0x20 00001782: SUB 00001783: PUSH2 0x0100 00001786: EXP 00001787: SUB 00001788: DUP1 00001789: NOT 0000178a: DUP3 0000178b: MLOAD 0000178c: AND 0000178d: DUP2 0000178e: DUP5 0000178f: MLOAD 00001790: AND 00001791: DUP1 00001792: DUP3 00001793: OR 00001794: DUP6 00001795: MSTORE 00001796: POP 00001797: POP 00001798: POP 00001799: POP 0000179a: POP 0000179b: POP 0000179c: SWAP1 0000179d: POP 0000179e: ADD 0000179f: SWAP2 000017a0: POP 000017a1: POP 000017a2: PUSH1 0x20 000017a4: PUSH1 0x40 000017a6: MLOAD 000017a7: DUP1 000017a8: DUP4 000017a9: SUB 000017aa: DUP2 000017ab: PUSH1 0x00 000017ad: DUP7 000017ae: GAS 000017af: CALL 000017b0: ISZERO 000017b1: ISZERO 000017b2: PUSH2 0x17ba 000017b5: JUMPI 000017b6: PUSH1 0x00 000017b8: DUP1 000017b9: REVERT 000017ba: JUMPDEST 000017bb: POP 000017bc: POP 000017bd: PUSH1 0x40 000017bf: MLOAD 000017c0: DUP1 000017c1: MLOAD 000017c2: SWAP1 000017c3: POP 000017c4: SWAP8 000017c5: POP 000017c6: PUSH2 0x17ce 000017c9: DUP13 000017ca: PUSH2 0x0f7d 000017cd: JUMP 000017ce: JUMPDEST 000017cf: PUSH1 0x19 000017d1: SLOAD 000017d2: SWAP4 000017d3: SWAP11 000017d4: POP 000017d5: SWAP2 000017d6: SWAP9 000017d7: POP 000017d8: SWAP7 000017d9: POP 000017da: SWAP5 000017db: POP 000017dc: PUSH1 0x01 000017de: PUSH1 0xa0 000017e0: PUSH1 0x02 000017e2: EXP 000017e3: SUB 000017e4: AND 000017e5: PUSH1 0x01 000017e7: DUP10 000017e8: DUP14 000017e9: DUP14 000017ea: DUP14 000017eb: PUSH1 0x40 000017ed: MLOAD 000017ee: PUSH1 0x00 000017f0: DUP2 000017f1: MSTORE 000017f2: PUSH1 0x20 000017f4: ADD 000017f5: PUSH1 0x40 000017f7: MSTORE 000017f8: PUSH1 0x40 000017fa: MLOAD 000017fb: SWAP4 000017fc: DUP5 000017fd: MSTORE 000017fe: PUSH1 0xff 00001800: SWAP1 00001801: SWAP3 00001802: AND 00001803: PUSH1 0x20 00001805: DUP1 00001806: DUP6 00001807: ADD 00001808: SWAP2 00001809: SWAP1 0000180a: SWAP2 0000180b: MSTORE 0000180c: PUSH1 0x40 0000180e: DUP1 0000180f: DUP6 00001810: ADD 00001811: SWAP3 00001812: SWAP1 00001813: SWAP3 00001814: MSTORE 00001815: PUSH1 0x60 00001817: DUP5 00001818: ADD 00001819: SWAP3 0000181a: SWAP1 0000181b: SWAP3 0000181c: MSTORE 0000181d: PUSH1 0x80 0000181f: SWAP1 00001820: SWAP3 00001821: ADD 00001822: SWAP2 00001823: MLOAD 00001824: PUSH1 0x20 00001826: DUP2 00001827: SUB 00001828: SWAP1 00001829: DUP1 0000182a: DUP5 0000182b: SUB 0000182c: SWAP1 0000182d: PUSH1 0x00 0000182f: DUP7 00001830: GAS 00001831: CALL 00001832: ISZERO 00001833: ISZERO 00001834: PUSH2 0x183c 00001837: JUMPI 00001838: PUSH1 0x00 0000183a: DUP1 0000183b: REVERT 0000183c: JUMPDEST 0000183d: POP 0000183e: POP 0000183f: PUSH1 0x20 00001841: PUSH1 0x40 00001843: MLOAD 00001844: SUB 00001845: MLOAD 00001846: PUSH1 0x01 00001848: PUSH1 0xa0 0000184a: PUSH1 0x02 0000184c: EXP 0000184d: SUB 0000184e: AND 0000184f: EQ 00001850: PUSH2 0x1858 00001853: JUMPI 00001854: PUSH1 0x00 00001856: DUP1 00001857: REVERT 00001858: JUMPDEST 00001859: CALLER 0000185a: PUSH1 0x01 0000185c: PUSH1 0xa0 0000185e: PUSH1 0x02 00001860: EXP 00001861: SUB 00001862: AND 00001863: DUP8 00001864: PUSH1 0x01 00001866: PUSH1 0xa0 00001868: PUSH1 0x02 0000186a: EXP 0000186b: SUB 0000186c: AND 0000186d: EQ 0000186e: ISZERO 0000186f: ISZERO 00001870: PUSH2 0x1878 00001873: JUMPI 00001874: PUSH1 0x00 00001876: DUP1 00001877: REVERT 00001878: JUMPDEST 00001879: POP 0000187a: CALLVALUE 0000187b: SWAP2 0000187c: POP 0000187d: POP 0000187e: PUSH4 0xffffffff 00001883: DUP1 00001884: DUP4 00001885: AND 00001886: SWAP1 00001887: DUP5 00001888: AND 00001889: PUSH8 0x0de0b6b3a7640000 00001892: DUP3 00001893: MUL 00001894: DUP4 00001895: LT 00001896: PUSH2 0x189e 00001899: JUMPI 0000189a: PUSH1 0x00 0000189c: DUP1 0000189d: REVERT 0000189e: JUMPDEST 0000189f: PUSH8 0x0de0b6b3a7640000 000018a8: DUP2 000018a9: MUL 000018aa: DUP4 000018ab: GT 000018ac: PUSH2 0x18b4 000018af: JUMPI 000018b0: PUSH1 0x00 000018b2: DUP1 000018b3: REVERT 000018b4: JUMPDEST 000018b5: PUSH2 0x18bd 000018b8: DUP7 000018b9: PUSH2 0x1f3d 000018bc: JUMP 000018bd: JUMPDEST 000018be: POP 000018bf: POP 000018c0: POP 000018c1: POP 000018c2: POP 000018c3: POP 000018c4: POP 000018c5: POP 000018c6: POP 000018c7: POP 000018c8: POP 000018c9: POP 000018ca: JUMP 000018cb: JUMPDEST 000018cc: PUSH1 0x0c 000018ce: PUSH1 0x20 000018d0: MSTORE 000018d1: PUSH1 0x00 000018d3: SWAP1 000018d4: DUP2 000018d5: MSTORE 000018d6: PUSH1 0x40 000018d8: SWAP1 000018d9: KECCAK256 000018da: SLOAD 000018db: DUP2 000018dc: JUMP 000018dd: JUMPDEST 000018de: PUSH1 0x0d 000018e0: PUSH1 0x20 000018e2: MSTORE 000018e3: PUSH1 0x00 000018e5: SWAP1 000018e6: DUP2 000018e7: MSTORE 000018e8: PUSH1 0x40 000018ea: SWAP1 000018eb: KECCAK256 000018ec: SLOAD 000018ed: DUP2 000018ee: JUMP 000018ef: JUMPDEST 000018f0: PUSH1 0x00 000018f2: SLOAD 000018f3: CALLER 000018f4: PUSH1 0x01 000018f6: PUSH1 0xa0 000018f8: PUSH1 0x02 000018fa: EXP 000018fb: SUB 000018fc: SWAP1 000018fd: DUP2 000018fe: AND 000018ff: SWAP2 00001900: AND 00001901: EQ 00001902: PUSH2 0x190a 00001905: JUMPI 00001906: PUSH1 0x00 00001908: DUP1 00001909: REVERT 0000190a: JUMPDEST 0000190b: PUSH1 0x14 0000190d: SLOAD 0000190e: PUSH2 0x0100 00001911: SWAP1 00001912: DIV 00001913: PUSH1 0xff 00001915: AND 00001916: DUP1 00001917: ISZERO 00001918: PUSH2 0x1920 0000191b: JUMPI 0000191c: PUSH1 0x00 0000191e: DUP1 0000191f: REVERT 00001920: JUMPDEST 00001921: PUSH2 0x195c 00001924: PUSH1 0x01 00001926: PUSH2 0x193d 00001929: PUSH3 0x093a80 0000192d: PUSH1 0x02 0000192f: SLOAD 00001930: PUSH2 0x1f27 00001933: SWAP1 00001934: SWAP2 00001935: SWAP1 00001936: PUSH4 0xffffffff 0000193b: AND 0000193c: JUMP 0000193d: JUMPDEST 0000193e: PUSH1 0x12 00001940: SWAP2 00001941: SWAP1 00001942: PUSH5 0x02540be400 00001948: PUSH3 0x989680 0000194c: PUSH5 0x28bed01600 00001952: PUSH4 0xffffffff 00001957: PUSH2 0x1fad 0000195a: AND 0000195b: JUMP 0000195c: JUMPDEST 0000195d: PUSH2 0x1998 00001960: PUSH1 0x02 00001962: PUSH2 0x1979 00001965: PUSH3 0x127500 00001969: PUSH1 0x02 0000196b: SLOAD 0000196c: PUSH2 0x1f27 0000196f: SWAP1 00001970: SWAP2 00001971: SWAP1 00001972: PUSH4 0xffffffff 00001977: AND 00001978: JUMP 00001979: JUMPDEST 0000197a: PUSH1 0x12 0000197c: SWAP2 0000197d: SWAP1 0000197e: PUSH5 0x028fa6ae00 00001984: PUSH3 0x4c4b40 00001988: PUSH5 0x45d964b800 0000198e: PUSH4 0xffffffff 00001993: PUSH2 0x1fad 00001996: AND 00001997: JUMP 00001998: JUMPDEST 00001999: PUSH2 0x19d4 0000199c: PUSH1 0x03 0000199e: PUSH2 0x19b5 000019a1: PUSH3 0x24ea00 000019a5: PUSH1 0x02 000019a7: SLOAD 000019a8: PUSH2 0x1f27 000019ab: SWAP1 000019ac: SWAP2 000019ad: SWAP1 000019ae: PUSH4 0xffffffff 000019b3: AND 000019b4: JUMP 000019b5: JUMPDEST 000019b6: PUSH1 0x12 000019b8: SWAP2 000019b9: SWAP1 000019ba: PUSH5 0x02cb417800 000019c0: PUSH3 0x2625a0 000019c4: PUSH5 0x85e0abb600 000019ca: PUSH4 0xffffffff 000019cf: PUSH2 0x1fad 000019d2: AND 000019d3: JUMP 000019d4: JUMPDEST 000019d5: PUSH1 0x03 000019d7: SLOAD 000019d8: PUSH2 0x19fd 000019db: SWAP1 000019dc: PUSH1 0x12 000019de: SWAP1 000019df: PUSH1 0x04 000019e1: SWAP1 000019e2: PUSH5 0x037e11d600 000019e8: PUSH3 0x0f4240 000019ec: PUSH6 0x01d1a94a2000 000019f3: PUSH4 0xffffffff 000019f8: PUSH2 0x1fad 000019fb: AND 000019fc: JUMP 000019fd: JUMPDEST 000019fe: POP 000019ff: PUSH1 0x14 00001a01: DUP1 00001a02: SLOAD 00001a03: PUSH2 0xff00 00001a06: NOT 00001a07: AND 00001a08: PUSH2 0x0100 00001a0b: OR 00001a0c: SWAP1 00001a0d: SSTORE 00001a0e: JUMP 00001a0f: JUMPDEST 00001a10: PUSH1 0x0f 00001a12: SLOAD 00001a13: PUSH1 0x09 00001a15: SLOAD 00001a16: PUSH1 0x00 00001a18: SWAP2 00001a19: SWAP1 00001a1a: LT 00001a1b: ISZERO 00001a1c: PUSH2 0x1a23 00001a1f: PUSH2 0x2022 00001a22: JUMP 00001a23: JUMPDEST 00001a24: DUP1 00001a25: PUSH2 0x1a2b 00001a28: JUMPI 00001a29: POP 00001a2a: DUP1 00001a2b: JUMPDEST 00001a2c: SWAP2 00001a2d: POP 00001a2e: POP 00001a2f: SWAP1 00001a30: JUMP 00001a31: JUMPDEST 00001a32: PUSH1 0x00 00001a34: SLOAD 00001a35: CALLER 00001a36: PUSH1 0x01 00001a38: PUSH1 0xa0 00001a3a: PUSH1 0x02 00001a3c: EXP 00001a3d: SUB 00001a3e: SWAP1 00001a3f: DUP2 00001a40: AND 00001a41: SWAP2 00001a42: AND 00001a43: EQ 00001a44: PUSH2 0x1a4c 00001a47: JUMPI 00001a48: PUSH1 0x00 00001a4a: DUP1 00001a4b: REVERT 00001a4c: JUMPDEST 00001a4d: PUSH1 0x01 00001a4f: PUSH1 0xa0 00001a51: PUSH1 0x02 00001a53: EXP 00001a54: SUB 00001a55: DUP2 00001a56: AND 00001a57: ISZERO 00001a58: ISZERO 00001a59: PUSH2 0x1a61 00001a5c: JUMPI 00001a5d: PUSH1 0x00 00001a5f: DUP1 00001a60: REVERT 00001a61: JUMPDEST 00001a62: PUSH1 0x00 00001a64: SLOAD 00001a65: PUSH1 0x01 00001a67: PUSH1 0xa0 00001a69: PUSH1 0x02 00001a6b: EXP 00001a6c: SUB 00001a6d: DUP1 00001a6e: DUP4 00001a6f: AND 00001a70: SWAP2 00001a71: AND 00001a72: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00001a93: PUSH1 0x40 00001a95: MLOAD 00001a96: PUSH1 0x40 00001a98: MLOAD 00001a99: DUP1 00001a9a: SWAP2 00001a9b: SUB 00001a9c: SWAP1 00001a9d: LOG3 00001a9e: PUSH1 0x00 00001aa0: DUP1 00001aa1: SLOAD 00001aa2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ab7: NOT 00001ab8: AND 00001ab9: PUSH1 0x01 00001abb: PUSH1 0xa0 00001abd: PUSH1 0x02 00001abf: EXP 00001ac0: SUB 00001ac1: SWAP3 00001ac2: SWAP1 00001ac3: SWAP3 00001ac4: AND 00001ac5: SWAP2 00001ac6: SWAP1 00001ac7: SWAP2 00001ac8: OR 00001ac9: SWAP1 00001aca: SSTORE 00001acb: JUMP 00001acc: JUMPDEST 00001acd: PUSH1 0x08 00001acf: SLOAD 00001ad0: DUP2 00001ad1: JUMP 00001ad2: JUMPDEST 00001ad3: PUSH1 0x1c 00001ad5: PUSH1 0x20 00001ad7: MSTORE 00001ad8: PUSH1 0x00 00001ada: SWAP1 00001adb: DUP2 00001adc: MSTORE 00001add: PUSH1 0x40 00001adf: SWAP1 00001ae0: KECCAK256 00001ae1: SLOAD 00001ae2: PUSH1 0xff 00001ae4: AND 00001ae5: DUP2 00001ae6: JUMP 00001ae7: JUMPDEST 00001ae8: PUSH1 0xff 00001aea: AND 00001aeb: PUSH1 0x00 00001aed: SWAP1 00001aee: DUP2 00001aef: MSTORE 00001af0: PUSH1 0x12 00001af2: PUSH1 0x20 00001af4: MSTORE 00001af5: PUSH1 0x40 00001af7: SWAP1 00001af8: KECCAK256 00001af9: PUSH1 0x01 00001afb: ADD 00001afc: SLOAD 00001afd: SWAP1 00001afe: JUMP 00001aff: JUMPDEST 00001b00: PUSH1 0x0f 00001b02: SLOAD 00001b03: DUP2 00001b04: JUMP 00001b05: JUMPDEST 00001b06: PUSH1 0x01 00001b08: SLOAD 00001b09: PUSH1 0x01 00001b0b: PUSH1 0xa0 00001b0d: PUSH1 0x02 00001b0f: EXP 00001b10: SUB 00001b11: AND 00001b12: DUP2 00001b13: JUMP 00001b14: JUMPDEST 00001b15: PUSH1 0x00 00001b17: PUSH20 0xb555eb5b08cd524bd8f5fe82ed514f752a885e29 00001b2c: PUSH4 0x922d38be 00001b31: PUSH1 0x12 00001b33: PUSH1 0x40 00001b35: MLOAD 00001b36: PUSH1 0xe0 00001b38: PUSH1 0x02 00001b3a: EXP 00001b3b: PUSH4 0xffffffff 00001b40: DUP5 00001b41: AND 00001b42: MUL 00001b43: DUP2 00001b44: MSTORE 00001b45: PUSH1 0x04 00001b47: DUP2 00001b48: ADD 00001b49: SWAP2 00001b4a: SWAP1 00001b4b: SWAP2 00001b4c: MSTORE 00001b4d: PUSH1 0x24 00001b4f: ADD 00001b50: PUSH1 0x20 00001b52: PUSH1 0x40 00001b54: MLOAD 00001b55: DUP1 00001b56: DUP4 00001b57: SUB 00001b58: DUP2 00001b59: DUP7 00001b5a: DUP1 00001b5b: EXTCODESIZE 00001b5c: ISZERO 00001b5d: ISZERO 00001b5e: PUSH2 0x1b66 00001b61: JUMPI 00001b62: PUSH1 0x00 00001b64: DUP1 00001b65: REVERT 00001b66: JUMPDEST 00001b67: GAS 00001b68: DELEGATECALL 00001b69: ISZERO 00001b6a: ISZERO 00001b6b: PUSH2 0x1b73 00001b6e: JUMPI 00001b6f: PUSH1 0x00 00001b71: DUP1 00001b72: REVERT 00001b73: JUMPDEST 00001b74: POP 00001b75: POP 00001b76: POP 00001b77: PUSH1 0x40 00001b79: MLOAD 00001b7a: DUP1 00001b7b: MLOAD 00001b7c: SWAP2 00001b7d: POP 00001b7e: POP 00001b7f: SWAP1 00001b80: JUMP 00001b81: JUMPDEST 00001b82: PUSH1 0x00 00001b84: DUP3 00001b85: DUP3 00001b86: GT 00001b87: ISZERO 00001b88: PUSH2 0x1b8d 00001b8b: JUMPI 00001b8c: INVALID 00001b8d: JUMPDEST 00001b8e: POP 00001b8f: SWAP1 00001b90: SUB 00001b91: SWAP1 00001b92: JUMP 00001b93: JUMPDEST 00001b94: PUSH1 0x01 00001b96: PUSH1 0x00 00001b98: SWAP1 00001b99: DUP2 00001b9a: MSTORE 00001b9b: PUSH1 0x20 00001b9d: DUP7 00001b9e: SWAP1 00001b9f: MSTORE 00001ba0: PUSH1 0x40 00001ba2: SWAP1 00001ba3: KECCAK256 00001ba4: PUSH1 0x02 00001ba6: ADD 00001ba7: SLOAD 00001ba8: PUSH2 0x1bb7 00001bab: SWAP1 00001bac: DUP6 00001bad: PUSH4 0xffffffff 00001bb2: PUSH2 0x1b81 00001bb5: AND 00001bb6: JUMP 00001bb7: JUMPDEST 00001bb8: PUSH1 0x01 00001bba: PUSH1 0x00 00001bbc: SWAP1 00001bbd: DUP2 00001bbe: MSTORE 00001bbf: PUSH1 0x20 00001bc1: DUP8 00001bc2: SWAP1 00001bc3: MSTORE 00001bc4: PUSH1 0x40 00001bc6: DUP1 00001bc7: DUP3 00001bc8: KECCAK256 00001bc9: PUSH1 0x02 00001bcb: SWAP1 00001bcc: DUP2 00001bcd: ADD 00001bce: SWAP4 00001bcf: SWAP1 00001bd0: SWAP4 00001bd1: SSTORE 00001bd2: DUP3 00001bd3: DUP3 00001bd4: MSTORE 00001bd5: SWAP1 00001bd6: KECCAK256 00001bd7: ADD 00001bd8: SLOAD 00001bd9: PUSH2 0x1be8 00001bdc: SWAP1 00001bdd: DUP5 00001bde: PUSH4 0xffffffff 00001be3: PUSH2 0x1b81 00001be6: AND 00001be7: JUMP 00001be8: JUMPDEST 00001be9: PUSH1 0x02 00001beb: PUSH1 0x00 00001bed: DUP2 00001bee: DUP2 00001bef: MSTORE 00001bf0: PUSH1 0x20 00001bf2: DUP9 00001bf3: SWAP1 00001bf4: MSTORE 00001bf5: PUSH1 0x40 00001bf7: DUP1 00001bf8: DUP3 00001bf9: KECCAK256 00001bfa: DUP4 00001bfb: ADD 00001bfc: SWAP4 00001bfd: SWAP1 00001bfe: SWAP4 00001bff: SSTORE 00001c00: PUSH1 0x03 00001c02: DUP2 00001c03: MSTORE 00001c04: SWAP2 00001c05: SWAP1 00001c06: SWAP2 00001c07: KECCAK256 00001c08: ADD 00001c09: SLOAD 00001c0a: PUSH2 0x1c19 00001c0d: SWAP1 00001c0e: DUP4 00001c0f: PUSH4 0xffffffff 00001c14: PUSH2 0x1b81 00001c17: AND 00001c18: JUMP 00001c19: JUMPDEST 00001c1a: PUSH1 0x03 00001c1c: PUSH1 0x00 00001c1e: SWAP1 00001c1f: DUP2 00001c20: MSTORE 00001c21: PUSH1 0x20 00001c23: DUP8 00001c24: SWAP1 00001c25: MSTORE 00001c26: PUSH1 0x40 00001c28: DUP1 00001c29: DUP3 00001c2a: KECCAK256 00001c2b: PUSH1 0x02 00001c2d: SWAP1 00001c2e: DUP2 00001c2f: ADD 00001c30: SWAP4 00001c31: SWAP1 00001c32: SWAP4 00001c33: SSTORE 00001c34: PUSH1 0x04 00001c36: DUP3 00001c37: MSTORE 00001c38: SWAP1 00001c39: KECCAK256 00001c3a: ADD 00001c3b: SLOAD 00001c3c: PUSH2 0x1c4b 00001c3f: SWAP1 00001c40: DUP3 00001c41: PUSH4 0xffffffff 00001c46: PUSH2 0x1b81 00001c49: AND 00001c4a: JUMP 00001c4b: JUMPDEST 00001c4c: PUSH1 0x04 00001c4e: PUSH1 0x00 00001c50: SWAP1 00001c51: DUP2 00001c52: MSTORE 00001c53: PUSH1 0x20 00001c55: SWAP7 00001c56: SWAP1 00001c57: SWAP7 00001c58: MSTORE 00001c59: PUSH1 0x40 00001c5b: SWAP1 00001c5c: SWAP6 00001c5d: KECCAK256 00001c5e: PUSH1 0x02 00001c60: ADD 00001c61: SWAP5 00001c62: SWAP1 00001c63: SWAP5 00001c64: SSTORE 00001c65: POP 00001c66: POP 00001c67: POP 00001c68: POP 00001c69: JUMP 00001c6a: JUMPDEST 00001c6b: PUSH5 0x2964606ca0 00001c71: DUP2 00001c72: LT 00001c73: PUSH2 0x1c7b 00001c76: JUMPI 00001c77: PUSH1 0x00 00001c79: DUP1 00001c7a: REVERT 00001c7b: JUMPDEST 00001c7c: PUSH5 0x0a59194020 00001c82: DUP3 00001c83: LT 00001c84: PUSH2 0x1c8c 00001c87: JUMPI 00001c88: PUSH1 0x00 00001c8a: DUP1 00001c8b: REVERT 00001c8c: JUMPDEST 00001c8d: PUSH1 0x18 00001c8f: DUP2 00001c90: SWAP1 00001c91: SSTORE 00001c92: PUSH1 0x17 00001c94: DUP3 00001c95: SWAP1 00001c96: SSTORE 00001c97: PUSH1 0x01 00001c99: SLOAD 00001c9a: PUSH1 0x14 00001c9c: SLOAD 00001c9d: PUSH1 0x01 00001c9f: PUSH1 0xa0 00001ca1: PUSH1 0x02 00001ca3: EXP 00001ca4: SUB 00001ca5: SWAP2 00001ca6: DUP3 00001ca7: AND 00001ca8: SWAP2 00001ca9: PUSH4 0xfb920ad1 00001cae: SWAP2 00001caf: PUSH3 0x010000 00001cb3: SWAP1 00001cb4: DIV 00001cb5: AND 00001cb6: DUP4 00001cb7: PUSH1 0x40 00001cb9: MLOAD 00001cba: PUSH1 0xe0 00001cbc: PUSH1 0x02 00001cbe: EXP 00001cbf: PUSH4 0xffffffff 00001cc4: DUP6 00001cc5: AND 00001cc6: MUL 00001cc7: DUP2 00001cc8: MSTORE 00001cc9: PUSH1 0x01 00001ccb: PUSH1 0xa0 00001ccd: PUSH1 0x02 00001ccf: EXP 00001cd0: SUB 00001cd1: SWAP1 00001cd2: SWAP3 00001cd3: AND 00001cd4: PUSH1 0x04 00001cd6: DUP4 00001cd7: ADD 00001cd8: MSTORE 00001cd9: PUSH1 0x24 00001cdb: DUP3 00001cdc: ADD 00001cdd: MSTORE 00001cde: PUSH1 0x44 00001ce0: ADD 00001ce1: PUSH1 0x00 00001ce3: PUSH1 0x40 00001ce5: MLOAD 00001ce6: DUP1 00001ce7: DUP4 00001ce8: SUB 00001ce9: DUP2 00001cea: PUSH1 0x00 00001cec: DUP8 00001ced: DUP1 00001cee: EXTCODESIZE 00001cef: ISZERO 00001cf0: ISZERO 00001cf1: PUSH2 0x1cf9 00001cf4: JUMPI 00001cf5: PUSH1 0x00 00001cf7: DUP1 00001cf8: REVERT 00001cf9: JUMPDEST 00001cfa: GAS 00001cfb: CALL 00001cfc: ISZERO 00001cfd: ISZERO 00001cfe: PUSH2 0x1d06 00001d01: JUMPI 00001d02: PUSH1 0x00 00001d04: DUP1 00001d05: REVERT 00001d06: JUMPDEST 00001d07: POP 00001d08: POP 00001d09: PUSH1 0x01 00001d0b: SLOAD 00001d0c: PUSH1 0x15 00001d0e: SLOAD 00001d0f: PUSH1 0x17 00001d11: SLOAD 00001d12: PUSH1 0x01 00001d14: PUSH1 0xa0 00001d16: PUSH1 0x02 00001d18: EXP 00001d19: SUB 00001d1a: SWAP3 00001d1b: DUP4 00001d1c: AND 00001d1d: SWAP4 00001d1e: POP 00001d1f: PUSH4 0xfb920ad1 00001d24: SWAP3 00001d25: SWAP1 00001d26: SWAP2 00001d27: AND 00001d28: SWAP1 00001d29: PUSH1 0x40 00001d2b: MLOAD 00001d2c: PUSH1 0xe0 00001d2e: PUSH1 0x02 00001d30: EXP 00001d31: PUSH4 0xffffffff 00001d36: DUP6 00001d37: AND 00001d38: MUL 00001d39: DUP2 00001d3a: MSTORE 00001d3b: PUSH1 0x01 00001d3d: PUSH1 0xa0 00001d3f: PUSH1 0x02 00001d41: EXP 00001d42: SUB 00001d43: SWAP1 00001d44: SWAP3 00001d45: AND 00001d46: PUSH1 0x04 00001d48: DUP4 00001d49: ADD 00001d4a: MSTORE 00001d4b: PUSH1 0x24 00001d4d: DUP3 00001d4e: ADD 00001d4f: MSTORE 00001d50: PUSH1 0x44 00001d52: ADD 00001d53: PUSH1 0x00 00001d55: PUSH1 0x40 00001d57: MLOAD 00001d58: DUP1 00001d59: DUP4 00001d5a: SUB 00001d5b: DUP2 00001d5c: PUSH1 0x00 00001d5e: DUP8 00001d5f: DUP1 00001d60: EXTCODESIZE 00001d61: ISZERO 00001d62: ISZERO 00001d63: PUSH2 0x1d6b 00001d66: JUMPI 00001d67: PUSH1 0x00 00001d69: DUP1 00001d6a: REVERT 00001d6b: JUMPDEST 00001d6c: GAS 00001d6d: CALL 00001d6e: ISZERO 00001d6f: ISZERO 00001d70: PUSH2 0x1d78 00001d73: JUMPI 00001d74: PUSH1 0x00 00001d76: DUP1 00001d77: REVERT 00001d78: JUMPDEST 00001d79: POP 00001d7a: POP 00001d7b: POP 00001d7c: POP 00001d7d: POP 00001d7e: JUMP 00001d7f: JUMPDEST 00001d80: PUSH1 0x01 00001d82: SLOAD 00001d83: PUSH1 0x00 00001d85: SWAP1 00001d86: DUP2 00001d87: SWAP1 00001d88: DUP2 00001d89: SWAP1 00001d8a: PUSH1 0x01 00001d8c: PUSH1 0xa0 00001d8e: PUSH1 0x02 00001d90: EXP 00001d91: SUB 00001d92: AND 00001d93: PUSH4 0x313ce567 00001d98: PUSH1 0x40 00001d9a: MLOAD 00001d9b: DUP2 00001d9c: PUSH4 0xffffffff 00001da1: AND 00001da2: PUSH1 0xe0 00001da4: PUSH1 0x02 00001da6: EXP 00001da7: MUL 00001da8: DUP2 00001da9: MSTORE 00001daa: PUSH1 0x04 00001dac: ADD 00001dad: PUSH1 0x20 00001daf: PUSH1 0x40 00001db1: MLOAD 00001db2: DUP1 00001db3: DUP4 00001db4: SUB 00001db5: DUP2 00001db6: PUSH1 0x00 00001db8: DUP8 00001db9: DUP1 00001dba: EXTCODESIZE 00001dbb: ISZERO 00001dbc: ISZERO 00001dbd: PUSH2 0x1dc5 00001dc0: JUMPI 00001dc1: PUSH1 0x00 00001dc3: DUP1 00001dc4: REVERT 00001dc5: JUMPDEST 00001dc6: GAS 00001dc7: CALL 00001dc8: ISZERO 00001dc9: ISZERO 00001dca: PUSH2 0x1dd2 00001dcd: JUMPI 00001dce: PUSH1 0x00 00001dd0: DUP1 00001dd1: REVERT 00001dd2: JUMPDEST 00001dd3: POP 00001dd4: POP 00001dd5: POP 00001dd6: PUSH1 0x40 00001dd8: MLOAD 00001dd9: DUP1 00001dda: MLOAD 00001ddb: SWAP1 00001ddc: POP 00001ddd: PUSH1 0xff 00001ddf: AND 00001de0: SWAP3 00001de1: POP 00001de2: DUP3 00001de3: PUSH1 0x0a 00001de5: EXP 00001de6: DUP6 00001de7: MUL 00001de8: SWAP2 00001de9: POP 00001dea: DUP5 00001deb: DUP5 00001dec: MUL 00001ded: SWAP1 00001dee: POP 00001def: PUSH2 0x1e03 00001df2: DUP2 00001df3: PUSH1 0x08 00001df5: SLOAD 00001df6: PUSH2 0x1f27 00001df9: SWAP1 00001dfa: SWAP2 00001dfb: SWAP1 00001dfc: PUSH4 0xffffffff 00001e01: AND 00001e02: JUMP 00001e03: JUMPDEST 00001e04: PUSH1 0x08 00001e06: SSTORE 00001e07: PUSH1 0x09 00001e09: SLOAD 00001e0a: PUSH2 0x1e19 00001e0d: SWAP1 00001e0e: DUP4 00001e0f: PUSH4 0xffffffff 00001e14: PUSH2 0x1f27 00001e17: AND 00001e18: JUMP 00001e19: JUMPDEST 00001e1a: PUSH1 0x09 00001e1c: SSTORE 00001e1d: PUSH1 0x01 00001e1f: PUSH1 0xa0 00001e21: PUSH1 0x02 00001e23: EXP 00001e24: SUB 00001e25: DUP7 00001e26: AND 00001e27: PUSH1 0x00 00001e29: SWAP1 00001e2a: DUP2 00001e2b: MSTORE 00001e2c: PUSH1 0x0d 00001e2e: PUSH1 0x20 00001e30: MSTORE 00001e31: PUSH1 0x40 00001e33: SWAP1 00001e34: KECCAK256 00001e35: SLOAD 00001e36: PUSH2 0x1e45 00001e39: SWAP1 00001e3a: DUP4 00001e3b: PUSH4 0xffffffff 00001e40: PUSH2 0x1f27 00001e43: AND 00001e44: JUMP 00001e45: JUMPDEST 00001e46: PUSH1 0x01 00001e48: PUSH1 0xa0 00001e4a: PUSH1 0x02 00001e4c: EXP 00001e4d: SUB 00001e4e: DUP8 00001e4f: AND 00001e50: PUSH1 0x00 00001e52: SWAP1 00001e53: DUP2 00001e54: MSTORE 00001e55: PUSH1 0x0d 00001e57: PUSH1 0x20 00001e59: SWAP1 00001e5a: DUP2 00001e5b: MSTORE 00001e5c: PUSH1 0x40 00001e5e: DUP1 00001e5f: DUP4 00001e60: KECCAK256 00001e61: SWAP4 00001e62: SWAP1 00001e63: SWAP4 00001e64: SSTORE 00001e65: PUSH1 0x0c 00001e67: SWAP1 00001e68: MSTORE 00001e69: KECCAK256 00001e6a: SLOAD 00001e6b: PUSH2 0x1e7a 00001e6e: SWAP1 00001e6f: DUP3 00001e70: PUSH4 0xffffffff 00001e75: PUSH2 0x1f27 00001e78: AND 00001e79: JUMP 00001e7a: JUMPDEST 00001e7b: PUSH1 0x01 00001e7d: PUSH1 0xa0 00001e7f: PUSH1 0x02 00001e81: EXP 00001e82: SUB 00001e83: DUP8 00001e84: AND 00001e85: PUSH1 0x00 00001e87: SWAP1 00001e88: DUP2 00001e89: MSTORE 00001e8a: PUSH1 0x0c 00001e8c: PUSH1 0x20 00001e8e: MSTORE 00001e8f: PUSH1 0x40 00001e91: SWAP1 00001e92: KECCAK256 00001e93: SSTORE 00001e94: PUSH2 0x1e9e 00001e97: DUP7 00001e98: DUP3 00001e99: DUP5 00001e9a: PUSH2 0x202a 00001e9d: JUMP 00001e9e: JUMPDEST 00001e9f: POP 00001ea0: POP 00001ea1: POP 00001ea2: POP 00001ea3: POP 00001ea4: POP 00001ea5: JUMP 00001ea6: JUMPDEST 00001ea7: PUSH1 0x00 00001ea9: SLOAD 00001eaa: PUSH1 0xa0 00001eac: PUSH1 0x02 00001eae: EXP 00001eaf: SWAP1 00001eb0: DIV 00001eb1: PUSH1 0xff 00001eb3: AND 00001eb4: SWAP1 00001eb5: JUMP 00001eb6: JUMPDEST 00001eb7: PUSH1 0xff 00001eb9: DUP3 00001eba: AND 00001ebb: PUSH1 0x00 00001ebd: SWAP1 00001ebe: DUP2 00001ebf: MSTORE 00001ec0: PUSH1 0x20 00001ec2: DUP5 00001ec3: SWAP1 00001ec4: MSTORE 00001ec5: PUSH1 0x40 00001ec7: SWAP1 00001ec8: KECCAK256 00001ec9: SLOAD 00001eca: TIMESTAMP 00001ecb: SWAP1 00001ecc: GT 00001ecd: PUSH2 0x1ed5 00001ed0: JUMPI 00001ed1: PUSH1 0x00 00001ed3: DUP1 00001ed4: REVERT 00001ed5: JUMPDEST 00001ed6: PUSH1 0xff 00001ed8: SWAP1 00001ed9: SWAP2 00001eda: AND 00001edb: PUSH1 0x00 00001edd: SWAP1 00001ede: DUP2 00001edf: MSTORE 00001ee0: PUSH1 0x20 00001ee2: SWAP3 00001ee3: SWAP1 00001ee4: SWAP3 00001ee5: MSTORE 00001ee6: PUSH1 0x40 00001ee8: SWAP1 00001ee9: SWAP2 00001eea: KECCAK256 00001eeb: SSTORE 00001eec: JUMP 00001eed: JUMPDEST 00001eee: PUSH1 0xff 00001ef0: DUP3 00001ef1: AND 00001ef2: PUSH1 0x00 00001ef4: SWAP1 00001ef5: DUP2 00001ef6: MSTORE 00001ef7: PUSH1 0x20 00001ef9: DUP5 00001efa: SWAP1 00001efb: MSTORE 00001efc: PUSH1 0x40 00001efe: SWAP1 00001eff: KECCAK256 00001f00: SLOAD 00001f01: TIMESTAMP 00001f02: SWAP1 00001f03: GT 00001f04: PUSH2 0x1f0c 00001f07: JUMPI 00001f08: PUSH1 0x00 00001f0a: DUP1 00001f0b: REVERT 00001f0c: JUMPDEST 00001f0d: PUSH1 0xff 00001f0f: SWAP1 00001f10: SWAP2 00001f11: AND 00001f12: PUSH1 0x00 00001f14: SWAP1 00001f15: DUP2 00001f16: MSTORE 00001f17: PUSH1 0x20 00001f19: SWAP3 00001f1a: SWAP1 00001f1b: SWAP3 00001f1c: MSTORE 00001f1d: PUSH1 0x40 00001f1f: SWAP1 00001f20: SWAP2 00001f21: KECCAK256 00001f22: PUSH1 0x01 00001f24: ADD 00001f25: SSTORE 00001f26: JUMP 00001f27: JUMPDEST 00001f28: PUSH1 0x00 00001f2a: DUP3 00001f2b: DUP3 00001f2c: ADD 00001f2d: DUP4 00001f2e: DUP2 00001f2f: LT 00001f30: ISZERO 00001f31: PUSH2 0x1f36 00001f34: JUMPI 00001f35: INVALID 00001f36: JUMPDEST 00001f37: SWAP4 00001f38: SWAP3 00001f39: POP 00001f3a: POP 00001f3b: POP 00001f3c: JUMP 00001f3d: JUMPDEST 00001f3e: PUSH1 0x00 00001f40: DUP1 00001f41: SLOAD 00001f42: DUP2 00001f43: SWAP1 00001f44: PUSH1 0xa0 00001f46: PUSH1 0x02 00001f48: EXP 00001f49: SWAP1 00001f4a: DIV 00001f4b: PUSH1 0xff 00001f4d: AND 00001f4e: ISZERO 00001f4f: PUSH2 0x1f57 00001f52: JUMPI 00001f53: PUSH1 0x00 00001f55: DUP1 00001f56: REVERT 00001f57: JUMPDEST 00001f58: PUSH16 0xffffffffffffffffffffffffffffffff 00001f69: DUP4 00001f6a: AND 00001f6b: ISZERO 00001f6c: ISZERO 00001f6d: PUSH2 0x1f75 00001f70: JUMPI 00001f71: PUSH1 0x00 00001f73: DUP1 00001f74: REVERT 00001f75: JUMPDEST 00001f76: CALLVALUE 00001f77: SWAP2 00001f78: POP 00001f79: PUSH2 0x1f81 00001f7c: DUP3 00001f7d: PUSH2 0x20f7 00001f80: JUMP 00001f81: JUMPDEST 00001f82: SWAP1 00001f83: POP 00001f84: PUSH2 0x1f8c 00001f87: DUP2 00001f88: PUSH2 0x2129 00001f8b: JUMP 00001f8c: JUMPDEST 00001f8d: ISZERO 00001f8e: ISZERO 00001f8f: PUSH2 0x1f97 00001f92: JUMPI 00001f93: PUSH1 0x00 00001f95: DUP1 00001f96: REVERT 00001f97: JUMPDEST 00001f98: PUSH2 0x1fa2 00001f9b: DUP3 00001f9c: DUP3 00001f9d: DUP6 00001f9e: PUSH2 0x2174 00001fa1: JUMP 00001fa2: JUMPDEST 00001fa3: PUSH2 0x153f 00001fa6: CALLER 00001fa7: DUP4 00001fa8: DUP4 00001fa9: PUSH2 0x202a 00001fac: JUMP 00001fad: JUMPDEST 00001fae: PUSH1 0x00 00001fb0: NOT 00001fb1: DUP6 00001fb2: ADD 00001fb3: PUSH1 0xff 00001fb5: DUP2 00001fb6: AND 00001fb7: PUSH1 0x00 00001fb9: SWAP1 00001fba: DUP2 00001fbb: MSTORE 00001fbc: PUSH1 0x20 00001fbe: DUP9 00001fbf: SWAP1 00001fc0: MSTORE 00001fc1: PUSH1 0x40 00001fc3: SWAP1 00001fc4: KECCAK256 00001fc5: SLOAD 00001fc6: DUP6 00001fc7: SWAP1 00001fc8: LT 00001fc9: PUSH2 0x1fd1 00001fcc: JUMPI 00001fcd: PUSH1 0x00 00001fcf: DUP1 00001fd0: REVERT 00001fd1: JUMPDEST 00001fd2: POP 00001fd3: PUSH1 0xff 00001fd5: SWAP5 00001fd6: DUP6 00001fd7: AND 00001fd8: PUSH1 0x00 00001fda: SWAP1 00001fdb: DUP2 00001fdc: MSTORE 00001fdd: PUSH1 0x20 00001fdf: DUP8 00001fe0: SWAP1 00001fe1: MSTORE 00001fe2: PUSH1 0x40 00001fe4: DUP2 00001fe5: KECCAK256 00001fe6: SWAP5 00001fe7: DUP6 00001fe8: SSTORE 00001fe9: PUSH1 0x01 00001feb: DUP1 00001fec: DUP7 00001fed: ADD 00001fee: SWAP5 00001fef: SWAP1 00001ff0: SWAP5 00001ff1: SSTORE 00001ff2: PUSH1 0x02 00001ff4: DUP6 00001ff5: ADD 00001ff6: SSTORE 00001ff7: PUSH1 0x03 00001ff9: DUP5 00001ffa: ADD 00001ffb: SWAP2 00001ffc: SWAP1 00001ffd: SWAP2 00001ffe: SSTORE 00001fff: PUSH1 0x04 00002001: SWAP1 00002002: SWAP3 00002003: ADD 00002004: SWAP2 00002005: SWAP1 00002006: SWAP2 00002007: SSTORE 00002008: SWAP2 00002009: DUP3 0000200a: ADD 0000200b: DUP1 0000200c: SLOAD 0000200d: PUSH1 0xff 0000200f: NOT 00002010: DUP2 00002011: AND 00002012: SWAP1 00002013: DUP4 00002014: AND 00002015: SWAP1 00002016: SWAP4 00002017: ADD 00002018: SWAP1 00002019: SWAP2 0000201a: AND 0000201b: SWAP2 0000201c: SWAP1 0000201d: SWAP2 0000201e: OR 0000201f: SWAP1 00002020: SSTORE 00002021: JUMP 00002022: JUMPDEST 00002023: PUSH1 0x03 00002025: SLOAD 00002026: TIMESTAMP 00002027: GT 00002028: SWAP1 00002029: JUMP 0000202a: JUMPDEST 0000202b: PUSH1 0x01 0000202d: SLOAD 0000202e: PUSH1 0x01 00002030: PUSH1 0xa0 00002032: PUSH1 0x02 00002034: EXP 00002035: SUB 00002036: AND 00002037: PUSH4 0x40c10f19 0000203c: DUP5 0000203d: DUP4 0000203e: PUSH1 0x40 00002040: MLOAD 00002041: PUSH1 0xe0 00002043: PUSH1 0x02 00002045: EXP 00002046: PUSH4 0xffffffff 0000204b: DUP6 0000204c: AND 0000204d: MUL 0000204e: DUP2 0000204f: MSTORE 00002050: PUSH1 0x01 00002052: PUSH1 0xa0 00002054: PUSH1 0x02 00002056: EXP 00002057: SUB 00002058: SWAP1 00002059: SWAP3 0000205a: AND 0000205b: PUSH1 0x04 0000205d: DUP4 0000205e: ADD 0000205f: MSTORE 00002060: PUSH1 0x24 00002062: DUP3 00002063: ADD 00002064: MSTORE 00002065: PUSH1 0x44 00002067: ADD 00002068: PUSH1 0x20 0000206a: PUSH1 0x40 0000206c: MLOAD 0000206d: DUP1 0000206e: DUP4 0000206f: SUB 00002070: DUP2 00002071: PUSH1 0x00 00002073: DUP8 00002074: DUP1 00002075: EXTCODESIZE 00002076: ISZERO 00002077: ISZERO 00002078: PUSH2 0x2080 0000207b: JUMPI 0000207c: PUSH1 0x00 0000207e: DUP1 0000207f: REVERT 00002080: JUMPDEST 00002081: GAS 00002082: CALL 00002083: ISZERO 00002084: ISZERO 00002085: PUSH2 0x208d 00002088: JUMPI 00002089: PUSH1 0x00 0000208b: DUP1 0000208c: REVERT 0000208d: JUMPDEST 0000208e: POP 0000208f: POP 00002090: POP 00002091: PUSH1 0x40 00002093: MLOAD 00002094: DUP1 00002095: MLOAD 00002096: SWAP1 00002097: POP 00002098: POP 00002099: DUP3 0000209a: PUSH1 0x01 0000209c: PUSH1 0xa0 0000209e: PUSH1 0x02 000020a0: EXP 000020a1: SUB 000020a2: AND 000020a3: CALLER 000020a4: PUSH1 0x01 000020a6: PUSH1 0xa0 000020a8: PUSH1 0x02 000020aa: EXP 000020ab: SUB 000020ac: AND 000020ad: PUSH31 0xfe0e12b43090c1fc19a34aefa5cc138a4eeafc60ab800f855c730b3fb9480e 000020cd: DUP5 000020ce: DUP5 000020cf: TIMESTAMP 000020d0: PUSH1 0x40 000020d2: MLOAD 000020d3: DUP1 000020d4: DUP5 000020d5: DUP2 000020d6: MSTORE 000020d7: PUSH1 0x20 000020d9: ADD 000020da: DUP4 000020db: DUP2 000020dc: MSTORE 000020dd: PUSH1 0x20 000020df: ADD 000020e0: DUP3 000020e1: DUP2 000020e2: MSTORE 000020e3: PUSH1 0x20 000020e5: ADD 000020e6: SWAP4 000020e7: POP 000020e8: POP 000020e9: POP 000020ea: POP 000020eb: PUSH1 0x40 000020ed: MLOAD 000020ee: DUP1 000020ef: SWAP2 000020f0: SUB 000020f1: SWAP1 000020f2: LOG3 000020f3: POP 000020f4: POP 000020f5: POP 000020f6: JUMP 000020f7: JUMPDEST 000020f8: PUSH1 0x00 000020fa: DUP1 000020fb: PUSH1 0x00 000020fd: PUSH2 0x2104 00002100: PUSH2 0x1b14 00002103: JUMP 00002104: JUMPDEST 00002105: SWAP2 00002106: POP 00002107: PUSH2 0x210f 0000210a: DUP3 0000210b: PUSH2 0x1ae7 0000210e: JUMP 0000210f: JUMPDEST 00002110: SWAP1 00002111: POP 00002112: PUSH2 0x2121 00002115: DUP5 00002116: DUP3 00002117: PUSH4 0xffffffff 0000211c: PUSH2 0x22b7 0000211f: AND 00002120: JUMP 00002121: JUMPDEST 00002122: SWAP5 00002123: SWAP4 00002124: POP 00002125: POP 00002126: POP 00002127: POP 00002128: JUMP 00002129: JUMPDEST 0000212a: PUSH1 0x01 0000212c: PUSH1 0xa0 0000212e: PUSH1 0x02 00002130: EXP 00002131: SUB 00002132: CALLER 00002133: AND 00002134: PUSH1 0x00 00002136: SWAP1 00002137: DUP2 00002138: MSTORE 00002139: PUSH1 0x1c 0000213b: PUSH1 0x20 0000213d: MSTORE 0000213e: PUSH1 0x40 00002140: DUP2 00002141: KECCAK256 00002142: SLOAD 00002143: DUP2 00002144: SWAP1 00002145: PUSH1 0xff 00002147: AND 00002148: ISZERO 00002149: ISZERO 0000214a: PUSH1 0x01 0000214c: EQ 0000214d: ISZERO 0000214e: PUSH2 0x2159 00002151: JUMPI 00002152: POP 00002153: PUSH1 0x01 00002155: PUSH2 0x215d 00002158: JUMP 00002159: JUMPDEST 0000215a: POP 0000215b: PUSH1 0x00 0000215d: JUMPDEST 0000215e: PUSH2 0x2166 00002161: DUP4 00002162: PUSH2 0x22ce 00002165: JUMP 00002166: JUMPDEST 00002167: DUP1 00002168: ISZERO 00002169: PUSH2 0x1f36 0000216c: JUMPI 0000216d: POP 0000216e: ISZERO 0000216f: SWAP3 00002170: SWAP2 00002171: POP 00002172: POP 00002173: JUMP 00002174: JUMPDEST 00002175: PUSH1 0x01 00002177: PUSH1 0xa0 00002179: PUSH1 0x02 0000217b: EXP 0000217c: SUB 0000217d: CALLER 0000217e: AND 0000217f: PUSH1 0x00 00002181: SWAP1 00002182: DUP2 00002183: MSTORE 00002184: PUSH1 0x0b 00002186: PUSH1 0x20 00002188: MSTORE 00002189: PUSH1 0x40 0000218b: DUP2 0000218c: KECCAK256 0000218d: SLOAD 0000218e: PUSH2 0x219d 00002191: SWAP1 00002192: DUP6 00002193: PUSH4 0xffffffff 00002198: PUSH2 0x1f27 0000219b: AND 0000219c: JUMP 0000219d: JUMPDEST 0000219e: PUSH1 0x01 000021a0: PUSH1 0xa0 000021a2: PUSH1 0x02 000021a4: EXP 000021a5: SUB 000021a6: CALLER 000021a7: AND 000021a8: PUSH1 0x00 000021aa: SWAP1 000021ab: DUP2 000021ac: MSTORE 000021ad: PUSH1 0x0b 000021af: PUSH1 0x20 000021b1: SWAP1 000021b2: DUP2 000021b3: MSTORE 000021b4: PUSH1 0x40 000021b6: DUP1 000021b7: DUP4 000021b8: KECCAK256 000021b9: SWAP4 000021ba: SWAP1 000021bb: SWAP4 000021bc: SSTORE 000021bd: PUSH1 0x0d 000021bf: SWAP1 000021c0: MSTORE 000021c1: KECCAK256 000021c2: SLOAD 000021c3: PUSH2 0x21d2 000021c6: SWAP1 000021c7: DUP5 000021c8: PUSH4 0xffffffff 000021cd: PUSH2 0x1f27 000021d0: AND 000021d1: JUMP 000021d2: JUMPDEST 000021d3: PUSH1 0x01 000021d5: PUSH1 0xa0 000021d7: PUSH1 0x02 000021d9: EXP 000021da: SUB 000021db: CALLER 000021dc: AND 000021dd: PUSH1 0x00 000021df: SWAP1 000021e0: DUP2 000021e1: MSTORE 000021e2: PUSH1 0x0d 000021e4: PUSH1 0x20 000021e6: SWAP1 000021e7: DUP2 000021e8: MSTORE 000021e9: PUSH1 0x40 000021eb: DUP1 000021ec: DUP4 000021ed: KECCAK256 000021ee: SWAP4 000021ef: SWAP1 000021f0: SWAP4 000021f1: SSTORE 000021f2: PUSH16 0xffffffffffffffffffffffffffffffff 00002203: DUP6 00002204: AND 00002205: DUP3 00002206: MSTORE 00002207: PUSH1 0x0a 00002209: SWAP1 0000220a: MSTORE 0000220b: KECCAK256 0000220c: SLOAD 0000220d: PUSH2 0x221c 00002210: SWAP1 00002211: DUP6 00002212: PUSH4 0xffffffff 00002217: PUSH2 0x1f27 0000221a: AND 0000221b: JUMP 0000221c: JUMPDEST 0000221d: PUSH16 0xffffffffffffffffffffffffffffffff 0000222e: DUP4 0000222f: AND 00002230: PUSH1 0x00 00002232: SWAP1 00002233: DUP2 00002234: MSTORE 00002235: PUSH1 0x0a 00002237: PUSH1 0x20 00002239: MSTORE 0000223a: PUSH1 0x40 0000223c: SWAP1 0000223d: KECCAK256 0000223e: SSTORE 0000223f: PUSH1 0x07 00002241: SLOAD 00002242: PUSH2 0x2251 00002245: SWAP1 00002246: DUP6 00002247: PUSH4 0xffffffff 0000224c: PUSH2 0x1f27 0000224f: AND 00002250: JUMP 00002251: JUMPDEST 00002252: PUSH1 0x07 00002254: SSTORE 00002255: PUSH1 0x09 00002257: SLOAD 00002258: PUSH2 0x2267 0000225b: SWAP1 0000225c: DUP5 0000225d: PUSH4 0xffffffff 00002262: PUSH2 0x1f27 00002265: AND 00002266: JUMP 00002267: JUMPDEST 00002268: PUSH1 0x09 0000226a: SSTORE 0000226b: PUSH2 0x2272 0000226e: PUSH2 0x1b14 00002271: JUMP 00002272: JUMPDEST 00002273: PUSH1 0xff 00002275: DUP2 00002276: AND 00002277: PUSH1 0x00 00002279: SWAP1 0000227a: DUP2 0000227b: MSTORE 0000227c: PUSH1 0x12 0000227e: PUSH1 0x20 00002280: MSTORE 00002281: PUSH1 0x40 00002283: SWAP1 00002284: KECCAK256 00002285: PUSH1 0x02 00002287: ADD 00002288: SLOAD 00002289: SWAP1 0000228a: SWAP2 0000228b: POP 0000228c: PUSH2 0x229b 0000228f: SWAP1 00002290: DUP5 00002291: PUSH4 0xffffffff 00002296: PUSH2 0x1f27 00002299: AND 0000229a: JUMP 0000229b: JUMPDEST 0000229c: PUSH1 0xff 0000229e: SWAP1 0000229f: SWAP2 000022a0: AND 000022a1: PUSH1 0x00 000022a3: SWAP1 000022a4: DUP2 000022a5: MSTORE 000022a6: PUSH1 0x12 000022a8: PUSH1 0x20 000022aa: MSTORE 000022ab: PUSH1 0x40 000022ad: SWAP1 000022ae: KECCAK256 000022af: PUSH1 0x02 000022b1: ADD 000022b2: SSTORE 000022b3: POP 000022b4: POP 000022b5: POP 000022b6: JUMP 000022b7: JUMPDEST 000022b8: PUSH1 0x00 000022ba: DUP1 000022bb: DUP3 000022bc: DUP5 000022bd: DUP2 000022be: ISZERO 000022bf: ISZERO 000022c0: PUSH2 0x22c5 000022c3: JUMPI 000022c4: INVALID 000022c5: JUMPDEST 000022c6: DIV 000022c7: SWAP5 000022c8: SWAP4 000022c9: POP 000022ca: POP 000022cb: POP 000022cc: POP 000022cd: JUMP 000022ce: JUMPDEST 000022cf: PUSH1 0x00 000022d1: DUP1 000022d2: DUP1 000022d3: PUSH2 0x22da 000022d6: PUSH2 0x1b14 000022d9: JUMP 000022da: JUMPDEST 000022db: SWAP1 000022dc: POP 000022dd: PUSH2 0x22ee 000022e0: PUSH1 0x12 000022e2: DUP3 000022e3: DUP7 000022e4: PUSH4 0xffffffff 000022e9: PUSH2 0x2329 000022ec: AND 000022ed: JUMP 000022ee: JUMPDEST 000022ef: DUP1 000022f0: ISZERO 000022f1: PUSH2 0x2307 000022f4: JUMPI 000022f5: POP 000022f6: PUSH2 0x2307 000022f9: PUSH1 0x12 000022fb: DUP3 000022fc: DUP7 000022fd: PUSH4 0xffffffff 00002302: PUSH2 0x2358 00002305: AND 00002306: JUMP 00002307: JUMPDEST 00002308: ISZERO 00002309: PUSH2 0x2311 0000230c: JUMPI 0000230d: PUSH1 0x01 0000230f: SWAP2 00002310: POP 00002311: JUMPDEST 00002312: PUSH2 0x231a 00002315: DUP5 00002316: PUSH2 0x23b6 00002319: JUMP 0000231a: JUMPDEST 0000231b: DUP1 0000231c: ISZERO 0000231d: PUSH2 0x2121 00002320: JUMPI 00002321: POP 00002322: SWAP1 00002323: SWAP4 00002324: SWAP3 00002325: POP 00002326: POP 00002327: POP 00002328: JUMP 00002329: JUMPDEST 0000232a: PUSH1 0xff 0000232c: DUP3 0000232d: AND 0000232e: PUSH1 0x00 00002330: SWAP1 00002331: DUP2 00002332: MSTORE 00002333: PUSH1 0x20 00002335: DUP5 00002336: SWAP1 00002337: MSTORE 00002338: PUSH1 0x40 0000233a: DUP2 0000233b: KECCAK256 0000233c: PUSH1 0x03 0000233e: ADD 0000233f: SLOAD 00002340: DUP3 00002341: LT 00002342: ISZERO 00002343: PUSH2 0x234e 00002346: JUMPI 00002347: POP 00002348: PUSH1 0x00 0000234a: PUSH2 0x1f36 0000234d: JUMP 0000234e: JUMPDEST 0000234f: POP 00002350: PUSH1 0x01 00002352: SWAP4 00002353: SWAP3 00002354: POP 00002355: POP 00002356: POP 00002357: JUMP 00002358: JUMPDEST 00002359: PUSH1 0xff 0000235b: DUP3 0000235c: AND 0000235d: PUSH1 0x00 0000235f: SWAP1 00002360: DUP2 00002361: MSTORE 00002362: PUSH1 0x20 00002364: DUP5 00002365: SWAP1 00002366: MSTORE 00002367: PUSH1 0x40 00002369: DUP2 0000236a: KECCAK256 0000236b: PUSH1 0x02 0000236d: ADD 0000236e: SLOAD 0000236f: DUP2 00002370: SWAP1 00002371: PUSH2 0x2380 00002374: SWAP1 00002375: DUP5 00002376: PUSH4 0xffffffff 0000237b: PUSH2 0x1f27 0000237e: AND 0000237f: JUMP 00002380: JUMPDEST 00002381: PUSH1 0xff 00002383: DUP6 00002384: AND 00002385: PUSH1 0x00 00002387: SWAP1 00002388: DUP2 00002389: MSTORE 0000238a: PUSH1 0x20 0000238c: DUP8 0000238d: SWAP1 0000238e: MSTORE 0000238f: PUSH1 0x40 00002391: SWAP1 00002392: KECCAK256 00002393: PUSH1 0x04 00002395: ADD 00002396: SLOAD 00002397: SWAP1 00002398: SWAP2 00002399: POP 0000239a: DUP2 0000239b: GT 0000239c: ISZERO 0000239d: PUSH2 0x23a9 000023a0: JUMPI 000023a1: PUSH1 0x00 000023a3: SWAP2 000023a4: POP 000023a5: PUSH2 0x23ae 000023a8: JUMP 000023a9: JUMPDEST 000023aa: PUSH1 0x01 000023ac: SWAP2 000023ad: POP 000023ae: JUMPDEST 000023af: POP 000023b0: SWAP4 000023b1: SWAP3 000023b2: POP 000023b3: POP 000023b4: POP 000023b5: JUMP 000023b6: JUMPDEST 000023b7: PUSH1 0x00 000023b9: DUP1 000023ba: PUSH1 0x0f 000023bc: SLOAD 000023bd: PUSH2 0x23d1 000023c0: DUP5 000023c1: PUSH1 0x09 000023c3: SLOAD 000023c4: PUSH2 0x1f27 000023c7: SWAP1 000023c8: SWAP2 000023c9: SWAP1 000023ca: PUSH4 0xffffffff 000023cf: AND 000023d0: JUMP 000023d1: JUMPDEST 000023d2: GT 000023d3: ISZERO 000023d4: SWAP1 000023d5: POP 000023d6: PUSH2 0x23de 000023d9: DUP4 000023da: PUSH2 0x23eb 000023dd: JUMP 000023de: JUMPDEST 000023df: DUP1 000023e0: ISZERO 000023e1: PUSH2 0x1f36 000023e4: JUMPI 000023e5: POP 000023e6: SWAP3 000023e7: SWAP2 000023e8: POP 000023e9: POP 000023ea: JUMP 000023eb: JUMPDEST 000023ec: PUSH1 0x00 000023ee: DUP1 000023ef: PUSH1 0x00 000023f1: PUSH1 0x02 000023f3: SLOAD 000023f4: TIMESTAMP 000023f5: LT 000023f6: ISZERO 000023f7: DUP1 000023f8: ISZERO 000023f9: PUSH2 0x2404 000023fc: JUMPI 000023fd: POP 000023fe: PUSH1 0x03 00002400: SLOAD 00002401: TIMESTAMP 00002402: GT 00002403: ISZERO 00002404: JUMPDEST 00002405: SWAP2 00002406: POP 00002407: POP 00002408: CALLVALUE 00002409: ISZERO 0000240a: ISZERO 0000240b: DUP2 0000240c: DUP1 0000240d: ISZERO 0000240e: PUSH2 0x2121 00002411: JUMPI 00002412: POP 00002413: SWAP4 00002414: SWAP3 00002415: POP 00002416: POP 00002417: POP 00002418: JUMP 00002419: STOP 0000241a: LOG1 0000241b: PUSH6 0x627a7a723058 00002422: KECCAK256 00002423: UNKNOWN(0xC7) 00002424: SWAP14 00002425: DUP7 00002426: UNKNOWN(0xA5) 00002427: UNKNOWN(0xBB) 00002428: DIV 00002429: SWAP8 0000242a: PUSH32
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | no | no |
viewtrace_id: 0x84121d3cd38d99f8f8df63a714dd19e1151285b278c3d0fb67d26385b2a197f6
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 192,
"trace_id": "0x84121d3cd38d99f8f8df63a714dd19e1151285b278c3d0fb67d26385b2a197f6",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x046dc166",
"selector": "0x046dc166",
"calldata_variants": [
"0x046dc166",
"0x046dc1660000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x15a5d9d8",
"selector": "0x15a5d9d8",
"calldata_variants": [
"0x15a5d9d8",
"0x15a5d9d80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1f130761",
"selector": "0x1f130761",
"calldata_variants": [
"0x1f130761",
"0x1f1307610000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x26654d57",
"selector": "0x26654d57",
"calldata_variants": [
"0x26654d57",
"0x26654d570000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x26ce3da0",
"selector": "0x26ce3da0",
"calldata_variants": [
"0x26ce3da0",
"0x26ce3da00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2c4e722e",
"selector": "0x2c4e722e",
"calldata_variants": [
"0x2c4e722e",
"0x2c4e722e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3197cbb6",
"selector": "0x3197cbb6",
"calldata_variants": [
"0x3197cbb6",
"0x3197cbb60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x38af3eed",
"selector": "0x38af3eed",
"calldata_variants": [
"0x38af3eed",
"0x38af3eed0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 4163,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 4376,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 4609,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [],
"delegatecall_count": 5,
"untrusted_delegatecall_count": 5
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xba5a75596e481952b04b48f982db5c1c5675f15d1eb6f5f24bc541512a320341
call_targets:
0x5de9f32b2665bb2cdc23bfb51b03e2a2985ecc87
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xba5a75596e481952b04b48f982db5c1c5675f15d1eb6f5f24bc541512a320341",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x5de9f32b2665bb2cdc23bfb51b03e2a2985ecc87"
],
"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": "0x046dc166",
"selector": "0x046dc166",
"calldata_variants": [
"0x046dc166",
"0x046dc1660000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x15a5d9d8",
"selector": "0x15a5d9d8",
"calldata_variants": [
"0x15a5d9d8",
"0x15a5d9d80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1f130761",
"selector": "0x1f130761",
"calldata_variants": [
"0x1f130761",
"0x1f1307610000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x26654d57",
"selector": "0x26654d57",
"calldata_variants": [
"0x26654d57",
"0x26654d570000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x26ce3da0",
"selector": "0x26ce3da0",
"calldata_variants": [
"0x26ce3da0",
"0x26ce3da00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2c4e722e",
"selector": "0x2c4e722e",
"calldata_variants": [
"0x2c4e722e",
"0x2c4e722e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3197cbb6",
"selector": "0x3197cbb6",
"calldata_variants": [
"0x3197cbb6",
"0x3197cbb60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x38af3eed",
"selector": "0x38af3eed",
"calldata_variants": [
"0x38af3eed",
"0x38af3eed0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2462,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2839,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3142,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 12,
"guards_detected": [],
"untrusted_call_count": 12
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xba5a75596e481952b04b48f982db5c1c5675f15d1eb6f5f24bc541512a320341
call_targets:
0x5de9f32b2665bb2cdc23bfb51b03e2a2985ecc87
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xba5a75596e481952b04b48f982db5c1c5675f15d1eb6f5f24bc541512a320341",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x5de9f32b2665bb2cdc23bfb51b03e2a2985ecc87"
],
"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": "0x046dc166",
"selector": "0x046dc166",
"calldata_variants": [
"0x046dc166",
"0x046dc1660000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x15a5d9d8",
"selector": "0x15a5d9d8",
"calldata_variants": [
"0x15a5d9d8",
"0x15a5d9d80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1f130761",
"selector": "0x1f130761",
"calldata_variants": [
"0x1f130761",
"0x1f1307610000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x26654d57",
"selector": "0x26654d57",
"calldata_variants": [
"0x26654d57",
"0x26654d570000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x26ce3da0",
"selector": "0x26ce3da0",
"calldata_variants": [
"0x26ce3da0",
"0x26ce3da00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2c4e722e",
"selector": "0x2c4e722e",
"calldata_variants": [
"0x2c4e722e",
"0x2c4e722e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3197cbb6",
"selector": "0x3197cbb6",
"calldata_variants": [
"0x3197cbb6",
"0x3197cbb60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x38af3eed",
"selector": "0x38af3eed",
"calldata_variants": [
"0x38af3eed",
"0x38af3eed0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2462,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2839,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3142,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 12,
"guards_detected": []
}
|
| medium | auth | codex | KYC signature replay allows bypassing intended per-user limits | 75 | no | — |
viewevidence_json{
"evidence": "`buyWithKYCData` only validates a static payload (address, customerId, min/max) and enforces min/max only per call, with no nonce or cumulative tracking.",
"locations": [
"contracts/Contract.sol:1242",
"contracts/Contract.sol:1251",
"contracts/Contract.sol:1264"
],
"recommendation": "Bind signatures to unique nonces and/or the exact purchase amount and track used nonces or cumulative purchases per user; include contract address and chain ID in the signed data to prevent cross-contract replays.",
"exploit_scenario": "A whitelisted user can reuse the same signed KYC payload multiple times, each time staying under the per-transaction max, to exceed the intended cumulative purchase limit because there is no nonce/usage tracking or cumulative cap enforcement."
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 5
}
|
| low | auth | codex | KYC signature check can be bypassed if signerAddress is unset | 65 | no | — |
viewevidence_json{
"evidence": "`buyWithKYCData` only checks `ecrecover(...) == signerAddress` and does not guard against `signerAddress` being zero; `signerAddress` is only set via an external owner call.",
"locations": [
"contracts/Contract.sol:1242",
"contracts/Contract.sol:1253",
"contracts/Contract.sol:1272"
],
"recommendation": "Require `signerAddress != address(0)` inside `buyWithKYCData` and consider setting it in the constructor to avoid misconfiguration.",
"exploit_scenario": "If the owner forgets to set `signerAddress`, an attacker can pass an invalid signature that makes `ecrecover` return the zero address, which will satisfy the equality check and allow unauthorized purchases."
}
|
| low | other | codex | Refunded flag never set due to equality operator | 65 | no | — |
viewevidence_json{
"evidence": "`collectRefund` attempts to set the refund flag but uses `==`, leaving it permanently false.",
"locations": [
"contracts/Contract.sol:1220",
"contracts/Contract.sol:1227"
],
"recommendation": "Change `refunded[msg.sender] == true;` to `refunded[msg.sender] = true;` and consider setting it during `refundParticipant` as well.",
"exploit_scenario": "Because `refunded[msg.sender] == true;` is a comparison, not an assignment, the refund flag never changes. If `refundable` is re-credited (e.g., via another admin refund), the same address can collect multiple refunds without the intended one-time guard."
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 12
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 12
}
|