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

Analysis Run

019bb50b-e100-72d3-870c-6f4cd7a7987a

failed
Chain ID
1
Address
Block Number
Created
Tue, Jan 13, 2026 1:50 AM
Review Summary

What survived the funnel

Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Untrusted CALL target/value reachable
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
40310 artifact.fetch complete 1 / 3 3 months ago
40311 proxy.resolve complete 1 / 3 3 months ago
40312 tool.cast_disasm complete 1 / 3 3 months ago
40313 analysis.bundle complete 1 / 3 3 months ago
40314 capability.graph complete 1 / 3 3 months ago
40315 detector.run complete 1 / 3 3 months ago
40316 validation.fork complete 1 / 3 3 months ago
40460 report.consolidate complete 1 / 6 3 months ago
40461 tool.slither failed 2 / 2 3 months ago

Artifact

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

Slither

tool.slither
Status
failed slither failed (exit 1): 'forge clean' running (wd: /tmp/slither-kcenvnr7) 'forge config --json' running 'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-kcenvnr7) 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-kcenvnr7/out/build-info is not a directory.
Attempts
2 / 2
Findings
0
Solc
View stderr
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-kcenvnr7)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-kcenvnr7)
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-kcenvnr7/out/build-info is not a directory.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
2
No findings?
no
Summary
Two issues: ERC20 transfers are not checked for success, and the purchase logic does not verify the actual amount received (fee-on-transfer tokens).
View stdout
{"no_findings":false,"summary":"Two issues: ERC20 transfers are not checked for success, and the purchase logic does not verify the actual amount received (fee-on-transfer tokens).","findings":[{"severity":"medium","category":"other","title":"Unchecked ERC20 transfer/transferFrom return values can record purchases or refunds without a successful token transfer","exploit_scenario":"If a supported token returns false instead of reverting (or a misconfigured/old USDT variant), `transferFrom` in `purchaseNFT` can fail silently. The contract still records the purchase and emits the event, enabling a buyer to obtain an NFT off-chain without paying. Similarly, `refundPurchase` and `withdrawFunds` can emit success events even when the token transfer fails, leaving state inconsistent with actual balances.","recommendation":"Use `SafeERC20` and check transfer results (or require the return value to be true). Consider reverting on failure to keep state consistent with transfers.","evidence":"`IERC20(token).transferFrom(...)` and `IERC20(...).transfer(...)` calls ignore the returned boolean.","locations":["nftSale.sol:103","nftSale.sol:154","nftSale.sol:176"]},{"severity":"low","category":"math","title":"No verification of actual tokens received allows underpayment for fee-on-transfer tokens","exploit_scenario":"If the owner enables a deflationary/fee-on-transfer token via `setSupportedToken`, `purchaseNFT` records a fixed `NFT_PRICE` and emits purchase events even though the contract may receive less than `NFT_PRICE`. This can cause underpayment and accounting mismatches when the off-chain system delivers NFTs based on events.","recommendation":"Restrict support to non-fee tokens, or compute the received amount via balanceBefore/balanceAfter and require it equals `NFT_PRICE` (or store the actual received amount).","evidence":"No balance-delta or return-value checks around the payment transfer; amount recorded is always `NFT_PRICE`.","locations":["nftSale.sol:103","nftSale.sol:109"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-tv_xeqx5
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bb514-7de5-7440-b77e-34d87bc0c931
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.

Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.

Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.

Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers

thinking
**Reading AUDIT_BUNDLE file**
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-tv_xeqx5 succeeded in 5ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.

================================================================================
FILE: nftSale.sol
================================================================================
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.30;

import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
import "@openzeppelin/contracts/utils/Pausable.sol";

/**
 * @title NFTPurchase
 * @dev Contract for purchasing Solana NFTs with USDC/USDT on EVM chains
 * @author Cross-Chain NFT System
 */
contract NFTPurchase is Ownable, ReentrancyGuard, Pausable {

thinking
**Identifying unchecked token transfer risks**

I'm auditing token transfer calls and noting unchecked return values in purchaseNFT, refundPurchase, and withdrawFunds could let purchases record without payment—potentially medium severity. Also spotting risks with fee-on-transfer tokens causing underpayments if owner adds such tokens, which is more of a low-severity accounting issue. I'll try to pinpoint exact line numbers to better report these findings.
exec
/bin/bash -lc 'nl -ba nftSale.sol' in /tmp/codex-tv_xeqx5 succeeded in 6ms:
     1	// SPDX-License-Identifier: MIT
     2	pragma solidity ^0.8.30;
     3	
     4	import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
     5	import "@openzeppelin/contracts/access/Ownable.sol";
     6	import "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
     7	import "@openzeppelin/contracts/utils/Pausable.sol";
     8	
     9	/**
    10	 * @title NFTPurchase
    11	 * @dev Contract for purchasing Solana NFTs with USDC/USDT on EVM chains
    12	 * @author Cross-Chain NFT System
    13	 */
    14	contract NFTPurchase is Ownable, ReentrancyGuard, Pausable {
    15	    // Fixed price: 100 USDC/USDT (6 decimals)
    16	    uint256 public NFT_PRICE = 100 * 10 ** 6;
    17	
    18	    // Supported stablecoins
    19	    address public immutable USDC;
    20	    address public immutable USDT;

thinking
**Generating JSON output for findings**
codex
{"no_findings":false,"summary":"Two issues: ERC20 transfers are not checked for success, and the purchase logic does not verify the actual amount received (fee-on-transfer tokens).","findings":[{"severity":"medium","category":"other","title":"Unchecked ERC20 transfer/transferFrom return values can record purchases or refunds without a successful token transfer","exploit_scenario":"If a supported token returns false instead of reverting (or a misconfigured/old USDT variant), `transferFrom` in `purchaseNFT` can fail silently. The contract still records the purchase and emits the event, enabling a buyer to obtain an NFT off-chain without paying. Similarly, `refundPurchase` and `withdrawFunds` can emit success events even when the token transfer fails, leaving state inconsistent with actual balances.","recommendation":"Use `SafeERC20` and check transfer results (or require the return value to be true). Consider reverting on failure to keep state consistent with transfers.","evidence":"`IERC20(token).transferFrom(...)` and `IERC20(...).transfer(...)` calls ignore the returned boolean.","locations":["nftSale.sol:103","nftSale.sol:154","nftSale.sol:176"]},{"severity":"low","category":"math","title":"No verification of actual tokens received allows underpayment for fee-on-transfer tokens","exploit_scenario":"If the owner enables a deflationary/fee-on-transfer token via `setSupportedToken`, `purchaseNFT` records a fixed `NFT_PRICE` and emits purchase events even though the contract may receive less than `NFT_PRICE`. This can cause underpayment and accounting mismatches when the off-chain system delivers NFTs based on events.","recommendation":"Restrict support to non-fee tokens, or compute the received amount via balanceBefore/balanceAfter and require it equals `NFT_PRICE` (or store the actual received amount).","evidence":"No balance-delta or return-value checks around the payment transfer; amount recorded is always `NFT_PRICE`.","locations":["nftSale.sol:103","nftSale.sol:109"]}]}
tokens used
10,783
Metadata
{
    "codex": {
        "ran_at": "2026-01-13T02:00:14.771204+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 6,
        "import_count": 5,
        "first_party_contracts_count": 1
    },
    "summary": "Two issues: ERC20 transfers are not checked for success, and the purchase logic does not verify the actual amount received (fee-on-transfer tokens).",
    "raw_final": {
        "summary": "Two issues: ERC20 transfers are not checked for success, and the purchase logic does not verify the actual amount received (fee-on-transfer tokens).",
        "findings": [
            {
                "title": "Unchecked ERC20 transfer/transferFrom return values can record purchases or refunds without a successful token transfer",
                "category": "other",
                "evidence": "`IERC20(token).transferFrom(...)` and `IERC20(...).transfer(...)` calls ignore the returned boolean.",
                "severity": "medium",
                "locations": [
                    "nftSale.sol:103",
                    "nftSale.sol:154",
                    "nftSale.sol:176"
                ],
                "recommendation": "Use `SafeERC20` and check transfer results (or require the return value to be true). Consider reverting on failure to keep state consistent with transfers.",
                "exploit_scenario": "If a supported token returns false instead of reverting (or a misconfigured/old USDT variant), `transferFrom` in `purchaseNFT` can fail silently. The contract still records the purchase and emits the event, enabling a buyer to obtain an NFT off-chain without paying. Similarly, `refundPurchase` and `withdrawFunds` can emit success events even when the token transfer fails, leaving state inconsistent with actual balances."
            },
            {
                "title": "No verification of actual tokens received allows underpayment for fee-on-transfer tokens",
                "category": "math",
                "evidence": "No balance-delta or return-value checks around the payment transfer; amount recorded is always `NFT_PRICE`.",
                "severity": "low",
                "locations": [
                    "nftSale.sol:103",
                    "nftSale.sol:109"
                ],
                "recommendation": "Restrict support to non-fee tokens, or compute the received amount via balanceBefore/balanceAfter and require it equals `NFT_PRICE` (or store the actual received amount).",
                "exploit_scenario": "If the owner enables a deflationary/fee-on-transfer token via `setSupportedToken`, `purchaseNFT` records a fixed `NFT_PRICE` and emits purchase events even though the contract may receive less than `NFT_PRICE`. This can cause underpayment and accounting mismatches when the off-chain system delivers NFTs based on events."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
1
CALL-family (heavy)
5
EXT*/BALANCE
0
Total opcodes
5655
Flags
create_opcodes_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLVALUE
00000006: DUP1
00000007: ISZERO
00000008: PUSH2 0x000f
0000000b: JUMPI
0000000c: PUSH0
0000000d: PUSH0
0000000e: REVERT
0000000f: JUMPDEST
00000010: POP
00000011: PUSH1 0x04
00000013: CALLDATASIZE
00000014: LT
00000015: PUSH2 0x0129
00000018: JUMPI
00000019: PUSH0
0000001a: CALLDATALOAD
0000001b: PUSH1 0xe0
0000001d: SHR
0000001e: DUP1
0000001f: PUSH4 0x89a30271
00000024: GT
00000025: PUSH2 0x00ab
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xc6e5d8f6
0000002f: GT
00000030: PUSH2 0x006f
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xc6e5d8f6
0000003a: EQ
0000003b: PUSH2 0x02e8
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xcf2c0334
00000045: EQ
00000046: PUSH2 0x0318
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xe7986466
00000050: EQ
00000051: PUSH2 0x0348
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xea04f155
0000005b: EQ
0000005c: PUSH2 0x0364
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0xf2fde38b
00000066: EQ
00000067: PUSH2 0x0382
0000006a: JUMPI
0000006b: PUSH2 0x0129
0000006e: JUMP
0000006f: JUMPDEST
00000070: DUP1
00000071: PUSH4 0x89a30271
00000076: EQ
00000077: PUSH2 0x0256
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0x8da5cb5b
00000081: EQ
00000082: PUSH2 0x0274
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0xa2b40d19
0000008c: EQ
0000008d: PUSH2 0x0292
00000090: JUMPI
00000091: DUP1
00000092: PUSH4 0xb7d82bc3
00000097: EQ
00000098: PUSH2 0x02ae
0000009b: JUMPI
0000009c: DUP1
0000009d: PUSH4 0xc54e44eb
000000a2: EQ
000000a3: PUSH2 0x02ca
000000a6: JUMPI
000000a7: PUSH2 0x0129
000000aa: JUMP
000000ab: JUMPDEST
000000ac: DUP1
000000ad: PUSH4 0x676dd563
000000b2: GT
000000b3: PUSH2 0x00f2
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0x676dd563
000000bd: EQ
000000be: PUSH2 0x01bd
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0x68c4ac26
000000c8: EQ
000000c9: PUSH2 0x01db
000000cc: JUMPI
000000cd: DUP1
000000ce: PUSH4 0x715018a6
000000d3: EQ
000000d4: PUSH2 0x020b
000000d7: JUMPI
000000d8: DUP1
000000d9: PUSH4 0x8392fe31
000000de: EQ
000000df: PUSH2 0x0215
000000e2: JUMPI
000000e3: DUP1
000000e4: PUSH4 0x8456cb59
000000e9: EQ
000000ea: PUSH2 0x024c
000000ed: JUMPI
000000ee: PUSH2 0x0129
000000f1: JUMP
000000f2: JUMPDEST
000000f3: DUP1
000000f4: PUSH3 0x0fa9fb
000000f8: EQ
000000f9: PUSH2 0x012d
000000fc: JUMPI
000000fd: DUP1
000000fe: PUSH4 0x1c77b27a
00000103: EQ
00000104: PUSH2 0x0149
00000107: JUMPI
00000108: DUP1
00000109: PUSH4 0x3aecd0e3
0000010e: EQ
0000010f: PUSH2 0x0165
00000112: JUMPI
00000113: DUP1
00000114: PUSH4 0x3f4ba83a
00000119: EQ
0000011a: PUSH2 0x0195
0000011d: JUMPI
0000011e: DUP1
0000011f: PUSH4 0x5c975abb
00000124: EQ
00000125: PUSH2 0x019f
00000128: JUMPI
00000129: JUMPDEST
0000012a: PUSH0
0000012b: PUSH0
0000012c: REVERT
0000012d: JUMPDEST
0000012e: PUSH2 0x0147
00000131: PUSH1 0x04
00000133: DUP1
00000134: CALLDATASIZE
00000135: SUB
00000136: DUP2
00000137: ADD
00000138: SWAP1
00000139: PUSH2 0x0142
0000013c: SWAP2
0000013d: SWAP1
0000013e: PUSH2 0x1ae5
00000141: JUMP
00000142: JUMPDEST
00000143: PUSH2 0x039e
00000146: JUMP
00000147: JUMPDEST
00000148: STOP
00000149: JUMPDEST
0000014a: PUSH2 0x0163
0000014d: PUSH1 0x04
0000014f: DUP1
00000150: CALLDATASIZE
00000151: SUB
00000152: DUP2
00000153: ADD
00000154: SWAP1
00000155: PUSH2 0x015e
00000158: SWAP2
00000159: SWAP1
0000015a: PUSH2 0x1b56
0000015d: JUMP
0000015e: JUMPDEST
0000015f: PUSH2 0x0640
00000162: JUMP
00000163: JUMPDEST
00000164: STOP
00000165: JUMPDEST
00000166: PUSH2 0x017f
00000169: PUSH1 0x04
0000016b: DUP1
0000016c: CALLDATASIZE
0000016d: SUB
0000016e: DUP2
0000016f: ADD
00000170: SWAP1
00000171: PUSH2 0x017a
00000174: SWAP2
00000175: SWAP1
00000176: PUSH2 0x1b81
00000179: JUMP
0000017a: JUMPDEST
0000017b: PUSH2 0x0873
0000017e: JUMP
0000017f: JUMPDEST
00000180: PUSH1 0x40
00000182: MLOAD
00000183: PUSH2 0x018c
00000186: SWAP2
00000187: SWAP1
00000188: PUSH2 0x1bbb
0000018b: JUMP
0000018c: JUMPDEST
0000018d: PUSH1 0x40
0000018f: MLOAD
00000190: DUP1
00000191: SWAP2
00000192: SUB
00000193: SWAP1
00000194: RETURN
00000195: JUMPDEST
00000196: PUSH2 0x019d
00000199: PUSH2 0x08f3
0000019c: JUMP
0000019d: JUMPDEST
0000019e: STOP
0000019f: JUMPDEST
000001a0: PUSH2 0x01a7
000001a3: PUSH2 0x0905
000001a6: JUMP
000001a7: JUMPDEST
000001a8: PUSH1 0x40
000001aa: MLOAD
000001ab: PUSH2 0x01b4
000001ae: SWAP2
000001af: SWAP1
000001b0: PUSH2 0x1bee
000001b3: JUMP
000001b4: JUMPDEST
000001b5: PUSH1 0x40
000001b7: MLOAD
000001b8: DUP1
000001b9: SWAP2
000001ba: SUB
000001bb: SWAP1
000001bc: RETURN
000001bd: JUMPDEST
000001be: PUSH2 0x01c5
000001c1: PUSH2 0x091a
000001c4: JUMP
000001c5: JUMPDEST
000001c6: PUSH1 0x40
000001c8: MLOAD
000001c9: PUSH2 0x01d2
000001cc: SWAP2
000001cd: SWAP1
000001ce: PUSH2 0x1bbb
000001d1: JUMP
000001d2: JUMPDEST
000001d3: PUSH1 0x40
000001d5: MLOAD
000001d6: DUP1
000001d7: SWAP2
000001d8: SUB
000001d9: SWAP1
000001da: RETURN
000001db: JUMPDEST
000001dc: PUSH2 0x01f5
000001df: PUSH1 0x04
000001e1: DUP1
000001e2: CALLDATASIZE
000001e3: SUB
000001e4: DUP2
000001e5: ADD
000001e6: SWAP1
000001e7: PUSH2 0x01f0
000001ea: SWAP2
000001eb: SWAP1
000001ec: PUSH2 0x1b81
000001ef: JUMP
000001f0: JUMPDEST
000001f1: PUSH2 0x0920
000001f4: JUMP
000001f5: JUMPDEST
000001f6: PUSH1 0x40
000001f8: MLOAD
000001f9: PUSH2 0x0202
000001fc: SWAP2
000001fd: SWAP1
000001fe: PUSH2 0x1bee
00000201: JUMP
00000202: JUMPDEST
00000203: PUSH1 0x40
00000205: MLOAD
00000206: DUP1
00000207: SWAP2
00000208: SUB
00000209: SWAP1
0000020a: RETURN
0000020b: JUMPDEST
0000020c: PUSH2 0x0213
0000020f: PUSH2 0x093d
00000212: JUMP
00000213: JUMPDEST
00000214: STOP
00000215: JUMPDEST
00000216: PUSH2 0x022f
00000219: PUSH1 0x04
0000021b: DUP1
0000021c: CALLDATASIZE
0000021d: SUB
0000021e: DUP2
0000021f: ADD
00000220: SWAP1
00000221: PUSH2 0x022a
00000224: SWAP2
00000225: SWAP1
00000226: PUSH2 0x1b56
00000229: JUMP
0000022a: JUMPDEST
0000022b: PUSH2 0x0950
0000022e: JUMP
0000022f: JUMPDEST
00000230: PUSH1 0x40
00000232: MLOAD
00000233: PUSH2 0x0243
00000236: SWAP9
00000237: SWAP8
00000238: SWAP7
00000239: SWAP6
0000023a: SWAP5
0000023b: SWAP4
0000023c: SWAP3
0000023d: SWAP2
0000023e: SWAP1
0000023f: PUSH2 0x1c86
00000242: JUMP
00000243: JUMPDEST
00000244: PUSH1 0x40
00000246: MLOAD
00000247: DUP1
00000248: SWAP2
00000249: SUB
0000024a: SWAP1
0000024b: RETURN
0000024c: JUMPDEST
0000024d: PUSH2 0x0254
00000250: PUSH2 0x0aea
00000253: JUMP
00000254: JUMPDEST
00000255: STOP
00000256: JUMPDEST
00000257: PUSH2 0x025e
0000025a: PUSH2 0x0afc
0000025d: JUMP
0000025e: JUMPDEST
0000025f: PUSH1 0x40
00000261: MLOAD
00000262: PUSH2 0x026b
00000265: SWAP2
00000266: SWAP1
00000267: PUSH2 0x1d10
0000026a: JUMP
0000026b: JUMPDEST
0000026c: PUSH1 0x40
0000026e: MLOAD
0000026f: DUP1
00000270: SWAP2
00000271: SUB
00000272: SWAP1
00000273: RETURN
00000274: JUMPDEST
00000275: PUSH2 0x027c
00000278: PUSH2 0x0b20
0000027b: JUMP
0000027c: JUMPDEST
0000027d: PUSH1 0x40
0000027f: MLOAD
00000280: PUSH2 0x0289
00000283: SWAP2
00000284: SWAP1
00000285: PUSH2 0x1d10
00000288: JUMP
00000289: JUMPDEST
0000028a: PUSH1 0x40
0000028c: MLOAD
0000028d: DUP1
0000028e: SWAP2
0000028f: SUB
00000290: SWAP1
00000291: RETURN
00000292: JUMPDEST
00000293: PUSH2 0x02ac
00000296: PUSH1 0x04
00000298: DUP1
00000299: CALLDATASIZE
0000029a: SUB
0000029b: DUP2
0000029c: ADD
0000029d: SWAP1
0000029e: PUSH2 0x02a7
000002a1: SWAP2
000002a2: SWAP1
000002a3: PUSH2 0x1b56
000002a6: JUMP
000002a7: JUMPDEST
000002a8: PUSH2 0x0b47
000002ab: JUMP
000002ac: JUMPDEST
000002ad: STOP
000002ae: JUMPDEST
000002af: PUSH2 0x02c8
000002b2: PUSH1 0x04
000002b4: DUP1
000002b5: CALLDATASIZE
000002b6: SUB
000002b7: DUP2
000002b8: ADD
000002b9: SWAP1
000002ba: PUSH2 0x02c3
000002bd: SWAP2
000002be: SWAP1
000002bf: PUSH2 0x1d8a
000002c2: JUMP
000002c3: JUMPDEST
000002c4: PUSH2 0x0bed
000002c7: JUMP
000002c8: JUMPDEST
000002c9: STOP
000002ca: JUMPDEST
000002cb: PUSH2 0x02d2
000002ce: PUSH2 0x110c
000002d1: JUMP
000002d2: JUMPDEST
000002d3: PUSH1 0x40
000002d5: MLOAD
000002d6: PUSH2 0x02df
000002d9: SWAP2
000002da: SWAP1
000002db: PUSH2 0x1d10
000002de: JUMP
000002df: JUMPDEST
000002e0: PUSH1 0x40
000002e2: MLOAD
000002e3: DUP1
000002e4: SWAP2
000002e5: SUB
000002e6: SWAP1
000002e7: RETURN
000002e8: JUMPDEST
000002e9: PUSH2 0x0302
000002ec: PUSH1 0x04
000002ee: DUP1
000002ef: CALLDATASIZE
000002f0: SUB
000002f1: DUP2
000002f2: ADD
000002f3: SWAP1
000002f4: PUSH2 0x02fd
000002f7: SWAP2
000002f8: SWAP1
000002f9: PUSH2 0x1b81
000002fc: JUMP
000002fd: JUMPDEST
000002fe: PUSH2 0x1130
00000301: JUMP
00000302: JUMPDEST
00000303: PUSH1 0x40
00000305: MLOAD
00000306: PUSH2 0x030f
00000309: SWAP2
0000030a: SWAP1
0000030b: PUSH2 0x1ed2
0000030e: JUMP
0000030f: JUMPDEST
00000310: PUSH1 0x40
00000312: MLOAD
00000313: DUP1
00000314: SWAP2
00000315: SUB
00000316: SWAP1
00000317: RETURN
00000318: JUMPDEST
00000319: PUSH2 0x0332
0000031c: PUSH1 0x04
0000031e: DUP1
0000031f: CALLDATASIZE
00000320: SUB
00000321: DUP2
00000322: ADD
00000323: SWAP1
00000324: PUSH2 0x032d
00000327: SWAP2
00000328: SWAP1
00000329: PUSH2 0x1ef2
0000032c: JUMP
0000032d: JUMPDEST
0000032e: PUSH2 0x11c3
00000331: JUMP
00000332: JUMPDEST
00000333: PUSH1 0x40
00000335: MLOAD
00000336: PUSH2 0x033f
00000339: SWAP2
0000033a: SWAP1
0000033b: PUSH2 0x1bbb
0000033e: JUMP
0000033f: JUMPDEST
00000340: PUSH1 0x40
00000342: MLOAD
00000343: DUP1
00000344: SWAP2
00000345: SUB
00000346: SWAP1
00000347: RETURN
00000348: JUMPDEST
00000349: PUSH2 0x0362
0000034c: PUSH1 0x04
0000034e: DUP1
0000034f: CALLDATASIZE
00000350: SUB
00000351: DUP2
00000352: ADD
00000353: SWAP1
00000354: PUSH2 0x035d
00000357: SWAP2
00000358: SWAP1
00000359: PUSH2 0x1f5a
0000035c: JUMP
0000035d: JUMPDEST
0000035e: PUSH2 0x11ee
00000361: JUMP
00000362: JUMPDEST
00000363: STOP
00000364: JUMPDEST
00000365: PUSH2 0x036c
00000368: PUSH2 0x130a
0000036b: JUMP
0000036c: JUMPDEST
0000036d: PUSH1 0x40
0000036f: MLOAD
00000370: PUSH2 0x0379
00000373: SWAP2
00000374: SWAP1
00000375: PUSH2 0x1bbb
00000378: JUMP
00000379: JUMPDEST
0000037a: PUSH1 0x40
0000037c: MLOAD
0000037d: DUP1
0000037e: SWAP2
0000037f: SUB
00000380: SWAP1
00000381: RETURN
00000382: JUMPDEST
00000383: PUSH2 0x039c
00000386: PUSH1 0x04
00000388: DUP1
00000389: CALLDATASIZE
0000038a: SUB
0000038b: DUP2
0000038c: ADD
0000038d: SWAP1
0000038e: PUSH2 0x0397
00000391: SWAP2
00000392: SWAP1
00000393: PUSH2 0x1b81
00000396: JUMP
00000397: JUMPDEST
00000398: PUSH2 0x1313
0000039b: JUMP
0000039c: JUMPDEST
0000039d: STOP
0000039e: JUMPDEST
0000039f: PUSH2 0x03a6
000003a2: PUSH2 0x1397
000003a5: JUMP
000003a6: JUMPDEST
000003a7: PUSH0
000003a8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003bd: AND
000003be: DUP2
000003bf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003d4: AND
000003d5: SUB
000003d6: PUSH2 0x0414
000003d9: JUMPI
000003da: PUSH1 0x40
000003dc: MLOAD
000003dd: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000003fe: DUP2
000003ff: MSTORE
00000400: PUSH1 0x04
00000402: ADD
00000403: PUSH2 0x040b
00000406: SWAP1
00000407: PUSH2 0x1fe2
0000040a: JUMP
0000040b: JUMPDEST
0000040c: PUSH1 0x40
0000040e: MLOAD
0000040f: DUP1
00000410: SWAP2
00000411: SUB
00000412: SWAP1
00000413: REVERT
00000414: JUMPDEST
00000415: PUSH1 0x07
00000417: PUSH0
00000418: DUP4
00000419: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000042e: AND
0000042f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000444: AND
00000445: DUP2
00000446: MSTORE
00000447: PUSH1 0x20
00000449: ADD
0000044a: SWAP1
0000044b: DUP2
0000044c: MSTORE
0000044d: PUSH1 0x20
0000044f: ADD
00000450: PUSH0
00000451: KECCAK256
00000452: PUSH0
00000453: SWAP1
00000454: SLOAD
00000455: SWAP1
00000456: PUSH2 0x0100
00000459: EXP
0000045a: SWAP1
0000045b: DIV
0000045c: PUSH1 0xff
0000045e: AND
0000045f: PUSH2 0x049d
00000462: JUMPI
00000463: PUSH1 0x40
00000465: MLOAD
00000466: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000487: DUP2
00000488: MSTORE
00000489: PUSH1 0x04
0000048b: ADD
0000048c: PUSH2 0x0494
0000048f: SWAP1
00000490: PUSH2 0x204a
00000493: JUMP
00000494: JUMPDEST
00000495: PUSH1 0x40
00000497: MLOAD
00000498: DUP1
00000499: SWAP2
0000049a: SUB
0000049b: SWAP1
0000049c: REVERT
0000049d: JUMPDEST
0000049e: PUSH0
0000049f: DUP3
000004a0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004b5: AND
000004b6: PUSH4 0x70a08231
000004bb: ADDRESS
000004bc: PUSH1 0x40
000004be: MLOAD
000004bf: DUP3
000004c0: PUSH4 0xffffffff
000004c5: AND
000004c6: PUSH1 0xe0
000004c8: SHL
000004c9: DUP2
000004ca: MSTORE
000004cb: PUSH1 0x04
000004cd: ADD
000004ce: PUSH2 0x04d7
000004d1: SWAP2
000004d2: SWAP1
000004d3: PUSH2 0x1d10
000004d6: JUMP
000004d7: JUMPDEST
000004d8: PUSH1 0x20
000004da: PUSH1 0x40
000004dc: MLOAD
000004dd: DUP1
000004de: DUP4
000004df: SUB
000004e0: DUP2
000004e1: DUP7
000004e2: GAS
000004e3: STATICCALL
000004e4: ISZERO
000004e5: DUP1
000004e6: ISZERO
000004e7: PUSH2 0x04f2
000004ea: JUMPI
000004eb: RETURNDATASIZE
000004ec: PUSH0
000004ed: PUSH0
000004ee: RETURNDATACOPY
000004ef: RETURNDATASIZE
000004f0: PUSH0
000004f1: REVERT
000004f2: JUMPDEST
000004f3: POP
000004f4: POP
000004f5: POP
000004f6: POP
000004f7: PUSH1 0x40
000004f9: MLOAD
000004fa: RETURNDATASIZE
000004fb: PUSH1 0x1f
000004fd: NOT
000004fe: PUSH1 0x1f
00000500: DUP3
00000501: ADD
00000502: AND
00000503: DUP3
00000504: ADD
00000505: DUP1
00000506: PUSH1 0x40
00000508: MSTORE
00000509: POP
0000050a: DUP2
0000050b: ADD
0000050c: SWAP1
0000050d: PUSH2 0x0516
00000510: SWAP2
00000511: SWAP1
00000512: PUSH2 0x207c
00000515: JUMP
00000516: JUMPDEST
00000517: SWAP1
00000518: POP
00000519: PUSH0
0000051a: DUP2
0000051b: GT
0000051c: PUSH2 0x055a
0000051f: JUMPI
00000520: PUSH1 0x40
00000522: MLOAD
00000523: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000544: DUP2
00000545: MSTORE
00000546: PUSH1 0x04
00000548: ADD
00000549: PUSH2 0x0551
0000054c: SWAP1
0000054d: PUSH2 0x20f1
00000550: JUMP
00000551: JUMPDEST
00000552: PUSH1 0x40
00000554: MLOAD
00000555: DUP1
00000556: SWAP2
00000557: SUB
00000558: SWAP1
00000559: REVERT
0000055a: JUMPDEST
0000055b: DUP3
0000055c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000571: AND
00000572: PUSH4 0xa9059cbb
00000577: DUP4
00000578: DUP4
00000579: PUSH1 0x40
0000057b: MLOAD
0000057c: DUP4
0000057d: PUSH4 0xffffffff
00000582: AND
00000583: PUSH1 0xe0
00000585: SHL
00000586: DUP2
00000587: MSTORE
00000588: PUSH1 0x04
0000058a: ADD
0000058b: PUSH2 0x0595
0000058e: SWAP3
0000058f: SWAP2
00000590: SWAP1
00000591: PUSH2 0x210f
00000594: JUMP
00000595: JUMPDEST
00000596: PUSH1 0x20
00000598: PUSH1 0x40
0000059a: MLOAD
0000059b: DUP1
0000059c: DUP4
0000059d: SUB
0000059e: DUP2
0000059f: PUSH0
000005a0: DUP8
000005a1: GAS
000005a2: CALL
000005a3: ISZERO
000005a4: DUP1
000005a5: ISZERO
000005a6: PUSH2 0x05b1
000005a9: JUMPI
000005aa: RETURNDATASIZE
000005ab: PUSH0
000005ac: PUSH0
000005ad: RETURNDATACOPY
000005ae: RETURNDATASIZE
000005af: PUSH0
000005b0: REVERT
000005b1: JUMPDEST
000005b2: POP
000005b3: POP
000005b4: POP
000005b5: POP
000005b6: PUSH1 0x40
000005b8: MLOAD
000005b9: RETURNDATASIZE
000005ba: PUSH1 0x1f
000005bc: NOT
000005bd: PUSH1 0x1f
000005bf: DUP3
000005c0: ADD
000005c1: AND
000005c2: DUP3
000005c3: ADD
000005c4: DUP1
000005c5: PUSH1 0x40
000005c7: MSTORE
000005c8: POP
000005c9: DUP2
000005ca: ADD
000005cb: SWAP1
000005cc: PUSH2 0x05d5
000005cf: SWAP2
000005d0: SWAP1
000005d1: PUSH2 0x214a
000005d4: JUMP
000005d5: JUMPDEST
000005d6: POP
000005d7: DUP2
000005d8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005ed: AND
000005ee: DUP4
000005ef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000604: AND
00000605: PUSH32 0xa92ff919b850e4909ab2261d907ef955f11bc1716733a6cbece38d163a69af8a
00000626: DUP4
00000627: PUSH1 0x40
00000629: MLOAD
0000062a: PUSH2 0x0633
0000062d: SWAP2
0000062e: SWAP1
0000062f: PUSH2 0x1bbb
00000632: JUMP
00000633: JUMPDEST
00000634: PUSH1 0x40
00000636: MLOAD
00000637: DUP1
00000638: SWAP2
00000639: SUB
0000063a: SWAP1
0000063b: LOG3
0000063c: POP
0000063d: POP
0000063e: POP
0000063f: JUMP
00000640: JUMPDEST
00000641: PUSH2 0x0648
00000644: PUSH2 0x1397
00000647: JUMP
00000648: JUMPDEST
00000649: PUSH0
0000064a: PUSH1 0x05
0000064c: PUSH0
0000064d: DUP4
0000064e: DUP2
0000064f: MSTORE
00000650: PUSH1 0x20
00000652: ADD
00000653: SWAP1
00000654: DUP2
00000655: MSTORE
00000656: PUSH1 0x20
00000658: ADD
00000659: PUSH0
0000065a: KECCAK256
0000065b: SWAP1
0000065c: POP
0000065d: PUSH0
0000065e: DUP2
0000065f: PUSH0
00000660: ADD
00000661: SLOAD
00000662: SUB
00000663: PUSH2 0x06a1
00000666: JUMPI
00000667: PUSH1 0x40
00000669: MLOAD
0000066a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000068b: DUP2
0000068c: MSTORE
0000068d: PUSH1 0x04
0000068f: ADD
00000690: PUSH2 0x0698
00000693: SWAP1
00000694: PUSH2 0x21bf
00000697: JUMP
00000698: JUMPDEST
00000699: PUSH1 0x40
0000069b: MLOAD
0000069c: DUP1
0000069d: SWAP2
0000069e: SUB
0000069f: SWAP1
000006a0: REVERT
000006a1: JUMPDEST
000006a2: DUP1
000006a3: PUSH1 0x07
000006a5: ADD
000006a6: PUSH0
000006a7: SWAP1
000006a8: SLOAD
000006a9: SWAP1
000006aa: PUSH2 0x0100
000006ad: EXP
000006ae: SWAP1
000006af: DIV
000006b0: PUSH1 0xff
000006b2: AND
000006b3: ISZERO
000006b4: PUSH2 0x06f2
000006b7: JUMPI
000006b8: PUSH1 0x40
000006ba: MLOAD
000006bb: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000006dc: DUP2
000006dd: MSTORE
000006de: PUSH1 0x04
000006e0: ADD
000006e1: PUSH2 0x06e9
000006e4: SWAP1
000006e5: PUSH2 0x2227
000006e8: JUMP
000006e9: JUMPDEST
000006ea: PUSH1 0x40
000006ec: MLOAD
000006ed: DUP1
000006ee: SWAP2
000006ef: SUB
000006f0: SWAP1
000006f1: REVERT
000006f2: JUMPDEST
000006f3: PUSH1 0x01
000006f5: DUP2
000006f6: PUSH1 0x07
000006f8: ADD
000006f9: PUSH0
000006fa: PUSH2 0x0100
000006fd: EXP
000006fe: DUP2
000006ff: SLOAD
00000700: DUP2
00000701: PUSH1 0xff
00000703: MUL
00000704: NOT
00000705: AND
00000706: SWAP1
00000707: DUP4
00000708: ISZERO
00000709: ISZERO
0000070a: MUL
0000070b: OR
0000070c: SWAP1
0000070d: SSTORE
0000070e: POP
0000070f: DUP1
00000710: PUSH1 0x02
00000712: ADD
00000713: PUSH0
00000714: SWAP1
00000715: SLOAD
00000716: SWAP1
00000717: PUSH2 0x0100
0000071a: EXP
0000071b: SWAP1
0000071c: DIV
0000071d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000732: AND
00000733: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000748: AND
00000749: PUSH4 0xa9059cbb
0000074e: DUP3
0000074f: PUSH1 0x01
00000751: ADD
00000752: PUSH0
00000753: SWAP1
00000754: SLOAD
00000755: SWAP1
00000756: PUSH2 0x0100
00000759: EXP
0000075a: SWAP1
0000075b: DIV
0000075c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000771: AND
00000772: DUP4
00000773: PUSH1 0x03
00000775: ADD
00000776: SLOAD
00000777: PUSH1 0x40
00000779: MLOAD
0000077a: DUP4
0000077b: PUSH4 0xffffffff
00000780: AND
00000781: PUSH1 0xe0
00000783: SHL
00000784: DUP2
00000785: MSTORE
00000786: PUSH1 0x04
00000788: ADD
00000789: PUSH2 0x0793
0000078c: SWAP3
0000078d: SWAP2
0000078e: SWAP1
0000078f: PUSH2 0x210f
00000792: JUMP
00000793: JUMPDEST
00000794: PUSH1 0x20
00000796: PUSH1 0x40
00000798: MLOAD
00000799: DUP1
0000079a: DUP4
0000079b: SUB
0000079c: DUP2
0000079d: PUSH0
0000079e: DUP8
0000079f: GAS
000007a0: CALL
000007a1: ISZERO
000007a2: DUP1
000007a3: ISZERO
000007a4: PUSH2 0x07af
000007a7: JUMPI
000007a8: RETURNDATASIZE
000007a9: PUSH0
000007aa: PUSH0
000007ab: RETURNDATACOPY
000007ac: RETURNDATASIZE
000007ad: PUSH0
000007ae: REVERT
000007af: JUMPDEST
000007b0: POP
000007b1: POP
000007b2: POP
000007b3: POP
000007b4: PUSH1 0x40
000007b6: MLOAD
000007b7: RETURNDATASIZE
000007b8: PUSH1 0x1f
000007ba: NOT
000007bb: PUSH1 0x1f
000007bd: DUP3
000007be: ADD
000007bf: AND
000007c0: DUP3
000007c1: ADD
000007c2: DUP1
000007c3: PUSH1 0x40
000007c5: MSTORE
000007c6: POP
000007c7: DUP2
000007c8: ADD
000007c9: SWAP1
000007ca: PUSH2 0x07d3
000007cd: SWAP2
000007ce: SWAP1
000007cf: PUSH2 0x214a
000007d2: JUMP
000007d3: JUMPDEST
000007d4: POP
000007d5: DUP1
000007d6: PUSH1 0x01
000007d8: ADD
000007d9: PUSH0
000007da: SWAP1
000007db: SLOAD
000007dc: SWAP1
000007dd: PUSH2 0x0100
000007e0: EXP
000007e1: SWAP1
000007e2: DIV
000007e3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007f8: AND
000007f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000080e: AND
0000080f: DUP3
00000810: PUSH32 0xd1fad9cd11e486d9dc7b554439cc5cbbc8167ea53a37b0a9d291abe74beb4dfa
00000831: DUP4
00000832: PUSH1 0x02
00000834: ADD
00000835: PUSH0
00000836: SWAP1
00000837: SLOAD
00000838: SWAP1
00000839: PUSH2 0x0100
0000083c: EXP
0000083d: SWAP1
0000083e: DIV
0000083f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000854: AND
00000855: DUP5
00000856: PUSH1 0x03
00000858: ADD
00000859: SLOAD
0000085a: PUSH1 0x40
0000085c: MLOAD
0000085d: PUSH2 0x0867
00000860: SWAP3
00000861: SWAP2
00000862: SWAP1
00000863: PUSH2 0x210f
00000866: JUMP
00000867: JUMPDEST
00000868: PUSH1 0x40
0000086a: MLOAD
0000086b: DUP1
0000086c: SWAP2
0000086d: SUB
0000086e: SWAP1
0000086f: LOG3
00000870: POP
00000871: POP
00000872: JUMP
00000873: JUMPDEST
00000874: PUSH0
00000875: DUP2
00000876: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000088b: AND
0000088c: PUSH4 0x70a08231
00000891: ADDRESS
00000892: PUSH1 0x40
00000894: MLOAD
00000895: DUP3
00000896: PUSH4 0xffffffff
0000089b: AND
0000089c: PUSH1 0xe0
0000089e: SHL
0000089f: DUP2
000008a0: MSTORE
000008a1: PUSH1 0x04
000008a3: ADD
000008a4: PUSH2 0x08ad
000008a7: SWAP2
000008a8: SWAP1
000008a9: PUSH2 0x1d10
000008ac: JUMP
000008ad: JUMPDEST
000008ae: PUSH1 0x20
000008b0: PUSH1 0x40
000008b2: MLOAD
000008b3: DUP1
000008b4: DUP4
000008b5: SUB
000008b6: DUP2
000008b7: DUP7
000008b8: GAS
000008b9: STATICCALL
000008ba: ISZERO
000008bb: DUP1
000008bc: ISZERO
000008bd: PUSH2 0x08c8
000008c0: JUMPI
000008c1: RETURNDATASIZE
000008c2: PUSH0
000008c3: PUSH0
000008c4: RETURNDATACOPY
000008c5: RETURNDATASIZE
000008c6: PUSH0
000008c7: REVERT
000008c8: JUMPDEST
000008c9: POP
000008ca: POP
000008cb: POP
000008cc: POP
000008cd: PUSH1 0x40
000008cf: MLOAD
000008d0: RETURNDATASIZE
000008d1: PUSH1 0x1f
000008d3: NOT
000008d4: PUSH1 0x1f
000008d6: DUP3
000008d7: ADD
000008d8: AND
000008d9: DUP3
000008da: ADD
000008db: DUP1
000008dc: PUSH1 0x40
000008de: MSTORE
000008df: POP
000008e0: DUP2
000008e1: ADD
000008e2: SWAP1
000008e3: PUSH2 0x08ec
000008e6: SWAP2
000008e7: SWAP1
000008e8: PUSH2 0x207c
000008eb: JUMP
000008ec: JUMPDEST
000008ed: SWAP1
000008ee: POP
000008ef: SWAP2
000008f0: SWAP1
000008f1: POP
000008f2: JUMP
000008f3: JUMPDEST
000008f4: PUSH2 0x08fb
000008f7: PUSH2 0x1397
000008fa: JUMP
000008fb: JUMPDEST
000008fc: PUSH2 0x0903
000008ff: PUSH2 0x141e
00000902: JUMP
00000903: JUMPDEST
00000904: JUMP
00000905: JUMPDEST
00000906: PUSH0
00000907: PUSH1 0x02
00000909: PUSH0
0000090a: SWAP1
0000090b: SLOAD
0000090c: SWAP1
0000090d: PUSH2 0x0100
00000910: EXP
00000911: SWAP1
00000912: DIV
00000913: PUSH1 0xff
00000915: AND
00000916: SWAP1
00000917: POP
00000918: SWAP1
00000919: JUMP
0000091a: JUMPDEST
0000091b: PUSH1 0x03
0000091d: SLOAD
0000091e: DUP2
0000091f: JUMP
00000920: JUMPDEST
00000921: PUSH1 0x07
00000923: PUSH1 0x20
00000925: MSTORE
00000926: DUP1
00000927: PUSH0
00000928: MSTORE
00000929: PUSH1 0x40
0000092b: PUSH0
0000092c: KECCAK256
0000092d: PUSH0
0000092e: SWAP2
0000092f: POP
00000930: SLOAD
00000931: SWAP1
00000932: PUSH2 0x0100
00000935: EXP
00000936: SWAP1
00000937: DIV
00000938: PUSH1 0xff
0000093a: AND
0000093b: DUP2
0000093c: JUMP
0000093d: JUMPDEST
0000093e: PUSH2 0x0945
00000941: PUSH2 0x1397
00000944: JUMP
00000945: JUMPDEST
00000946: PUSH2 0x094e
00000949: PUSH0
0000094a: PUSH2 0x147f
0000094d: JUMP
0000094e: JUMPDEST
0000094f: JUMP
00000950: JUMPDEST
00000951: PUSH1 0x05
00000953: PUSH1 0x20
00000955: MSTORE
00000956: DUP1
00000957: PUSH0
00000958: MSTORE
00000959: PUSH1 0x40
0000095b: PUSH0
0000095c: KECCAK256
0000095d: PUSH0
0000095e: SWAP2
0000095f: POP
00000960: SWAP1
00000961: POP
00000962: DUP1
00000963: PUSH0
00000964: ADD
00000965: SLOAD
00000966: SWAP1
00000967: DUP1
00000968: PUSH1 0x01
0000096a: ADD
0000096b: PUSH0
0000096c: SWAP1
0000096d: SLOAD
0000096e: SWAP1
0000096f: PUSH2 0x0100
00000972: EXP
00000973: SWAP1
00000974: DIV
00000975: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000098a: AND
0000098b: SWAP1
0000098c: DUP1
0000098d: PUSH1 0x02
0000098f: ADD
00000990: PUSH0
00000991: SWAP1
00000992: SLOAD
00000993: SWAP1
00000994: PUSH2 0x0100
00000997: EXP
00000998: SWAP1
00000999: DIV
0000099a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009af: AND
000009b0: SWAP1
000009b1: DUP1
000009b2: PUSH1 0x03
000009b4: ADD
000009b5: SLOAD
000009b6: SWAP1
000009b7: DUP1
000009b8: PUSH1 0x04
000009ba: ADD
000009bb: DUP1
000009bc: SLOAD
000009bd: PUSH2 0x09c5
000009c0: SWAP1
000009c1: PUSH2 0x2272
000009c4: JUMP
000009c5: JUMPDEST
000009c6: DUP1
000009c7: PUSH1 0x1f
000009c9: ADD
000009ca: PUSH1 0x20
000009cc: DUP1
000009cd: SWAP2
000009ce: DIV
000009cf: MUL
000009d0: PUSH1 0x20
000009d2: ADD
000009d3: PUSH1 0x40
000009d5: MLOAD
000009d6: SWAP1
000009d7: DUP2
000009d8: ADD
000009d9: PUSH1 0x40
000009db: MSTORE
000009dc: DUP1
000009dd: SWAP3
000009de: SWAP2
000009df: SWAP1
000009e0: DUP2
000009e1: DUP2
000009e2: MSTORE
000009e3: PUSH1 0x20
000009e5: ADD
000009e6: DUP3
000009e7: DUP1
000009e8: SLOAD
000009e9: PUSH2 0x09f1
000009ec: SWAP1
000009ed: PUSH2 0x2272
000009f0: JUMP
000009f1: JUMPDEST
000009f2: DUP1
000009f3: ISZERO
000009f4: PUSH2 0x0a3c
000009f7: JUMPI
000009f8: DUP1
000009f9: PUSH1 0x1f
000009fb: LT
000009fc: PUSH2 0x0a13
000009ff: JUMPI
00000a00: PUSH2 0x0100
00000a03: DUP1
00000a04: DUP4
00000a05: SLOAD
00000a06: DIV
00000a07: MUL
00000a08: DUP4
00000a09: MSTORE
00000a0a: SWAP2
00000a0b: PUSH1 0x20
00000a0d: ADD
00000a0e: SWAP2
00000a0f: PUSH2 0x0a3c
00000a12: JUMP
00000a13: JUMPDEST
00000a14: DUP3
00000a15: ADD
00000a16: SWAP2
00000a17: SWAP1
00000a18: PUSH0
00000a19: MSTORE
00000a1a: PUSH1 0x20
00000a1c: PUSH0
00000a1d: KECCAK256
00000a1e: SWAP1
00000a1f: JUMPDEST
00000a20: DUP2
00000a21: SLOAD
00000a22: DUP2
00000a23: MSTORE
00000a24: SWAP1
00000a25: PUSH1 0x01
00000a27: ADD
00000a28: SWAP1
00000a29: PUSH1 0x20
00000a2b: ADD
00000a2c: DUP1
00000a2d: DUP4
00000a2e: GT
00000a2f: PUSH2 0x0a1f
00000a32: JUMPI
00000a33: DUP3
00000a34: SWAP1
00000a35: SUB
00000a36: PUSH1 0x1f
00000a38: AND
00000a39: DUP3
00000a3a: ADD
00000a3b: SWAP2
00000a3c: JUMPDEST
00000a3d: POP
00000a3e: POP
00000a3f: POP
00000a40: POP
00000a41: POP
00000a42: SWAP1
00000a43: DUP1
00000a44: PUSH1 0x05
00000a46: ADD
00000a47: DUP1
00000a48: SLOAD
00000a49: PUSH2 0x0a51
00000a4c: SWAP1
00000a4d: PUSH2 0x2272
00000a50: JUMP
00000a51: JUMPDEST
00000a52: DUP1
00000a53: PUSH1 0x1f
00000a55: ADD
00000a56: PUSH1 0x20
00000a58: DUP1
00000a59: SWAP2
00000a5a: DIV
00000a5b: MUL
00000a5c: PUSH1 0x20
00000a5e: ADD
00000a5f: PUSH1 0x40
00000a61: MLOAD
00000a62: SWAP1
00000a63: DUP2
00000a64: ADD
00000a65: PUSH1 0x40
00000a67: MSTORE
00000a68: DUP1
00000a69: SWAP3
00000a6a: SWAP2
00000a6b: SWAP1
00000a6c: DUP2
00000a6d: DUP2
00000a6e: MSTORE
00000a6f: PUSH1 0x20
00000a71: ADD
00000a72: DUP3
00000a73: DUP1
00000a74: SLOAD
00000a75: PUSH2 0x0a7d
00000a78: SWAP1
00000a79: PUSH2 0x2272
00000a7c: JUMP
00000a7d: JUMPDEST
00000a7e: DUP1
00000a7f: ISZERO
00000a80: PUSH2 0x0ac8
00000a83: JUMPI
00000a84: DUP1
00000a85: PUSH1 0x1f
00000a87: LT
00000a88: PUSH2 0x0a9f
00000a8b: JUMPI
00000a8c: PUSH2 0x0100
00000a8f: DUP1
00000a90: DUP4
00000a91: SLOAD
00000a92: DIV
00000a93: MUL
00000a94: DUP4
00000a95: MSTORE
00000a96: SWAP2
00000a97: PUSH1 0x20
00000a99: ADD
00000a9a: SWAP2
00000a9b: PUSH2 0x0ac8
00000a9e: JUMP
00000a9f: JUMPDEST
00000aa0: DUP3
00000aa1: ADD
00000aa2: SWAP2
00000aa3: SWAP1
00000aa4: PUSH0
00000aa5: MSTORE
00000aa6: PUSH1 0x20
00000aa8: PUSH0
00000aa9: KECCAK256
00000aaa: SWAP1
00000aab: JUMPDEST
00000aac: DUP2
00000aad: SLOAD
00000aae: DUP2
00000aaf: MSTORE
00000ab0: SWAP1
00000ab1: PUSH1 0x01
00000ab3: ADD
00000ab4: SWAP1
00000ab5: PUSH1 0x20
00000ab7: ADD
00000ab8: DUP1
00000ab9: DUP4
00000aba: GT
00000abb: PUSH2 0x0aab
00000abe: JUMPI
00000abf: DUP3
00000ac0: SWAP1
00000ac1: SUB
00000ac2: PUSH1 0x1f
00000ac4: AND
00000ac5: DUP3
00000ac6: ADD
00000ac7: SWAP2
00000ac8: JUMPDEST
00000ac9: POP
00000aca: POP
00000acb: POP
00000acc: POP
00000acd: POP
00000ace: SWAP1
00000acf: DUP1
00000ad0: PUSH1 0x06
00000ad2: ADD
00000ad3: SLOAD
00000ad4: SWAP1
00000ad5: DUP1
00000ad6: PUSH1 0x07
00000ad8: ADD
00000ad9: PUSH0
00000ada: SWAP1
00000adb: SLOAD
00000adc: SWAP1
00000add: PUSH2 0x0100
00000ae0: EXP
00000ae1: SWAP1
00000ae2: DIV
00000ae3: PUSH1 0xff
00000ae5: AND
00000ae6: SWAP1
00000ae7: POP
00000ae8: DUP9
00000ae9: JUMP
00000aea: JUMPDEST
00000aeb: PUSH2 0x0af2
00000aee: PUSH2 0x1397
00000af1: JUMP
00000af2: JUMPDEST
00000af3: PUSH2 0x0afa
00000af6: PUSH2 0x1540
00000af9: JUMP
00000afa: JUMPDEST
00000afb: JUMP
00000afc: JUMPDEST
00000afd: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00000b1e: DUP2
00000b1f: JUMP
00000b20: JUMPDEST
00000b21: PUSH0
00000b22: PUSH0
00000b23: PUSH0
00000b24: SWAP1
00000b25: SLOAD
00000b26: SWAP1
00000b27: PUSH2 0x0100
00000b2a: EXP
00000b2b: SWAP1
00000b2c: DIV
00000b2d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b42: AND
00000b43: SWAP1
00000b44: POP
00000b45: SWAP1
00000b46: JUMP
00000b47: JUMPDEST
00000b48: PUSH2 0x0b4f
00000b4b: PUSH2 0x1397
00000b4e: JUMP
00000b4f: JUMPDEST
00000b50: PUSH0
00000b51: DUP2
00000b52: GT
00000b53: PUSH2 0x0b91
00000b56: JUMPI
00000b57: PUSH1 0x40
00000b59: MLOAD
00000b5a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000b7b: DUP2
00000b7c: MSTORE
00000b7d: PUSH1 0x04
00000b7f: ADD
00000b80: PUSH2 0x0b88
00000b83: SWAP1
00000b84: PUSH2 0x22ec
00000b87: JUMP
00000b88: JUMPDEST
00000b89: PUSH1 0x40
00000b8b: MLOAD
00000b8c: DUP1
00000b8d: SWAP2
00000b8e: SUB
00000b8f: SWAP1
00000b90: REVERT
00000b91: JUMPDEST
00000b92: PUSH0
00000b93: PUSH1 0x03
00000b95: SLOAD
00000b96: SWAP1
00000b97: POP
00000b98: PUSH3 0x0f4240
00000b9c: DUP3
00000b9d: PUSH2 0x0ba6
00000ba0: SWAP2
00000ba1: SWAP1
00000ba2: PUSH2 0x2337
00000ba5: JUMP
00000ba6: JUMPDEST
00000ba7: PUSH1 0x03
00000ba9: DUP2
00000baa: SWAP1
00000bab: SSTORE
00000bac: POP
00000bad: PUSH32 0x2bce37c591c5b0d254c3056688b080a088f160fff82b6e79f456c8a20d5570f6
00000bce: DUP2
00000bcf: PUSH1 0x03
00000bd1: SLOAD
00000bd2: TIMESTAMP
00000bd3: PUSH1 0x40
00000bd5: MLOAD
00000bd6: PUSH2 0x0be1
00000bd9: SWAP4
00000bda: SWAP3
00000bdb: SWAP2
00000bdc: SWAP1
00000bdd: PUSH2 0x2378
00000be0: JUMP
00000be1: JUMPDEST
00000be2: PUSH1 0x40
00000be4: MLOAD
00000be5: DUP1
00000be6: SWAP2
00000be7: SUB
00000be8: SWAP1
00000be9: LOG1
00000bea: POP
00000beb: POP
00000bec: JUMP
00000bed: JUMPDEST
00000bee: PUSH2 0x0bf5
00000bf1: PUSH2 0x15a2
00000bf4: JUMP
00000bf5: JUMPDEST
00000bf6: PUSH2 0x0bfd
00000bf9: PUSH2 0x15e8
00000bfc: JUMP
00000bfd: JUMPDEST
00000bfe: PUSH1 0x07
00000c00: PUSH0
00000c01: DUP7
00000c02: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c17: AND
00000c18: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c2d: AND
00000c2e: DUP2
00000c2f: MSTORE
00000c30: PUSH1 0x20
00000c32: ADD
00000c33: SWAP1
00000c34: DUP2
00000c35: MSTORE
00000c36: PUSH1 0x20
00000c38: ADD
00000c39: PUSH0
00000c3a: KECCAK256
00000c3b: PUSH0
00000c3c: SWAP1
00000c3d: SLOAD
00000c3e: SWAP1
00000c3f: PUSH2 0x0100
00000c42: EXP
00000c43: SWAP1
00000c44: DIV
00000c45: PUSH1 0xff
00000c47: AND
00000c48: PUSH2 0x0c86
00000c4b: JUMPI
00000c4c: PUSH1 0x40
00000c4e: MLOAD
00000c4f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000c70: DUP2
00000c71: MSTORE
00000c72: PUSH1 0x04
00000c74: ADD
00000c75: PUSH2 0x0c7d
00000c78: SWAP1
00000c79: PUSH2 0x204a
00000c7c: JUMP
00000c7d: JUMPDEST
00000c7e: PUSH1 0x40
00000c80: MLOAD
00000c81: DUP1
00000c82: SWAP2
00000c83: SUB
00000c84: SWAP1
00000c85: REVERT
00000c86: JUMPDEST
00000c87: PUSH0
00000c88: DUP5
00000c89: DUP5
00000c8a: SWAP1
00000c8b: POP
00000c8c: GT
00000c8d: PUSH2 0x0ccb
00000c90: JUMPI
00000c91: PUSH1 0x40
00000c93: MLOAD
00000c94: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000cb5: DUP2
00000cb6: MSTORE
00000cb7: PUSH1 0x04
00000cb9: ADD
00000cba: PUSH2 0x0cc2
00000cbd: SWAP1
00000cbe: PUSH2 0x23f7
00000cc1: JUMP
00000cc2: JUMPDEST
00000cc3: PUSH1 0x40
00000cc5: MLOAD
00000cc6: DUP1
00000cc7: SWAP2
00000cc8: SUB
00000cc9: SWAP1
00000cca: REVERT
00000ccb: JUMPDEST
00000ccc: PUSH0
00000ccd: DUP3
00000cce: DUP3
00000ccf: SWAP1
00000cd0: POP
00000cd1: GT
00000cd2: PUSH2 0x0d10
00000cd5: JUMPI
00000cd6: PUSH1 0x40
00000cd8: MLOAD
00000cd9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000cfa: DUP2
00000cfb: MSTORE
00000cfc: PUSH1 0x04
00000cfe: ADD
00000cff: PUSH2 0x0d07
00000d02: SWAP1
00000d03: PUSH2 0x245f
00000d06: JUMP
00000d07: JUMPDEST
00000d08: PUSH1 0x40
00000d0a: MLOAD
00000d0b: DUP1
00000d0c: SWAP2
00000d0d: SUB
00000d0e: SWAP1
00000d0f: REVERT
00000d10: JUMPDEST
00000d11: PUSH2 0x0d5c
00000d14: DUP5
00000d15: DUP5
00000d16: DUP1
00000d17: DUP1
00000d18: PUSH1 0x1f
00000d1a: ADD
00000d1b: PUSH1 0x20
00000d1d: DUP1
00000d1e: SWAP2
00000d1f: DIV
00000d20: MUL
00000d21: PUSH1 0x20
00000d23: ADD
00000d24: PUSH1 0x40
00000d26: MLOAD
00000d27: SWAP1
00000d28: DUP2
00000d29: ADD
00000d2a: PUSH1 0x40
00000d2c: MSTORE
00000d2d: DUP1
00000d2e: SWAP4
00000d2f: SWAP3
00000d30: SWAP2
00000d31: SWAP1
00000d32: DUP2
00000d33: DUP2
00000d34: MSTORE
00000d35: PUSH1 0x20
00000d37: ADD
00000d38: DUP4
00000d39: DUP4
00000d3a: DUP1
00000d3b: DUP3
00000d3c: DUP5
00000d3d: CALLDATACOPY
00000d3e: PUSH0
00000d3f: DUP2
00000d40: DUP5
00000d41: ADD
00000d42: MSTORE
00000d43: PUSH1 0x1f
00000d45: NOT
00000d46: PUSH1 0x1f
00000d48: DUP3
00000d49: ADD
00000d4a: AND
00000d4b: SWAP1
00000d4c: POP
00000d4d: DUP1
00000d4e: DUP4
00000d4f: ADD
00000d50: SWAP3
00000d51: POP
00000d52: POP
00000d53: POP
00000d54: POP
00000d55: POP
00000d56: POP
00000d57: POP
00000d58: PUSH2 0x1629
00000d5b: JUMP
00000d5c: JUMPDEST
00000d5d: PUSH2 0x0d9b
00000d60: JUMPI
00000d61: PUSH1 0x40
00000d63: MLOAD
00000d64: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000d85: DUP2
00000d86: MSTORE
00000d87: PUSH1 0x04
00000d89: ADD
00000d8a: PUSH2 0x0d92
00000d8d: SWAP1
00000d8e: PUSH2 0x24c7
00000d91: JUMP
00000d92: JUMPDEST
00000d93: PUSH1 0x40
00000d95: MLOAD
00000d96: DUP1
00000d97: SWAP2
00000d98: SUB
00000d99: SWAP1
00000d9a: REVERT
00000d9b: JUMPDEST
00000d9c: DUP5
00000d9d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000db2: AND
00000db3: PUSH4 0x23b872dd
00000db8: CALLER
00000db9: ADDRESS
00000dba: PUSH1 0x03
00000dbc: SLOAD
00000dbd: PUSH1 0x40
00000dbf: MLOAD
00000dc0: DUP5
00000dc1: PUSH4 0xffffffff
00000dc6: AND
00000dc7: PUSH1 0xe0
00000dc9: SHL
00000dca: DUP2
00000dcb: MSTORE
00000dcc: PUSH1 0x04
00000dce: ADD
00000dcf: PUSH2 0x0dda
00000dd2: SWAP4
00000dd3: SWAP3
00000dd4: SWAP2
00000dd5: SWAP1
00000dd6: PUSH2 0x24e5
00000dd9: JUMP
00000dda: JUMPDEST
00000ddb: PUSH1 0x20
00000ddd: PUSH1 0x40
00000ddf: MLOAD
00000de0: DUP1
00000de1: DUP4
00000de2: SUB
00000de3: DUP2
00000de4: PUSH0
00000de5: DUP8
00000de6: GAS
00000de7: CALL
00000de8: ISZERO
00000de9: DUP1
00000dea: ISZERO
00000deb: PUSH2 0x0df6
00000dee: JUMPI
00000def: RETURNDATASIZE
00000df0: PUSH0
00000df1: PUSH0
00000df2: RETURNDATACOPY
00000df3: RETURNDATASIZE
00000df4: PUSH0
00000df5: REVERT
00000df6: JUMPDEST
00000df7: POP
00000df8: POP
00000df9: POP
00000dfa: POP
00000dfb: PUSH1 0x40
00000dfd: MLOAD
00000dfe: RETURNDATASIZE
00000dff: PUSH1 0x1f
00000e01: NOT
00000e02: PUSH1 0x1f
00000e04: DUP3
00000e05: ADD
00000e06: AND
00000e07: DUP3
00000e08: ADD
00000e09: DUP1
00000e0a: PUSH1 0x40
00000e0c: MSTORE
00000e0d: POP
00000e0e: DUP2
00000e0f: ADD
00000e10: SWAP1
00000e11: PUSH2 0x0e1a
00000e14: SWAP2
00000e15: SWAP1
00000e16: PUSH2 0x214a
00000e19: JUMP
00000e1a: JUMPDEST
00000e1b: POP
00000e1c: PUSH0
00000e1d: PUSH1 0x04
00000e1f: PUSH0
00000e20: DUP2
00000e21: SLOAD
00000e22: PUSH2 0x0e2a
00000e25: SWAP1
00000e26: PUSH2 0x251a
00000e29: JUMP
00000e2a: JUMPDEST
00000e2b: SWAP2
00000e2c: SWAP1
00000e2d: POP
00000e2e: DUP2
00000e2f: SWAP1
00000e30: SSTORE
00000e31: SWAP1
00000e32: POP
00000e33: PUSH1 0x40
00000e35: MLOAD
00000e36: DUP1
00000e37: PUSH2 0x0100
00000e3a: ADD
00000e3b: PUSH1 0x40
00000e3d: MSTORE
00000e3e: DUP1
00000e3f: DUP3
00000e40: DUP2
00000e41: MSTORE
00000e42: PUSH1 0x20
00000e44: ADD
00000e45: CALLER
00000e46: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e5b: AND
00000e5c: DUP2
00000e5d: MSTORE
00000e5e: PUSH1 0x20
00000e60: ADD
00000e61: DUP8
00000e62: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e77: AND
00000e78: DUP2
00000e79: MSTORE
00000e7a: PUSH1 0x20
00000e7c: ADD
00000e7d: PUSH1 0x03
00000e7f: SLOAD
00000e80: DUP2
00000e81: MSTORE
00000e82: PUSH1 0x20
00000e84: ADD
00000e85: DUP7
00000e86: DUP7
00000e87: DUP1
00000e88: DUP1
00000e89: PUSH1 0x1f
00000e8b: ADD
00000e8c: PUSH1 0x20
00000e8e: DUP1
00000e8f: SWAP2
00000e90: DIV
00000e91: MUL
00000e92: PUSH1 0x20
00000e94: ADD
00000e95: PUSH1 0x40
00000e97: MLOAD
00000e98: SWAP1
00000e99: DUP2
00000e9a: ADD
00000e9b: PUSH1 0x40
00000e9d: MSTORE
00000e9e: DUP1
00000e9f: SWAP4
00000ea0: SWAP3
00000ea1: SWAP2
00000ea2: SWAP1
00000ea3: DUP2
00000ea4: DUP2
00000ea5: MSTORE
00000ea6: PUSH1 0x20
00000ea8: ADD
00000ea9: DUP4
00000eaa: DUP4
00000eab: DUP1
00000eac: DUP3
00000ead: DUP5
00000eae: CALLDATACOPY
00000eaf: PUSH0
00000eb0: DUP2
00000eb1: DUP5
00000eb2: ADD
00000eb3: MSTORE
00000eb4: PUSH1 0x1f
00000eb6: NOT
00000eb7: PUSH1 0x1f
00000eb9: DUP3
00000eba: ADD
00000ebb: AND
00000ebc: SWAP1
00000ebd: POP
00000ebe: DUP1
00000ebf: DUP4
00000ec0: ADD
00000ec1: SWAP3
00000ec2: POP
00000ec3: POP
00000ec4: POP
00000ec5: POP
00000ec6: POP
00000ec7: POP
00000ec8: POP
00000ec9: DUP2
00000eca: MSTORE
00000ecb: PUSH1 0x20
00000ecd: ADD
00000ece: DUP5
00000ecf: DUP5
00000ed0: DUP1
00000ed1: DUP1
00000ed2: PUSH1 0x1f
00000ed4: ADD
00000ed5: PUSH1 0x20
00000ed7: DUP1
00000ed8: SWAP2
00000ed9: DIV
00000eda: MUL
00000edb: PUSH1 0x20
00000edd: ADD
00000ede: PUSH1 0x40
00000ee0: MLOAD
00000ee1: SWAP1
00000ee2: DUP2
00000ee3: ADD
00000ee4: PUSH1 0x40
00000ee6: MSTORE
00000ee7: DUP1
00000ee8: SWAP4
00000ee9: SWAP3
00000eea: SWAP2
00000eeb: SWAP1
00000eec: DUP2
00000eed: DUP2
00000eee: MSTORE
00000eef: PUSH1 0x20
00000ef1: ADD
00000ef2: DUP4
00000ef3: DUP4
00000ef4: DUP1
00000ef5: DUP3
00000ef6: DUP5
00000ef7: CALLDATACOPY
00000ef8: PUSH0
00000ef9: DUP2
00000efa: DUP5
00000efb: ADD
00000efc: MSTORE
00000efd: PUSH1 0x1f
00000eff: NOT
00000f00: PUSH1 0x1f
00000f02: DUP3
00000f03: ADD
00000f04: AND
00000f05: SWAP1
00000f06: POP
00000f07: DUP1
00000f08: DUP4
00000f09: ADD
00000f0a: SWAP3
00000f0b: POP
00000f0c: POP
00000f0d: POP
00000f0e: POP
00000f0f: POP
00000f10: POP
00000f11: POP
00000f12: DUP2
00000f13: MSTORE
00000f14: PUSH1 0x20
00000f16: ADD
00000f17: TIMESTAMP
00000f18: DUP2
00000f19: MSTORE
00000f1a: PUSH1 0x20
00000f1c: ADD
00000f1d: PUSH0
00000f1e: ISZERO
00000f1f: ISZERO
00000f20: DUP2
00000f21: MSTORE
00000f22: POP
00000f23: PUSH1 0x05
00000f25: PUSH0
00000f26: DUP4
00000f27: DUP2
00000f28: MSTORE
00000f29: PUSH1 0x20
00000f2b: ADD
00000f2c: SWAP1
00000f2d: DUP2
00000f2e: MSTORE
00000f2f: PUSH1 0x20
00000f31: ADD
00000f32: PUSH0
00000f33: KECCAK256
00000f34: PUSH0
00000f35: DUP3
00000f36: ADD
00000f37: MLOAD
00000f38: DUP2
00000f39: PUSH0
00000f3a: ADD
00000f3b: SSTORE
00000f3c: PUSH1 0x20
00000f3e: DUP3
00000f3f: ADD
00000f40: MLOAD
00000f41: DUP2
00000f42: PUSH1 0x01
00000f44: ADD
00000f45: PUSH0
00000f46: PUSH2 0x0100
00000f49: EXP
00000f4a: DUP2
00000f4b: SLOAD
00000f4c: DUP2
00000f4d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f62: MUL
00000f63: NOT
00000f64: AND
00000f65: SWAP1
00000f66: DUP4
00000f67: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f7c: AND
00000f7d: MUL
00000f7e: OR
00000f7f: SWAP1
00000f80: SSTORE
00000f81: POP
00000f82: PUSH1 0x40
00000f84: DUP3
00000f85: ADD
00000f86: MLOAD
00000f87: DUP2
00000f88: PUSH1 0x02
00000f8a: ADD
00000f8b: PUSH0
00000f8c: PUSH2 0x0100
00000f8f: EXP
00000f90: DUP2
00000f91: SLOAD
00000f92: DUP2
00000f93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fa8: MUL
00000fa9: NOT
00000faa: AND
00000fab: SWAP1
00000fac: DUP4
00000fad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fc2: AND
00000fc3: MUL
00000fc4: OR
00000fc5: SWAP1
00000fc6: SSTORE
00000fc7: POP
00000fc8: PUSH1 0x60
00000fca: DUP3
00000fcb: ADD
00000fcc: MLOAD
00000fcd: DUP2
00000fce: PUSH1 0x03
00000fd0: ADD
00000fd1: SSTORE
00000fd2: PUSH1 0x80
00000fd4: DUP3
00000fd5: ADD
00000fd6: MLOAD
00000fd7: DUP2
00000fd8: PUSH1 0x04
00000fda: ADD
00000fdb: SWAP1
00000fdc: DUP2
00000fdd: PUSH2 0x0fe6
00000fe0: SWAP2
00000fe1: SWAP1
00000fe2: PUSH2 0x272e
00000fe5: JUMP
00000fe6: JUMPDEST
00000fe7: POP
00000fe8: PUSH1 0xa0
00000fea: DUP3
00000feb: ADD
00000fec: MLOAD
00000fed: DUP2
00000fee: PUSH1 0x05
00000ff0: ADD
00000ff1: SWAP1
00000ff2: DUP2
00000ff3: PUSH2 0x0ffc
00000ff6: SWAP2
00000ff7: SWAP1
00000ff8: PUSH2 0x272e
00000ffb: JUMP
00000ffc: JUMPDEST
00000ffd: POP
00000ffe: PUSH1 0xc0
00001000: DUP3
00001001: ADD
00001002: MLOAD
00001003: DUP2
00001004: PUSH1 0x06
00001006: ADD
00001007: SSTORE
00001008: PUSH1 0xe0
0000100a: DUP3
0000100b: ADD
0000100c: MLOAD
0000100d: DUP2
0000100e: PUSH1 0x07
00001010: ADD
00001011: PUSH0
00001012: PUSH2 0x0100
00001015: EXP
00001016: DUP2
00001017: SLOAD
00001018: DUP2
00001019: PUSH1 0xff
0000101b: MUL
0000101c: NOT
0000101d: AND
0000101e: SWAP1
0000101f: DUP4
00001020: ISZERO
00001021: ISZERO
00001022: MUL
00001023: OR
00001024: SWAP1
00001025: SSTORE
00001026: POP
00001027: SWAP1
00001028: POP
00001029: POP
0000102a: PUSH1 0x06
0000102c: PUSH0
0000102d: CALLER
0000102e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001043: AND
00001044: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001059: AND
0000105a: DUP2
0000105b: MSTORE
0000105c: PUSH1 0x20
0000105e: ADD
0000105f: SWAP1
00001060: DUP2
00001061: MSTORE
00001062: PUSH1 0x20
00001064: ADD
00001065: PUSH0
00001066: KECCAK256
00001067: DUP2
00001068: SWAP1
00001069: DUP1
0000106a: PUSH1 0x01
0000106c: DUP2
0000106d: SLOAD
0000106e: ADD
0000106f: DUP1
00001070: DUP3
00001071: SSTORE
00001072: DUP1
00001073: SWAP2
00001074: POP
00001075: POP
00001076: PUSH1 0x01
00001078: SWAP1
00001079: SUB
0000107a: SWAP1
0000107b: PUSH0
0000107c: MSTORE
0000107d: PUSH1 0x20
0000107f: PUSH0
00001080: KECCAK256
00001081: ADD
00001082: PUSH0
00001083: SWAP1
00001084: SWAP2
00001085: SWAP1
00001086: SWAP2
00001087: SWAP1
00001088: SWAP2
00001089: POP
0000108a: SSTORE
0000108b: DUP6
0000108c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010a1: AND
000010a2: CALLER
000010a3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010b8: AND
000010b9: DUP3
000010ba: PUSH32 0x78869a4440941d1e199a4b39249779800dca8a98547c081284587f9855a42e3f
000010db: DUP9
000010dc: DUP9
000010dd: DUP9
000010de: DUP9
000010df: PUSH1 0x03
000010e1: SLOAD
000010e2: TIMESTAMP
000010e3: PUSH1 0x40
000010e5: MLOAD
000010e6: PUSH2 0x10f4
000010e9: SWAP7
000010ea: SWAP6
000010eb: SWAP5
000010ec: SWAP4
000010ed: SWAP3
000010ee: SWAP2
000010ef: SWAP1
000010f0: PUSH2 0x2837
000010f3: JUMP
000010f4: JUMPDEST
000010f5: PUSH1 0x40
000010f7: MLOAD
000010f8: DUP1
000010f9: SWAP2
000010fa: SUB
000010fb: SWAP1
000010fc: LOG4
000010fd: POP
000010fe: PUSH2 0x1105
00001101: PUSH2 0x1a33
00001104: JUMP
00001105: JUMPDEST
00001106: POP
00001107: POP
00001108: POP
00001109: POP
0000110a: POP
0000110b: JUMP
0000110c: JUMPDEST
0000110d: PUSH32 0x000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7
0000112e: DUP2
0000112f: JUMP
00001130: JUMPDEST
00001131: PUSH1 0x60
00001133: PUSH1 0x06
00001135: PUSH0
00001136: DUP4
00001137: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000114c: AND
0000114d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001162: AND
00001163: DUP2
00001164: MSTORE
00001165: PUSH1 0x20
00001167: ADD
00001168: SWAP1
00001169: DUP2
0000116a: MSTORE
0000116b: PUSH1 0x20
0000116d: ADD
0000116e: PUSH0
0000116f: KECCAK256
00001170: DUP1
00001171: SLOAD
00001172: DUP1
00001173: PUSH1 0x20
00001175: MUL
00001176: PUSH1 0x20
00001178: ADD
00001179: PUSH1 0x40
0000117b: MLOAD
0000117c: SWAP1
0000117d: DUP2
0000117e: ADD
0000117f: PUSH1 0x40
00001181: MSTORE
00001182: DUP1
00001183: SWAP3
00001184: SWAP2
00001185: SWAP1
00001186: DUP2
00001187: DUP2
00001188: MSTORE
00001189: PUSH1 0x20
0000118b: ADD
0000118c: DUP3
0000118d: DUP1
0000118e: SLOAD
0000118f: DUP1
00001190: ISZERO
00001191: PUSH2 0x11b7
00001194: JUMPI
00001195: PUSH1 0x20
00001197: MUL
00001198: DUP3
00001199: ADD
0000119a: SWAP2
0000119b: SWAP1
0000119c: PUSH0
0000119d: MSTORE
0000119e: PUSH1 0x20
000011a0: PUSH0
000011a1: KECCAK256
000011a2: SWAP1
000011a3: JUMPDEST
000011a4: DUP2
000011a5: SLOAD
000011a6: DUP2
000011a7: MSTORE
000011a8: PUSH1 0x20
000011aa: ADD
000011ab: SWAP1
000011ac: PUSH1 0x01
000011ae: ADD
000011af: SWAP1
000011b0: DUP1
000011b1: DUP4
000011b2: GT
000011b3: PUSH2 0x11a3
000011b6: JUMPI
000011b7: JUMPDEST
000011b8: POP
000011b9: POP
000011ba: POP
000011bb: POP
000011bc: POP
000011bd: SWAP1
000011be: POP
000011bf: SWAP2
000011c0: SWAP1
000011c1: POP
000011c2: JUMP
000011c3: JUMPDEST
000011c4: PUSH1 0x06
000011c6: PUSH1 0x20
000011c8: MSTORE
000011c9: DUP2
000011ca: PUSH0
000011cb: MSTORE
000011cc: PUSH1 0x40
000011ce: PUSH0
000011cf: KECCAK256
000011d0: DUP2
000011d1: DUP2
000011d2: SLOAD
000011d3: DUP2
000011d4: LT
000011d5: PUSH2 0x11dc
000011d8: JUMPI
000011d9: PUSH0
000011da: DUP1
000011db: REVERT
000011dc: JUMPDEST
000011dd: SWAP1
000011de: PUSH0
000011df: MSTORE
000011e0: PUSH1 0x20
000011e2: PUSH0
000011e3: KECCAK256
000011e4: ADD
000011e5: PUSH0
000011e6: SWAP2
000011e7: POP
000011e8: SWAP2
000011e9: POP
000011ea: POP
000011eb: SLOAD
000011ec: DUP2
000011ed: JUMP
000011ee: JUMPDEST
000011ef: PUSH2 0x11f6
000011f2: PUSH2 0x1397
000011f5: JUMP
000011f6: JUMPDEST
000011f7: PUSH0
000011f8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000120d: AND
0000120e: DUP3
0000120f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001224: AND
00001225: SUB
00001226: PUSH2 0x1264
00001229: JUMPI
0000122a: PUSH1 0x40
0000122c: MLOAD
0000122d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000124e: DUP2
0000124f: MSTORE
00001250: PUSH1 0x04
00001252: ADD
00001253: PUSH2 0x125b
00001256: SWAP1
00001257: PUSH2 0x28d6
0000125a: JUMP
0000125b: JUMPDEST
0000125c: PUSH1 0x40
0000125e: MLOAD
0000125f: DUP1
00001260: SWAP2
00001261: SUB
00001262: SWAP1
00001263: REVERT
00001264: JUMPDEST
00001265: DUP1
00001266: PUSH1 0x07
00001268: PUSH0
00001269: DUP5
0000126a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000127f: AND
00001280: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001295: AND
00001296: DUP2
00001297: MSTORE
00001298: PUSH1 0x20
0000129a: ADD
0000129b: SWAP1
0000129c: DUP2
0000129d: MSTORE
0000129e: PUSH1 0x20
000012a0: ADD
000012a1: PUSH0
000012a2: KECCAK256
000012a3: PUSH0
000012a4: PUSH2 0x0100
000012a7: EXP
000012a8: DUP2
000012a9: SLOAD
000012aa: DUP2
000012ab: PUSH1 0xff
000012ad: MUL
000012ae: NOT
000012af: AND
000012b0: SWAP1
000012b1: DUP4
000012b2: ISZERO
000012b3: ISZERO
000012b4: MUL
000012b5: OR
000012b6: SWAP1
000012b7: SSTORE
000012b8: POP
000012b9: DUP2
000012ba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012cf: AND
000012d0: PUSH32 0xbbe72b7d9dcb594ee398a4a617885aba53d833e2aad601c813ce9df99fdeb49b
000012f1: DUP3
000012f2: PUSH1 0x40
000012f4: MLOAD
000012f5: PUSH2 0x12fe
000012f8: SWAP2
000012f9: SWAP1
000012fa: PUSH2 0x1bee
000012fd: JUMP
000012fe: JUMPDEST
000012ff: PUSH1 0x40
00001301: MLOAD
00001302: DUP1
00001303: SWAP2
00001304: SUB
00001305: SWAP1
00001306: LOG2
00001307: POP
00001308: POP
00001309: JUMP
0000130a: JUMPDEST
0000130b: PUSH0
0000130c: PUSH1 0x04
0000130e: SLOAD
0000130f: SWAP1
00001310: POP
00001311: SWAP1
00001312: JUMP
00001313: JUMPDEST
00001314: PUSH2 0x131b
00001317: PUSH2 0x1397
0000131a: JUMP
0000131b: JUMPDEST
0000131c: PUSH0
0000131d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001332: AND
00001333: DUP2
00001334: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001349: AND
0000134a: SUB
0000134b: PUSH2 0x138b
0000134e: JUMPI
0000134f: PUSH0
00001350: PUSH1 0x40
00001352: MLOAD
00001353: PUSH32 0x1e4fbdf700000000000000000000000000000000000000000000000000000000
00001374: DUP2
00001375: MSTORE
00001376: PUSH1 0x04
00001378: ADD
00001379: PUSH2 0x1382
0000137c: SWAP2
0000137d: SWAP1
0000137e: PUSH2 0x1d10
00001381: JUMP
00001382: JUMPDEST
00001383: PUSH1 0x40
00001385: MLOAD
00001386: DUP1
00001387: SWAP2
00001388: SUB
00001389: SWAP1
0000138a: REVERT
0000138b: JUMPDEST
0000138c: PUSH2 0x1394
0000138f: DUP2
00001390: PUSH2 0x147f
00001393: JUMP
00001394: JUMPDEST
00001395: POP
00001396: JUMP
00001397: JUMPDEST
00001398: PUSH2 0x139f
0000139b: PUSH2 0x1a3c
0000139e: JUMP
0000139f: JUMPDEST
000013a0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013b5: AND
000013b6: PUSH2 0x13bd
000013b9: PUSH2 0x0b20
000013bc: JUMP
000013bd: JUMPDEST
000013be: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013d3: AND
000013d4: EQ
000013d5: PUSH2 0x141c
000013d8: JUMPI
000013d9: PUSH2 0x13e0
000013dc: PUSH2 0x1a3c
000013df: JUMP
000013e0: JUMPDEST
000013e1: PUSH1 0x40
000013e3: MLOAD
000013e4: PUSH32 0x118cdaa700000000000000000000000000000000000000000000000000000000
00001405: DUP2
00001406: MSTORE
00001407: PUSH1 0x04
00001409: ADD
0000140a: PUSH2 0x1413
0000140d: SWAP2
0000140e: SWAP1
0000140f: PUSH2 0x1d10
00001412: JUMP
00001413: JUMPDEST
00001414: PUSH1 0x40
00001416: MLOAD
00001417: DUP1
00001418: SWAP2
00001419: SUB
0000141a: SWAP1
0000141b: REVERT
0000141c: JUMPDEST
0000141d: JUMP
0000141e: JUMPDEST
0000141f: PUSH2 0x1426
00001422: PUSH2 0x1a43
00001425: JUMP
00001426: JUMPDEST
00001427: PUSH0
00001428: PUSH1 0x02
0000142a: PUSH0
0000142b: PUSH2 0x0100
0000142e: EXP
0000142f: DUP2
00001430: SLOAD
00001431: DUP2
00001432: PUSH1 0xff
00001434: MUL
00001435: NOT
00001436: AND
00001437: SWAP1
00001438: DUP4
00001439: ISZERO
0000143a: ISZERO
0000143b: MUL
0000143c: OR
0000143d: SWAP1
0000143e: SSTORE
0000143f: POP
00001440: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa
00001461: PUSH2 0x1468
00001464: PUSH2 0x1a3c
00001467: JUMP
00001468: JUMPDEST
00001469: PUSH1 0x40
0000146b: MLOAD
0000146c: PUSH2 0x1475
0000146f: SWAP2
00001470: SWAP1
00001471: PUSH2 0x1d10
00001474: JUMP
00001475: JUMPDEST
00001476: PUSH1 0x40
00001478: MLOAD
00001479: DUP1
0000147a: SWAP2
0000147b: SUB
0000147c: SWAP1
0000147d: LOG1
0000147e: JUMP
0000147f: JUMPDEST
00001480: PUSH0
00001481: PUSH0
00001482: PUSH0
00001483: SWAP1
00001484: SLOAD
00001485: SWAP1
00001486: PUSH2 0x0100
00001489: EXP
0000148a: SWAP1
0000148b: DIV
0000148c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014a1: AND
000014a2: SWAP1
000014a3: POP
000014a4: DUP2
000014a5: PUSH0
000014a6: PUSH0
000014a7: PUSH2 0x0100
000014aa: EXP
000014ab: DUP2
000014ac: SLOAD
000014ad: DUP2
000014ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014c3: MUL
000014c4: NOT
000014c5: AND
000014c6: SWAP1
000014c7: DUP4
000014c8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014dd: AND
000014de: MUL
000014df: OR
000014e0: SWAP1
000014e1: SSTORE
000014e2: POP
000014e3: DUP2
000014e4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014f9: AND
000014fa: DUP2
000014fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001510: AND
00001511: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00001532: PUSH1 0x40
00001534: MLOAD
00001535: PUSH1 0x40
00001537: MLOAD
00001538: DUP1
00001539: SWAP2
0000153a: SUB
0000153b: SWAP1
0000153c: LOG3
0000153d: POP
0000153e: POP
0000153f: JUMP
00001540: JUMPDEST
00001541: PUSH2 0x1548
00001544: PUSH2 0x15e8
00001547: JUMP
00001548: JUMPDEST
00001549: PUSH1 0x01
0000154b: PUSH1 0x02
0000154d: PUSH0
0000154e: PUSH2 0x0100
00001551: EXP
00001552: DUP2
00001553: SLOAD
00001554: DUP2
00001555: PUSH1 0xff
00001557: MUL
00001558: NOT
00001559: AND
0000155a: SWAP1
0000155b: DUP4
0000155c: ISZERO
0000155d: ISZERO
0000155e: MUL
0000155f: OR
00001560: SWAP1
00001561: SSTORE
00001562: POP
00001563: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258
00001584: PUSH2 0x158b
00001587: PUSH2 0x1a3c
0000158a: JUMP
0000158b: JUMPDEST
0000158c: PUSH1 0x40
0000158e: MLOAD
0000158f: PUSH2 0x1598
00001592: SWAP2
00001593: SWAP1
00001594: PUSH2 0x1d10
00001597: JUMP
00001598: JUMPDEST
00001599: PUSH1 0x40
0000159b: MLOAD
0000159c: DUP1
0000159d: SWAP2
0000159e: SUB
0000159f: SWAP1
000015a0: LOG1
000015a1: JUMP
000015a2: JUMPDEST
000015a3: PUSH1 0x02
000015a5: PUSH1 0x01
000015a7: SLOAD
000015a8: SUB
000015a9: PUSH2 0x15de
000015ac: JUMPI
000015ad: PUSH1 0x40
000015af: MLOAD
000015b0: PUSH32 0x3ee5aeb500000000000000000000000000000000000000000000000000000000
000015d1: DUP2
000015d2: MSTORE
000015d3: PUSH1 0x04
000015d5: ADD
000015d6: PUSH1 0x40
000015d8: MLOAD
000015d9: DUP1
000015da: SWAP2
000015db: SUB
000015dc: SWAP1
000015dd: REVERT
000015de: JUMPDEST
000015df: PUSH1 0x02
000015e1: PUSH1 0x01
000015e3: DUP2
000015e4: SWAP1
000015e5: SSTORE
000015e6: POP
000015e7: JUMP
000015e8: JUMPDEST
000015e9: PUSH2 0x15f0
000015ec: PUSH2 0x0905
000015ef: JUMP
000015f0: JUMPDEST
000015f1: ISZERO
000015f2: PUSH2 0x1627
000015f5: JUMPI
000015f6: PUSH1 0x40
000015f8: MLOAD
000015f9: PUSH32 0xd93c066500000000000000000000000000000000000000000000000000000000
0000161a: DUP2
0000161b: MSTORE
0000161c: PUSH1 0x04
0000161e: ADD
0000161f: PUSH1 0x40
00001621: MLOAD
00001622: DUP1
00001623: SWAP2
00001624: SUB
00001625: SWAP1
00001626: REVERT
00001627: JUMPDEST
00001628: JUMP
00001629: JUMPDEST
0000162a: PUSH0
0000162b: PUSH0
0000162c: DUP3
0000162d: SWAP1
0000162e: POP
0000162f: PUSH1 0x2c
00001631: DUP2
00001632: MLOAD
00001633: EQ
00001634: PUSH2 0x1640
00001637: JUMPI
00001638: PUSH0
00001639: SWAP2
0000163a: POP
0000163b: POP
0000163c: PUSH2 0x1a2e
0000163f: JUMP
00001640: JUMPDEST
00001641: PUSH0
00001642: PUSH0
00001643: SWAP1
00001644: POP
00001645: JUMPDEST
00001646: DUP2
00001647: MLOAD
00001648: DUP2
00001649: LT
0000164a: ISZERO
0000164b: PUSH2 0x1a27
0000164e: JUMPI
0000164f: PUSH0
00001650: DUP3
00001651: DUP3
00001652: DUP2
00001653: MLOAD
00001654: DUP2
00001655: LT
00001656: PUSH2 0x1662
00001659: JUMPI
0000165a: PUSH2 0x1661
0000165d: PUSH2 0x28f4
00001660: JUMP
00001661: JUMPDEST
00001662: JUMPDEST
00001663: PUSH1 0x20
00001665: ADD
00001666: ADD
00001667: MLOAD
00001668: PUSH1 0xf8
0000166a: SHR
0000166b: PUSH1 0xf8
0000166d: SHL
0000166e: SWAP1
0000166f: POP
00001670: PUSH32 0x3100000000000000000000000000000000000000000000000000000000000000
00001691: DUP2
00001692: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000016b2: NOT
000016b3: AND
000016b4: LT
000016b5: ISZERO
000016b6: DUP1
000016b7: ISZERO
000016b8: PUSH2 0x1703
000016bb: JUMPI
000016bc: POP
000016bd: PUSH32 0x3900000000000000000000000000000000000000000000000000000000000000
000016de: DUP2
000016df: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000016ff: NOT
00001700: AND
00001701: GT
00001702: ISZERO
00001703: JUMPDEST
00001704: DUP1
00001705: PUSH2 0x179e
00001708: JUMPI
00001709: POP
0000170a: PUSH32 0x4100000000000000000000000000000000000000000000000000000000000000
0000172b: DUP2
0000172c: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000174c: NOT
0000174d: AND
0000174e: LT
0000174f: ISZERO
00001750: DUP1
00001751: ISZERO
00001752: PUSH2 0x179d
00001755: JUMPI
00001756: POP
00001757: PUSH32 0x4800000000000000000000000000000000000000000000000000000000000000
00001778: DUP2
00001779: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001799: NOT
0000179a: AND
0000179b: GT
0000179c: ISZERO
0000179d: JUMPDEST
0000179e: JUMPDEST
0000179f: DUP1
000017a0: PUSH2 0x1839
000017a3: JUMPI
000017a4: POP
000017a5: PUSH32 0x4a00000000000000000000000000000000000000000000000000000000000000
000017c6: DUP2
000017c7: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000017e7: NOT
000017e8: AND
000017e9: LT
000017ea: ISZERO
000017eb: DUP1
000017ec: ISZERO
000017ed: PUSH2 0x1838
000017f0: JUMPI
000017f1: POP
000017f2: PUSH32 0x4e00000000000000000000000000000000000000000000000000000000000000
00001813: DUP2
00001814: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001834: NOT
00001835: AND
00001836: GT
00001837: ISZERO
00001838: JUMPDEST
00001839: JUMPDEST
0000183a: DUP1
0000183b: PUSH2 0x18d4
0000183e: JUMPI
0000183f: POP
00001840: PUSH32 0x5000000000000000000000000000000000000000000000000000000000000000
00001861: DUP2
00001862: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001882: NOT
00001883: AND
00001884: LT
00001885: ISZERO
00001886: DUP1
00001887: ISZERO
00001888: PUSH2 0x18d3
0000188b: JUMPI
0000188c: POP
0000188d: PUSH32 0x5a00000000000000000000000000000000000000000000000000000000000000
000018ae: DUP2
000018af: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000018cf: NOT
000018d0: AND
000018d1: GT
000018d2: ISZERO
000018d3: JUMPDEST
000018d4: JUMPDEST
000018d5: DUP1
000018d6: PUSH2 0x196f
000018d9: JUMPI
000018da: POP
000018db: PUSH32 0x6100000000000000000000000000000000000000000000000000000000000000
000018fc: DUP2
000018fd: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000191d: NOT
0000191e: AND
0000191f: LT
00001920: ISZERO
00001921: DUP1
00001922: ISZERO
00001923: PUSH2 0x196e
00001926: JUMPI
00001927: POP
00001928: PUSH32 0x6b00000000000000000000000000000000000000000000000000000000000000
00001949: DUP2
0000194a: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000196a: NOT
0000196b: AND
0000196c: GT
0000196d: ISZERO
0000196e: JUMPDEST
0000196f: JUMPDEST
00001970: DUP1
00001971: PUSH2 0x1a0a
00001974: JUMPI
00001975: POP
00001976: PUSH32 0x6d00000000000000000000000000000000000000000000000000000000000000
00001997: DUP2
00001998: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000019b8: NOT
000019b9: AND
000019ba: LT
000019bb: ISZERO
000019bc: DUP1
000019bd: ISZERO
000019be: PUSH2 0x1a09
000019c1: JUMPI
000019c2: POP
000019c3: PUSH32 0x7a00000000000000000000000000000000000000000000000000000000000000
000019e4: DUP2
000019e5: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001a05: NOT
00001a06: AND
00001a07: GT
00001a08: ISZERO
00001a09: JUMPDEST
00001a0a: JUMPDEST
00001a0b: PUSH2 0x1a19
00001a0e: JUMPI
00001a0f: PUSH0
00001a10: SWAP4
00001a11: POP
00001a12: POP
00001a13: POP
00001a14: POP
00001a15: PUSH2 0x1a2e
00001a18: JUMP
00001a19: JUMPDEST
00001a1a: POP
00001a1b: DUP1
00001a1c: DUP1
00001a1d: PUSH1 0x01
00001a1f: ADD
00001a20: SWAP2
00001a21: POP
00001a22: POP
00001a23: PUSH2 0x1645
00001a26: JUMP
00001a27: JUMPDEST
00001a28: POP
00001a29: PUSH1 0x01
00001a2b: SWAP2
00001a2c: POP
00001a2d: POP
00001a2e: JUMPDEST
00001a2f: SWAP2
00001a30: SWAP1
00001a31: POP
00001a32: JUMP
00001a33: JUMPDEST
00001a34: PUSH1 0x01
00001a36: DUP1
00001a37: DUP2
00001a38: SWAP1
00001a39: SSTORE
00001a3a: POP
00001a3b: JUMP
00001a3c: JUMPDEST
00001a3d: PUSH0
00001a3e: CALLER
00001a3f: SWAP1
00001a40: POP
00001a41: SWAP1
00001a42: JUMP
00001a43: JUMPDEST
00001a44: PUSH2 0x1a4b
00001a47: PUSH2 0x0905
00001a4a: JUMP
00001a4b: JUMPDEST
00001a4c: PUSH2 0x1a81
00001a4f: JUMPI
00001a50: PUSH1 0x40
00001a52: MLOAD
00001a53: PUSH32 0x8dfc202b00000000000000000000000000000000000000000000000000000000
00001a74: DUP2
00001a75: MSTORE
00001a76: PUSH1 0x04
00001a78: ADD
00001a79: PUSH1 0x40
00001a7b: MLOAD
00001a7c: DUP1
00001a7d: SWAP2
00001a7e: SUB
00001a7f: SWAP1
00001a80: REVERT
00001a81: JUMPDEST
00001a82: JUMP
00001a83: JUMPDEST
00001a84: PUSH0
00001a85: PUSH0
00001a86: REVERT
00001a87: JUMPDEST
00001a88: PUSH0
00001a89: PUSH0
00001a8a: REVERT
00001a8b: JUMPDEST
00001a8c: PUSH0
00001a8d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001aa2: DUP3
00001aa3: AND
00001aa4: SWAP1
00001aa5: POP
00001aa6: SWAP2
00001aa7: SWAP1
00001aa8: POP
00001aa9: JUMP
00001aaa: JUMPDEST
00001aab: PUSH0
00001aac: PUSH2 0x1ab4
00001aaf: DUP3
00001ab0: PUSH2 0x1a8b
00001ab3: JUMP
00001ab4: JUMPDEST
00001ab5: SWAP1
00001ab6: POP
00001ab7: SWAP2
00001ab8: SWAP1
00001ab9: POP
00001aba: JUMP
00001abb: JUMPDEST
00001abc: PUSH2 0x1ac4
00001abf: DUP2
00001ac0: PUSH2 0x1aaa
00001ac3: JUMP
00001ac4: JUMPDEST
00001ac5: DUP2
00001ac6: EQ
00001ac7: PUSH2 0x1ace
00001aca: JUMPI
00001acb: PUSH0
00001acc: PUSH0
00001acd: REVERT
00001ace: JUMPDEST
00001acf: POP
00001ad0: JUMP
00001ad1: JUMPDEST
00001ad2: PUSH0
00001ad3: DUP2
00001ad4: CALLDATALOAD
00001ad5: SWAP1
00001ad6: POP
00001ad7: PUSH2 0x1adf
00001ada: DUP2
00001adb: PUSH2 0x1abb
00001ade: JUMP
00001adf: JUMPDEST
00001ae0: SWAP3
00001ae1: SWAP2
00001ae2: POP
00001ae3: POP
00001ae4: JUMP
00001ae5: JUMPDEST
00001ae6: PUSH0
00001ae7: PUSH0
00001ae8: PUSH1 0x40
00001aea: DUP4
00001aeb: DUP6
00001aec: SUB
00001aed: SLT
00001aee: ISZERO
00001aef: PUSH2 0x1afb
00001af2: JUMPI
00001af3: PUSH2 0x1afa
00001af6: PUSH2 0x1a83
00001af9: JUMP
00001afa: JUMPDEST
00001afb: JUMPDEST
00001afc: PUSH0
00001afd: PUSH2 0x1b08
00001b00: DUP6
00001b01: DUP3
00001b02: DUP7
00001b03: ADD
00001b04: PUSH2 0x1ad1
00001b07: JUMP
00001b08: JUMPDEST
00001b09: SWAP3
00001b0a: POP
00001b0b: POP
00001b0c: PUSH1 0x20
00001b0e: PUSH2 0x1b19
00001b11: DUP6
00001b12: DUP3
00001b13: DUP7
00001b14: ADD
00001b15: PUSH2 0x1ad1
00001b18: JUMP
00001b19: JUMPDEST
00001b1a: SWAP2
00001b1b: POP
00001b1c: POP
00001b1d: SWAP3
00001b1e: POP
00001b1f: SWAP3
00001b20: SWAP1
00001b21: POP
00001b22: JUMP
00001b23: JUMPDEST
00001b24: PUSH0
00001b25: DUP2
00001b26: SWAP1
00001b27: POP
00001b28: SWAP2
00001b29: SWAP1
00001b2a: POP
00001b2b: JUMP
00001b2c: JUMPDEST
00001b2d: PUSH2 0x1b35
00001b30: DUP2
00001b31: PUSH2 0x1b23
00001b34: JUMP
00001b35: JUMPDEST
00001b36: DUP2
00001b37: EQ
00001b38: PUSH2 0x1b3f
00001b3b: JUMPI
00001b3c: PUSH0
00001b3d: PUSH0
00001b3e: REVERT
00001b3f: JUMPDEST
00001b40: POP
00001b41: JUMP
00001b42: JUMPDEST
00001b43: PUSH0
00001b44: DUP2
00001b45: CALLDATALOAD
00001b46: SWAP1
00001b47: POP
00001b48: PUSH2 0x1b50
00001b4b: DUP2
00001b4c: PUSH2 0x1b2c
00001b4f: JUMP
00001b50: JUMPDEST
00001b51: SWAP3
00001b52: SWAP2
00001b53: POP
00001b54: POP
00001b55: JUMP
00001b56: JUMPDEST
00001b57: PUSH0
00001b58: PUSH1 0x20
00001b5a: DUP3
00001b5b: DUP5
00001b5c: SUB
00001b5d: SLT
00001b5e: ISZERO
00001b5f: PUSH2 0x1b6b
00001b62: JUMPI
00001b63: PUSH2 0x1b6a
00001b66: PUSH2 0x1a83
00001b69: JUMP
00001b6a: JUMPDEST
00001b6b: JUMPDEST
00001b6c: PUSH0
00001b6d: PUSH2 0x1b78
00001b70: DUP5
00001b71: DUP3
00001b72: DUP6
00001b73: ADD
00001b74: PUSH2 0x1b42
00001b77: JUMP
00001b78: JUMPDEST
00001b79: SWAP2
00001b7a: POP
00001b7b: POP
00001b7c: SWAP3
00001b7d: SWAP2
00001b7e: POP
00001b7f: POP
00001b80: JUMP
00001b81: JUMPDEST
00001b82: PUSH0
00001b83: PUSH1 0x20
00001b85: DUP3
00001b86: DUP5
00001b87: SUB
00001b88: SLT
00001b89: ISZERO
00001b8a: PUSH2 0x1b96
00001b8d: JUMPI
00001b8e: PUSH2 0x1b95
00001b91: PUSH2 0x1a83
00001b94: JUMP
00001b95: JUMPDEST
00001b96: JUMPDEST
00001b97: PUSH0
00001b98: PUSH2 0x1ba3
00001b9b: DUP5
00001b9c: DUP3
00001b9d: DUP6
00001b9e: ADD
00001b9f: PUSH2 0x1ad1
00001ba2: JUMP
00001ba3: JUMPDEST
00001ba4: SWAP2
00001ba5: POP
00001ba6: POP
00001ba7: SWAP3
00001ba8: SWAP2
00001ba9: POP
00001baa: POP
00001bab: JUMP
00001bac: JUMPDEST
00001bad: PUSH2 0x1bb5
00001bb0: DUP2
00001bb1: PUSH2 0x1b23
00001bb4: JUMP
00001bb5: JUMPDEST
00001bb6: DUP3
00001bb7: MSTORE
00001bb8: POP
00001bb9: POP
00001bba: JUMP
00001bbb: JUMPDEST
00001bbc: PUSH0
00001bbd: PUSH1 0x20
00001bbf: DUP3
00001bc0: ADD
00001bc1: SWAP1
00001bc2: POP
00001bc3: PUSH2 0x1bce
00001bc6: PUSH0
00001bc7: DUP4
00001bc8: ADD
00001bc9: DUP5
00001bca: PUSH2 0x1bac
00001bcd: JUMP
00001bce: JUMPDEST
00001bcf: SWAP3
00001bd0: SWAP2
00001bd1: POP
00001bd2: POP
00001bd3: JUMP
00001bd4: JUMPDEST
00001bd5: PUSH0
00001bd6: DUP2
00001bd7: ISZERO
00001bd8: ISZERO
00001bd9: SWAP1
00001bda: POP
00001bdb: SWAP2
00001bdc: SWAP1
00001bdd: POP
00001bde: JUMP
00001bdf: JUMPDEST
00001be0: PUSH2 0x1be8
00001be3: DUP2
00001be4: PUSH2 0x1bd4
00001be7: JUMP
00001be8: JUMPDEST
00001be9: DUP3
00001bea: MSTORE
00001beb: POP
00001bec: POP
00001bed: JUMP
00001bee: JUMPDEST
00001bef: PUSH0
00001bf0: PUSH1 0x20
00001bf2: DUP3
00001bf3: ADD
00001bf4: SWAP1
00001bf5: POP
00001bf6: PUSH2 0x1c01
00001bf9: PUSH0
00001bfa: DUP4
00001bfb: ADD
00001bfc: DUP5
00001bfd: PUSH2 0x1bdf
00001c00: JUMP
00001c01: JUMPDEST
00001c02: SWAP3
00001c03: SWAP2
00001c04: POP
00001c05: POP
00001c06: JUMP
00001c07: JUMPDEST
00001c08: PUSH2 0x1c10
00001c0b: DUP2
00001c0c: PUSH2 0x1aaa
00001c0f: JUMP
00001c10: JUMPDEST
00001c11: DUP3
00001c12: MSTORE
00001c13: POP
00001c14: POP
00001c15: JUMP
00001c16: JUMPDEST
00001c17: PUSH0
00001c18: DUP2
00001c19: MLOAD
00001c1a: SWAP1
00001c1b: POP
00001c1c: SWAP2
00001c1d: SWAP1
00001c1e: POP
00001c1f: JUMP
00001c20: JUMPDEST
00001c21: PUSH0
00001c22: DUP3
00001c23: DUP3
00001c24: MSTORE
00001c25: PUSH1 0x20
00001c27: DUP3
00001c28: ADD
00001c29: SWAP1
00001c2a: POP
00001c2b: SWAP3
00001c2c: SWAP2
00001c2d: POP
00001c2e: POP
00001c2f: JUMP
00001c30: JUMPDEST
00001c31: DUP3
00001c32: DUP2
00001c33: DUP4
00001c34: MCOPY
00001c35: PUSH0
00001c36: DUP4
00001c37: DUP4
00001c38: ADD
00001c39: MSTORE
00001c3a: POP
00001c3b: POP
00001c3c: POP
00001c3d: JUMP
00001c3e: JUMPDEST
00001c3f: PUSH0
00001c40: PUSH1 0x1f
00001c42: NOT
00001c43: PUSH1 0x1f
00001c45: DUP4
00001c46: ADD
00001c47: AND
00001c48: SWAP1
00001c49: POP
00001c4a: SWAP2
00001c4b: SWAP1
00001c4c: POP
00001c4d: JUMP
00001c4e: JUMPDEST
00001c4f: PUSH0
00001c50: PUSH2 0x1c58
00001c53: DUP3
00001c54: PUSH2 0x1c16
00001c57: JUMP
00001c58: JUMPDEST
00001c59: PUSH2 0x1c62
00001c5c: DUP2
00001c5d: DUP6
00001c5e: PUSH2 0x1c20
00001c61: JUMP
00001c62: JUMPDEST
00001c63: SWAP4
00001c64: POP
00001c65: PUSH2 0x1c72
00001c68: DUP2
00001c69: DUP6
00001c6a: PUSH1 0x20
00001c6c: DUP7
00001c6d: ADD
00001c6e: PUSH2 0x1c30
00001c71: JUMP
00001c72: JUMPDEST
00001c73: PUSH2 0x1c7b
00001c76: DUP2
00001c77: PUSH2 0x1c3e
00001c7a: JUMP
00001c7b: JUMPDEST
00001c7c: DUP5
00001c7d: ADD
00001c7e: SWAP2
00001c7f: POP
00001c80: POP
00001c81: SWAP3
00001c82: SWAP2
00001c83: POP
00001c84: POP
00001c85: JUMP
00001c86: JUMPDEST
00001c87: PUSH0
00001c88: PUSH2 0x0100
00001c8b: DUP3
00001c8c: ADD
00001c8d: SWAP1
00001c8e: POP
00001c8f: PUSH2 0x1c9a
00001c92: PUSH0
00001c93: DUP4
00001c94: ADD
00001c95: DUP12
00001c96: PUSH2 0x1bac
00001c99: JUMP
00001c9a: JUMPDEST
00001c9b: PUSH2 0x1ca7
00001c9e: PUSH1 0x20
00001ca0: DUP4
00001ca1: ADD
00001ca2: DUP11
00001ca3: PUSH2 0x1c07
00001ca6: JUMP
00001ca7: JUMPDEST
00001ca8: PUSH2 0x1cb4
00001cab: PUSH1 0x40
00001cad: DUP4
00001cae: ADD
00001caf: DUP10
00001cb0: PUSH2 0x1c07
00001cb3: JUMP
00001cb4: JUMPDEST
00001cb5: PUSH2 0x1cc1
00001cb8: PUSH1 0x60
00001cba: DUP4
00001cbb: ADD
00001cbc: DUP9
00001cbd: PUSH2 0x1bac
00001cc0: JUMP
00001cc1: JUMPDEST
00001cc2: DUP2
00001cc3: DUP2
00001cc4: SUB
00001cc5: PUSH1 0x80
00001cc7: DUP4
00001cc8: ADD
00001cc9: MSTORE
00001cca: PUSH2 0x1cd3
00001ccd: DUP2
00001cce: DUP8
00001ccf: PUSH2 0x1c4e
00001cd2: JUMP
00001cd3: JUMPDEST
00001cd4: SWAP1
00001cd5: POP
00001cd6: DUP2
00001cd7: DUP2
00001cd8: SUB
00001cd9: PUSH1 0xa0
00001cdb: DUP4
00001cdc: ADD
00001cdd: MSTORE
00001cde: PUSH2 0x1ce7
00001ce1: DUP2
00001ce2: DUP7
00001ce3: PUSH2 0x1c4e
00001ce6: JUMP
00001ce7: JUMPDEST
00001ce8: SWAP1
00001ce9: POP
00001cea: PUSH2 0x1cf6
00001ced: PUSH1 0xc0
00001cef: DUP4
00001cf0: ADD
00001cf1: DUP6
00001cf2: PUSH2 0x1bac
00001cf5: JUMP
00001cf6: JUMPDEST
00001cf7: PUSH2 0x1d03
00001cfa: PUSH1 0xe0
00001cfc: DUP4
00001cfd: ADD
00001cfe: DUP5
00001cff: PUSH2 0x1bdf
00001d02: JUMP
00001d03: JUMPDEST
00001d04: SWAP10
00001d05: SWAP9
00001d06: POP
00001d07: POP
00001d08: POP
00001d09: POP
00001d0a: POP
00001d0b: POP
00001d0c: POP
00001d0d: POP
00001d0e: POP
00001d0f: JUMP
00001d10: JUMPDEST
00001d11: PUSH0
00001d12: PUSH1 0x20
00001d14: DUP3
00001d15: ADD
00001d16: SWAP1
00001d17: POP
00001d18: PUSH2 0x1d23
00001d1b: PUSH0
00001d1c: DUP4
00001d1d: ADD
00001d1e: DUP5
00001d1f: PUSH2 0x1c07
00001d22: JUMP
00001d23: JUMPDEST
00001d24: SWAP3
00001d25: SWAP2
00001d26: POP
00001d27: POP
00001d28: JUMP
00001d29: JUMPDEST
00001d2a: PUSH0
00001d2b: PUSH0
00001d2c: REVERT
00001d2d: JUMPDEST
00001d2e: PUSH0
00001d2f: PUSH0
00001d30: REVERT
00001d31: JUMPDEST
00001d32: PUSH0
00001d33: PUSH0
00001d34: REVERT
00001d35: JUMPDEST
00001d36: PUSH0
00001d37: PUSH0
00001d38: DUP4
00001d39: PUSH1 0x1f
00001d3b: DUP5
00001d3c: ADD
00001d3d: SLT
00001d3e: PUSH2 0x1d4a
00001d41: JUMPI
00001d42: PUSH2 0x1d49
00001d45: PUSH2 0x1d29
00001d48: JUMP
00001d49: JUMPDEST
00001d4a: JUMPDEST
00001d4b: DUP3
00001d4c: CALLDATALOAD
00001d4d: SWAP1
00001d4e: POP
00001d4f: PUSH8 0xffffffffffffffff
00001d58: DUP2
00001d59: GT
00001d5a: ISZERO
00001d5b: PUSH2 0x1d67
00001d5e: JUMPI
00001d5f: PUSH2 0x1d66
00001d62: PUSH2 0x1d2d
00001d65: JUMP
00001d66: JUMPDEST
00001d67: JUMPDEST
00001d68: PUSH1 0x20
00001d6a: DUP4
00001d6b: ADD
00001d6c: SWAP2
00001d6d: POP
00001d6e: DUP4
00001d6f: PUSH1 0x01
00001d71: DUP3
00001d72: MUL
00001d73: DUP4
00001d74: ADD
00001d75: GT
00001d76: ISZERO
00001d77: PUSH2 0x1d83
00001d7a: JUMPI
00001d7b: PUSH2 0x1d82
00001d7e: PUSH2 0x1d31
00001d81: JUMP
00001d82: JUMPDEST
00001d83: JUMPDEST
00001d84: SWAP3
00001d85: POP
00001d86: SWAP3
00001d87: SWAP1
00001d88: POP
00001d89: JUMP
00001d8a: JUMPDEST
00001d8b: PUSH0
00001d8c: PUSH0
00001d8d: PUSH0
00001d8e: PUSH0
00001d8f: PUSH0
00001d90: PUSH1 0x60
00001d92: DUP7
00001d93: DUP9
00001d94: SUB
00001d95: SLT
00001d96: ISZERO
00001d97: PUSH2 0x1da3
00001d9a: JUMPI
00001d9b: PUSH2 0x1da2
00001d9e: PUSH2 0x1a83
00001da1: JUMP
00001da2: JUMPDEST
00001da3: JUMPDEST
00001da4: PUSH0
00001da5: PUSH2 0x1db0
00001da8: DUP9
00001da9: DUP3
00001daa: DUP10
00001dab: ADD
00001dac: PUSH2 0x1ad1
00001daf: JUMP
00001db0: JUMPDEST
00001db1: SWAP6
00001db2: POP
00001db3: POP
00001db4: PUSH1 0x20
00001db6: DUP7
00001db7: ADD
00001db8: CALLDATALOAD
00001db9: PUSH8 0xffffffffffffffff
00001dc2: DUP2
00001dc3: GT
00001dc4: ISZERO
00001dc5: PUSH2 0x1dd1
00001dc8: JUMPI
00001dc9: PUSH2 0x1dd0
00001dcc: PUSH2 0x1a87
00001dcf: JUMP
00001dd0: JUMPDEST
00001dd1: JUMPDEST
00001dd2: PUSH2 0x1ddd
00001dd5: DUP9
00001dd6: DUP3
00001dd7: DUP10
00001dd8: ADD
00001dd9: PUSH2 0x1d35
00001ddc: JUMP
00001ddd: JUMPDEST
00001dde: SWAP5
00001ddf: POP
00001de0: SWAP5
00001de1: POP
00001de2: POP
00001de3: PUSH1 0x40
00001de5: DUP7
00001de6: ADD
00001de7: CALLDATALOAD
00001de8: PUSH8 0xffffffffffffffff
00001df1: DUP2
00001df2: GT
00001df3: ISZERO
00001df4: PUSH2 0x1e00
00001df7: JUMPI
00001df8: PUSH2 0x1dff
00001dfb: PUSH2 0x1a87
00001dfe: JUMP
00001dff: JUMPDEST
00001e00: JUMPDEST
00001e01: PUSH2 0x1e0c
00001e04: DUP9
00001e05: DUP3
00001e06: DUP10
00001e07: ADD
00001e08: PUSH2 0x1d35
00001e0b: JUMP
00001e0c: JUMPDEST
00001e0d: SWAP3
00001e0e: POP
00001e0f: SWAP3
00001e10: POP
00001e11: POP
00001e12: SWAP3
00001e13: SWAP6
00001e14: POP
00001e15: SWAP3
00001e16: SWAP6
00001e17: SWAP1
00001e18: SWAP4
00001e19: POP
00001e1a: JUMP
00001e1b: JUMPDEST
00001e1c: PUSH0
00001e1d: DUP2
00001e1e: MLOAD
00001e1f: SWAP1
00001e20: POP
00001e21: SWAP2
00001e22: SWAP1
00001e23: POP
00001e24: JUMP
00001e25: JUMPDEST
00001e26: PUSH0
00001e27: DUP3
00001e28: DUP3
00001e29: MSTORE
00001e2a: PUSH1 0x20
00001e2c: DUP3
00001e2d: ADD
00001e2e: SWAP1
00001e2f: POP
00001e30: SWAP3
00001e31: SWAP2
00001e32: POP
00001e33: POP
00001e34: JUMP
00001e35: JUMPDEST
00001e36: PUSH0
00001e37: DUP2
00001e38: SWAP1
00001e39: POP
00001e3a: PUSH1 0x20
00001e3c: DUP3
00001e3d: ADD
00001e3e: SWAP1
00001e3f: POP
00001e40: SWAP2
00001e41: SWAP1
00001e42: POP
00001e43: JUMP
00001e44: JUMPDEST
00001e45: PUSH2 0x1e4d
00001e48: DUP2
00001e49: PUSH2 0x1b23
00001e4c: JUMP
00001e4d: JUMPDEST
00001e4e: DUP3
00001e4f: MSTORE
00001e50: POP
00001e51: POP
00001e52: JUMP
00001e53: JUMPDEST
00001e54: PUSH0
00001e55: PUSH2 0x1e5e
00001e58: DUP4
00001e59: DUP4
00001e5a: PUSH2 0x1e44
00001e5d: JUMP
00001e5e: JUMPDEST
00001e5f: PUSH1 0x20
00001e61: DUP4
00001e62: ADD
00001e63: SWAP1
00001e64: POP
00001e65: SWAP3
00001e66: SWAP2
00001e67: POP
00001e68: POP
00001e69: JUMP
00001e6a: JUMPDEST
00001e6b: PUSH0
00001e6c: PUSH1 0x20
00001e6e: DUP3
00001e6f: ADD
00001e70: SWAP1
00001e71: POP
00001e72: SWAP2
00001e73: SWAP1
00001e74: POP
00001e75: JUMP
00001e76: JUMPDEST
00001e77: PUSH0
00001e78: PUSH2 0x1e80
00001e7b: DUP3
00001e7c: PUSH2 0x1e1b
00001e7f: JUMP
00001e80: JUMPDEST
00001e81: PUSH2 0x1e8a
00001e84: DUP2
00001e85: DUP6
00001e86: PUSH2 0x1e25
00001e89: JUMP
00001e8a: JUMPDEST
00001e8b: SWAP4
00001e8c: POP
00001e8d: PUSH2 0x1e95
00001e90: DUP4
00001e91: PUSH2 0x1e35
00001e94: JUMP
00001e95: JUMPDEST
00001e96: DUP1
00001e97: PUSH0
00001e98: JUMPDEST
00001e99: DUP4
00001e9a: DUP2
00001e9b: LT
00001e9c: ISZERO
00001e9d: PUSH2 0x1ec5
00001ea0: JUMPI
00001ea1: DUP2
00001ea2: MLOAD
00001ea3: PUSH2 0x1eac
00001ea6: DUP9
00001ea7: DUP3
00001ea8: PUSH2 0x1e53
00001eab: JUMP
00001eac: JUMPDEST
00001ead: SWAP8
00001eae: POP
00001eaf: PUSH2 0x1eb7
00001eb2: DUP4
00001eb3: PUSH2 0x1e6a
00001eb6: JUMP
00001eb7: JUMPDEST
00001eb8: SWAP3
00001eb9: POP
00001eba: POP
00001ebb: PUSH1 0x01
00001ebd: DUP2
00001ebe: ADD
00001ebf: SWAP1
00001ec0: POP
00001ec1: PUSH2 0x1e98
00001ec4: JUMP
00001ec5: JUMPDEST
00001ec6: POP
00001ec7: DUP6
00001ec8: SWAP4
00001ec9: POP
00001eca: POP
00001ecb: POP
00001ecc: POP
00001ecd: SWAP3
00001ece: SWAP2
00001ecf: POP
00001ed0: POP
00001ed1: JUMP
00001ed2: JUMPDEST
00001ed3: PUSH0
00001ed4: PUSH1 0x20
00001ed6: DUP3
00001ed7: ADD
00001ed8: SWAP1
00001ed9: POP
00001eda: DUP2
00001edb: DUP2
00001edc: SUB
00001edd: PUSH0
00001ede: DUP4
00001edf: ADD
00001ee0: MSTORE
00001ee1: PUSH2 0x1eea
00001ee4: DUP2
00001ee5: DUP5
00001ee6: PUSH2 0x1e76
00001ee9: JUMP
00001eea: JUMPDEST
00001eeb: SWAP1
00001eec: POP
00001eed: SWAP3
00001eee: SWAP2
00001eef: POP
00001ef0: POP
00001ef1: JUMP
00001ef2: JUMPDEST
00001ef3: PUSH0
00001ef4: PUSH0
00001ef5: PUSH1 0x40
00001ef7: DUP4
00001ef8: DUP6
00001ef9: SUB
00001efa: SLT
00001efb: ISZERO
00001efc: PUSH2 0x1f08
00001eff: JUMPI
00001f00: PUSH2 0x1f07
00001f03: PUSH2 0x1a83
00001f06: JUMP
00001f07: JUMPDEST
00001f08: JUMPDEST
00001f09: PUSH0
00001f0a: PUSH2 0x1f15
00001f0d: DUP6
00001f0e: DUP3
00001f0f: DUP7
00001f10: ADD
00001f11: PUSH2 0x1ad1
00001f14: JUMP
00001f15: JUMPDEST
00001f16: SWAP3
00001f17: POP
00001f18: POP
00001f19: PUSH1 0x20
00001f1b: PUSH2 0x1f26
00001f1e: DUP6
00001f1f: DUP3
00001f20: DUP7
00001f21: ADD
00001f22: PUSH2 0x1b42
00001f25: JUMP
00001f26: JUMPDEST
00001f27: SWAP2
00001f28: POP
00001f29: POP
00001f2a: SWAP3
00001f2b: POP
00001f2c: SWAP3
00001f2d: SWAP1
00001f2e: POP
00001f2f: JUMP
00001f30: JUMPDEST
00001f31: PUSH2 0x1f39
00001f34: DUP2
00001f35: PUSH2 0x1bd4
00001f38: JUMP
00001f39: JUMPDEST
00001f3a: DUP2
00001f3b: EQ
00001f3c: PUSH2 0x1f43
00001f3f: JUMPI
00001f40: PUSH0
00001f41: PUSH0
00001f42: REVERT
00001f43: JUMPDEST
00001f44: POP
00001f45: JUMP
00001f46: JUMPDEST
00001f47: PUSH0
00001f48: DUP2
00001f49: CALLDATALOAD
00001f4a: SWAP1
00001f4b: POP
00001f4c: PUSH2 0x1f54
00001f4f: DUP2
00001f50: PUSH2 0x1f30
00001f53: JUMP
00001f54: JUMPDEST
00001f55: SWAP3
00001f56: SWAP2
00001f57: POP
00001f58: POP
00001f59: JUMP
00001f5a: JUMPDEST
00001f5b: PUSH0
00001f5c: PUSH0
00001f5d: PUSH1 0x40
00001f5f: DUP4
00001f60: DUP6
00001f61: SUB
00001f62: SLT
00001f63: ISZERO
00001f64: PUSH2 0x1f70
00001f67: JUMPI
00001f68: PUSH2 0x1f6f
00001f6b: PUSH2 0x1a83
00001f6e: JUMP
00001f6f: JUMPDEST
00001f70: JUMPDEST
00001f71: PUSH0
00001f72: PUSH2 0x1f7d
00001f75: DUP6
00001f76: DUP3
00001f77: DUP7
00001f78: ADD
00001f79: PUSH2 0x1ad1
00001f7c: JUMP
00001f7d: JUMPDEST
00001f7e: SWAP3
00001f7f: POP
00001f80: POP
00001f81: PUSH1 0x20
00001f83: PUSH2 0x1f8e
00001f86: DUP6
00001f87: DUP3
00001f88: DUP7
00001f89: ADD
00001f8a: PUSH2 0x1f46
00001f8d: JUMP
00001f8e: JUMPDEST
00001f8f: SWAP2
00001f90: POP
00001f91: POP
00001f92: SWAP3
00001f93: POP
00001f94: SWAP3
00001f95: SWAP1
00001f96: POP
00001f97: JUMP
00001f98: JUMPDEST
00001f99: PUSH32 0x496e76616c696420726563697069656e74000000000000000000000000000000
00001fba: PUSH0
00001fbb: DUP3
00001fbc: ADD
00001fbd: MSTORE
00001fbe: POP
00001fbf: JUMP
00001fc0: JUMPDEST
00001fc1: PUSH0
00001fc2: PUSH2 0x1fcc
00001fc5: PUSH1 0x11
00001fc7: DUP4
00001fc8: PUSH2 0x1c20
00001fcb: JUMP
00001fcc: JUMPDEST
00001fcd: SWAP2
00001fce: POP
00001fcf: PUSH2 0x1fd7
00001fd2: DUP3
00001fd3: PUSH2 0x1f98
00001fd6: JUMP
00001fd7: JUMPDEST
00001fd8: PUSH1 0x20
00001fda: DUP3
00001fdb: ADD
00001fdc: SWAP1
00001fdd: POP
00001fde: SWAP2
00001fdf: SWAP1
00001fe0: POP
00001fe1: JUMP
00001fe2: JUMPDEST
00001fe3: PUSH0
00001fe4: PUSH1 0x20
00001fe6: DUP3
00001fe7: ADD
00001fe8: SWAP1
00001fe9: POP
00001fea: DUP2
00001feb: DUP2
00001fec: SUB
00001fed: PUSH0
00001fee: DUP4
00001fef: ADD
00001ff0: MSTORE
00001ff1: PUSH2 0x1ff9
00001ff4: DUP2
00001ff5: PUSH2 0x1fc0
00001ff8: JUMP
00001ff9: JUMPDEST
00001ffa: SWAP1
00001ffb: POP
00001ffc: SWAP2
00001ffd: SWAP1
00001ffe: POP
00001fff: JUMP
00002000: JUMPDEST
00002001: PUSH32 0x546f6b656e206e6f7420737570706f7274656400000000000000000000000000
00002022: PUSH0
00002023: DUP3
00002024: ADD
00002025: MSTORE
00002026: POP
00002027: JUMP
00002028: JUMPDEST
00002029: PUSH0
0000202a: PUSH2 0x2034
0000202d: PUSH1 0x13
0000202f: DUP4
00002030: PUSH2 0x1c20
00002033: JUMP
00002034: JUMPDEST
00002035: SWAP2
00002036: POP
00002037: PUSH2 0x203f
0000203a: DUP3
0000203b: PUSH2 0x2000
0000203e: JUMP
0000203f: JUMPDEST
00002040: PUSH1 0x20
00002042: DUP3
00002043: ADD
00002044: SWAP1
00002045: POP
00002046: SWAP2
00002047: SWAP1
00002048: POP
00002049: JUMP
0000204a: JUMPDEST
0000204b: PUSH0
0000204c: PUSH1 0x20
0000204e: DUP3
0000204f: ADD
00002050: SWAP1
00002051: POP
00002052: DUP2
00002053: DUP2
00002054: SUB
00002055: PUSH0
00002056: DUP4
00002057: ADD
00002058: MSTORE
00002059: PUSH2 0x2061
0000205c: DUP2
0000205d: PUSH2 0x2028
00002060: JUMP
00002061: JUMPDEST
00002062: SWAP1
00002063: POP
00002064: SWAP2
00002065: SWAP1
00002066: POP
00002067: JUMP
00002068: JUMPDEST
00002069: PUSH0
0000206a: DUP2
0000206b: MLOAD
0000206c: SWAP1
0000206d: POP
0000206e: PUSH2 0x2076
00002071: DUP2
00002072: PUSH2 0x1b2c
00002075: JUMP
00002076: JUMPDEST
00002077: SWAP3
00002078: SWAP2
00002079: POP
0000207a: POP
0000207b: JUMP
0000207c: JUMPDEST
0000207d: PUSH0
0000207e: PUSH1 0x20
00002080: DUP3
00002081: DUP5
00002082: SUB
00002083: SLT
00002084: ISZERO
00002085: PUSH2 0x2091
00002088: JUMPI
00002089: PUSH2 0x2090
0000208c: PUSH2 0x1a83
0000208f: JUMP
00002090: JUMPDEST
00002091: JUMPDEST
00002092: PUSH0
00002093: PUSH2 0x209e
00002096: DUP5
00002097: DUP3
00002098: DUP6
00002099: ADD
0000209a: PUSH2 0x2068
0000209d: JUMP
0000209e: JUMPDEST
0000209f: SWAP2
000020a0: POP
000020a1: POP
000020a2: SWAP3
000020a3: SWAP2
000020a4: POP
000020a5: POP
000020a6: JUMP
000020a7: JUMPDEST
000020a8: PUSH32 0x4e6f2066756e647320746f207769746864726177000000000000000000000000
000020c9: PUSH0
000020ca: DUP3
000020cb: ADD
000020cc: MSTORE
000020cd: POP
000020ce: JUMP
000020cf: JUMPDEST
000020d0: PUSH0
000020d1: PUSH2 0x20db
000020d4: PUSH1 0x14
000020d6: DUP4
000020d7: PUSH2 0x1c20
000020da: JUMP
000020db: JUMPDEST
000020dc: SWAP2
000020dd: POP
000020de: PUSH2 0x20e6
000020e1: DUP3
000020e2: PUSH2 0x20a7
000020e5: JUMP
000020e6: JUMPDEST
000020e7: PUSH1 0x20
000020e9: DUP3
000020ea: ADD
000020eb: SWAP1
000020ec: POP
000020ed: SWAP2
000020ee: SWAP1
000020ef: POP
000020f0: JUMP
000020f1: JUMPDEST
000020f2: PUSH0
000020f3: PUSH1 0x20
000020f5: DUP3
000020f6: ADD
000020f7: SWAP1
000020f8: POP
000020f9: DUP2
000020fa: DUP2
000020fb: SUB
000020fc: PUSH0
000020fd: DUP4
000020fe: ADD
000020ff: MSTORE
00002100: PUSH2 0x2108
00002103: DUP2
00002104: PUSH2 0x20cf
00002107: JUMP
00002108: JUMPDEST
00002109: SWAP1
0000210a: POP
0000210b: SWAP2
0000210c: SWAP1
0000210d: POP
0000210e: JUMP
0000210f: JUMPDEST
00002110: PUSH0
00002111: PUSH1 0x40
00002113: DUP3
00002114: ADD
00002115: SWAP1
00002116: POP
00002117: PUSH2 0x2122
0000211a: PUSH0
0000211b: DUP4
0000211c: ADD
0000211d: DUP6
0000211e: PUSH2 0x1c07
00002121: JUMP
00002122: JUMPDEST
00002123: PUSH2 0x212f
00002126: PUSH1 0x20
00002128: DUP4
00002129: ADD
0000212a: DUP5
0000212b: PUSH2 0x1bac
0000212e: JUMP
0000212f: JUMPDEST
00002130: SWAP4
00002131: SWAP3
00002132: POP
00002133: POP
00002134: POP
00002135: JUMP
00002136: JUMPDEST
00002137: PUSH0
00002138: DUP2
00002139: MLOAD
0000213a: SWAP1
0000213b: POP
0000213c: PUSH2 0x2144
0000213f: DUP2
00002140: PUSH2 0x1f30
00002143: JUMP
00002144: JUMPDEST
00002145: SWAP3
00002146: SWAP2
00002147: POP
00002148: POP
00002149: JUMP
0000214a: JUMPDEST
0000214b: PUSH0
0000214c: PUSH1 0x20
0000214e: DUP3
0000214f: DUP5
00002150: SUB
00002151: SLT
00002152: ISZERO
00002153: PUSH2 0x215f
00002156: JUMPI
00002157: PUSH2 0x215e
0000215a: PUSH2 0x1a83
0000215d: JUMP
0000215e: JUMPDEST
0000215f: JUMPDEST
00002160: PUSH0
00002161: PUSH2 0x216c
00002164: DUP5
00002165: DUP3
00002166: DUP6
00002167: ADD
00002168: PUSH2 0x2136
0000216b: JUMP
0000216c: JUMPDEST
0000216d: SWAP2
0000216e: POP
0000216f: POP
00002170: SWAP3
00002171: SWAP2
00002172: POP
00002173: POP
00002174: JUMP
00002175: JUMPDEST
00002176: PUSH32 0x5075726368617365206e6f7420666f756e640000000000000000000000000000
00002197: PUSH0
00002198: DUP3
00002199: ADD
0000219a: MSTORE
0000219b: POP
0000219c: JUMP
0000219d: JUMPDEST
0000219e: PUSH0
0000219f: PUSH2 0x21a9
000021a2: PUSH1 0x12
000021a4: DUP4
000021a5: PUSH2 0x1c20
000021a8: JUMP
000021a9: JUMPDEST
000021aa: SWAP2
000021ab: POP
000021ac: PUSH2 0x21b4
000021af: DUP3
000021b0: PUSH2 0x2175
000021b3: JUMP
000021b4: JUMPDEST
000021b5: PUSH1 0x20
000021b7: DUP3
000021b8: ADD
000021b9: SWAP1
000021ba: POP
000021bb: SWAP2
000021bc: SWAP1
000021bd: POP
000021be: JUMP
000021bf: JUMPDEST
000021c0: PUSH0
000021c1: PUSH1 0x20
000021c3: DUP3
000021c4: ADD
000021c5: SWAP1
000021c6: POP
000021c7: DUP2
000021c8: DUP2
000021c9: SUB
000021ca: PUSH0
000021cb: DUP4
000021cc: ADD
000021cd: MSTORE
000021ce: PUSH2 0x21d6
000021d1: DUP2
000021d2: PUSH2 0x219d
000021d5: JUMP
000021d6: JUMPDEST
000021d7: SWAP1
000021d8: POP
000021d9: SWAP2
000021da: SWAP1
000021db: POP
000021dc: JUMP
000021dd: JUMPDEST
000021de: PUSH32 0x416c726561647920726566756e64656400000000000000000000000000000000
000021ff: PUSH0
00002200: DUP3
00002201: ADD
00002202: MSTORE
00002203: POP
00002204: JUMP
00002205: JUMPDEST
00002206: PUSH0
00002207: PUSH2 0x2211
0000220a: PUSH1 0x10
0000220c: DUP4
0000220d: PUSH2 0x1c20
00002210: JUMP
00002211: JUMPDEST
00002212: SWAP2
00002213: POP
00002214: PUSH2 0x221c
00002217: DUP3
00002218: PUSH2 0x21dd
0000221b: JUMP
0000221c: JUMPDEST
0000221d: PUSH1 0x20
0000221f: DUP3
00002220: ADD
00002221: SWAP1
00002222: POP
00002223: SWAP2
00002224: SWAP1
00002225: POP
00002226: JUMP
00002227: JUMPDEST
00002228: PUSH0
00002229: PUSH1 0x20
0000222b: DUP3
0000222c: ADD
0000222d: SWAP1
0000222e: POP
0000222f: DUP2
00002230: DUP2
00002231: SUB
00002232: PUSH0
00002233: DUP4
00002234: ADD
00002235: MSTORE
00002236: PUSH2 0x223e
00002239: DUP2
0000223a: PUSH2 0x2205
0000223d: JUMP
0000223e: JUMPDEST
0000223f: SWAP1
00002240: POP
00002241: SWAP2
00002242: SWAP1
00002243: POP
00002244: JUMP
00002245: JUMPDEST
00002246: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00002267: PUSH0
00002268: MSTORE
00002269: PUSH1 0x22
0000226b: PUSH1 0x04
0000226d: MSTORE
0000226e: PUSH1 0x24
00002270: PUSH0
00002271: REVERT
00002272: JUMPDEST
00002273: PUSH0
00002274: PUSH1 0x02
00002276: DUP3
00002277: DIV
00002278: SWAP1
00002279: POP
0000227a: PUSH1 0x01
0000227c: DUP3
0000227d: AND
0000227e: DUP1
0000227f: PUSH2 0x2289
00002282: JUMPI
00002283: PUSH1 0x7f
00002285: DUP3
00002286: AND
00002287: SWAP2
00002288: POP
00002289: JUMPDEST
0000228a: PUSH1 0x20
0000228c: DUP3
0000228d: LT
0000228e: DUP2
0000228f: SUB
00002290: PUSH2 0x229c
00002293: JUMPI
00002294: PUSH2 0x229b
00002297: PUSH2 0x2245
0000229a: JUMP
0000229b: JUMPDEST
0000229c: JUMPDEST
0000229d: POP
0000229e: SWAP2
0000229f: SWAP1
000022a0: POP
000022a1: JUMP
000022a2: JUMPDEST
000022a3: PUSH32 0x50726963652073686f756c64206265203e203000000000000000000000000000
000022c4: PUSH0
000022c5: DUP3
000022c6: ADD
000022c7: MSTORE
000022c8: POP
000022c9: JUMP
000022ca: JUMPDEST
000022cb: PUSH0
000022cc: PUSH2 0x22d6
000022cf: PUSH1 0x13
000022d1: DUP4
000022d2: PUSH2 0x1c20
000022d5: JUMP
000022d6: JUMPDEST
000022d7: SWAP2
000022d8: POP
000022d9: PUSH2 0x22e1
000022dc: DUP3
000022dd: PUSH2 0x22a2
000022e0: JUMP
000022e1: JUMPDEST
000022e2: PUSH1 0x20
000022e4: DUP3
000022e5: ADD
000022e6: SWAP1
000022e7: POP
000022e8: SWAP2
000022e9: SWAP1
000022ea: POP
000022eb: JUMP
000022ec: JUMPDEST
000022ed: PUSH0
000022ee: PUSH1 0x20
000022f0: DUP3
000022f1: ADD
000022f2: SWAP1
000022f3: POP
000022f4: DUP2
000022f5: DUP2
000022f6: SUB
000022f7: PUSH0
000022f8: DUP4
000022f9: ADD
000022fa: MSTORE
000022fb: PUSH2 0x2303
000022fe: DUP2
000022ff: PUSH2 0x22ca
00002302: JUMP
00002303: JUMPDEST
00002304: SWAP1
00002305: POP
00002306: SWAP2
00002307: SWAP1
00002308: POP
00002309: JUMP
0000230a: JUMPDEST
0000230b: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
0000232c: PUSH0
0000232d: MSTORE
0000232e: PUSH1 0x11
00002330: PUSH1 0x04
00002332: MSTORE
00002333: PUSH1 0x24
00002335: PUSH0
00002336: REVERT
00002337: JUMPDEST
00002338: PUSH0
00002339: PUSH2 0x2341
0000233c: DUP3
0000233d: PUSH2 0x1b23
00002340: JUMP
00002341: JUMPDEST
00002342: SWAP2
00002343: POP
00002344: PUSH2 0x234c
00002347: DUP4
00002348: PUSH2 0x1b23
0000234b: JUMP
0000234c: JUMPDEST
0000234d: SWAP3
0000234e: POP
0000234f: DUP3
00002350: DUP3
00002351: MUL
00002352: PUSH2 0x235a
00002355: DUP2
00002356: PUSH2 0x1b23
00002359: JUMP
0000235a: JUMPDEST
0000235b: SWAP2
0000235c: POP
0000235d: DUP3
0000235e: DUP3
0000235f: DIV
00002360: DUP5
00002361: EQ
00002362: DUP4
00002363: ISZERO
00002364: OR
00002365: PUSH2 0x2371
00002368: JUMPI
00002369: PUSH2 0x2370
0000236c: PUSH2 0x230a
0000236f: JUMP
00002370: JUMPDEST
00002371: JUMPDEST
00002372: POP
00002373: SWAP3
00002374: SWAP2
00002375: POP
00002376: POP
00002377: JUMP
00002378: JUMPDEST
00002379: PUSH0
0000237a: PUSH1 0x60
0000237c: DUP3
0000237d: ADD
0000237e: SWAP1
0000237f: POP
00002380: PUSH2 0x238b
00002383: PUSH0
00002384: DUP4
00002385: ADD
00002386: DUP7
00002387: PUSH2 0x1bac
0000238a: JUMP
0000238b: JUMPDEST
0000238c: PUSH2 0x2398
0000238f: PUSH1 0x20
00002391: DUP4
00002392: ADD
00002393: DUP6
00002394: PUSH2 0x1bac
00002397: JUMP
00002398: JUMPDEST
00002399: PUSH2 0x23a5
0000239c: PUSH1 0x40
0000239e: DUP4
0000239f: ADD
000023a0: DUP5
000023a1: PUSH2 0x1bac
000023a4: JUMP
000023a5: JUMPDEST
000023a6: SWAP5
000023a7: SWAP4
000023a8: POP
000023a9: POP
000023aa: POP
000023ab: POP
000023ac: JUMP
000023ad: JUMPDEST
000023ae: PUSH32 0x536f6c616e612061646472657373207265717569726564000000000000000000
000023cf: PUSH0
000023d0: DUP3
000023d1: ADD
000023d2: MSTORE
000023d3: POP
000023d4: JUMP
000023d5: JUMPDEST
000023d6: PUSH0
000023d7: PUSH2 0x23e1
000023da: PUSH1 0x17
000023dc: DUP4
000023dd: PUSH2 0x1c20
000023e0: JUMP
000023e1: JUMPDEST
000023e2: SWAP2
000023e3: POP
000023e4: PUSH2 0x23ec
000023e7: DUP3
000023e8: PUSH2 0x23ad
000023eb: JUMP
000023ec: JUMPDEST
000023ed: PUSH1 0x20
000023ef: DUP3
000023f0: ADD
000023f1: SWAP1
000023f2: POP
000023f3: SWAP2
000023f4: SWAP1
000023f5: POP
000023f6: JUMP
000023f7: JUMPDEST
000023f8: PUSH0
000023f9: PUSH1 0x20
000023fb: DUP3
000023fc: ADD
000023fd: SWAP1
000023fe: POP
000023ff: DUP2
00002400: DUP2
00002401: SUB
00002402: PUSH0
00002403: DUP4
00002404: ADD
00002405: MSTORE
00002406: PUSH2 0x240e
00002409: DUP2
0000240a: PUSH2 0x23d5
0000240d: JUMP
0000240e: JUMPDEST
0000240f: SWAP1
00002410: POP
00002411: SWAP2
00002412: SWAP1
00002413: POP
00002414: JUMP
00002415: JUMPDEST
00002416: PUSH32 0x4d65746164617461205552492072657175697265640000000000000000000000
00002437: PUSH0
00002438: DUP3
00002439: ADD
0000243a: MSTORE
0000243b: POP
0000243c: JUMP
0000243d: JUMPDEST
0000243e: PUSH0
0000243f: PUSH2 0x2449
00002442: PUSH1 0x15
00002444: DUP4
00002445: PUSH2 0x1c20
00002448: JUMP
00002449: JUMPDEST
0000244a: SWAP2
0000244b: POP
0000244c: PUSH2 0x2454
0000244f: DUP3
00002450: PUSH2 0x2415
00002453: JUMP
00002454: JUMPDEST
00002455: PUSH1 0x20
00002457: DUP3
00002458: ADD
00002459: SWAP1
0000245a: POP
0000245b: SWAP2
0000245c: SWAP1
0000245d: POP
0000245e: JUMP
0000245f: JUMPDEST
00002460: PUSH0
00002461: PUSH1 0x20
00002463: DUP3
00002464: ADD
00002465: SWAP1
00002466: POP
00002467: DUP2
00002468: DUP2
00002469: SUB
0000246a: PUSH0
0000246b: DUP4
0000246c: ADD
0000246d: MSTORE
0000246e: PUSH2 0x2476
00002471: DUP2
00002472: PUSH2 0x243d
00002475: JUMP
00002476: JUMPDEST
00002477: SWAP1
00002478: POP
00002479: SWAP2
0000247a: SWAP1
0000247b: POP
0000247c: JUMP
0000247d: JUMPDEST
0000247e: PUSH32 0x496e76616c696420536f6c616e61206164647265737320666f726d6174000000
0000249f: PUSH0
000024a0: DUP3
000024a1: ADD
000024a2: MSTORE
000024a3: POP
000024a4: JUMP
000024a5: JUMPDEST
000024a6: PUSH0
000024a7: PUSH2 0x24b1
000024aa: PUSH1 0x1d
000024ac: DUP4
000024ad: PUSH2 0x1c20
000024b0: JUMP
000024b1: JUMPDEST
000024b2: SWAP2
000024b3: POP
000024b4: PUSH2 0x24bc
000024b7: DUP3
000024b8: PUSH2 0x247d
000024bb: JUMP
000024bc: JUMPDEST
000024bd: PUSH1 0x20
000024bf: DUP3
000024c0: ADD
000024c1: SWAP1
000024c2: POP
000024c3: SWAP2
000024c4: SWAP1
000024c5: POP
000024c6: JUMP
000024c7: JUMPDEST
000024c8: PUSH0
000024c9: PUSH1 0x20
000024cb: DUP3
000024cc: ADD
000024cd: SWAP1
000024ce: POP
000024cf: DUP2
000024d0: DUP2
000024d1: SUB
000024d2: PUSH0
000024d3: DUP4
000024d4: ADD
000024d5: MSTORE
000024d6: PUSH2 0x24de
000024d9: DUP2
000024da: PUSH2 0x24a5
000024dd: JUMP
000024de: JUMPDEST
000024df: SWAP1
000024e0: POP
000024e1: SWAP2
000024e2: SWAP1
000024e3: POP
000024e4: JUMP
000024e5: JUMPDEST
000024e6: PUSH0
000024e7: PUSH1 0x60
000024e9: DUP3
000024ea: ADD
000024eb: SWAP1
000024ec: POP
000024ed: PUSH2 0x24f8
000024f0: PUSH0
000024f1: DUP4
000024f2: ADD
000024f3: DUP7
000024f4: PUSH2 0x1c07
000024f7: JUMP
000024f8: JUMPDEST
000024f9: PUSH2 0x2505
000024fc: PUSH1 0x20
000024fe: DUP4
000024ff: ADD
00002500: DUP6
00002501: PUSH2 0x1c07
00002504: JUMP
00002505: JUMPDEST
00002506: PUSH2 0x2512
00002509: PUSH1 0x40
0000250b: DUP4
0000250c: ADD
0000250d: DUP5
0000250e: PUSH2 0x1bac
00002511: JUMP
00002512: JUMPDEST
00002513: SWAP5
00002514: SWAP4
00002515: POP
00002516: POP
00002517: POP
00002518: POP
00002519: JUMP
0000251a: JUMPDEST
0000251b: PUSH0
0000251c: PUSH2 0x2524
0000251f: DUP3
00002520: PUSH2 0x1b23
00002523: JUMP
00002524: JUMPDEST
00002525: SWAP2
00002526: POP
00002527: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002548: DUP3
00002549: SUB
0000254a: PUSH2 0x2556
0000254d: JUMPI
0000254e: PUSH2 0x2555
00002551: PUSH2 0x230a
00002554: JUMP
00002555: JUMPDEST
00002556: JUMPDEST
00002557: PUSH1 0x01
00002559: DUP3
0000255a: ADD
0000255b: SWAP1
0000255c: POP
0000255d: SWAP2
0000255e: SWAP1
0000255f: POP
00002560: JUMP
00002561: JUMPDEST
00002562: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00002583: PUSH0
00002584: MSTORE
00002585: PUSH1 0x41
00002587: PUSH1 0x04
00002589: MSTORE
0000258a: PUSH1 0x24
0000258c: PUSH0
0000258d: REVERT
0000258e: JUMPDEST
0000258f: PUSH0
00002590: DUP2
00002591: SWAP1
00002592: POP
00002593: DUP2
00002594: PUSH0
00002595: MSTORE
00002596: PUSH1 0x20
00002598: PUSH0
00002599: KECCAK256
0000259a: SWAP1
0000259b: POP
0000259c: SWAP2
0000259d: SWAP1
0000259e: POP
0000259f: JUMP
000025a0: JUMPDEST
000025a1: PUSH0
000025a2: PUSH1 0x20
000025a4: PUSH1 0x1f
000025a6: DUP4
000025a7: ADD
000025a8: DIV
000025a9: SWAP1
000025aa: POP
000025ab: SWAP2
000025ac: SWAP1
000025ad: POP
000025ae: JUMP
000025af: JUMPDEST
000025b0: PUSH0
000025b1: DUP3
000025b2: DUP3
000025b3: SHL
000025b4: SWAP1
000025b5: POP
000025b6: SWAP3
000025b7: SWAP2
000025b8: POP
000025b9: POP
000025ba: JUMP
000025bb: JUMPDEST
000025bc: PUSH0
000025bd: PUSH1 0x08
000025bf: DUP4
000025c0: MUL
000025c1: PUSH2 0x25ea
000025c4: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000025e5: DUP3
000025e6: PUSH2 0x25af
000025e9: JUMP
000025ea: JUMPDEST
000025eb: PUSH2 0x25f4
000025ee: DUP7
000025ef: DUP4
000025f0: PUSH2 0x25af
000025f3: JUMP
000025f4: JUMPDEST
000025f5: SWAP6
000025f6: POP
000025f7: DUP1
000025f8: NOT
000025f9: DUP5
000025fa: AND
000025fb: SWAP4
000025fc: POP
000025fd: DUP1
000025fe: DUP7
000025ff: AND
00002600: DUP5
00002601: OR
00002602: SWAP3
00002603: POP
00002604: POP
00002605: POP
00002606: SWAP4
00002607: SWAP3
00002608: POP
00002609: POP
0000260a: POP
0000260b: JUMP
0000260c: JUMPDEST
0000260d: PUSH0
0000260e: DUP2
0000260f: SWAP1
00002610: POP
00002611: SWAP2
00002612: SWAP1
00002613: POP
00002614: JUMP
00002615: JUMPDEST
00002616: PUSH0
00002617: PUSH2 0x262f
0000261a: PUSH2 0x262a
0000261d: PUSH2 0x2625
00002620: DUP5
00002621: PUSH2 0x1b23
00002624: JUMP
00002625: JUMPDEST
00002626: PUSH2 0x260c
00002629: JUMP
0000262a: JUMPDEST
0000262b: PUSH2 0x1b23
0000262e: JUMP
0000262f: JUMPDEST
00002630: SWAP1
00002631: POP
00002632: SWAP2
00002633: SWAP1
00002634: POP
00002635: JUMP
00002636: JUMPDEST
00002637: PUSH0
00002638: DUP2
00002639: SWAP1
0000263a: POP
0000263b: SWAP2
0000263c: SWAP1
0000263d: POP
0000263e: JUMP
0000263f: JUMPDEST
00002640: PUSH2 0x2648
00002643: DUP4
00002644: PUSH2 0x2615
00002647: JUMP
00002648: JUMPDEST
00002649: PUSH2 0x265c
0000264c: PUSH2 0x2654
0000264f: DUP3
00002650: PUSH2 0x2636
00002653: JUMP
00002654: JUMPDEST
00002655: DUP5
00002656: DUP5
00002657: SLOAD
00002658: PUSH2 0x25bb
0000265b: JUMP
0000265c: JUMPDEST
0000265d: DUP3
0000265e: SSTORE
0000265f: POP
00002660: POP
00002661: POP
00002662: POP
00002663: JUMP
00002664: JUMPDEST
00002665: PUSH0
00002666: PUSH0
00002667: SWAP1
00002668: POP
00002669: SWAP1
0000266a: JUMP
0000266b: JUMPDEST
0000266c: PUSH2 0x2673
0000266f: PUSH2 0x2664
00002672: JUMP
00002673: JUMPDEST
00002674: PUSH2 0x267e
00002677: DUP2
00002678: DUP5
00002679: DUP5
0000267a: PUSH2 0x263f
0000267d: JUMP
0000267e: JUMPDEST
0000267f: POP
00002680: POP
00002681: POP
00002682: JUMP
00002683: JUMPDEST
00002684: JUMPDEST
00002685: DUP2
00002686: DUP2
00002687: LT
00002688: ISZERO
00002689: PUSH2 0x26a1
0000268c: JUMPI
0000268d: PUSH2 0x2696
00002690: PUSH0
00002691: DUP3
00002692: PUSH2 0x266b
00002695: JUMP
00002696: JUMPDEST
00002697: PUSH1 0x01
00002699: DUP2
0000269a: ADD
0000269b: SWAP1
0000269c: POP
0000269d: PUSH2 0x2684
000026a0: JUMP
000026a1: JUMPDEST
000026a2: POP
000026a3: POP
000026a4: JUMP
000026a5: JUMPDEST
000026a6: PUSH1 0x1f
000026a8: DUP3
000026a9: GT
000026aa: ISZERO
000026ab: PUSH2 0x26e6
000026ae: JUMPI
000026af: PUSH2 0x26b7
000026b2: DUP2
000026b3: PUSH2 0x258e
000026b6: JUMP
000026b7: JUMPDEST
000026b8: PUSH2 0x26c0
000026bb: DUP5
000026bc: PUSH2 0x25a0
000026bf: JUMP
000026c0: JUMPDEST
000026c1: DUP2
000026c2: ADD
000026c3: PUSH1 0x20
000026c5: DUP6
000026c6: LT
000026c7: ISZERO
000026c8: PUSH2 0x26cf
000026cb: JUMPI
000026cc: DUP2
000026cd: SWAP1
000026ce: POP
000026cf: JUMPDEST
000026d0: PUSH2 0x26e3
000026d3: PUSH2 0x26db
000026d6: DUP6
000026d7: PUSH2 0x25a0
000026da: JUMP
000026db: JUMPDEST
000026dc: DUP4
000026dd: ADD
000026de: DUP3
000026df: PUSH2 0x2683
000026e2: JUMP
000026e3: JUMPDEST
000026e4: POP
000026e5: POP
000026e6: JUMPDEST
000026e7: POP
000026e8: POP
000026e9: POP
000026ea: JUMP
000026eb: JUMPDEST
000026ec: PUSH0
000026ed: DUP3
000026ee: DUP3
000026ef: SHR
000026f0: SWAP1
000026f1: POP
000026f2: SWAP3
000026f3: SWAP2
000026f4: POP
000026f5: POP
000026f6: JUMP
000026f7: JUMPDEST
000026f8: PUSH0
000026f9: PUSH2 0x2706
000026fc: PUSH0
000026fd: NOT
000026fe: DUP5
000026ff: PUSH1 0x08
00002701: MUL
00002702: PUSH2 0x26eb
00002705: JUMP
00002706: JUMPDEST
00002707: NOT
00002708: DUP1
00002709: DUP4
0000270a: AND
0000270b: SWAP2
0000270c: POP
0000270d: POP
0000270e: SWAP3
0000270f: SWAP2
00002710: POP
00002711: POP
00002712: JUMP
00002713: JUMPDEST
00002714: PUSH0
00002715: PUSH2 0x271e
00002718: DUP4
00002719: DUP4
0000271a: PUSH2 0x26f7
0000271d: JUMP
0000271e: JUMPDEST
0000271f: SWAP2
00002720: POP
00002721: DUP3
00002722: PUSH1 0x02
00002724: MUL
00002725: DUP3
00002726: OR
00002727: SWAP1
00002728: POP
00002729: SWAP3
0000272a: SWAP2
0000272b: POP
0000272c: POP
0000272d: JUMP
0000272e: JUMPDEST
0000272f: PUSH2 0x2737
00002732: DUP3
00002733: PUSH2 0x1c16
00002736: JUMP
00002737: JUMPDEST
00002738: PUSH8 0xffffffffffffffff
00002741: DUP2
00002742: GT
00002743: ISZERO
00002744: PUSH2 0x2750
00002747: JUMPI
00002748: PUSH2 0x274f
0000274b: PUSH2 0x2561
0000274e: JUMP
0000274f: JUMPDEST
00002750: JUMPDEST
00002751: PUSH2 0x275a
00002754: DUP3
00002755: SLOAD
00002756: PUSH2 0x2272
00002759: JUMP
0000275a: JUMPDEST
0000275b: PUSH2 0x2765
0000275e: DUP3
0000275f: DUP3
00002760: DUP6
00002761: PUSH2 0x26a5
00002764: JUMP
00002765: JUMPDEST
00002766: PUSH0
00002767: PUSH1 0x20
00002769: SWAP1
0000276a: POP
0000276b: PUSH1 0x1f
0000276d: DUP4
0000276e: GT
0000276f: PUSH1 0x01
00002771: DUP2
00002772: EQ
00002773: PUSH2 0x2796
00002776: JUMPI
00002777: PUSH0
00002778: DUP5
00002779: ISZERO
0000277a: PUSH2 0x2784
0000277d: JUMPI
0000277e: DUP3
0000277f: DUP8
00002780: ADD
00002781: MLOAD
00002782: SWAP1
00002783: POP
00002784: JUMPDEST
00002785: PUSH2 0x278e
00002788: DUP6
00002789: DUP3
0000278a: PUSH2 0x2713
0000278d: JUMP
0000278e: JUMPDEST
0000278f: DUP7
00002790: SSTORE
00002791: POP
00002792: PUSH2 0x27f5
00002795: JUMP
00002796: JUMPDEST
00002797: PUSH1 0x1f
00002799: NOT
0000279a: DUP5
0000279b: AND
0000279c: PUSH2 0x27a4
0000279f: DUP7
000027a0: PUSH2 0x258e
000027a3: JUMP
000027a4: JUMPDEST
000027a5: PUSH0
000027a6: JUMPDEST
000027a7: DUP3
000027a8: DUP2
000027a9: LT
000027aa: ISZERO
000027ab: PUSH2 0x27cb
000027ae: JUMPI
000027af: DUP5
000027b0: DUP10
000027b1: ADD
000027b2: MLOAD
000027b3: DUP3
000027b4: SSTORE
000027b5: PUSH1 0x01
000027b7: DUP3
000027b8: ADD
000027b9: SWAP2
000027ba: POP
000027bb: PUSH1 0x20
000027bd: DUP6
000027be: ADD
000027bf: SWAP5
000027c0: POP
000027c1: PUSH1 0x20
000027c3: DUP2
000027c4: ADD
000027c5: SWAP1
000027c6: POP
000027c7: PUSH2 0x27a6
000027ca: JUMP
000027cb: JUMPDEST
000027cc: DUP7
000027cd: DUP4
000027ce: LT
000027cf: ISZERO
000027d0: PUSH2 0x27e8
000027d3: JUMPI
000027d4: DUP5
000027d5: DUP10
000027d6: ADD
000027d7: MLOAD
000027d8: PUSH2 0x27e4
000027db: PUSH1 0x1f
000027dd: DUP10
000027de: AND
000027df: DUP3
000027e0: PUSH2 0x26f7
000027e3: JUMP
000027e4: JUMPDEST
000027e5: DUP4
000027e6: SSTORE
000027e7: POP
000027e8: JUMPDEST
000027e9: PUSH1 0x01
000027eb: PUSH1 0x02
000027ed: DUP9
000027ee: MUL
000027ef: ADD
000027f0: DUP9
000027f1: SSTORE
000027f2: POP
000027f3: POP
000027f4: POP
000027f5: JUMPDEST
000027f6: POP
000027f7: POP
000027f8: POP
000027f9: POP
000027fa: POP
000027fb: POP
000027fc: JUMP
000027fd: JUMPDEST
000027fe: DUP3
000027ff: DUP2
00002800: DUP4
00002801: CALLDATACOPY
00002802: PUSH0
00002803: DUP4
00002804: DUP4
00002805: ADD
00002806: MSTORE
00002807: POP
00002808: POP
00002809: POP
0000280a: JUMP
0000280b: JUMPDEST
0000280c: PUSH0
0000280d: PUSH2 0x2816
00002810: DUP4
00002811: DUP6
00002812: PUSH2 0x1c20
00002815: JUMP
00002816: JUMPDEST
00002817: SWAP4
00002818: POP
00002819: PUSH2 0x2823
0000281c: DUP4
0000281d: DUP6
0000281e: DUP5
0000281f: PUSH2 0x27fd
00002822: JUMP
00002823: JUMPDEST
00002824: PUSH2 0x282c
00002827: DUP4
00002828: PUSH2 0x1c3e
0000282b: JUMP
0000282c: JUMPDEST
0000282d: DUP5
0000282e: ADD
0000282f: SWAP1
00002830: POP
00002831: SWAP4
00002832: SWAP3
00002833: POP
00002834: POP
00002835: POP
00002836: JUMP
00002837: JUMPDEST
00002838: PUSH0
00002839: PUSH1 0x80
0000283b: DUP3
0000283c: ADD
0000283d: SWAP1
0000283e: POP
0000283f: DUP2
00002840: DUP2
00002841: SUB
00002842: PUSH0
00002843: DUP4
00002844: ADD
00002845: MSTORE
00002846: PUSH2 0x2850
00002849: DUP2
0000284a: DUP9
0000284b: DUP11
0000284c: PUSH2 0x280b
0000284f: JUMP
00002850: JUMPDEST
00002851: SWAP1
00002852: POP
00002853: DUP2
00002854: DUP2
00002855: SUB
00002856: PUSH1 0x20
00002858: DUP4
00002859: ADD
0000285a: MSTORE
0000285b: PUSH2 0x2865
0000285e: DUP2
0000285f: DUP7
00002860: DUP9
00002861: PUSH2 0x280b
00002864: JUMP
00002865: JUMPDEST
00002866: SWAP1
00002867: POP
00002868: PUSH2 0x2874
0000286b: PUSH1 0x40
0000286d: DUP4
0000286e: ADD
0000286f: DUP6
00002870: PUSH2 0x1bac
00002873: JUMP
00002874: JUMPDEST
00002875: PUSH2 0x2881
00002878: PUSH1 0x60
0000287a: DUP4
0000287b: ADD
0000287c: DUP5
0000287d: PUSH2 0x1bac
00002880: JUMP
00002881: JUMPDEST
00002882: SWAP8
00002883: SWAP7
00002884: POP
00002885: POP
00002886: POP
00002887: POP
00002888: POP
00002889: POP
0000288a: POP
0000288b: JUMP
0000288c: JUMPDEST
0000288d: PUSH32 0x496e76616c696420746f6b656e20616464726573730000000000000000000000
000028ae: PUSH0
000028af: DUP3
000028b0: ADD
000028b1: MSTORE
000028b2: POP
000028b3: JUMP
000028b4: JUMPDEST
000028b5: PUSH0
000028b6: PUSH2 0x28c0
000028b9: PUSH1 0x15
000028bb: DUP4
000028bc: PUSH2 0x1c20
000028bf: JUMP
000028c0: JUMPDEST
000028c1: SWAP2
000028c2: POP
000028c3: PUSH2 0x28cb
000028c6: DUP3
000028c7: PUSH2 0x288c
000028ca: JUMP
000028cb: JUMPDEST
000028cc: PUSH1 0x20
000028ce: DUP3
000028cf: ADD
000028d0: SWAP1
000028d1: POP
000028d2: SWAP2
000028d3: SWAP1
000028d4: POP
000028d5: JUMP
000028d6: JUMPDEST
000028d7: PUSH0
000028d8: PUSH1 0x20
000028da: DUP3
000028db: ADD
000028dc: SWAP1
000028dd: POP
000028de: DUP2
000028df: DUP2
000028e0: SUB
000028e1: PUSH0
000028e2: DUP4
000028e3: ADD
000028e4: MSTORE
000028e5: PUSH2 0x28ed
000028e8: DUP2
000028e9: PUSH2 0x28b4
000028ec: JUMP
000028ed: JUMPDEST
000028ee: SWAP1
000028ef: POP
000028f0: SWAP2
000028f1: SWAP1
000028f2: POP
000028f3: JUMP
000028f4: JUMPDEST
000028f5: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00002916: PUSH0
00002917: MSTORE
00002918: PUSH1 0x32
0000291a: PUSH1 0x04
0000291c: MSTORE
0000291d: PUSH1 0x24
0000291f: PUSH0
00002920: REVERT
00002921: INVALID
00002922: LOG2
00002923: PUSH5 0x6970667358
00002929: UNKNOWN(0x22)
0000292a: SLT
0000292b: KECCAK256
0000292c: CREATE2
0000292d: DUP15
0000292e: COINBASE
0000292f: SUB
00002930: UNKNOWN(0xAF)
00002931: UNKNOWN(0xE9)
00002932: UNKNOWN(0xC8)
00002933: UNKNOWN(0xEB)
00002934: UNKNOWN(0xFC)
00002935: DUP5
00002936: UNKNOWN(0xAF)
00002937: PUSH25 0x96d60c9e600f73627c77115292210f38ef47736564736f6c63
00002951: NUMBER
00002952: STOP
00002953: ADDMOD
00002954: CLZ
00002955: STOP
00002956: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x89e1185fc532b6719ec8439e8a49b174fd27c91c23dca5b0585950bfb79d4dda
call_targets: 0x11c1197798d3b1cab6970577361172c00e4c5f36
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x89e1185fc532b6719ec8439e8a49b174fd27c91c23dca5b0585950bfb79d4dda",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x11c1197798d3b1cab6970577361172c00e4c5f36"
    ],
    "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": "0xc6e5d8f6",
            "selector": "0xc6e5d8f6",
            "calldata_variants": [
                "0xc6e5d8f6",
                "0xc6e5d8f60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcf2c0334",
            "selector": "0xcf2c0334",
            "calldata_variants": [
                "0xcf2c0334",
                "0xcf2c03340000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe7986466",
            "selector": "0xe7986466",
            "calldata_variants": [
                "0xe7986466",
                "0xe79864660000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xea04f155",
            "selector": "0xea04f155",
            "calldata_variants": [
                "0xea04f155",
                "0xea04f1550000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x89a30271",
            "selector": "0x89a30271",
            "calldata_variants": [
                "0x89a30271",
                "0x89a302710000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa2b40d19",
            "selector": "0xa2b40d19",
            "calldata_variants": [
                "0xa2b40d19",
                "0xa2b40d190000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1442,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1952,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3559,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 3,
    "guards_detected": [],
    "untrusted_call_count": 3
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x89e1185fc532b6719ec8439e8a49b174fd27c91c23dca5b0585950bfb79d4dda
call_targets: 0x11c1197798d3b1cab6970577361172c00e4c5f36
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x89e1185fc532b6719ec8439e8a49b174fd27c91c23dca5b0585950bfb79d4dda",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x11c1197798d3b1cab6970577361172c00e4c5f36"
    ],
    "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": "0xc6e5d8f6",
            "selector": "0xc6e5d8f6",
            "calldata_variants": [
                "0xc6e5d8f6",
                "0xc6e5d8f60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcf2c0334",
            "selector": "0xcf2c0334",
            "calldata_variants": [
                "0xcf2c0334",
                "0xcf2c03340000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe7986466",
            "selector": "0xe7986466",
            "calldata_variants": [
                "0xe7986466",
                "0xe79864660000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xea04f155",
            "selector": "0xea04f155",
            "calldata_variants": [
                "0xea04f155",
                "0xea04f1550000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x89a30271",
            "selector": "0x89a30271",
            "calldata_variants": [
                "0x89a30271",
                "0x89a302710000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa2b40d19",
            "selector": "0xa2b40d19",
            "calldata_variants": [
                "0xa2b40d19",
                "0xa2b40d190000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1442,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1952,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3559,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 3,
    "guards_detected": []
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0xe9dab4860f26f61d098618625d054f3d74d00e153a94c5112a8624c9f40de756
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0xe9dab4860f26f61d098618625d054f3d74d00e153a94c5112a8624c9f40de756",
    "confirmed": false,
    "trace_mode": "structLogs",
    "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": "0xc6e5d8f6",
            "selector": "0xc6e5d8f6",
            "calldata_variants": [
                "0xc6e5d8f6",
                "0xc6e5d8f60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcf2c0334",
            "selector": "0xcf2c0334",
            "calldata_variants": [
                "0xcf2c0334",
                "0xcf2c03340000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe7986466",
            "selector": "0xe7986466",
            "calldata_variants": [
                "0xe7986466",
                "0xe79864660000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xea04f155",
            "selector": "0xea04f155",
            "calldata_variants": [
                "0xea04f155",
                "0xea04f1550000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x89a30271",
            "selector": "0x89a30271",
            "calldata_variants": [
                "0x89a30271",
                "0x89a302710000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa2b40d19",
            "selector": "0xa2b40d19",
            "calldata_variants": [
                "0xa2b40d19",
                "0xa2b40d190000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 0,
    "create2_count": 1
}
medium other codex Unchecked ERC20 transfer/transferFrom return values can record purchases or refunds without a successful token transfer 75 no
view
evidence_json
{
    "evidence": "`IERC20(token).transferFrom(...)` and `IERC20(...).transfer(...)` calls ignore the returned boolean.",
    "locations": [
        "nftSale.sol:103",
        "nftSale.sol:154",
        "nftSale.sol:176"
    ],
    "recommendation": "Use `SafeERC20` and check transfer results (or require the return value to be true). Consider reverting on failure to keep state consistent with transfers.",
    "exploit_scenario": "If a supported token returns false instead of reverting (or a misconfigured/old USDT variant), `transferFrom` in `purchaseNFT` can fail silently. The contract still records the purchase and emits the event, enabling a buyer to obtain an NFT off-chain without paying. Similarly, `refundPurchase` and `withdrawFunds` can emit success events even when the token transfer fails, leaving state inconsistent with actual balances."
}
low math codex No verification of actual tokens received allows underpayment for fee-on-transfer tokens 65 no
view
evidence_json
{
    "evidence": "No balance-delta or return-value checks around the payment transfer; amount recorded is always `NFT_PRICE`.",
    "locations": [
        "nftSale.sol:103",
        "nftSale.sol:109"
    ],
    "recommendation": "Restrict support to non-fee tokens, or compute the received amount via balanceBefore/balanceAfter and require it equals `NFT_PRICE` (or store the actual received amount).",
    "exploit_scenario": "If the owner enables a deflationary/fee-on-transfer token via `setSupportedToken`, `purchaseNFT` records a fixed `NFT_PRICE` and emits purchase events even though the contract may receive less than `NFT_PRICE`. This can cause underpayment and accounting mismatches when the off-chain system delivers NFTs based on events."
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 0,
    "create2_count": 1
}