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

Analysis Run

b479bfda-eb37-43d5-85e2-1aa5c65f698f

failed
Chain ID
1
Address
Block Number
Created
Mon, Dec 29, 2025 4:21 PM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Authorization based on tx.origin
crit 0 high 0 proxy context implementation known
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
30523 report.consolidate complete 1 / 1 3 months ago
103997 artifact.fetch failed 1 / 3 1 week ago
103998 tool.cast_disasm complete 1 / 3 1 week ago
103999 analysis.bundle complete 1 / 3 1 week ago
104000 capability.graph complete 1 / 3 1 week ago
104001 detector.run complete 1 / 3 1 week ago
104002 validation.fork complete 1 / 3 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: yes
Verified Source: yes

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
2
No findings?
no
Summary
Identified 2 issues: an unprotected initializer that can be front-run on an uninitialized proxy and a deposit accounting assumption that breaks with fee-on-transfer/rebasing underlyers.
View stderr
[codex:581875] OpenAI Codex v0.77.0 (research preview)
[codex:581875] --------
[codex:581875] workdir: /tmp/codex-multi-kmss4gaz
[codex:581875] model: gpt-5.2-codex
[codex:581875] provider: openai
[codex:581875] approval: never
[codex:581875] sandbox: read-only
[codex:581875] reasoning effort: xhigh
[codex:581875] reasoning summaries: auto
[codex:581875] session id: 019b6ae5-9dea-7f30-a0ca-41f1fb69b1b7
[codex:581875] --------
[codex:581875] user
[codex:581875] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:581875] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:581875] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:581875] 
[codex:581875] Scope rules:
[codex:581875] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:581875] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:581875] 
[codex:581875] Output MUST be valid JSON matching the provided schema.
[codex:581875] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:581875] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:581875] 
[codex:581875] Output constraints (IMPORTANT):
[codex:581875] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:581875] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:581875] mcp startup: no servers
[codex:581875] 
[codex:581875] thinking
[codex:581875] **Planning to read AUDIT_BUNDLE.txt**
[codex:581875] exec
[codex:581875] /bin/bash -lc ls in /tmp/codex-multi-kmss4gaz succeeded in 6ms:
[codex:581875] AUDIT_BUNDLE.txt
[codex:581875] codex-output-schema.json
[codex:581875] contracts
[codex:581875] 
[codex:581875] thinking
[codex:581875] **Reading AUDIT_BUNDLE.txt**
[codex:581875] exec
[codex:581875] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-kmss4gaz succeeded in 5ms:
[codex:581875] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:581875] 
[codex:581875] ================================================================================
[codex:581875] FILE: contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol
[codex:581875] ================================================================================
[codex:581875] // SPDX-License-Identifier: MIT
[codex:581875] 
[codex:581875] pragma solidity >=0.6.0 <0.8.0;
[codex:581875] 
[codex:581875] import "../utils/ContextUpgradeable.sol";
[codex:581875] import "../proxy/Initializable.sol";
[codex:581875] /**
[codex:581875]  * @dev Contract module which provides a basic access control mechanism, where
[codex:581875]  * there is an account (an owner) that can be granted exclusive access to
[codex:581875]  * specific functions.
[codex:581875]  *
[codex:581875]  * By default, the owner account will be the one that deploys the contract. This
[codex:581875]  * can later be changed with {transferOwnership}.
[codex:581875]  *
[codex:581875]  * This module is used through inheritance. It will make available the modifier
[codex:581875] 
[codex:581875] thinking
[codex:581875] **Inspecting AUDIT_BUNDLE contents**
[codex:581875] exec
[codex:581875] /bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-multi-kmss4gaz succeeded in 11ms:
[codex:581875] 4:FILE: contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol
[codex:581875] 83:FILE: contracts/@openzeppelin/contracts-upgradeable/math/MathUpgradeable.sol
[codex:581875] 118:FILE: contracts/@openzeppelin/contracts-upgradeable/math/SafeMathUpgradeable.sol
[codex:581875] 336:FILE: contracts/@openzeppelin/contracts-upgradeable/proxy/Initializable.sol
[codex:581875] 395:FILE: contracts/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol
[codex:581875] 712:FILE: contracts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol
[codex:581875] 793:FILE: contracts/@openzeppelin/contracts-upgradeable/token/ERC20/SafeERC20Upgradeable.sol
[codex:581875] 872:FILE: contracts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol
[codex:581875] 1041:FILE: contracts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol
[codex:581875] 1077:FILE: contracts/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol
[codex:581875] 1178:FILE: contracts/contracts/fxPortal/IFxStateSender.sol
[codex:581875] 1188:FILE: contracts/contracts/interfaces/ILiquidityPool.sol
[codex:581875] 1261:FILE: contracts/contracts/interfaces/IManager.sol
[codex:581875] 1380:FILE: contracts/contracts/interfaces/events/BalanceUpdateEvent.sol
[codex:581875] 1394:FILE: contracts/contracts/interfaces/events/Destinations.sol
[codex:581875] 1406:FILE: contracts/contracts/pools/Pool.sol
[codex:581875] 
[codex:581875] 
[codex:581875] 
[codex:581875] 
[codex:581875] thinking
[codex:581875] **Analyzing Pool contract for vulnerabilities**
[codex:581875] thinking
[codex:581875] **Detailing deposit and proxy initialization concerns**
[codex:581875] 
[codex:581875] I’m noting that minting before transferring underlying can cause undercollateralization with fee-on-transfer tokens, which is a serious accounting mismatch. Also, the public initialize function without access control risks uninitialized proxy takeover if not called during deployment—a common upgradeable contract pitfall worth flagging here.
[codex:581875] thinking
[codex:581875] **Highlighting proxy initialization and token handling issues**
[codex:581875] 
[codex:581875] I’m outlining that failing to initialize the proxy atomically allows anyone to seize control by calling initialize, which is a serious upgradeability risk. Also, depositing fee-on-transfer tokens causes incorrect accounting since minted tokens assume full amount received, leading to potential insolvency. Lastly, external calls during transfers could trigger reentrancy or DoS if the event sender contract misbehaves, though these rely on trusted owner configurations.
[codex:581875] thinking
[codex:581875] **Evaluating reentrancy paths and state consistency**
[codex:581875] 
[codex:581875] I'm examining how reentrancy via malicious token hooks could affect withheldLiquidity and whether transfer and withdrawal logic maintains consistency during such calls. While some complex interactions exist, they rely on allowances and owner-controlled settings, limiting exploitability. I’m also weighing misconfiguration risks around public initialization and fee-on-transfer token handling to ensure findings are meaningful yet accurate.
[codex:581875] exec
[codex:581875] /bin/bash -lc 'rg -n "function initialize|function _deposit" -n contracts/contracts/pools/Pool.sol' in /tmp/codex-multi-kmss4gaz succeeded in 8ms:
[codex:581875] 51:    function initialize(
[codex:581875] 228:    function _deposit(
[codex:581875] 
[codex:581875] thinking
[codex:581875] **Preparing to show code context with line numbers**
[codex:581875] exec
[codex:581875] /bin/bash -lc "nl -ba contracts/contracts/pools/Pool.sol | sed -n '45,90p'" in /tmp/codex-multi-kmss4gaz succeeded in 6ms:
[codex:581875]     45	    modifier onEventSend() {
[codex:581875]     46	        if(_eventSend) {
[codex:581875]     47	            _;
[codex:581875]     48	        }
[codex:581875]     49	    }
[codex:581875]     50	
[codex:581875]     51	    function initialize(
[codex:581875]     52	        ERC20 _underlyer,
[codex:581875]     53	        IManager _manager,
[codex:581875]     54	        string memory _name,
[codex:581875]     55	        string memory _symbol
[codex:581875]     56	    ) public initializer {
[codex:581875]     57	        require(address(_underlyer) != address(0), "ZERO_ADDRESS");
[codex:581875]     58	        require(address(_manager) != address(0), "ZERO_ADDRESS");
[codex:581875]     59	
[codex:581875]     60	        __Context_init_unchained();
[codex:581875]     61	        __Ownable_init_unchained();
[codex:581875]     62	        __Pausable_init_unchained();
[codex:581875]     63	        __ERC20_init_unchained(_name, _symbol);
[codex:581875]     64	
[codex:581875] 
[codex:581875] thinking
[codex:581875] **Reviewing _deposit lines**
[codex:581875] exec
[codex:581875] /bin/bash -lc "nl -ba contracts/contracts/pools/Pool.sol | sed -n '220,270p'" in /tmp/codex-multi-kmss4gaz succeeded in 6ms:
[codex:581875]    220	    }
[codex:581875]    221	
[codex:581875]    222	    function setEventSend(bool _eventSendSet) external override onlyOwner {
[codex:581875]    223	        _eventSend = _eventSendSet;
[codex:581875]    224	
[codex:581875]    225	        emit EventSendSet(_eventSendSet);
[codex:581875]    226	    }
[codex:581875]    227	
[codex:581875]    228	    function _deposit(
[codex:581875]    229	        address fromAccount,
[codex:581875]    230	        address toAccount,
[codex:581875]    231	        uint256 amount
[codex:581875]    232	    ) internal {
[codex:581875]    233	        require(amount > 0, "INVALID_AMOUNT");
[codex:581875]    234	        require(toAccount != address(0), "INVALID_ADDRESS");
[codex:581875]    235	
[codex:581875]    236	        _mint(toAccount, amount);
[codex:581875]    237	        underlyer.safeTransferFrom(fromAccount, address(this), amount);
[codex:581875]    238	
[codex:581875]    239	        bytes32 eventSig = "Deposit";
[codex:581875] 
[codex:581875] thinking
[codex:581875] **Preparing JSON report structure and findings**
[codex:581875] exec
[codex:581875] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-kmss4gaz succeeded in 5ms:
[codex:581875] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:581875] 
[codex:581875] thinking
[codex:581875] **Summarizing audit findings in JSON**
[codex:581875] 
[codex:581875] I'll prepare a concise JSON report with two findings: one about an unprotected initializer vulnerable to front-running on uninitialized proxies, and another about deposits incorrectly assuming 1:1 token transfers causing under-collateralization with fee-on-transfer tokens. I’ll ensure all fields and formatting meet JSON standards without extra commentary.
[codex:581875] codex
[codex:581875] {"no_findings":false,"summary":"Identified 2 issues: an unprotected initializer that can be front-run on an uninitialized proxy and a deposit accounting assumption that breaks with fee-on-transfer/rebasing underlyers.","findings":[{"severity":"medium","category":"upgradeability","title":"Initializer callable by anyone if proxy is left uninitialized","exploit_scenario":"If a proxy is deployed without calling `initialize` in the same transaction, an attacker can call `initialize`, become the owner (via `__Ownable_init_unchained()`), set `manager`/`underlyer`, and then use owner-only functions (e.g., `approveManager`) to siphon funds via a malicious manager.","recommendation":"Ensure proxies are initialized atomically at deployment (constructor `_data` or factory pattern). Consider locking the implementation (e.g., a constructor that sets the initialized flag) so the implementation itself cannot be initialized by arbitrary accounts.","evidence":"`initialize` is `public` and assigns ownership to `msg.sender` via `__Ownable_init_unchained()` without any access control beyond the `initializer` guard.","locations":["contracts/contracts/pools/Pool.sol:51"]},{"severity":"low","category":"other","title":"Deposits assume 1:1 transfers, enabling under-collateralization with fee-on-transfer tokens","exploit_scenario":"If the underlyer charges transfer fees or is deflationary, `_deposit` mints `amount` fTokens but the pool receives less than `amount` of underlying. Users can repeatedly deposit to mint excess fTokens, and later withdraw more underlying than the pool actually received, draining other liquidity once funds are available.","recommendation":"Mint based on the actual received amount (measure balance before/after), or explicitly restrict the underlyer to non-fee, non-rebasing ERC20s and enforce that invariant at deployment.","evidence":"`_deposit` mints before transferring and never checks the actual amount received (`_mint(toAccount, amount);` then `underlyer.safeTransferFrom(..., amount);`).","locations":["contracts/contracts/pools/Pool.sol:228"]}]}
[codex:581875] tokens used
[codex:581875] 50,043
[codex:581875] {"no_findings":false,"summary":"Identified 2 issues: an unprotected initializer that can be front-run on an uninitialized proxy and a deposit accounting assumption that breaks with fee-on-transfer/rebasing underlyers.","findings":[{"severity":"medium","category":"upgradeability","title":"Initializer callable by anyone if proxy is left uninitialized","exploit_scenario":"If a proxy is deployed without calling `initialize` in the same transaction, an attacker can call `initialize`, become the owner (via `__Ownable_init_unchained()`), set `manager`/`underlyer`, and then use owner-only functions (e.g., `approveManager`) to siphon funds via a malicious manager.","recommendation":"Ensure proxies are initialized atomically at deployment (constructor `_data` or factory pattern). Consider locking the implementation (e.g., a constructor that sets the initialized flag) so the implementation itself cannot be initialized by arbitrary accounts.","evidence":"`initialize` is `public` and assigns ownership to `msg.sender` via `__Ownable_init_unchained()` without any access control beyond the `initializer` guard.","locations":["contracts/contracts/pools/Pool.sol:51"]},{"severity":"low","category":"other","title":"Deposits assume 1:1 transfers, enabling under-collateralization with fee-on-transfer tokens","exploit_scenario":"If the underlyer charges transfer fees or is deflationary, `_deposit` mints `amount` fTokens but the pool receives less than `amount` of underlying. Users can repeatedly deposit to mint excess fTokens, and later withdraw more underlying than the pool actually received, draining other liquidity once funds are available.","recommendation":"Mint based on the actual received amount (measure balance before/after), or explicitly restrict the underlyer to non-fee, non-rebasing ERC20s and enforce that invariant at deployment.","evidence":"`_deposit` mints before transferring and never checks the actual amount received (`_mint(toAccount, amount);` then `underlyer.safeTransferFrom(..., amount);`).","locations":["contracts/contracts/pools/Pool.sol:228"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-29T16:21:58.426337+00:00",
        "returncode": 0
    },
    "summary": "Identified 2 issues: an unprotected initializer that can be front-run on an uninitialized proxy and a deposit accounting assumption that breaks with fee-on-transfer/rebasing underlyers.",
    "raw_final": {
        "summary": "Identified 2 issues: an unprotected initializer that can be front-run on an uninitialized proxy and a deposit accounting assumption that breaks with fee-on-transfer/rebasing underlyers.",
        "findings": [
            {
                "title": "Initializer callable by anyone if proxy is left uninitialized",
                "category": "upgradeability",
                "evidence": "`initialize` is `public` and assigns ownership to `msg.sender` via `__Ownable_init_unchained()` without any access control beyond the `initializer` guard.",
                "severity": "medium",
                "locations": [
                    "contracts/contracts/pools/Pool.sol:51"
                ],
                "recommendation": "Ensure proxies are initialized atomically at deployment (constructor `_data` or factory pattern). Consider locking the implementation (e.g., a constructor that sets the initialized flag) so the implementation itself cannot be initialized by arbitrary accounts.",
                "exploit_scenario": "If a proxy is deployed without calling `initialize` in the same transaction, an attacker can call `initialize`, become the owner (via `__Ownable_init_unchained()`), set `manager`/`underlyer`, and then use owner-only functions (e.g., `approveManager`) to siphon funds via a malicious manager."
            },
            {
                "title": "Deposits assume 1:1 transfers, enabling under-collateralization with fee-on-transfer tokens",
                "category": "other",
                "evidence": "`_deposit` mints before transferring and never checks the actual amount received (`_mint(toAccount, amount);` then `underlyer.safeTransferFrom(..., amount);`).",
                "severity": "low",
                "locations": [
                    "contracts/contracts/pools/Pool.sol:228"
                ],
                "recommendation": "Mint based on the actual received amount (measure balance before/after), or explicitly restrict the underlyer to non-fee, non-rebasing ERC20s and enforce that invariant at deployment.",
                "exploit_scenario": "If the underlyer charges transfer fees or is deflationary, `_deposit` mints `amount` fTokens but the pool receives less than `amount` of underlying. Users can repeatedly deposit to mint excess fTokens, and later withdraw more underlying than the pool actually received, draining other liquidity once funds are available."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
9
EXT*/BALANCE
11
Total opcodes
6282
Flags
heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLVALUE
00000006: DUP1
00000007: ISZERO
00000008: PUSH2 0x0010
0000000b: JUMPI
0000000c: PUSH1 0x00
0000000e: DUP1
0000000f: REVERT
00000010: JUMPDEST
00000011: POP
00000012: PUSH1 0x04
00000014: CALLDATASIZE
00000015: LT
00000016: PUSH2 0x01e5
00000019: JUMPI
0000001a: PUSH1 0x00
0000001c: CALLDATALOAD
0000001d: PUSH1 0xe0
0000001f: SHR
00000020: DUP1
00000021: PUSH4 0x715018a6
00000026: GT
00000027: PUSH2 0x010f
0000002a: JUMPI
0000002b: DUP1
0000002c: PUSH4 0x9ee679e8
00000031: GT
00000032: PUSH2 0x00a2
00000035: JUMPI
00000036: DUP1
00000037: PUSH4 0xbb582d80
0000003c: GT
0000003d: PUSH2 0x0071
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0xbb582d80
00000047: EQ
00000048: PUSH2 0x03ab
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0xdd62ed3e
00000052: EQ
00000053: PUSH2 0x03cc
00000056: JUMPI
00000057: DUP1
00000058: PUSH4 0xe912b5ee
0000005d: EQ
0000005e: PUSH2 0x03df
00000061: JUMPI
00000062: DUP1
00000063: PUSH4 0xf2fde38b
00000068: EQ
00000069: PUSH2 0x03f2
0000006c: JUMPI
0000006d: PUSH2 0x01e5
00000070: JUMP
00000071: JUMPDEST
00000072: DUP1
00000073: PUSH4 0x9ee679e8
00000078: EQ
00000079: PUSH2 0x035f
0000007c: JUMPI
0000007d: DUP1
0000007e: PUSH4 0xa457c2d7
00000083: EQ
00000084: PUSH2 0x0372
00000087: JUMPI
00000088: DUP1
00000089: PUSH4 0xa9059cbb
0000008e: EQ
0000008f: PUSH2 0x0385
00000092: JUMPI
00000093: DUP1
00000094: PUSH4 0xb6b55f25
00000099: EQ
0000009a: PUSH2 0x0398
0000009d: JUMPI
0000009e: PUSH2 0x01e5
000000a1: JUMP
000000a2: JUMPDEST
000000a3: DUP1
000000a4: PUSH4 0x8456cb59
000000a9: GT
000000aa: PUSH2 0x00de
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0x8456cb59
000000b4: EQ
000000b5: PUSH2 0x0331
000000b8: JUMPI
000000b9: DUP1
000000ba: PUSH4 0x8d17b383
000000bf: EQ
000000c0: PUSH2 0x0339
000000c3: JUMPI
000000c4: DUP1
000000c5: PUSH4 0x8da5cb5b
000000ca: EQ
000000cb: PUSH2 0x034f
000000ce: JUMPI
000000cf: DUP1
000000d0: PUSH4 0x95d89b41
000000d5: EQ
000000d6: PUSH2 0x0357
000000d9: JUMPI
000000da: PUSH2 0x01e5
000000dd: JUMP
000000de: JUMPDEST
000000df: DUP1
000000e0: PUSH4 0x715018a6
000000e5: EQ
000000e6: PUSH2 0x0306
000000e9: JUMPI
000000ea: DUP1
000000eb: PUSH4 0x7758f3fa
000000f0: EQ
000000f1: PUSH2 0x030e
000000f4: JUMPI
000000f5: DUP1
000000f6: PUSH4 0x7d6eae72
000000fb: EQ
000000fc: PUSH2 0x0316
000000ff: JUMPI
00000100: DUP1
00000101: PUSH4 0x80e702da
00000106: EQ
00000107: PUSH2 0x0329
0000010a: JUMPI
0000010b: PUSH2 0x01e5
0000010e: JUMP
0000010f: JUMPDEST
00000110: DUP1
00000111: PUSH4 0x2f4f21e2
00000116: GT
00000117: PUSH2 0x0187
0000011a: JUMPI
0000011b: DUP1
0000011c: PUSH4 0x481c6a75
00000121: GT
00000122: PUSH2 0x0156
00000125: JUMPI
00000126: DUP1
00000127: PUSH4 0x481c6a75
0000012c: EQ
0000012d: PUSH2 0x02ce
00000130: JUMPI
00000131: DUP1
00000132: PUSH4 0x5842f88c
00000137: EQ
00000138: PUSH2 0x02e3
0000013b: JUMPI
0000013c: DUP1
0000013d: PUSH4 0x5c975abb
00000142: EQ
00000143: PUSH2 0x02eb
00000146: JUMPI
00000147: DUP1
00000148: PUSH4 0x70a08231
0000014d: EQ
0000014e: PUSH2 0x02f3
00000151: JUMPI
00000152: PUSH2 0x01e5
00000155: JUMP
00000156: JUMPDEST
00000157: DUP1
00000158: PUSH4 0x2f4f21e2
0000015d: EQ
0000015e: PUSH2 0x028b
00000161: JUMPI
00000162: DUP1
00000163: PUSH4 0x313ce567
00000168: EQ
00000169: PUSH2 0x029e
0000016c: JUMPI
0000016d: DUP1
0000016e: PUSH4 0x39509351
00000173: EQ
00000174: PUSH2 0x02b3
00000177: JUMPI
00000178: DUP1
00000179: PUSH4 0x3f4ba83a
0000017e: EQ
0000017f: PUSH2 0x02c6
00000182: JUMPI
00000183: PUSH2 0x01e5
00000186: JUMP
00000187: JUMPDEST
00000188: DUP1
00000189: PUSH4 0x18160ddd
0000018e: GT
0000018f: PUSH2 0x01c3
00000192: JUMPI
00000193: DUP1
00000194: PUSH4 0x18160ddd
00000199: EQ
0000019a: PUSH2 0x023d
0000019d: JUMPI
0000019e: DUP1
0000019f: PUSH4 0x2016a0d2
000001a4: EQ
000001a5: PUSH2 0x0252
000001a8: JUMPI
000001a9: DUP1
000001aa: PUSH4 0x23b872dd
000001af: EQ
000001b0: PUSH2 0x0265
000001b3: JUMPI
000001b4: DUP1
000001b5: PUSH4 0x2e1a7d4d
000001ba: EQ
000001bb: PUSH2 0x0278
000001be: JUMPI
000001bf: PUSH2 0x01e5
000001c2: JUMP
000001c3: JUMPDEST
000001c4: DUP1
000001c5: PUSH4 0x020935c5
000001ca: EQ
000001cb: PUSH2 0x01ea
000001ce: JUMPI
000001cf: DUP1
000001d0: PUSH4 0x06fdde03
000001d5: EQ
000001d6: PUSH2 0x01ff
000001d9: JUMPI
000001da: DUP1
000001db: PUSH4 0x095ea7b3
000001e0: EQ
000001e1: PUSH2 0x021d
000001e4: JUMPI
000001e5: JUMPDEST
000001e6: PUSH1 0x00
000001e8: DUP1
000001e9: REVERT
000001ea: JUMPDEST
000001eb: PUSH2 0x01fd
000001ee: PUSH2 0x01f8
000001f1: CALLDATASIZE
000001f2: PUSH1 0x04
000001f4: PUSH2 0x317c
000001f7: JUMP
000001f8: JUMPDEST
000001f9: PUSH2 0x0405
000001fc: JUMP
000001fd: JUMPDEST
000001fe: STOP
000001ff: JUMPDEST
00000200: PUSH2 0x0207
00000203: PUSH2 0x05cf
00000206: JUMP
00000207: JUMPDEST
00000208: PUSH1 0x40
0000020a: MLOAD
0000020b: PUSH2 0x0214
0000020e: SWAP2
0000020f: SWAP1
00000210: PUSH2 0x330c
00000213: JUMP
00000214: JUMPDEST
00000215: PUSH1 0x40
00000217: MLOAD
00000218: DUP1
00000219: SWAP2
0000021a: SUB
0000021b: SWAP1
0000021c: RETURN
0000021d: JUMPDEST
0000021e: PUSH2 0x0230
00000221: PUSH2 0x022b
00000224: CALLDATASIZE
00000225: PUSH1 0x04
00000227: PUSH2 0x3093
0000022a: JUMP
0000022b: JUMPDEST
0000022c: PUSH2 0x0684
0000022f: JUMP
00000230: JUMPDEST
00000231: PUSH1 0x40
00000233: MLOAD
00000234: PUSH2 0x0214
00000237: SWAP2
00000238: SWAP1
00000239: PUSH2 0x3301
0000023c: JUMP
0000023d: JUMPDEST
0000023e: PUSH2 0x0245
00000241: PUSH2 0x06a1
00000244: JUMP
00000245: JUMPDEST
00000246: PUSH1 0x40
00000248: MLOAD
00000249: PUSH2 0x0214
0000024c: SWAP2
0000024d: SWAP1
0000024e: PUSH2 0x3a55
00000251: JUMP
00000252: JUMPDEST
00000253: PUSH2 0x01fd
00000256: PUSH2 0x0260
00000259: CALLDATASIZE
0000025a: PUSH1 0x04
0000025c: PUSH2 0x30f6
0000025f: JUMP
00000260: JUMPDEST
00000261: PUSH2 0x06a7
00000264: JUMP
00000265: JUMPDEST
00000266: PUSH2 0x0230
00000269: PUSH2 0x0273
0000026c: CALLDATASIZE
0000026d: PUSH1 0x04
0000026f: PUSH2 0x3053
00000272: JUMP
00000273: JUMPDEST
00000274: PUSH2 0x08b1
00000277: JUMP
00000278: JUMPDEST
00000279: PUSH2 0x01fd
0000027c: PUSH2 0x0286
0000027f: CALLDATASIZE
00000280: PUSH1 0x04
00000282: PUSH2 0x317c
00000285: JUMP
00000286: JUMPDEST
00000287: PUSH2 0x094b
0000028a: JUMP
0000028b: JUMPDEST
0000028c: PUSH2 0x01fd
0000028f: PUSH2 0x0299
00000292: CALLDATASIZE
00000293: PUSH1 0x04
00000295: PUSH2 0x3093
00000298: JUMP
00000299: JUMPDEST
0000029a: PUSH2 0x0d33
0000029d: JUMP
0000029e: JUMPDEST
0000029f: PUSH2 0x02a6
000002a2: PUSH2 0x0d7d
000002a5: JUMP
000002a6: JUMPDEST
000002a7: PUSH1 0x40
000002a9: MLOAD
000002aa: PUSH2 0x0214
000002ad: SWAP2
000002ae: SWAP1
000002af: PUSH2 0x3a6c
000002b2: JUMP
000002b3: JUMPDEST
000002b4: PUSH2 0x0230
000002b7: PUSH2 0x02c1
000002ba: CALLDATASIZE
000002bb: PUSH1 0x04
000002bd: PUSH2 0x3093
000002c0: JUMP
000002c1: JUMPDEST
000002c2: PUSH2 0x0e25
000002c5: JUMP
000002c6: JUMPDEST
000002c7: PUSH2 0x01fd
000002ca: PUSH2 0x0e8b
000002cd: JUMP
000002ce: JUMPDEST
000002cf: PUSH2 0x02d6
000002d2: PUSH2 0x0f08
000002d5: JUMP
000002d6: JUMPDEST
000002d7: PUSH1 0x40
000002d9: MLOAD
000002da: PUSH2 0x0214
000002dd: SWAP2
000002de: SWAP1
000002df: PUSH2 0x3233
000002e2: JUMP
000002e3: JUMPDEST
000002e4: PUSH2 0x0245
000002e7: PUSH2 0x0f24
000002ea: JUMP
000002eb: JUMPDEST
000002ec: PUSH2 0x0230
000002ef: PUSH2 0x0f2a
000002f2: JUMP
000002f3: JUMPDEST
000002f4: PUSH2 0x0245
000002f7: PUSH2 0x0301
000002fa: CALLDATASIZE
000002fb: PUSH1 0x04
000002fd: PUSH2 0x2fff
00000300: JUMP
00000301: JUMPDEST
00000302: PUSH2 0x0f33
00000305: JUMP
00000306: JUMPDEST
00000307: PUSH2 0x01fd
0000030a: PUSH2 0x0f5b
0000030d: JUMP
0000030e: JUMPDEST
0000030f: PUSH2 0x02d6
00000312: PUSH2 0x103d
00000315: JUMP
00000316: JUMPDEST
00000317: PUSH2 0x01fd
0000031a: PUSH2 0x0324
0000031d: CALLDATASIZE
0000031e: PUSH1 0x04
00000320: PUSH2 0x301b
00000323: JUMP
00000324: JUMPDEST
00000325: PUSH2 0x1059
00000328: JUMP
00000329: JUMPDEST
0000032a: PUSH2 0x0230
0000032d: PUSH2 0x11f9
00000330: JUMP
00000331: JUMPDEST
00000332: PUSH2 0x01fd
00000335: PUSH2 0x1207
00000338: JUMP
00000339: JUMPDEST
0000033a: PUSH2 0x0341
0000033d: PUSH2 0x1282
00000340: JUMP
00000341: JUMPDEST
00000342: PUSH1 0x40
00000344: MLOAD
00000345: PUSH2 0x0214
00000348: SWAP3
00000349: SWAP2
0000034a: SWAP1
0000034b: PUSH2 0x327a
0000034e: JUMP
0000034f: JUMPDEST
00000350: PUSH2 0x02d6
00000353: PUSH2 0x12a5
00000356: JUMP
00000357: JUMPDEST
00000358: PUSH2 0x0207
0000035b: PUSH2 0x12c1
0000035e: JUMP
0000035f: JUMPDEST
00000360: PUSH2 0x01fd
00000363: PUSH2 0x036d
00000366: CALLDATASIZE
00000367: PUSH1 0x04
00000369: PUSH2 0x317c
0000036c: JUMP
0000036d: JUMPDEST
0000036e: PUSH2 0x1340
00000371: JUMP
00000372: JUMPDEST
00000373: PUSH2 0x0230
00000376: PUSH2 0x0380
00000379: CALLDATASIZE
0000037a: PUSH1 0x04
0000037c: PUSH2 0x3093
0000037f: JUMP
00000380: JUMPDEST
00000381: PUSH2 0x1625
00000384: JUMP
00000385: JUMPDEST
00000386: PUSH2 0x0230
00000389: PUSH2 0x0393
0000038c: CALLDATASIZE
0000038d: PUSH1 0x04
0000038f: PUSH2 0x3093
00000392: JUMP
00000393: JUMPDEST
00000394: PUSH2 0x16a0
00000397: JUMP
00000398: JUMPDEST
00000399: PUSH2 0x01fd
0000039c: PUSH2 0x03a6
0000039f: CALLDATASIZE
000003a0: PUSH1 0x04
000003a2: PUSH2 0x317c
000003a5: JUMP
000003a6: JUMPDEST
000003a7: PUSH2 0x1736
000003aa: JUMP
000003ab: JUMPDEST
000003ac: PUSH2 0x03be
000003af: PUSH2 0x03b9
000003b2: CALLDATASIZE
000003b3: PUSH1 0x04
000003b5: PUSH2 0x2fff
000003b8: JUMP
000003b9: JUMPDEST
000003ba: PUSH2 0x1783
000003bd: JUMP
000003be: JUMPDEST
000003bf: PUSH1 0x40
000003c1: MLOAD
000003c2: PUSH2 0x0214
000003c5: SWAP3
000003c6: SWAP2
000003c7: SWAP1
000003c8: PUSH2 0x3a5e
000003cb: JUMP
000003cc: JUMPDEST
000003cd: PUSH2 0x0245
000003d0: PUSH2 0x03da
000003d3: CALLDATASIZE
000003d4: PUSH1 0x04
000003d6: PUSH2 0x301b
000003d9: JUMP
000003da: JUMPDEST
000003db: PUSH2 0x179c
000003de: JUMP
000003df: JUMPDEST
000003e0: PUSH2 0x01fd
000003e3: PUSH2 0x03ed
000003e6: CALLDATASIZE
000003e7: PUSH1 0x04
000003e9: PUSH2 0x30be
000003ec: JUMP
000003ed: JUMPDEST
000003ee: PUSH2 0x17d4
000003f1: JUMP
000003f2: JUMPDEST
000003f3: PUSH2 0x01fd
000003f6: PUSH2 0x0400
000003f9: CALLDATASIZE
000003fa: PUSH1 0x04
000003fc: PUSH2 0x2fff
000003ff: JUMP
00000400: JUMPDEST
00000401: PUSH2 0x18a7
00000404: JUMP
00000405: JUMPDEST
00000406: PUSH2 0x040d
00000409: PUSH2 0x19f5
0000040c: JUMP
0000040d: JUMPDEST
0000040e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000423: AND
00000424: PUSH2 0x042b
00000427: PUSH2 0x12a5
0000042a: JUMP
0000042b: JUMPDEST
0000042c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000441: AND
00000442: EQ
00000443: PUSH2 0x0481
00000446: JUMPI
00000447: PUSH1 0x40
00000449: MLOAD
0000044a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000046b: DUP2
0000046c: MSTORE
0000046d: PUSH1 0x04
0000046f: ADD
00000470: PUSH2 0x0478
00000473: SWAP1
00000474: PUSH2 0x3784
00000477: JUMP
00000478: JUMPDEST
00000479: PUSH1 0x40
0000047b: MLOAD
0000047c: DUP1
0000047d: SWAP2
0000047e: SUB
0000047f: SWAP1
00000480: REVERT
00000481: JUMPDEST
00000482: PUSH1 0xc9
00000484: SLOAD
00000485: PUSH1 0xca
00000487: SLOAD
00000488: PUSH1 0x40
0000048a: MLOAD
0000048b: PUSH32 0xdd62ed3e00000000000000000000000000000000000000000000000000000000
000004ac: DUP2
000004ad: MSTORE
000004ae: PUSH1 0x00
000004b0: SWAP3
000004b1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004c6: SWAP1
000004c7: DUP2
000004c8: AND
000004c9: SWAP3
000004ca: PUSH4 0xdd62ed3e
000004cf: SWAP3
000004d0: PUSH2 0x04df
000004d3: SWAP3
000004d4: ADDRESS
000004d5: SWAP3
000004d6: AND
000004d7: SWAP1
000004d8: PUSH1 0x04
000004da: ADD
000004db: PUSH2 0x327a
000004de: JUMP
000004df: JUMPDEST
000004e0: PUSH1 0x20
000004e2: PUSH1 0x40
000004e4: MLOAD
000004e5: DUP1
000004e6: DUP4
000004e7: SUB
000004e8: DUP2
000004e9: DUP7
000004ea: DUP1
000004eb: EXTCODESIZE
000004ec: ISZERO
000004ed: DUP1
000004ee: ISZERO
000004ef: PUSH2 0x04f7
000004f2: JUMPI
000004f3: PUSH1 0x00
000004f5: DUP1
000004f6: REVERT
000004f7: JUMPDEST
000004f8: POP
000004f9: GAS
000004fa: STATICCALL
000004fb: ISZERO
000004fc: DUP1
000004fd: ISZERO
000004fe: PUSH2 0x050b
00000501: JUMPI
00000502: RETURNDATASIZE
00000503: PUSH1 0x00
00000505: DUP1
00000506: RETURNDATACOPY
00000507: RETURNDATASIZE
00000508: PUSH1 0x00
0000050a: REVERT
0000050b: JUMPDEST
0000050c: POP
0000050d: POP
0000050e: POP
0000050f: POP
00000510: PUSH1 0x40
00000512: MLOAD
00000513: RETURNDATASIZE
00000514: PUSH1 0x1f
00000516: NOT
00000517: PUSH1 0x1f
00000519: DUP3
0000051a: ADD
0000051b: AND
0000051c: DUP3
0000051d: ADD
0000051e: DUP1
0000051f: PUSH1 0x40
00000521: MSTORE
00000522: POP
00000523: DUP2
00000524: ADD
00000525: SWAP1
00000526: PUSH2 0x052f
00000529: SWAP2
0000052a: SWAP1
0000052b: PUSH2 0x3194
0000052e: JUMP
0000052f: JUMPDEST
00000530: SWAP1
00000531: POP
00000532: DUP2
00000533: DUP2
00000534: LT
00000535: ISZERO
00000536: PUSH2 0x0584
00000539: JUMPI
0000053a: PUSH1 0x00
0000053c: PUSH2 0x054b
0000053f: DUP4
00000540: DUP4
00000541: PUSH4 0xffffffff
00000546: PUSH2 0x19f9
00000549: AND
0000054a: JUMP
0000054b: JUMPDEST
0000054c: PUSH1 0xca
0000054e: SLOAD
0000054f: PUSH1 0xc9
00000551: SLOAD
00000552: SWAP2
00000553: SWAP3
00000554: POP
00000555: PUSH2 0x057e
00000558: SWAP2
00000559: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000056e: SWAP1
0000056f: DUP2
00000570: AND
00000571: SWAP2
00000572: AND
00000573: DUP4
00000574: PUSH4 0xffffffff
00000579: PUSH2 0x1a3b
0000057c: AND
0000057d: JUMP
0000057e: JUMPDEST
0000057f: POP
00000580: PUSH2 0x05cb
00000583: JUMP
00000584: JUMPDEST
00000585: PUSH1 0x00
00000587: PUSH2 0x0596
0000058a: DUP3
0000058b: DUP5
0000058c: PUSH4 0xffffffff
00000591: PUSH2 0x19f9
00000594: AND
00000595: JUMP
00000596: JUMPDEST
00000597: PUSH1 0xca
00000599: SLOAD
0000059a: PUSH1 0xc9
0000059c: SLOAD
0000059d: SWAP2
0000059e: SWAP3
0000059f: POP
000005a0: PUSH2 0x05c9
000005a3: SWAP2
000005a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005b9: SWAP1
000005ba: DUP2
000005bb: AND
000005bc: SWAP2
000005bd: AND
000005be: DUP4
000005bf: PUSH4 0xffffffff
000005c4: PUSH2 0x1b3d
000005c7: AND
000005c8: JUMP
000005c9: JUMPDEST
000005ca: POP
000005cb: JUMPDEST
000005cc: POP
000005cd: POP
000005ce: JUMP
000005cf: JUMPDEST
000005d0: PUSH1 0x36
000005d2: DUP1
000005d3: SLOAD
000005d4: PUSH1 0x40
000005d6: DUP1
000005d7: MLOAD
000005d8: PUSH1 0x20
000005da: PUSH1 0x1f
000005dc: PUSH1 0x02
000005de: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000005ff: PUSH2 0x0100
00000602: PUSH1 0x01
00000604: DUP9
00000605: AND
00000606: ISZERO
00000607: MUL
00000608: ADD
00000609: SWAP1
0000060a: SWAP6
0000060b: AND
0000060c: SWAP5
0000060d: SWAP1
0000060e: SWAP5
0000060f: DIV
00000610: SWAP4
00000611: DUP5
00000612: ADD
00000613: DUP2
00000614: SWAP1
00000615: DIV
00000616: DUP2
00000617: MUL
00000618: DUP3
00000619: ADD
0000061a: DUP2
0000061b: ADD
0000061c: SWAP1
0000061d: SWAP3
0000061e: MSTORE
0000061f: DUP3
00000620: DUP2
00000621: MSTORE
00000622: PUSH1 0x60
00000624: SWAP4
00000625: SWAP1
00000626: SWAP3
00000627: SWAP1
00000628: SWAP2
00000629: DUP4
0000062a: ADD
0000062b: DUP3
0000062c: DUP3
0000062d: DUP1
0000062e: ISZERO
0000062f: PUSH2 0x0679
00000632: JUMPI
00000633: DUP1
00000634: PUSH1 0x1f
00000636: LT
00000637: PUSH2 0x064e
0000063a: JUMPI
0000063b: PUSH2 0x0100
0000063e: DUP1
0000063f: DUP4
00000640: SLOAD
00000641: DIV
00000642: MUL
00000643: DUP4
00000644: MSTORE
00000645: SWAP2
00000646: PUSH1 0x20
00000648: ADD
00000649: SWAP2
0000064a: PUSH2 0x0679
0000064d: JUMP
0000064e: JUMPDEST
0000064f: DUP3
00000650: ADD
00000651: SWAP2
00000652: SWAP1
00000653: PUSH1 0x00
00000655: MSTORE
00000656: PUSH1 0x20
00000658: PUSH1 0x00
0000065a: KECCAK256
0000065b: SWAP1
0000065c: JUMPDEST
0000065d: DUP2
0000065e: SLOAD
0000065f: DUP2
00000660: MSTORE
00000661: SWAP1
00000662: PUSH1 0x01
00000664: ADD
00000665: SWAP1
00000666: PUSH1 0x20
00000668: ADD
00000669: DUP1
0000066a: DUP4
0000066b: GT
0000066c: PUSH2 0x065c
0000066f: JUMPI
00000670: DUP3
00000671: SWAP1
00000672: SUB
00000673: PUSH1 0x1f
00000675: AND
00000676: DUP3
00000677: ADD
00000678: SWAP2
00000679: JUMPDEST
0000067a: POP
0000067b: POP
0000067c: POP
0000067d: POP
0000067e: POP
0000067f: SWAP1
00000680: POP
00000681: JUMPDEST
00000682: SWAP1
00000683: JUMP
00000684: JUMPDEST
00000685: PUSH1 0x00
00000687: PUSH2 0x0698
0000068a: PUSH2 0x0691
0000068d: PUSH2 0x19f5
00000690: JUMP
00000691: JUMPDEST
00000692: DUP5
00000693: DUP5
00000694: PUSH2 0x1c0d
00000697: JUMP
00000698: JUMPDEST
00000699: POP
0000069a: PUSH1 0x01
0000069c: SWAP3
0000069d: SWAP2
0000069e: POP
0000069f: POP
000006a0: JUMP
000006a1: JUMPDEST
000006a2: PUSH1 0x35
000006a4: SLOAD
000006a5: SWAP1
000006a6: JUMP
000006a7: JUMPDEST
000006a8: PUSH1 0x00
000006aa: SLOAD
000006ab: PUSH2 0x0100
000006ae: SWAP1
000006af: DIV
000006b0: PUSH1 0xff
000006b2: AND
000006b3: DUP1
000006b4: PUSH2 0x06c0
000006b7: JUMPI
000006b8: POP
000006b9: PUSH2 0x06c0
000006bc: PUSH2 0x1d1c
000006bf: JUMP
000006c0: JUMPDEST
000006c1: DUP1
000006c2: PUSH2 0x06ce
000006c5: JUMPI
000006c6: POP
000006c7: PUSH1 0x00
000006c9: SLOAD
000006ca: PUSH1 0xff
000006cc: AND
000006cd: ISZERO
000006ce: JUMPDEST
000006cf: PUSH2 0x0704
000006d2: JUMPI
000006d3: PUSH1 0x40
000006d5: MLOAD
000006d6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000006f7: DUP2
000006f8: MSTORE
000006f9: PUSH1 0x04
000006fb: ADD
000006fc: PUSH2 0x0478
000006ff: SWAP1
00000700: PUSH2 0x3682
00000703: JUMP
00000704: JUMPDEST
00000705: PUSH1 0x00
00000707: SLOAD
00000708: PUSH2 0x0100
0000070b: SWAP1
0000070c: DIV
0000070d: PUSH1 0xff
0000070f: AND
00000710: ISZERO
00000711: DUP1
00000712: ISZERO
00000713: PUSH2 0x076a
00000716: JUMPI
00000717: PUSH1 0x00
00000719: DUP1
0000071a: SLOAD
0000071b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
0000073c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff
0000075d: SWAP1
0000075e: SWAP2
0000075f: AND
00000760: PUSH2 0x0100
00000763: OR
00000764: AND
00000765: PUSH1 0x01
00000767: OR
00000768: SWAP1
00000769: SSTORE
0000076a: JUMPDEST
0000076b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000780: DUP6
00000781: AND
00000782: PUSH2 0x07b7
00000785: JUMPI
00000786: PUSH1 0x40
00000788: MLOAD
00000789: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000007aa: DUP2
000007ab: MSTORE
000007ac: PUSH1 0x04
000007ae: ADD
000007af: PUSH2 0x0478
000007b2: SWAP1
000007b3: PUSH2 0x364b
000007b6: JUMP
000007b7: JUMPDEST
000007b8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007cd: DUP5
000007ce: AND
000007cf: PUSH2 0x0804
000007d2: JUMPI
000007d3: PUSH1 0x40
000007d5: MLOAD
000007d6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000007f7: DUP2
000007f8: MSTORE
000007f9: PUSH1 0x04
000007fb: ADD
000007fc: PUSH2 0x0478
000007ff: SWAP1
00000800: PUSH2 0x364b
00000803: JUMP
00000804: JUMPDEST
00000805: PUSH2 0x080c
00000808: PUSH2 0x1d2d
0000080b: JUMP
0000080c: JUMPDEST
0000080d: PUSH2 0x0814
00000810: PUSH2 0x1e21
00000813: JUMP
00000814: JUMPDEST
00000815: PUSH2 0x081c
00000818: PUSH2 0x1f92
0000081b: JUMP
0000081c: JUMPDEST
0000081d: PUSH2 0x0826
00000820: DUP4
00000821: DUP4
00000822: PUSH2 0x20ae
00000825: JUMP
00000826: JUMPDEST
00000827: PUSH1 0xc9
00000829: DUP1
0000082a: SLOAD
0000082b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000840: DUP1
00000841: DUP9
00000842: AND
00000843: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00000864: SWAP3
00000865: DUP4
00000866: AND
00000867: OR
00000868: SWAP1
00000869: SWAP3
0000086a: SSTORE
0000086b: PUSH1 0xca
0000086d: DUP1
0000086e: SLOAD
0000086f: SWAP3
00000870: DUP8
00000871: AND
00000872: SWAP3
00000873: SWAP1
00000874: SWAP2
00000875: AND
00000876: SWAP2
00000877: SWAP1
00000878: SWAP2
00000879: OR
0000087a: SWAP1
0000087b: SSTORE
0000087c: DUP1
0000087d: ISZERO
0000087e: PUSH2 0x08aa
00000881: JUMPI
00000882: PUSH1 0x00
00000884: DUP1
00000885: SLOAD
00000886: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff
000008a7: AND
000008a8: SWAP1
000008a9: SSTORE
000008aa: JUMPDEST
000008ab: POP
000008ac: POP
000008ad: POP
000008ae: POP
000008af: POP
000008b0: JUMP
000008b1: JUMPDEST
000008b2: PUSH1 0x00
000008b4: PUSH2 0x08bb
000008b7: PUSH2 0x0f2a
000008ba: JUMP
000008bb: JUMPDEST
000008bc: ISZERO
000008bd: PUSH2 0x08f2
000008c0: JUMPI
000008c1: PUSH1 0x40
000008c3: MLOAD
000008c4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000008e5: DUP2
000008e6: MSTORE
000008e7: PUSH1 0x04
000008e9: ADD
000008ea: PUSH2 0x0478
000008ed: SWAP1
000008ee: PUSH2 0x3614
000008f1: JUMP
000008f2: JUMPDEST
000008f3: PUSH2 0x08fc
000008f6: DUP5
000008f7: DUP4
000008f8: PUSH2 0x21f7
000008fb: JUMP
000008fc: JUMPDEST
000008fd: PUSH1 0x00
000008ff: PUSH2 0x0909
00000902: DUP6
00000903: DUP6
00000904: DUP6
00000905: PUSH2 0x2343
00000908: JUMP
00000909: JUMPDEST
0000090a: SWAP1
0000090b: POP
0000090c: PUSH32 0x5472616e73666572000000000000000000000000000000000000000000000000
0000092d: PUSH2 0x0936
00000930: DUP2
00000931: DUP8
00000932: PUSH2 0x23e5
00000935: JUMP
00000936: JUMPDEST
00000937: PUSH2 0x0940
0000093a: DUP2
0000093b: DUP7
0000093c: PUSH2 0x23e5
0000093f: JUMP
00000940: JUMPDEST
00000941: POP
00000942: SWAP1
00000943: POP
00000944: JUMPDEST
00000945: SWAP4
00000946: SWAP3
00000947: POP
00000948: POP
00000949: POP
0000094a: JUMP
0000094b: JUMPDEST
0000094c: PUSH2 0x0953
0000094f: PUSH2 0x0f2a
00000952: JUMP
00000953: JUMPDEST
00000954: ISZERO
00000955: PUSH2 0x098a
00000958: JUMPI
00000959: PUSH1 0x40
0000095b: MLOAD
0000095c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000097d: DUP2
0000097e: MSTORE
0000097f: PUSH1 0x04
00000981: ADD
00000982: PUSH2 0x0478
00000985: SWAP1
00000986: PUSH2 0x3614
00000989: JUMP
0000098a: JUMPDEST
0000098b: PUSH1 0xcd
0000098d: SLOAD
0000098e: PUSH1 0xff
00000990: AND
00000991: ISZERO
00000992: PUSH2 0x09c7
00000995: JUMPI
00000996: PUSH1 0x40
00000998: MLOAD
00000999: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000009ba: DUP2
000009bb: MSTORE
000009bc: PUSH1 0x04
000009be: ADD
000009bf: PUSH2 0x0478
000009c2: SWAP1
000009c3: PUSH2 0x399b
000009c6: JUMP
000009c7: JUMPDEST
000009c8: PUSH1 0xcd
000009ca: DUP1
000009cb: SLOAD
000009cc: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
000009ed: AND
000009ee: PUSH1 0x01
000009f0: SWAP1
000009f1: DUP2
000009f2: OR
000009f3: SWAP1
000009f4: SWAP2
000009f5: SSTORE
000009f6: CALLER
000009f7: PUSH1 0x00
000009f9: SWAP1
000009fa: DUP2
000009fb: MSTORE
000009fc: PUSH1 0xcc
000009fe: PUSH1 0x20
00000a00: MSTORE
00000a01: PUSH1 0x40
00000a03: SWAP1
00000a04: KECCAK256
00000a05: ADD
00000a06: SLOAD
00000a07: DUP2
00000a08: GT
00000a09: ISZERO
00000a0a: PUSH2 0x0a3f
00000a0d: JUMPI
00000a0e: PUSH1 0x40
00000a10: MLOAD
00000a11: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000a32: DUP2
00000a33: MSTORE
00000a34: PUSH1 0x04
00000a36: ADD
00000a37: PUSH2 0x0478
00000a3a: SWAP1
00000a3b: PUSH2 0x374d
00000a3e: JUMP
00000a3f: JUMPDEST
00000a40: PUSH1 0x00
00000a42: DUP2
00000a43: GT
00000a44: PUSH2 0x0a79
00000a47: JUMPI
00000a48: PUSH1 0x40
00000a4a: MLOAD
00000a4b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000a6c: DUP2
00000a6d: MSTORE
00000a6e: PUSH1 0x04
00000a70: ADD
00000a71: PUSH2 0x0478
00000a74: SWAP1
00000a75: PUSH2 0x35a6
00000a78: JUMP
00000a79: JUMPDEST
00000a7a: PUSH1 0xc9
00000a7c: SLOAD
00000a7d: PUSH1 0x40
00000a7f: MLOAD
00000a80: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00000aa1: DUP2
00000aa2: MSTORE
00000aa3: DUP3
00000aa4: SWAP2
00000aa5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000aba: AND
00000abb: SWAP1
00000abc: PUSH4 0x70a08231
00000ac1: SWAP1
00000ac2: PUSH2 0x0acf
00000ac5: SWAP1
00000ac6: ADDRESS
00000ac7: SWAP1
00000ac8: PUSH1 0x04
00000aca: ADD
00000acb: PUSH2 0x3233
00000ace: JUMP
00000acf: JUMPDEST
00000ad0: PUSH1 0x20
00000ad2: PUSH1 0x40
00000ad4: MLOAD
00000ad5: DUP1
00000ad6: DUP4
00000ad7: SUB
00000ad8: DUP2
00000ad9: DUP7
00000ada: DUP1
00000adb: EXTCODESIZE
00000adc: ISZERO
00000add: DUP1
00000ade: ISZERO
00000adf: PUSH2 0x0ae7
00000ae2: JUMPI
00000ae3: PUSH1 0x00
00000ae5: DUP1
00000ae6: REVERT
00000ae7: JUMPDEST
00000ae8: POP
00000ae9: GAS
00000aea: STATICCALL
00000aeb: ISZERO
00000aec: DUP1
00000aed: ISZERO
00000aee: PUSH2 0x0afb
00000af1: JUMPI
00000af2: RETURNDATASIZE
00000af3: PUSH1 0x00
00000af5: DUP1
00000af6: RETURNDATACOPY
00000af7: RETURNDATASIZE
00000af8: PUSH1 0x00
00000afa: REVERT
00000afb: JUMPDEST
00000afc: POP
00000afd: POP
00000afe: POP
00000aff: POP
00000b00: PUSH1 0x40
00000b02: MLOAD
00000b03: RETURNDATASIZE
00000b04: PUSH1 0x1f
00000b06: NOT
00000b07: PUSH1 0x1f
00000b09: DUP3
00000b0a: ADD
00000b0b: AND
00000b0c: DUP3
00000b0d: ADD
00000b0e: DUP1
00000b0f: PUSH1 0x40
00000b11: MSTORE
00000b12: POP
00000b13: DUP2
00000b14: ADD
00000b15: SWAP1
00000b16: PUSH2 0x0b1f
00000b19: SWAP2
00000b1a: SWAP1
00000b1b: PUSH2 0x3194
00000b1e: JUMP
00000b1f: JUMPDEST
00000b20: LT
00000b21: ISZERO
00000b22: PUSH2 0x0b57
00000b25: JUMPI
00000b26: PUSH1 0x40
00000b28: MLOAD
00000b29: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000b4a: DUP2
00000b4b: MSTORE
00000b4c: PUSH1 0x04
00000b4e: ADD
00000b4f: PUSH2 0x0478
00000b52: SWAP1
00000b53: PUSH2 0x36df
00000b56: JUMP
00000b57: JUMPDEST
00000b58: PUSH1 0xca
00000b5a: PUSH1 0x00
00000b5c: SWAP1
00000b5d: SLOAD
00000b5e: SWAP1
00000b5f: PUSH2 0x0100
00000b62: EXP
00000b63: SWAP1
00000b64: DIV
00000b65: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b7a: AND
00000b7b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b90: AND
00000b91: PUSH4 0x85790945
00000b96: PUSH1 0x40
00000b98: MLOAD
00000b99: DUP2
00000b9a: PUSH4 0xffffffff
00000b9f: AND
00000ba0: PUSH1 0xe0
00000ba2: SHL
00000ba3: DUP2
00000ba4: MSTORE
00000ba5: PUSH1 0x04
00000ba7: ADD
00000ba8: PUSH1 0x20
00000baa: PUSH1 0x40
00000bac: MLOAD
00000bad: DUP1
00000bae: DUP4
00000baf: SUB
00000bb0: DUP2
00000bb1: DUP7
00000bb2: DUP1
00000bb3: EXTCODESIZE
00000bb4: ISZERO
00000bb5: DUP1
00000bb6: ISZERO
00000bb7: PUSH2 0x0bbf
00000bba: JUMPI
00000bbb: PUSH1 0x00
00000bbd: DUP1
00000bbe: REVERT
00000bbf: JUMPDEST
00000bc0: POP
00000bc1: GAS
00000bc2: STATICCALL
00000bc3: ISZERO
00000bc4: DUP1
00000bc5: ISZERO
00000bc6: PUSH2 0x0bd3
00000bc9: JUMPI
00000bca: RETURNDATASIZE
00000bcb: PUSH1 0x00
00000bcd: DUP1
00000bce: RETURNDATACOPY
00000bcf: RETURNDATASIZE
00000bd0: PUSH1 0x00
00000bd2: REVERT
00000bd3: JUMPDEST
00000bd4: POP
00000bd5: POP
00000bd6: POP
00000bd7: POP
00000bd8: PUSH1 0x40
00000bda: MLOAD
00000bdb: RETURNDATASIZE
00000bdc: PUSH1 0x1f
00000bde: NOT
00000bdf: PUSH1 0x1f
00000be1: DUP3
00000be2: ADD
00000be3: AND
00000be4: DUP3
00000be5: ADD
00000be6: DUP1
00000be7: PUSH1 0x40
00000be9: MSTORE
00000bea: POP
00000beb: DUP2
00000bec: ADD
00000bed: SWAP1
00000bee: PUSH2 0x0bf7
00000bf1: SWAP2
00000bf2: SWAP1
00000bf3: PUSH2 0x3194
00000bf6: JUMP
00000bf7: JUMPDEST
00000bf8: CALLER
00000bf9: PUSH1 0x00
00000bfb: SWAP1
00000bfc: DUP2
00000bfd: MSTORE
00000bfe: PUSH1 0xcc
00000c00: PUSH1 0x20
00000c02: MSTORE
00000c03: PUSH1 0x40
00000c05: SWAP1
00000c06: KECCAK256
00000c07: SLOAD
00000c08: GT
00000c09: ISZERO
00000c0a: PUSH2 0x0c3f
00000c0d: JUMPI
00000c0e: PUSH1 0x40
00000c10: MLOAD
00000c11: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000c32: DUP2
00000c33: MSTORE
00000c34: PUSH1 0x04
00000c36: ADD
00000c37: PUSH2 0x0478
00000c3a: SWAP1
00000c3b: PUSH2 0x35dd
00000c3e: JUMP
00000c3f: JUMPDEST
00000c40: CALLER
00000c41: PUSH1 0x00
00000c43: SWAP1
00000c44: DUP2
00000c45: MSTORE
00000c46: PUSH1 0xcc
00000c48: PUSH1 0x20
00000c4a: MSTORE
00000c4b: PUSH1 0x40
00000c4d: SWAP1
00000c4e: KECCAK256
00000c4f: PUSH1 0x01
00000c51: ADD
00000c52: SLOAD
00000c53: PUSH2 0x0c62
00000c56: SWAP1
00000c57: DUP3
00000c58: PUSH4 0xffffffff
00000c5d: PUSH2 0x19f9
00000c60: AND
00000c61: JUMP
00000c62: JUMPDEST
00000c63: CALLER
00000c64: PUSH1 0x00
00000c66: SWAP1
00000c67: DUP2
00000c68: MSTORE
00000c69: PUSH1 0xcc
00000c6b: PUSH1 0x20
00000c6d: MSTORE
00000c6e: PUSH1 0x40
00000c70: SWAP1
00000c71: KECCAK256
00000c72: PUSH1 0x01
00000c74: ADD
00000c75: DUP2
00000c76: SWAP1
00000c77: SSTORE
00000c78: PUSH2 0x0c92
00000c7b: JUMPI
00000c7c: CALLER
00000c7d: PUSH1 0x00
00000c7f: SWAP1
00000c80: DUP2
00000c81: MSTORE
00000c82: PUSH1 0xcc
00000c84: PUSH1 0x20
00000c86: MSTORE
00000c87: PUSH1 0x40
00000c89: DUP2
00000c8a: KECCAK256
00000c8b: DUP2
00000c8c: DUP2
00000c8d: SSTORE
00000c8e: PUSH1 0x01
00000c90: ADD
00000c91: SSTORE
00000c92: JUMPDEST
00000c93: PUSH1 0xcb
00000c95: SLOAD
00000c96: PUSH2 0x0ca5
00000c99: SWAP1
00000c9a: DUP3
00000c9b: PUSH4 0xffffffff
00000ca0: PUSH2 0x19f9
00000ca3: AND
00000ca4: JUMP
00000ca5: JUMPDEST
00000ca6: PUSH1 0xcb
00000ca8: SSTORE
00000ca9: PUSH2 0x0cb2
00000cac: CALLER
00000cad: DUP3
00000cae: PUSH2 0x25c1
00000cb1: JUMP
00000cb2: JUMPDEST
00000cb3: PUSH1 0xc9
00000cb5: SLOAD
00000cb6: PUSH2 0x0cdc
00000cb9: SWAP1
00000cba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ccf: AND
00000cd0: CALLER
00000cd1: DUP4
00000cd2: PUSH4 0xffffffff
00000cd7: PUSH2 0x26fd
00000cda: AND
00000cdb: JUMP
00000cdc: JUMPDEST
00000cdd: PUSH32 0x5769746864726177000000000000000000000000000000000000000000000000
00000cfe: PUSH2 0x0d07
00000d01: DUP2
00000d02: CALLER
00000d03: PUSH2 0x23e5
00000d06: JUMP
00000d07: JUMPDEST
00000d08: POP
00000d09: POP
00000d0a: PUSH1 0xcd
00000d0c: DUP1
00000d0d: SLOAD
00000d0e: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00000d2f: AND
00000d30: SWAP1
00000d31: SSTORE
00000d32: JUMP
00000d33: JUMPDEST
00000d34: PUSH2 0x0d3b
00000d37: PUSH2 0x0f2a
00000d3a: JUMP
00000d3b: JUMPDEST
00000d3c: ISZERO
00000d3d: PUSH2 0x0d72
00000d40: JUMPI
00000d41: PUSH1 0x40
00000d43: MLOAD
00000d44: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000d65: DUP2
00000d66: MSTORE
00000d67: PUSH1 0x04
00000d69: ADD
00000d6a: PUSH2 0x0478
00000d6d: SWAP1
00000d6e: PUSH2 0x3614
00000d71: JUMP
00000d72: JUMPDEST
00000d73: PUSH2 0x05cb
00000d76: CALLER
00000d77: DUP4
00000d78: DUP4
00000d79: PUSH2 0x271c
00000d7c: JUMP
00000d7d: JUMPDEST
00000d7e: PUSH1 0xc9
00000d80: SLOAD
00000d81: PUSH1 0x40
00000d83: DUP1
00000d84: MLOAD
00000d85: PUSH32 0x313ce56700000000000000000000000000000000000000000000000000000000
00000da6: DUP2
00000da7: MSTORE
00000da8: SWAP1
00000da9: MLOAD
00000daa: PUSH1 0x00
00000dac: SWAP3
00000dad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000dc2: AND
00000dc3: SWAP2
00000dc4: PUSH4 0x313ce567
00000dc9: SWAP2
00000dca: PUSH1 0x04
00000dcc: DUP1
00000dcd: DUP4
00000dce: ADD
00000dcf: SWAP3
00000dd0: PUSH1 0x20
00000dd2: SWAP3
00000dd3: SWAP2
00000dd4: SWAP1
00000dd5: DUP3
00000dd6: SWAP1
00000dd7: SUB
00000dd8: ADD
00000dd9: DUP2
00000dda: DUP7
00000ddb: DUP1
00000ddc: EXTCODESIZE
00000ddd: ISZERO
00000dde: DUP1
00000ddf: ISZERO
00000de0: PUSH2 0x0de8
00000de3: JUMPI
00000de4: PUSH1 0x00
00000de6: DUP1
00000de7: REVERT
00000de8: JUMPDEST
00000de9: POP
00000dea: GAS
00000deb: STATICCALL
00000dec: ISZERO
00000ded: DUP1
00000dee: ISZERO
00000def: PUSH2 0x0dfc
00000df2: JUMPI
00000df3: RETURNDATASIZE
00000df4: PUSH1 0x00
00000df6: DUP1
00000df7: RETURNDATACOPY
00000df8: RETURNDATASIZE
00000df9: PUSH1 0x00
00000dfb: REVERT
00000dfc: JUMPDEST
00000dfd: POP
00000dfe: POP
00000dff: POP
00000e00: POP
00000e01: PUSH1 0x40
00000e03: MLOAD
00000e04: RETURNDATASIZE
00000e05: PUSH1 0x1f
00000e07: NOT
00000e08: PUSH1 0x1f
00000e0a: DUP3
00000e0b: ADD
00000e0c: AND
00000e0d: DUP3
00000e0e: ADD
00000e0f: DUP1
00000e10: PUSH1 0x40
00000e12: MSTORE
00000e13: POP
00000e14: DUP2
00000e15: ADD
00000e16: SWAP1
00000e17: PUSH2 0x0e20
00000e1a: SWAP2
00000e1b: SWAP1
00000e1c: PUSH2 0x31ac
00000e1f: JUMP
00000e20: JUMPDEST
00000e21: SWAP1
00000e22: POP
00000e23: SWAP1
00000e24: JUMP
00000e25: JUMPDEST
00000e26: PUSH1 0x00
00000e28: PUSH2 0x0698
00000e2b: PUSH2 0x0e32
00000e2e: PUSH2 0x19f5
00000e31: JUMP
00000e32: JUMPDEST
00000e33: DUP5
00000e34: PUSH2 0x0e86
00000e37: DUP6
00000e38: PUSH1 0x34
00000e3a: PUSH1 0x00
00000e3c: PUSH2 0x0e43
00000e3f: PUSH2 0x19f5
00000e42: JUMP
00000e43: JUMPDEST
00000e44: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e59: SWAP1
00000e5a: DUP2
00000e5b: AND
00000e5c: DUP3
00000e5d: MSTORE
00000e5e: PUSH1 0x20
00000e60: DUP1
00000e61: DUP4
00000e62: ADD
00000e63: SWAP4
00000e64: SWAP1
00000e65: SWAP4
00000e66: MSTORE
00000e67: PUSH1 0x40
00000e69: SWAP2
00000e6a: DUP3
00000e6b: ADD
00000e6c: PUSH1 0x00
00000e6e: SWAP1
00000e6f: DUP2
00000e70: KECCAK256
00000e71: SWAP2
00000e72: DUP13
00000e73: AND
00000e74: DUP2
00000e75: MSTORE
00000e76: SWAP3
00000e77: MSTORE
00000e78: SWAP1
00000e79: KECCAK256
00000e7a: SLOAD
00000e7b: SWAP1
00000e7c: PUSH4 0xffffffff
00000e81: PUSH2 0x2803
00000e84: AND
00000e85: JUMP
00000e86: JUMPDEST
00000e87: PUSH2 0x1c0d
00000e8a: JUMP
00000e8b: JUMPDEST
00000e8c: PUSH2 0x0e93
00000e8f: PUSH2 0x19f5
00000e92: JUMP
00000e93: JUMPDEST
00000e94: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ea9: AND
00000eaa: PUSH2 0x0eb1
00000ead: PUSH2 0x12a5
00000eb0: JUMP
00000eb1: JUMPDEST
00000eb2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ec7: AND
00000ec8: EQ
00000ec9: PUSH2 0x0efe
00000ecc: JUMPI
00000ecd: PUSH1 0x40
00000ecf: MLOAD
00000ed0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000ef1: DUP2
00000ef2: MSTORE
00000ef3: PUSH1 0x04
00000ef5: ADD
00000ef6: PUSH2 0x0478
00000ef9: SWAP1
00000efa: PUSH2 0x3784
00000efd: JUMP
00000efe: JUMPDEST
00000eff: PUSH2 0x0f06
00000f02: PUSH2 0x2842
00000f05: JUMP
00000f06: JUMPDEST
00000f07: JUMP
00000f08: JUMPDEST
00000f09: PUSH1 0xca
00000f0b: SLOAD
00000f0c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f21: AND
00000f22: DUP2
00000f23: JUMP
00000f24: JUMPDEST
00000f25: PUSH1 0xcb
00000f27: SLOAD
00000f28: DUP2
00000f29: JUMP
00000f2a: JUMPDEST
00000f2b: PUSH1 0x97
00000f2d: SLOAD
00000f2e: PUSH1 0xff
00000f30: AND
00000f31: SWAP1
00000f32: JUMP
00000f33: JUMPDEST
00000f34: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f49: AND
00000f4a: PUSH1 0x00
00000f4c: SWAP1
00000f4d: DUP2
00000f4e: MSTORE
00000f4f: PUSH1 0x33
00000f51: PUSH1 0x20
00000f53: MSTORE
00000f54: PUSH1 0x40
00000f56: SWAP1
00000f57: KECCAK256
00000f58: SLOAD
00000f59: SWAP1
00000f5a: JUMP
00000f5b: JUMPDEST
00000f5c: PUSH2 0x0f63
00000f5f: PUSH2 0x19f5
00000f62: JUMP
00000f63: JUMPDEST
00000f64: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f79: AND
00000f7a: PUSH2 0x0f81
00000f7d: PUSH2 0x12a5
00000f80: JUMP
00000f81: JUMPDEST
00000f82: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f97: AND
00000f98: EQ
00000f99: PUSH2 0x0fce
00000f9c: JUMPI
00000f9d: PUSH1 0x40
00000f9f: MLOAD
00000fa0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000fc1: DUP2
00000fc2: MSTORE
00000fc3: PUSH1 0x04
00000fc5: ADD
00000fc6: PUSH2 0x0478
00000fc9: SWAP1
00000fca: PUSH2 0x3784
00000fcd: JUMP
00000fce: JUMPDEST
00000fcf: PUSH1 0x65
00000fd1: SLOAD
00000fd2: PUSH1 0x40
00000fd4: MLOAD
00000fd5: PUSH1 0x00
00000fd7: SWAP2
00000fd8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fed: AND
00000fee: SWAP1
00000fef: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00001010: SWAP1
00001011: DUP4
00001012: SWAP1
00001013: LOG3
00001014: PUSH1 0x65
00001016: DUP1
00001017: SLOAD
00001018: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00001039: AND
0000103a: SWAP1
0000103b: SSTORE
0000103c: JUMP
0000103d: JUMPDEST
0000103e: PUSH1 0xc9
00001040: SLOAD
00001041: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001056: AND
00001057: DUP2
00001058: JUMP
00001059: JUMPDEST
0000105a: PUSH2 0x1061
0000105d: PUSH2 0x19f5
00001060: JUMP
00001061: JUMPDEST
00001062: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001077: AND
00001078: PUSH2 0x107f
0000107b: PUSH2 0x12a5
0000107e: JUMP
0000107f: JUMPDEST
00001080: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001095: AND
00001096: EQ
00001097: PUSH2 0x10cc
0000109a: JUMPI
0000109b: PUSH1 0x40
0000109d: MLOAD
0000109e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000010bf: DUP2
000010c0: MSTORE
000010c1: PUSH1 0x04
000010c3: ADD
000010c4: PUSH2 0x0478
000010c7: SWAP1
000010c8: PUSH2 0x3784
000010cb: JUMP
000010cc: JUMPDEST
000010cd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010e2: DUP3
000010e3: AND
000010e4: PUSH2 0x1119
000010e7: JUMPI
000010e8: PUSH1 0x40
000010ea: MLOAD
000010eb: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000110c: DUP2
0000110d: MSTORE
0000110e: PUSH1 0x04
00001110: ADD
00001111: PUSH2 0x0478
00001114: SWAP1
00001115: PUSH2 0x337c
00001118: JUMP
00001119: JUMPDEST
0000111a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000112f: DUP2
00001130: AND
00001131: PUSH2 0x1166
00001134: JUMPI
00001135: PUSH1 0x40
00001137: MLOAD
00001138: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001159: DUP2
0000115a: MSTORE
0000115b: PUSH1 0x04
0000115d: ADD
0000115e: PUSH2 0x0478
00001161: SWAP1
00001162: PUSH2 0x337c
00001165: JUMP
00001166: JUMPDEST
00001167: PUSH1 0xce
00001169: DUP1
0000116a: SLOAD
0000116b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001180: DUP1
00001181: DUP6
00001182: AND
00001183: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
000011a4: SWAP3
000011a5: DUP4
000011a6: AND
000011a7: OR
000011a8: SWAP1
000011a9: SWAP3
000011aa: SSTORE
000011ab: PUSH1 0xcf
000011ad: DUP1
000011ae: SLOAD
000011af: SWAP3
000011b0: DUP5
000011b1: AND
000011b2: SWAP3
000011b3: SWAP1
000011b4: SWAP2
000011b5: AND
000011b6: SWAP2
000011b7: SWAP1
000011b8: SWAP2
000011b9: OR
000011ba: SWAP1
000011bb: SSTORE
000011bc: PUSH1 0x40
000011be: MLOAD
000011bf: PUSH32 0xdd38196ae61206d6b7c944929ca054465eec5bbec09f0d942bd3f5569601e4e5
000011e0: SWAP1
000011e1: PUSH2 0x11ed
000011e4: SWAP1
000011e5: DUP5
000011e6: SWAP1
000011e7: DUP5
000011e8: SWAP1
000011e9: PUSH2 0x327a
000011ec: JUMP
000011ed: JUMPDEST
000011ee: PUSH1 0x40
000011f0: MLOAD
000011f1: DUP1
000011f2: SWAP2
000011f3: SUB
000011f4: SWAP1
000011f5: LOG1
000011f6: POP
000011f7: POP
000011f8: JUMP
000011f9: JUMPDEST
000011fa: PUSH1 0xcd
000011fc: SLOAD
000011fd: PUSH2 0x0100
00001200: SWAP1
00001201: DIV
00001202: PUSH1 0xff
00001204: AND
00001205: DUP2
00001206: JUMP
00001207: JUMPDEST
00001208: PUSH2 0x120f
0000120b: PUSH2 0x19f5
0000120e: JUMP
0000120f: JUMPDEST
00001210: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001225: AND
00001226: PUSH2 0x122d
00001229: PUSH2 0x12a5
0000122c: JUMP
0000122d: JUMPDEST
0000122e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001243: AND
00001244: EQ
00001245: PUSH2 0x127a
00001248: JUMPI
00001249: PUSH1 0x40
0000124b: MLOAD
0000124c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000126d: DUP2
0000126e: MSTORE
0000126f: PUSH1 0x04
00001271: ADD
00001272: PUSH2 0x0478
00001275: SWAP1
00001276: PUSH2 0x3784
00001279: JUMP
0000127a: JUMPDEST
0000127b: PUSH2 0x0f06
0000127e: PUSH2 0x28e8
00001281: JUMP
00001282: JUMPDEST
00001283: PUSH1 0xce
00001285: SLOAD
00001286: PUSH1 0xcf
00001288: SLOAD
00001289: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000129e: SWAP2
0000129f: DUP3
000012a0: AND
000012a1: SWAP2
000012a2: AND
000012a3: DUP3
000012a4: JUMP
000012a5: JUMPDEST
000012a6: PUSH1 0x65
000012a8: SLOAD
000012a9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012be: AND
000012bf: SWAP1
000012c0: JUMP
000012c1: JUMPDEST
000012c2: PUSH1 0x37
000012c4: DUP1
000012c5: SLOAD
000012c6: PUSH1 0x40
000012c8: DUP1
000012c9: MLOAD
000012ca: PUSH1 0x20
000012cc: PUSH1 0x1f
000012ce: PUSH1 0x02
000012d0: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000012f1: PUSH2 0x0100
000012f4: PUSH1 0x01
000012f6: DUP9
000012f7: AND
000012f8: ISZERO
000012f9: MUL
000012fa: ADD
000012fb: SWAP1
000012fc: SWAP6
000012fd: AND
000012fe: SWAP5
000012ff: SWAP1
00001300: SWAP5
00001301: DIV
00001302: SWAP4
00001303: DUP5
00001304: ADD
00001305: DUP2
00001306: SWAP1
00001307: DIV
00001308: DUP2
00001309: MUL
0000130a: DUP3
0000130b: ADD
0000130c: DUP2
0000130d: ADD
0000130e: SWAP1
0000130f: SWAP3
00001310: MSTORE
00001311: DUP3
00001312: DUP2
00001313: MSTORE
00001314: PUSH1 0x60
00001316: SWAP4
00001317: SWAP1
00001318: SWAP3
00001319: SWAP1
0000131a: SWAP2
0000131b: DUP4
0000131c: ADD
0000131d: DUP3
0000131e: DUP3
0000131f: DUP1
00001320: ISZERO
00001321: PUSH2 0x0679
00001324: JUMPI
00001325: DUP1
00001326: PUSH1 0x1f
00001328: LT
00001329: PUSH2 0x064e
0000132c: JUMPI
0000132d: PUSH2 0x0100
00001330: DUP1
00001331: DUP4
00001332: SLOAD
00001333: DIV
00001334: MUL
00001335: DUP4
00001336: MSTORE
00001337: SWAP2
00001338: PUSH1 0x20
0000133a: ADD
0000133b: SWAP2
0000133c: PUSH2 0x0679
0000133f: JUMP
00001340: JUMPDEST
00001341: PUSH1 0x00
00001343: DUP2
00001344: GT
00001345: PUSH2 0x137a
00001348: JUMPI
00001349: PUSH1 0x40
0000134b: MLOAD
0000134c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000136d: DUP2
0000136e: MSTORE
0000136f: PUSH1 0x04
00001371: ADD
00001372: PUSH2 0x0478
00001375: SWAP1
00001376: PUSH2 0x3964
00001379: JUMP
0000137a: JUMPDEST
0000137b: PUSH2 0x1383
0000137e: CALLER
0000137f: PUSH2 0x0f33
00001382: JUMP
00001383: JUMPDEST
00001384: DUP2
00001385: GT
00001386: ISZERO
00001387: PUSH2 0x13bc
0000138a: JUMPI
0000138b: PUSH1 0x40
0000138d: MLOAD
0000138e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000013af: DUP2
000013b0: MSTORE
000013b1: PUSH1 0x04
000013b3: ADD
000013b4: PUSH2 0x0478
000013b7: SWAP1
000013b8: PUSH2 0x33ea
000013bb: JUMP
000013bc: JUMPDEST
000013bd: CALLER
000013be: PUSH1 0x00
000013c0: SWAP1
000013c1: DUP2
000013c2: MSTORE
000013c3: PUSH1 0xcc
000013c5: PUSH1 0x20
000013c7: MSTORE
000013c8: PUSH1 0x40
000013ca: SWAP1
000013cb: KECCAK256
000013cc: PUSH1 0x01
000013ce: ADD
000013cf: SLOAD
000013d0: PUSH1 0xcb
000013d2: SLOAD
000013d3: PUSH2 0x13f3
000013d6: SWAP2
000013d7: DUP4
000013d8: SWAP2
000013d9: PUSH2 0x13e7
000013dc: SWAP2
000013dd: PUSH4 0xffffffff
000013e2: PUSH2 0x19f9
000013e5: AND
000013e6: JUMP
000013e7: JUMPDEST
000013e8: SWAP1
000013e9: PUSH4 0xffffffff
000013ee: PUSH2 0x2803
000013f1: AND
000013f2: JUMP
000013f3: JUMPDEST
000013f4: PUSH1 0xcb
000013f6: SSTORE
000013f7: CALLER
000013f8: PUSH1 0x00
000013fa: SWAP1
000013fb: DUP2
000013fc: MSTORE
000013fd: PUSH1 0xcc
000013ff: PUSH1 0x20
00001401: SWAP1
00001402: DUP2
00001403: MSTORE
00001404: PUSH1 0x40
00001406: SWAP2
00001407: DUP3
00001408: SWAP1
00001409: KECCAK256
0000140a: PUSH1 0x01
0000140c: ADD
0000140d: DUP4
0000140e: SWAP1
0000140f: SSTORE
00001410: PUSH1 0xca
00001412: SLOAD
00001413: DUP3
00001414: MLOAD
00001415: PUSH32 0xf99476c900000000000000000000000000000000000000000000000000000000
00001436: DUP2
00001437: MSTORE
00001438: SWAP3
00001439: MLOAD
0000143a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000144f: SWAP1
00001450: SWAP2
00001451: AND
00001452: SWAP3
00001453: PUSH4 0xf99476c9
00001458: SWAP3
00001459: PUSH1 0x04
0000145b: DUP1
0000145c: DUP4
0000145d: ADD
0000145e: SWAP4
0000145f: SWAP2
00001460: SWAP3
00001461: DUP3
00001462: SWAP1
00001463: SUB
00001464: ADD
00001465: DUP2
00001466: DUP7
00001467: DUP1
00001468: EXTCODESIZE
00001469: ISZERO
0000146a: DUP1
0000146b: ISZERO
0000146c: PUSH2 0x1474
0000146f: JUMPI
00001470: PUSH1 0x00
00001472: DUP1
00001473: REVERT
00001474: JUMPDEST
00001475: POP
00001476: GAS
00001477: STATICCALL
00001478: ISZERO
00001479: DUP1
0000147a: ISZERO
0000147b: PUSH2 0x1488
0000147e: JUMPI
0000147f: RETURNDATASIZE
00001480: PUSH1 0x00
00001482: DUP1
00001483: RETURNDATACOPY
00001484: RETURNDATASIZE
00001485: PUSH1 0x00
00001487: REVERT
00001488: JUMPDEST
00001489: POP
0000148a: POP
0000148b: POP
0000148c: POP
0000148d: PUSH1 0x40
0000148f: MLOAD
00001490: RETURNDATASIZE
00001491: PUSH1 0x1f
00001493: NOT
00001494: PUSH1 0x1f
00001496: DUP3
00001497: ADD
00001498: AND
00001499: DUP3
0000149a: ADD
0000149b: DUP1
0000149c: PUSH1 0x40
0000149e: MSTORE
0000149f: POP
000014a0: DUP2
000014a1: ADD
000014a2: SWAP1
000014a3: PUSH2 0x14ac
000014a6: SWAP2
000014a7: SWAP1
000014a8: PUSH2 0x30da
000014ab: JUMP
000014ac: JUMPDEST
000014ad: ISZERO
000014ae: PUSH2 0x156b
000014b1: JUMPI
000014b2: PUSH2 0x1556
000014b5: PUSH1 0x02
000014b7: PUSH1 0xca
000014b9: PUSH1 0x00
000014bb: SWAP1
000014bc: SLOAD
000014bd: SWAP1
000014be: PUSH2 0x0100
000014c1: EXP
000014c2: SWAP1
000014c3: DIV
000014c4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014d9: AND
000014da: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014ef: AND
000014f0: PUSH4 0x85790945
000014f5: PUSH1 0x40
000014f7: MLOAD
000014f8: DUP2
000014f9: PUSH4 0xffffffff
000014fe: AND
000014ff: PUSH1 0xe0
00001501: SHL
00001502: DUP2
00001503: MSTORE
00001504: PUSH1 0x04
00001506: ADD
00001507: PUSH1 0x20
00001509: PUSH1 0x40
0000150b: MLOAD
0000150c: DUP1
0000150d: DUP4
0000150e: SUB
0000150f: DUP2
00001510: DUP7
00001511: DUP1
00001512: EXTCODESIZE
00001513: ISZERO
00001514: DUP1
00001515: ISZERO
00001516: PUSH2 0x151e
00001519: JUMPI
0000151a: PUSH1 0x00
0000151c: DUP1
0000151d: REVERT
0000151e: JUMPDEST
0000151f: POP
00001520: GAS
00001521: STATICCALL
00001522: ISZERO
00001523: DUP1
00001524: ISZERO
00001525: PUSH2 0x1532
00001528: JUMPI
00001529: RETURNDATASIZE
0000152a: PUSH1 0x00
0000152c: DUP1
0000152d: RETURNDATACOPY
0000152e: RETURNDATASIZE
0000152f: PUSH1 0x00
00001531: REVERT
00001532: JUMPDEST
00001533: POP
00001534: POP
00001535: POP
00001536: POP
00001537: PUSH1 0x40
00001539: MLOAD
0000153a: RETURNDATASIZE
0000153b: PUSH1 0x1f
0000153d: NOT
0000153e: PUSH1 0x1f
00001540: DUP3
00001541: ADD
00001542: AND
00001543: DUP3
00001544: ADD
00001545: DUP1
00001546: PUSH1 0x40
00001548: MSTORE
00001549: POP
0000154a: DUP2
0000154b: ADD
0000154c: SWAP1
0000154d: PUSH2 0x13e7
00001550: SWAP2
00001551: SWAP1
00001552: PUSH2 0x3194
00001555: JUMP
00001556: JUMPDEST
00001557: CALLER
00001558: PUSH1 0x00
0000155a: SWAP1
0000155b: DUP2
0000155c: MSTORE
0000155d: PUSH1 0xcc
0000155f: PUSH1 0x20
00001561: MSTORE
00001562: PUSH1 0x40
00001564: SWAP1
00001565: KECCAK256
00001566: SSTORE
00001567: PUSH2 0x15e9
0000156a: JUMP
0000156b: JUMPDEST
0000156c: PUSH2 0x15d8
0000156f: PUSH1 0x01
00001571: PUSH1 0xca
00001573: PUSH1 0x00
00001575: SWAP1
00001576: SLOAD
00001577: SWAP1
00001578: PUSH2 0x0100
0000157b: EXP
0000157c: SWAP1
0000157d: DIV
0000157e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001593: AND
00001594: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015a9: AND
000015aa: PUSH4 0x85790945
000015af: PUSH1 0x40
000015b1: MLOAD
000015b2: DUP2
000015b3: PUSH4 0xffffffff
000015b8: AND
000015b9: PUSH1 0xe0
000015bb: SHL
000015bc: DUP2
000015bd: MSTORE
000015be: PUSH1 0x04
000015c0: ADD
000015c1: PUSH1 0x20
000015c3: PUSH1 0x40
000015c5: MLOAD
000015c6: DUP1
000015c7: DUP4
000015c8: SUB
000015c9: DUP2
000015ca: DUP7
000015cb: DUP1
000015cc: EXTCODESIZE
000015cd: ISZERO
000015ce: DUP1
000015cf: ISZERO
000015d0: PUSH2 0x151e
000015d3: JUMPI
000015d4: PUSH1 0x00
000015d6: DUP1
000015d7: REVERT
000015d8: JUMPDEST
000015d9: CALLER
000015da: PUSH1 0x00
000015dc: SWAP1
000015dd: DUP2
000015de: MSTORE
000015df: PUSH1 0xcc
000015e1: PUSH1 0x20
000015e3: MSTORE
000015e4: PUSH1 0x40
000015e6: SWAP1
000015e7: KECCAK256
000015e8: SSTORE
000015e9: JUMPDEST
000015ea: PUSH32 0xe670e4e82118d22a1f9ee18920455ebc958bae26a90a05d31d3378788b1b0e44
0000160b: CALLER
0000160c: DUP3
0000160d: PUSH1 0x40
0000160f: MLOAD
00001610: PUSH2 0x161a
00001613: SWAP3
00001614: SWAP2
00001615: SWAP1
00001616: PUSH2 0x3254
00001619: JUMP
0000161a: JUMPDEST
0000161b: PUSH1 0x40
0000161d: MLOAD
0000161e: DUP1
0000161f: SWAP2
00001620: SUB
00001621: SWAP1
00001622: LOG1
00001623: POP
00001624: JUMP
00001625: JUMPDEST
00001626: PUSH1 0x00
00001628: PUSH2 0x0698
0000162b: PUSH2 0x1632
0000162e: PUSH2 0x19f5
00001631: JUMP
00001632: JUMPDEST
00001633: DUP5
00001634: PUSH2 0x0e86
00001637: DUP6
00001638: PUSH1 0x40
0000163a: MLOAD
0000163b: DUP1
0000163c: PUSH1 0x60
0000163e: ADD
0000163f: PUSH1 0x40
00001641: MSTORE
00001642: DUP1
00001643: PUSH1 0x25
00001645: DUP2
00001646: MSTORE
00001647: PUSH1 0x20
00001649: ADD
0000164a: PUSH2 0x3b70
0000164d: PUSH1 0x25
0000164f: SWAP2
00001650: CODECOPY
00001651: PUSH1 0x34
00001653: PUSH1 0x00
00001655: PUSH2 0x165c
00001658: PUSH2 0x19f5
0000165b: JUMP
0000165c: JUMPDEST
0000165d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001672: SWAP1
00001673: DUP2
00001674: AND
00001675: DUP3
00001676: MSTORE
00001677: PUSH1 0x20
00001679: DUP1
0000167a: DUP4
0000167b: ADD
0000167c: SWAP4
0000167d: SWAP1
0000167e: SWAP4
0000167f: MSTORE
00001680: PUSH1 0x40
00001682: SWAP2
00001683: DUP3
00001684: ADD
00001685: PUSH1 0x00
00001687: SWAP1
00001688: DUP2
00001689: KECCAK256
0000168a: SWAP2
0000168b: DUP14
0000168c: AND
0000168d: DUP2
0000168e: MSTORE
0000168f: SWAP3
00001690: MSTORE
00001691: SWAP1
00001692: KECCAK256
00001693: SLOAD
00001694: SWAP2
00001695: SWAP1
00001696: PUSH4 0xffffffff
0000169b: PUSH2 0x297b
0000169e: AND
0000169f: JUMP
000016a0: JUMPDEST
000016a1: PUSH1 0x00
000016a3: PUSH2 0x16aa
000016a6: PUSH2 0x0f2a
000016a9: JUMP
000016aa: JUMPDEST
000016ab: ISZERO
000016ac: PUSH2 0x16e1
000016af: JUMPI
000016b0: PUSH1 0x40
000016b2: MLOAD
000016b3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000016d4: DUP2
000016d5: MSTORE
000016d6: PUSH1 0x04
000016d8: ADD
000016d9: PUSH2 0x0478
000016dc: SWAP1
000016dd: PUSH2 0x3614
000016e0: JUMP
000016e1: JUMPDEST
000016e2: PUSH2 0x16eb
000016e5: CALLER
000016e6: DUP4
000016e7: PUSH2 0x21f7
000016ea: JUMP
000016eb: JUMPDEST
000016ec: PUSH1 0x00
000016ee: PUSH2 0x16f7
000016f1: DUP5
000016f2: DUP5
000016f3: PUSH2 0x29c1
000016f6: JUMP
000016f7: JUMPDEST
000016f8: SWAP1
000016f9: POP
000016fa: PUSH32 0x5472616e73666572000000000000000000000000000000000000000000000000
0000171b: PUSH2 0x1724
0000171e: DUP2
0000171f: CALLER
00001720: PUSH2 0x23e5
00001723: JUMP
00001724: JUMPDEST
00001725: PUSH2 0x172e
00001728: DUP2
00001729: DUP7
0000172a: PUSH2 0x23e5
0000172d: JUMP
0000172e: JUMPDEST
0000172f: POP
00001730: SWAP4
00001731: SWAP3
00001732: POP
00001733: POP
00001734: POP
00001735: JUMP
00001736: JUMPDEST
00001737: PUSH2 0x173e
0000173a: PUSH2 0x0f2a
0000173d: JUMP
0000173e: JUMPDEST
0000173f: ISZERO
00001740: PUSH2 0x1775
00001743: JUMPI
00001744: PUSH1 0x40
00001746: MLOAD
00001747: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001768: DUP2
00001769: MSTORE
0000176a: PUSH1 0x04
0000176c: ADD
0000176d: PUSH2 0x0478
00001770: SWAP1
00001771: PUSH2 0x3614
00001774: JUMP
00001775: JUMPDEST
00001776: PUSH2 0x1780
00001779: CALLER
0000177a: CALLER
0000177b: DUP4
0000177c: PUSH2 0x271c
0000177f: JUMP
00001780: JUMPDEST
00001781: POP
00001782: JUMP
00001783: JUMPDEST
00001784: PUSH1 0xcc
00001786: PUSH1 0x20
00001788: MSTORE
00001789: PUSH1 0x00
0000178b: SWAP1
0000178c: DUP2
0000178d: MSTORE
0000178e: PUSH1 0x40
00001790: SWAP1
00001791: KECCAK256
00001792: DUP1
00001793: SLOAD
00001794: PUSH1 0x01
00001796: SWAP1
00001797: SWAP2
00001798: ADD
00001799: SLOAD
0000179a: DUP3
0000179b: JUMP
0000179c: JUMPDEST
0000179d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017b2: SWAP2
000017b3: DUP3
000017b4: AND
000017b5: PUSH1 0x00
000017b7: SWAP1
000017b8: DUP2
000017b9: MSTORE
000017ba: PUSH1 0x34
000017bc: PUSH1 0x20
000017be: SWAP1
000017bf: DUP2
000017c0: MSTORE
000017c1: PUSH1 0x40
000017c3: DUP1
000017c4: DUP4
000017c5: KECCAK256
000017c6: SWAP4
000017c7: SWAP1
000017c8: SWAP5
000017c9: AND
000017ca: DUP3
000017cb: MSTORE
000017cc: SWAP2
000017cd: SWAP1
000017ce: SWAP2
000017cf: MSTORE
000017d0: KECCAK256
000017d1: SLOAD
000017d2: SWAP1
000017d3: JUMP
000017d4: JUMPDEST
000017d5: PUSH2 0x17dc
000017d8: PUSH2 0x19f5
000017db: JUMP
000017dc: JUMPDEST
000017dd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017f2: AND
000017f3: PUSH2 0x17fa
000017f6: PUSH2 0x12a5
000017f9: JUMP
000017fa: JUMPDEST
000017fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001810: AND
00001811: EQ
00001812: PUSH2 0x1847
00001815: JUMPI
00001816: PUSH1 0x40
00001818: MLOAD
00001819: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000183a: DUP2
0000183b: MSTORE
0000183c: PUSH1 0x04
0000183e: ADD
0000183f: PUSH2 0x0478
00001842: SWAP1
00001843: PUSH2 0x3784
00001846: JUMP
00001847: JUMPDEST
00001848: PUSH1 0xcd
0000184a: DUP1
0000184b: SLOAD
0000184c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff
0000186d: AND
0000186e: PUSH2 0x0100
00001871: DUP4
00001872: ISZERO
00001873: ISZERO
00001874: MUL
00001875: OR
00001876: SWAP1
00001877: SSTORE
00001878: PUSH1 0x40
0000187a: MLOAD
0000187b: PUSH32 0xe7123337c95757f19d69c6dcdd015734e22a7750c921506a2d02f487678e8aea
0000189c: SWAP1
0000189d: PUSH2 0x161a
000018a0: SWAP1
000018a1: DUP4
000018a2: SWAP1
000018a3: PUSH2 0x3301
000018a6: JUMP
000018a7: JUMPDEST
000018a8: PUSH2 0x18af
000018ab: PUSH2 0x19f5
000018ae: JUMP
000018af: JUMPDEST
000018b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018c5: AND
000018c6: PUSH2 0x18cd
000018c9: PUSH2 0x12a5
000018cc: JUMP
000018cd: JUMPDEST
000018ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018e3: AND
000018e4: EQ
000018e5: PUSH2 0x191a
000018e8: JUMPI
000018e9: PUSH1 0x40
000018eb: MLOAD
000018ec: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000190d: DUP2
0000190e: MSTORE
0000190f: PUSH1 0x04
00001911: ADD
00001912: PUSH2 0x0478
00001915: SWAP1
00001916: PUSH2 0x3784
00001919: JUMP
0000191a: JUMPDEST
0000191b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001930: DUP2
00001931: AND
00001932: PUSH2 0x1967
00001935: JUMPI
00001936: PUSH1 0x40
00001938: MLOAD
00001939: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000195a: DUP2
0000195b: MSTORE
0000195c: PUSH1 0x04
0000195e: ADD
0000195f: PUSH2 0x0478
00001962: SWAP1
00001963: PUSH2 0x3421
00001966: JUMP
00001967: JUMPDEST
00001968: PUSH1 0x65
0000196a: SLOAD
0000196b: PUSH1 0x40
0000196d: MLOAD
0000196e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001983: DUP1
00001984: DUP5
00001985: AND
00001986: SWAP3
00001987: AND
00001988: SWAP1
00001989: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
000019aa: SWAP1
000019ab: PUSH1 0x00
000019ad: SWAP1
000019ae: LOG3
000019af: PUSH1 0x65
000019b1: DUP1
000019b2: SLOAD
000019b3: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
000019d4: AND
000019d5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019ea: SWAP3
000019eb: SWAP1
000019ec: SWAP3
000019ed: AND
000019ee: SWAP2
000019ef: SWAP1
000019f0: SWAP2
000019f1: OR
000019f2: SWAP1
000019f3: SSTORE
000019f4: JUMP
000019f5: JUMPDEST
000019f6: CALLER
000019f7: SWAP1
000019f8: JUMP
000019f9: JUMPDEST
000019fa: PUSH1 0x00
000019fc: DUP3
000019fd: DUP3
000019fe: GT
000019ff: ISZERO
00001a00: PUSH2 0x1a35
00001a03: JUMPI
00001a04: PUSH1 0x40
00001a06: MLOAD
00001a07: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001a28: DUP2
00001a29: MSTORE
00001a2a: PUSH1 0x04
00001a2c: ADD
00001a2d: PUSH2 0x0478
00001a30: SWAP1
00001a31: PUSH2 0x3512
00001a34: JUMP
00001a35: JUMPDEST
00001a36: POP
00001a37: SWAP1
00001a38: SUB
00001a39: SWAP1
00001a3a: JUMP
00001a3b: JUMPDEST
00001a3c: PUSH1 0x00
00001a3e: PUSH2 0x1a94
00001a41: DUP3
00001a42: DUP6
00001a43: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a58: AND
00001a59: PUSH4 0xdd62ed3e
00001a5e: ADDRESS
00001a5f: DUP8
00001a60: PUSH1 0x40
00001a62: MLOAD
00001a63: DUP4
00001a64: PUSH4 0xffffffff
00001a69: AND
00001a6a: PUSH1 0xe0
00001a6c: SHL
00001a6d: DUP2
00001a6e: MSTORE
00001a6f: PUSH1 0x04
00001a71: ADD
00001a72: PUSH2 0x1a7c
00001a75: SWAP3
00001a76: SWAP2
00001a77: SWAP1
00001a78: PUSH2 0x327a
00001a7b: JUMP
00001a7c: JUMPDEST
00001a7d: PUSH1 0x20
00001a7f: PUSH1 0x40
00001a81: MLOAD
00001a82: DUP1
00001a83: DUP4
00001a84: SUB
00001a85: DUP2
00001a86: DUP7
00001a87: DUP1
00001a88: EXTCODESIZE
00001a89: ISZERO
00001a8a: DUP1
00001a8b: ISZERO
00001a8c: PUSH2 0x151e
00001a8f: JUMPI
00001a90: PUSH1 0x00
00001a92: DUP1
00001a93: REVERT
00001a94: JUMPDEST
00001a95: SWAP1
00001a96: POP
00001a97: PUSH2 0x1b37
00001a9a: DUP5
00001a9b: PUSH4 0x095ea7b3
00001aa0: PUSH1 0xe0
00001aa2: SHL
00001aa3: DUP6
00001aa4: DUP5
00001aa5: PUSH1 0x40
00001aa7: MLOAD
00001aa8: PUSH1 0x24
00001aaa: ADD
00001aab: PUSH2 0x1ab5
00001aae: SWAP3
00001aaf: SWAP2
00001ab0: SWAP1
00001ab1: PUSH2 0x3254
00001ab4: JUMP
00001ab5: JUMPDEST
00001ab6: PUSH1 0x40
00001ab8: DUP1
00001ab9: MLOAD
00001aba: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00001adb: DUP2
00001adc: DUP5
00001add: SUB
00001ade: ADD
00001adf: DUP2
00001ae0: MSTORE
00001ae1: SWAP2
00001ae2: SWAP1
00001ae3: MSTORE
00001ae4: PUSH1 0x20
00001ae6: DUP2
00001ae7: ADD
00001ae8: DUP1
00001ae9: MLOAD
00001aea: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001b07: AND
00001b08: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00001b29: SWAP1
00001b2a: SWAP4
00001b2b: AND
00001b2c: SWAP3
00001b2d: SWAP1
00001b2e: SWAP3
00001b2f: OR
00001b30: SWAP1
00001b31: SWAP2
00001b32: MSTORE
00001b33: PUSH2 0x29d5
00001b36: JUMP
00001b37: JUMPDEST
00001b38: POP
00001b39: POP
00001b3a: POP
00001b3b: POP
00001b3c: JUMP
00001b3d: JUMPDEST
00001b3e: PUSH1 0x00
00001b40: PUSH2 0x1a94
00001b43: DUP3
00001b44: PUSH1 0x40
00001b46: MLOAD
00001b47: DUP1
00001b48: PUSH1 0x60
00001b4a: ADD
00001b4b: PUSH1 0x40
00001b4d: MSTORE
00001b4e: DUP1
00001b4f: PUSH1 0x29
00001b51: DUP2
00001b52: MSTORE
00001b53: PUSH1 0x20
00001b55: ADD
00001b56: PUSH2 0x3af9
00001b59: PUSH1 0x29
00001b5b: SWAP2
00001b5c: CODECOPY
00001b5d: PUSH1 0x40
00001b5f: MLOAD
00001b60: PUSH32 0xdd62ed3e00000000000000000000000000000000000000000000000000000000
00001b81: DUP2
00001b82: MSTORE
00001b83: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b98: DUP9
00001b99: AND
00001b9a: SWAP1
00001b9b: PUSH4 0xdd62ed3e
00001ba0: SWAP1
00001ba1: PUSH2 0x1bb0
00001ba4: SWAP1
00001ba5: ADDRESS
00001ba6: SWAP1
00001ba7: DUP11
00001ba8: SWAP1
00001ba9: PUSH1 0x04
00001bab: ADD
00001bac: PUSH2 0x327a
00001baf: JUMP
00001bb0: JUMPDEST
00001bb1: PUSH1 0x20
00001bb3: PUSH1 0x40
00001bb5: MLOAD
00001bb6: DUP1
00001bb7: DUP4
00001bb8: SUB
00001bb9: DUP2
00001bba: DUP7
00001bbb: DUP1
00001bbc: EXTCODESIZE
00001bbd: ISZERO
00001bbe: DUP1
00001bbf: ISZERO
00001bc0: PUSH2 0x1bc8
00001bc3: JUMPI
00001bc4: PUSH1 0x00
00001bc6: DUP1
00001bc7: REVERT
00001bc8: JUMPDEST
00001bc9: POP
00001bca: GAS
00001bcb: STATICCALL
00001bcc: ISZERO
00001bcd: DUP1
00001bce: ISZERO
00001bcf: PUSH2 0x1bdc
00001bd2: JUMPI
00001bd3: RETURNDATASIZE
00001bd4: PUSH1 0x00
00001bd6: DUP1
00001bd7: RETURNDATACOPY
00001bd8: RETURNDATASIZE
00001bd9: PUSH1 0x00
00001bdb: REVERT
00001bdc: JUMPDEST
00001bdd: POP
00001bde: POP
00001bdf: POP
00001be0: POP
00001be1: PUSH1 0x40
00001be3: MLOAD
00001be4: RETURNDATASIZE
00001be5: PUSH1 0x1f
00001be7: NOT
00001be8: PUSH1 0x1f
00001bea: DUP3
00001beb: ADD
00001bec: AND
00001bed: DUP3
00001bee: ADD
00001bef: DUP1
00001bf0: PUSH1 0x40
00001bf2: MSTORE
00001bf3: POP
00001bf4: DUP2
00001bf5: ADD
00001bf6: SWAP1
00001bf7: PUSH2 0x1c00
00001bfa: SWAP2
00001bfb: SWAP1
00001bfc: PUSH2 0x3194
00001bff: JUMP
00001c00: JUMPDEST
00001c01: SWAP2
00001c02: SWAP1
00001c03: PUSH4 0xffffffff
00001c08: PUSH2 0x297b
00001c0b: AND
00001c0c: JUMP
00001c0d: JUMPDEST
00001c0e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c23: DUP4
00001c24: AND
00001c25: PUSH2 0x1c5a
00001c28: JUMPI
00001c29: PUSH1 0x40
00001c2b: MLOAD
00001c2c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001c4d: DUP2
00001c4e: MSTORE
00001c4f: PUSH1 0x04
00001c51: ADD
00001c52: PUSH2 0x0478
00001c55: SWAP1
00001c56: PUSH2 0x3873
00001c59: JUMP
00001c5a: JUMPDEST
00001c5b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c70: DUP3
00001c71: AND
00001c72: PUSH2 0x1ca7
00001c75: JUMPI
00001c76: PUSH1 0x40
00001c78: MLOAD
00001c79: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001c9a: DUP2
00001c9b: MSTORE
00001c9c: PUSH1 0x04
00001c9e: ADD
00001c9f: PUSH2 0x0478
00001ca2: SWAP1
00001ca3: PUSH2 0x347e
00001ca6: JUMP
00001ca7: JUMPDEST
00001ca8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001cbd: DUP1
00001cbe: DUP5
00001cbf: AND
00001cc0: PUSH1 0x00
00001cc2: DUP2
00001cc3: DUP2
00001cc4: MSTORE
00001cc5: PUSH1 0x34
00001cc7: PUSH1 0x20
00001cc9: SWAP1
00001cca: DUP2
00001ccb: MSTORE
00001ccc: PUSH1 0x40
00001cce: DUP1
00001ccf: DUP4
00001cd0: KECCAK256
00001cd1: SWAP5
00001cd2: DUP8
00001cd3: AND
00001cd4: DUP1
00001cd5: DUP5
00001cd6: MSTORE
00001cd7: SWAP5
00001cd8: SWAP1
00001cd9: SWAP2
00001cda: MSTORE
00001cdb: SWAP1
00001cdc: DUP2
00001cdd: SWAP1
00001cde: KECCAK256
00001cdf: DUP5
00001ce0: SWAP1
00001ce1: SSTORE
00001ce2: MLOAD
00001ce3: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
00001d04: SWAP1
00001d05: PUSH2 0x1d0f
00001d08: SWAP1
00001d09: DUP6
00001d0a: SWAP1
00001d0b: PUSH2 0x3a55
00001d0e: JUMP
00001d0f: JUMPDEST
00001d10: PUSH1 0x40
00001d12: MLOAD
00001d13: DUP1
00001d14: SWAP2
00001d15: SUB
00001d16: SWAP1
00001d17: LOG3
00001d18: POP
00001d19: POP
00001d1a: POP
00001d1b: JUMP
00001d1c: JUMPDEST
00001d1d: PUSH1 0x00
00001d1f: PUSH2 0x1d27
00001d22: ADDRESS
00001d23: PUSH2 0x2a8b
00001d26: JUMP
00001d27: JUMPDEST
00001d28: ISZERO
00001d29: SWAP1
00001d2a: POP
00001d2b: SWAP1
00001d2c: JUMP
00001d2d: JUMPDEST
00001d2e: PUSH1 0x00
00001d30: SLOAD
00001d31: PUSH2 0x0100
00001d34: SWAP1
00001d35: DIV
00001d36: PUSH1 0xff
00001d38: AND
00001d39: DUP1
00001d3a: PUSH2 0x1d46
00001d3d: JUMPI
00001d3e: POP
00001d3f: PUSH2 0x1d46
00001d42: PUSH2 0x1d1c
00001d45: JUMP
00001d46: JUMPDEST
00001d47: DUP1
00001d48: PUSH2 0x1d54
00001d4b: JUMPI
00001d4c: POP
00001d4d: PUSH1 0x00
00001d4f: SLOAD
00001d50: PUSH1 0xff
00001d52: AND
00001d53: ISZERO
00001d54: JUMPDEST
00001d55: PUSH2 0x1d8a
00001d58: JUMPI
00001d59: PUSH1 0x40
00001d5b: MLOAD
00001d5c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001d7d: DUP2
00001d7e: MSTORE
00001d7f: PUSH1 0x04
00001d81: ADD
00001d82: PUSH2 0x0478
00001d85: SWAP1
00001d86: PUSH2 0x3682
00001d89: JUMP
00001d8a: JUMPDEST
00001d8b: PUSH1 0x00
00001d8d: SLOAD
00001d8e: PUSH2 0x0100
00001d91: SWAP1
00001d92: DIV
00001d93: PUSH1 0xff
00001d95: AND
00001d96: ISZERO
00001d97: DUP1
00001d98: ISZERO
00001d99: PUSH2 0x1df0
00001d9c: JUMPI
00001d9d: PUSH1 0x00
00001d9f: DUP1
00001da0: SLOAD
00001da1: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00001dc2: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff
00001de3: SWAP1
00001de4: SWAP2
00001de5: AND
00001de6: PUSH2 0x0100
00001de9: OR
00001dea: AND
00001deb: PUSH1 0x01
00001ded: OR
00001dee: SWAP1
00001def: SSTORE
00001df0: JUMPDEST
00001df1: DUP1
00001df2: ISZERO
00001df3: PUSH2 0x1780
00001df6: JUMPI
00001df7: PUSH1 0x00
00001df9: DUP1
00001dfa: SLOAD
00001dfb: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff
00001e1c: AND
00001e1d: SWAP1
00001e1e: SSTORE
00001e1f: POP
00001e20: JUMP
00001e21: JUMPDEST
00001e22: PUSH1 0x00
00001e24: SLOAD
00001e25: PUSH2 0x0100
00001e28: SWAP1
00001e29: DIV
00001e2a: PUSH1 0xff
00001e2c: AND
00001e2d: DUP1
00001e2e: PUSH2 0x1e3a
00001e31: JUMPI
00001e32: POP
00001e33: PUSH2 0x1e3a
00001e36: PUSH2 0x1d1c
00001e39: JUMP
00001e3a: JUMPDEST
00001e3b: DUP1
00001e3c: PUSH2 0x1e48
00001e3f: JUMPI
00001e40: POP
00001e41: PUSH1 0x00
00001e43: SLOAD
00001e44: PUSH1 0xff
00001e46: AND
00001e47: ISZERO
00001e48: JUMPDEST
00001e49: PUSH2 0x1e7e
00001e4c: JUMPI
00001e4d: PUSH1 0x40
00001e4f: MLOAD
00001e50: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001e71: DUP2
00001e72: MSTORE
00001e73: PUSH1 0x04
00001e75: ADD
00001e76: PUSH2 0x0478
00001e79: SWAP1
00001e7a: PUSH2 0x3682
00001e7d: JUMP
00001e7e: JUMPDEST
00001e7f: PUSH1 0x00
00001e81: SLOAD
00001e82: PUSH2 0x0100
00001e85: SWAP1
00001e86: DIV
00001e87: PUSH1 0xff
00001e89: AND
00001e8a: ISZERO
00001e8b: DUP1
00001e8c: ISZERO
00001e8d: PUSH2 0x1ee4
00001e90: JUMPI
00001e91: PUSH1 0x00
00001e93: DUP1
00001e94: SLOAD
00001e95: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00001eb6: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff
00001ed7: SWAP1
00001ed8: SWAP2
00001ed9: AND
00001eda: PUSH2 0x0100
00001edd: OR
00001ede: AND
00001edf: PUSH1 0x01
00001ee1: OR
00001ee2: SWAP1
00001ee3: SSTORE
00001ee4: JUMPDEST
00001ee5: PUSH1 0x00
00001ee7: PUSH2 0x1eee
00001eea: PUSH2 0x19f5
00001eed: JUMP
00001eee: JUMPDEST
00001eef: PUSH1 0x65
00001ef1: DUP1
00001ef2: SLOAD
00001ef3: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00001f14: AND
00001f15: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f2a: DUP4
00001f2b: AND
00001f2c: SWAP1
00001f2d: DUP2
00001f2e: OR
00001f2f: SWAP1
00001f30: SWAP2
00001f31: SSTORE
00001f32: PUSH1 0x40
00001f34: MLOAD
00001f35: SWAP2
00001f36: SWAP3
00001f37: POP
00001f38: SWAP1
00001f39: PUSH1 0x00
00001f3b: SWAP1
00001f3c: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00001f5d: SWAP1
00001f5e: DUP3
00001f5f: SWAP1
00001f60: LOG3
00001f61: POP
00001f62: DUP1
00001f63: ISZERO
00001f64: PUSH2 0x1780
00001f67: JUMPI
00001f68: PUSH1 0x00
00001f6a: DUP1
00001f6b: SLOAD
00001f6c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff
00001f8d: AND
00001f8e: SWAP1
00001f8f: SSTORE
00001f90: POP
00001f91: JUMP
00001f92: JUMPDEST
00001f93: PUSH1 0x00
00001f95: SLOAD
00001f96: PUSH2 0x0100
00001f99: SWAP1
00001f9a: DIV
00001f9b: PUSH1 0xff
00001f9d: AND
00001f9e: DUP1
00001f9f: PUSH2 0x1fab
00001fa2: JUMPI
00001fa3: POP
00001fa4: PUSH2 0x1fab
00001fa7: PUSH2 0x1d1c
00001faa: JUMP
00001fab: JUMPDEST
00001fac: DUP1
00001fad: PUSH2 0x1fb9
00001fb0: JUMPI
00001fb1: POP
00001fb2: PUSH1 0x00
00001fb4: SLOAD
00001fb5: PUSH1 0xff
00001fb7: AND
00001fb8: ISZERO
00001fb9: JUMPDEST
00001fba: PUSH2 0x1fef
00001fbd: JUMPI
00001fbe: PUSH1 0x40
00001fc0: MLOAD
00001fc1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001fe2: DUP2
00001fe3: MSTORE
00001fe4: PUSH1 0x04
00001fe6: ADD
00001fe7: PUSH2 0x0478
00001fea: SWAP1
00001feb: PUSH2 0x3682
00001fee: JUMP
00001fef: JUMPDEST
00001ff0: PUSH1 0x00
00001ff2: SLOAD
00001ff3: PUSH2 0x0100
00001ff6: SWAP1
00001ff7: DIV
00001ff8: PUSH1 0xff
00001ffa: AND
00001ffb: ISZERO
00001ffc: DUP1
00001ffd: ISZERO
00001ffe: PUSH2 0x2055
00002001: JUMPI
00002002: PUSH1 0x00
00002004: DUP1
00002005: SLOAD
00002006: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00002027: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff
00002048: SWAP1
00002049: SWAP2
0000204a: AND
0000204b: PUSH2 0x0100
0000204e: OR
0000204f: AND
00002050: PUSH1 0x01
00002052: OR
00002053: SWAP1
00002054: SSTORE
00002055: JUMPDEST
00002056: PUSH1 0x97
00002058: DUP1
00002059: SLOAD
0000205a: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
0000207b: AND
0000207c: SWAP1
0000207d: SSTORE
0000207e: DUP1
0000207f: ISZERO
00002080: PUSH2 0x1780
00002083: JUMPI
00002084: PUSH1 0x00
00002086: DUP1
00002087: SLOAD
00002088: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff
000020a9: AND
000020aa: SWAP1
000020ab: SSTORE
000020ac: POP
000020ad: JUMP
000020ae: JUMPDEST
000020af: PUSH1 0x00
000020b1: SLOAD
000020b2: PUSH2 0x0100
000020b5: SWAP1
000020b6: DIV
000020b7: PUSH1 0xff
000020b9: AND
000020ba: DUP1
000020bb: PUSH2 0x20c7
000020be: JUMPI
000020bf: POP
000020c0: PUSH2 0x20c7
000020c3: PUSH2 0x1d1c
000020c6: JUMP
000020c7: JUMPDEST
000020c8: DUP1
000020c9: PUSH2 0x20d5
000020cc: JUMPI
000020cd: POP
000020ce: PUSH1 0x00
000020d0: SLOAD
000020d1: PUSH1 0xff
000020d3: AND
000020d4: ISZERO
000020d5: JUMPDEST
000020d6: PUSH2 0x210b
000020d9: JUMPI
000020da: PUSH1 0x40
000020dc: MLOAD
000020dd: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000020fe: DUP2
000020ff: MSTORE
00002100: PUSH1 0x04
00002102: ADD
00002103: PUSH2 0x0478
00002106: SWAP1
00002107: PUSH2 0x3682
0000210a: JUMP
0000210b: JUMPDEST
0000210c: PUSH1 0x00
0000210e: SLOAD
0000210f: PUSH2 0x0100
00002112: SWAP1
00002113: DIV
00002114: PUSH1 0xff
00002116: AND
00002117: ISZERO
00002118: DUP1
00002119: ISZERO
0000211a: PUSH2 0x2171
0000211d: JUMPI
0000211e: PUSH1 0x00
00002120: DUP1
00002121: SLOAD
00002122: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00002143: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff
00002164: SWAP1
00002165: SWAP2
00002166: AND
00002167: PUSH2 0x0100
0000216a: OR
0000216b: AND
0000216c: PUSH1 0x01
0000216e: OR
0000216f: SWAP1
00002170: SSTORE
00002171: JUMPDEST
00002172: DUP3
00002173: MLOAD
00002174: PUSH2 0x2184
00002177: SWAP1
00002178: PUSH1 0x36
0000217a: SWAP1
0000217b: PUSH1 0x20
0000217d: DUP7
0000217e: ADD
0000217f: SWAP1
00002180: PUSH2 0x2ecb
00002183: JUMP
00002184: JUMPDEST
00002185: POP
00002186: DUP2
00002187: MLOAD
00002188: PUSH2 0x2198
0000218b: SWAP1
0000218c: PUSH1 0x37
0000218e: SWAP1
0000218f: PUSH1 0x20
00002191: DUP6
00002192: ADD
00002193: SWAP1
00002194: PUSH2 0x2ecb
00002197: JUMP
00002198: JUMPDEST
00002199: POP
0000219a: PUSH1 0x38
0000219c: DUP1
0000219d: SLOAD
0000219e: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
000021bf: AND
000021c0: PUSH1 0x12
000021c2: OR
000021c3: SWAP1
000021c4: SSTORE
000021c5: DUP1
000021c6: ISZERO
000021c7: PUSH2 0x05c9
000021ca: JUMPI
000021cb: PUSH1 0x00
000021cd: DUP1
000021ce: SLOAD
000021cf: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff
000021f0: AND
000021f1: SWAP1
000021f2: SSTORE
000021f3: POP
000021f4: POP
000021f5: POP
000021f6: JUMP
000021f7: JUMPDEST
000021f8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000220d: DUP3
0000220e: AND
0000220f: PUSH1 0x00
00002211: SWAP1
00002212: DUP2
00002213: MSTORE
00002214: PUSH1 0xcc
00002216: PUSH1 0x20
00002218: MSTORE
00002219: PUSH1 0x40
0000221b: SWAP1
0000221c: KECCAK256
0000221d: PUSH1 0x01
0000221f: ADD
00002220: SLOAD
00002221: ISZERO
00002222: PUSH2 0x05cb
00002225: JUMPI
00002226: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000223b: DUP3
0000223c: AND
0000223d: PUSH1 0x00
0000223f: SWAP1
00002240: DUP2
00002241: MSTORE
00002242: PUSH1 0xcc
00002244: PUSH1 0x20
00002246: MSTORE
00002247: PUSH1 0x40
00002249: DUP2
0000224a: KECCAK256
0000224b: PUSH1 0x01
0000224d: ADD
0000224e: SLOAD
0000224f: PUSH2 0x2292
00002252: SWAP1
00002253: PUSH2 0x225d
00002256: SWAP1
00002257: DUP5
00002258: SWAP1
00002259: PUSH2 0x2a91
0000225c: JUMP
0000225d: JUMPDEST
0000225e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002273: DUP6
00002274: AND
00002275: PUSH1 0x00
00002277: SWAP1
00002278: DUP2
00002279: MSTORE
0000227a: PUSH1 0xcc
0000227c: PUSH1 0x20
0000227e: MSTORE
0000227f: PUSH1 0x40
00002281: SWAP1
00002282: KECCAK256
00002283: PUSH1 0x01
00002285: ADD
00002286: SLOAD
00002287: SWAP1
00002288: PUSH4 0xffffffff
0000228d: PUSH2 0x19f9
00002290: AND
00002291: JUMP
00002292: JUMPDEST
00002293: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022a8: DUP5
000022a9: AND
000022aa: PUSH1 0x00
000022ac: SWAP1
000022ad: DUP2
000022ae: MSTORE
000022af: PUSH1 0xcc
000022b1: PUSH1 0x20
000022b3: MSTORE
000022b4: PUSH1 0x40
000022b6: SWAP1
000022b7: KECCAK256
000022b8: PUSH1 0x01
000022ba: ADD
000022bb: SLOAD
000022bc: SWAP1
000022bd: SWAP2
000022be: POP
000022bf: PUSH2 0x22e1
000022c2: SWAP1
000022c3: PUSH2 0x22d2
000022c6: SWAP1
000022c7: DUP4
000022c8: PUSH4 0xffffffff
000022cd: PUSH2 0x19f9
000022d0: AND
000022d1: JUMP
000022d2: JUMPDEST
000022d3: PUSH1 0xcb
000022d5: SLOAD
000022d6: SWAP1
000022d7: PUSH4 0xffffffff
000022dc: PUSH2 0x19f9
000022df: AND
000022e0: JUMP
000022e1: JUMPDEST
000022e2: PUSH1 0xcb
000022e4: SSTORE
000022e5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022fa: DUP4
000022fb: AND
000022fc: PUSH1 0x00
000022fe: SWAP1
000022ff: DUP2
00002300: MSTORE
00002301: PUSH1 0xcc
00002303: PUSH1 0x20
00002305: MSTORE
00002306: PUSH1 0x40
00002308: SWAP1
00002309: KECCAK256
0000230a: PUSH1 0x01
0000230c: ADD
0000230d: DUP2
0000230e: SWAP1
0000230f: SSTORE
00002310: DUP1
00002311: PUSH2 0x05c9
00002314: JUMPI
00002315: POP
00002316: POP
00002317: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000232c: AND
0000232d: PUSH1 0x00
0000232f: SWAP1
00002330: DUP2
00002331: MSTORE
00002332: PUSH1 0xcc
00002334: PUSH1 0x20
00002336: MSTORE
00002337: PUSH1 0x40
00002339: DUP2
0000233a: KECCAK256
0000233b: DUP2
0000233c: DUP2
0000233d: SSTORE
0000233e: PUSH1 0x01
00002340: ADD
00002341: SSTORE
00002342: JUMP
00002343: JUMPDEST
00002344: PUSH1 0x00
00002346: PUSH2 0x2350
00002349: DUP5
0000234a: DUP5
0000234b: DUP5
0000234c: PUSH2 0x2aa7
0000234f: JUMP
00002350: JUMPDEST
00002351: PUSH2 0x23db
00002354: DUP5
00002355: PUSH2 0x235c
00002358: PUSH2 0x19f5
0000235b: JUMP
0000235c: JUMPDEST
0000235d: PUSH2 0x0e86
00002360: DUP6
00002361: PUSH1 0x40
00002363: MLOAD
00002364: DUP1
00002365: PUSH1 0x60
00002367: ADD
00002368: PUSH1 0x40
0000236a: MSTORE
0000236b: DUP1
0000236c: PUSH1 0x28
0000236e: DUP2
0000236f: MSTORE
00002370: PUSH1 0x20
00002372: ADD
00002373: PUSH2 0x3b48
00002376: PUSH1 0x28
00002378: SWAP2
00002379: CODECOPY
0000237a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000238f: DUP11
00002390: AND
00002391: PUSH1 0x00
00002393: SWAP1
00002394: DUP2
00002395: MSTORE
00002396: PUSH1 0x34
00002398: PUSH1 0x20
0000239a: MSTORE
0000239b: PUSH1 0x40
0000239d: DUP2
0000239e: KECCAK256
0000239f: SWAP1
000023a0: PUSH2 0x23a7
000023a3: PUSH2 0x19f5
000023a6: JUMP
000023a7: JUMPDEST
000023a8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000023bd: AND
000023be: DUP2
000023bf: MSTORE
000023c0: PUSH1 0x20
000023c2: DUP2
000023c3: ADD
000023c4: SWAP2
000023c5: SWAP1
000023c6: SWAP2
000023c7: MSTORE
000023c8: PUSH1 0x40
000023ca: ADD
000023cb: PUSH1 0x00
000023cd: KECCAK256
000023ce: SLOAD
000023cf: SWAP2
000023d0: SWAP1
000023d1: PUSH4 0xffffffff
000023d6: PUSH2 0x297b
000023d9: AND
000023da: JUMP
000023db: JUMPDEST
000023dc: POP
000023dd: PUSH1 0x01
000023df: SWAP4
000023e0: SWAP3
000023e1: POP
000023e2: POP
000023e3: POP
000023e4: JUMP
000023e5: JUMPDEST
000023e6: PUSH1 0xcd
000023e8: SLOAD
000023e9: PUSH2 0x0100
000023ec: SWAP1
000023ed: DIV
000023ee: PUSH1 0xff
000023f0: AND
000023f1: ISZERO
000023f2: PUSH2 0x05cb
000023f5: JUMPI
000023f6: PUSH1 0xce
000023f8: SLOAD
000023f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000240e: AND
0000240f: PUSH2 0x2444
00002412: JUMPI
00002413: PUSH1 0x40
00002415: MLOAD
00002416: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002437: DUP2
00002438: MSTORE
00002439: PUSH1 0x04
0000243b: ADD
0000243c: PUSH2 0x0478
0000243f: SWAP1
00002440: PUSH2 0x3716
00002443: JUMP
00002444: JUMPDEST
00002445: PUSH1 0xcf
00002447: SLOAD
00002448: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000245d: AND
0000245e: PUSH2 0x2493
00002461: JUMPI
00002462: PUSH1 0x40
00002464: MLOAD
00002465: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002486: DUP2
00002487: MSTORE
00002488: PUSH1 0x04
0000248a: ADD
0000248b: PUSH2 0x0478
0000248e: SWAP1
0000248f: PUSH2 0x3716
00002492: JUMP
00002493: JUMPDEST
00002494: PUSH1 0x00
00002496: PUSH2 0x249e
00002499: DUP3
0000249a: PUSH2 0x0f33
0000249d: JUMP
0000249e: JUMPDEST
0000249f: SWAP1
000024a0: POP
000024a1: PUSH1 0x60
000024a3: PUSH1 0x40
000024a5: MLOAD
000024a6: DUP1
000024a7: PUSH1 0x80
000024a9: ADD
000024aa: PUSH1 0x40
000024ac: MSTORE
000024ad: DUP1
000024ae: DUP6
000024af: DUP2
000024b0: MSTORE
000024b1: PUSH1 0x20
000024b3: ADD
000024b4: DUP5
000024b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000024ca: AND
000024cb: DUP2
000024cc: MSTORE
000024cd: PUSH1 0x20
000024cf: ADD
000024d0: ADDRESS
000024d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000024e6: AND
000024e7: DUP2
000024e8: MSTORE
000024e9: PUSH1 0x20
000024eb: ADD
000024ec: DUP4
000024ed: DUP2
000024ee: MSTORE
000024ef: POP
000024f0: PUSH1 0x40
000024f2: MLOAD
000024f3: PUSH1 0x20
000024f5: ADD
000024f6: PUSH2 0x24ff
000024f9: SWAP2
000024fa: SWAP1
000024fb: PUSH2 0x3a09
000024fe: JUMP
000024ff: JUMPDEST
00002500: PUSH1 0x40
00002502: DUP1
00002503: MLOAD
00002504: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00002525: DUP2
00002526: DUP5
00002527: SUB
00002528: ADD
00002529: DUP2
0000252a: MSTORE
0000252b: SWAP1
0000252c: DUP3
0000252d: SWAP1
0000252e: MSTORE
0000252f: PUSH1 0xce
00002531: SLOAD
00002532: PUSH1 0xcf
00002534: SLOAD
00002535: PUSH32 0xb472047700000000000000000000000000000000000000000000000000000000
00002556: DUP5
00002557: MSTORE
00002558: SWAP2
00002559: SWAP4
0000255a: POP
0000255b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002570: SWAP1
00002571: DUP2
00002572: AND
00002573: SWAP3
00002574: PUSH4 0xb4720477
00002579: SWAP3
0000257a: PUSH2 0x2589
0000257d: SWAP3
0000257e: AND
0000257f: SWAP1
00002580: DUP6
00002581: SWAP1
00002582: PUSH1 0x04
00002584: ADD
00002585: PUSH2 0x32d2
00002588: JUMP
00002589: JUMPDEST
0000258a: PUSH1 0x00
0000258c: PUSH1 0x40
0000258e: MLOAD
0000258f: DUP1
00002590: DUP4
00002591: SUB
00002592: DUP2
00002593: PUSH1 0x00
00002595: DUP8
00002596: DUP1
00002597: EXTCODESIZE
00002598: ISZERO
00002599: DUP1
0000259a: ISZERO
0000259b: PUSH2 0x25a3
0000259e: JUMPI
0000259f: PUSH1 0x00
000025a1: DUP1
000025a2: REVERT
000025a3: JUMPDEST
000025a4: POP
000025a5: GAS
000025a6: CALL
000025a7: ISZERO
000025a8: DUP1
000025a9: ISZERO
000025aa: PUSH2 0x25b7
000025ad: JUMPI
000025ae: RETURNDATASIZE
000025af: PUSH1 0x00
000025b1: DUP1
000025b2: RETURNDATACOPY
000025b3: RETURNDATASIZE
000025b4: PUSH1 0x00
000025b6: REVERT
000025b7: JUMPDEST
000025b8: POP
000025b9: POP
000025ba: POP
000025bb: POP
000025bc: POP
000025bd: POP
000025be: POP
000025bf: POP
000025c0: JUMP
000025c1: JUMPDEST
000025c2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000025d7: DUP3
000025d8: AND
000025d9: PUSH2 0x260e
000025dc: JUMPI
000025dd: PUSH1 0x40
000025df: MLOAD
000025e0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002601: DUP2
00002602: MSTORE
00002603: PUSH1 0x04
00002605: ADD
00002606: PUSH2 0x0478
00002609: SWAP1
0000260a: PUSH2 0x37b9
0000260d: JUMP
0000260e: JUMPDEST
0000260f: PUSH2 0x261a
00002612: DUP3
00002613: PUSH1 0x00
00002615: DUP4
00002616: PUSH2 0x05c9
00002619: JUMP
0000261a: JUMPDEST
0000261b: PUSH2 0x266a
0000261e: DUP2
0000261f: PUSH1 0x40
00002621: MLOAD
00002622: DUP1
00002623: PUSH1 0x60
00002625: ADD
00002626: PUSH1 0x40
00002628: MSTORE
00002629: DUP1
0000262a: PUSH1 0x22
0000262c: DUP2
0000262d: MSTORE
0000262e: PUSH1 0x20
00002630: ADD
00002631: PUSH2 0x3ad7
00002634: PUSH1 0x22
00002636: SWAP2
00002637: CODECOPY
00002638: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000264d: DUP6
0000264e: AND
0000264f: PUSH1 0x00
00002651: SWAP1
00002652: DUP2
00002653: MSTORE
00002654: PUSH1 0x33
00002656: PUSH1 0x20
00002658: MSTORE
00002659: PUSH1 0x40
0000265b: SWAP1
0000265c: KECCAK256
0000265d: SLOAD
0000265e: SWAP2
0000265f: SWAP1
00002660: PUSH4 0xffffffff
00002665: PUSH2 0x297b
00002668: AND
00002669: JUMP
0000266a: JUMPDEST
0000266b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002680: DUP4
00002681: AND
00002682: PUSH1 0x00
00002684: SWAP1
00002685: DUP2
00002686: MSTORE
00002687: PUSH1 0x33
00002689: PUSH1 0x20
0000268b: MSTORE
0000268c: PUSH1 0x40
0000268e: SWAP1
0000268f: KECCAK256
00002690: SSTORE
00002691: PUSH1 0x35
00002693: SLOAD
00002694: PUSH2 0x26a3
00002697: SWAP1
00002698: DUP3
00002699: PUSH4 0xffffffff
0000269e: PUSH2 0x19f9
000026a1: AND
000026a2: JUMP
000026a3: JUMPDEST
000026a4: PUSH1 0x35
000026a6: SSTORE
000026a7: PUSH1 0x40
000026a9: MLOAD
000026aa: PUSH1 0x00
000026ac: SWAP1
000026ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000026c2: DUP5
000026c3: AND
000026c4: SWAP1
000026c5: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
000026e6: SWAP1
000026e7: PUSH2 0x26f1
000026ea: SWAP1
000026eb: DUP6
000026ec: SWAP1
000026ed: PUSH2 0x3a55
000026f0: JUMP
000026f1: JUMPDEST
000026f2: PUSH1 0x40
000026f4: MLOAD
000026f5: DUP1
000026f6: SWAP2
000026f7: SUB
000026f8: SWAP1
000026f9: LOG3
000026fa: POP
000026fb: POP
000026fc: JUMP
000026fd: JUMPDEST
000026fe: PUSH2 0x05c9
00002701: DUP4
00002702: PUSH4 0xa9059cbb
00002707: PUSH1 0xe0
00002709: SHL
0000270a: DUP5
0000270b: DUP5
0000270c: PUSH1 0x40
0000270e: MLOAD
0000270f: PUSH1 0x24
00002711: ADD
00002712: PUSH2 0x1ab5
00002715: SWAP3
00002716: SWAP2
00002717: SWAP1
00002718: PUSH2 0x3254
0000271b: JUMP
0000271c: JUMPDEST
0000271d: PUSH1 0x00
0000271f: DUP2
00002720: GT
00002721: PUSH2 0x2756
00002724: JUMPI
00002725: PUSH1 0x40
00002727: MLOAD
00002728: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002749: DUP2
0000274a: MSTORE
0000274b: PUSH1 0x04
0000274d: ADD
0000274e: PUSH2 0x0478
00002751: SWAP1
00002752: PUSH2 0x3964
00002755: JUMP
00002756: JUMPDEST
00002757: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000276c: DUP3
0000276d: AND
0000276e: PUSH2 0x27a3
00002771: JUMPI
00002772: PUSH1 0x40
00002774: MLOAD
00002775: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002796: DUP2
00002797: MSTORE
00002798: PUSH1 0x04
0000279a: ADD
0000279b: PUSH2 0x0478
0000279e: SWAP1
0000279f: PUSH2 0x337c
000027a2: JUMP
000027a3: JUMPDEST
000027a4: PUSH2 0x27ad
000027a7: DUP3
000027a8: DUP3
000027a9: PUSH2 0x2c3d
000027ac: JUMP
000027ad: JUMPDEST
000027ae: PUSH1 0xc9
000027b0: SLOAD
000027b1: PUSH2 0x27d8
000027b4: SWAP1
000027b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027ca: AND
000027cb: DUP5
000027cc: ADDRESS
000027cd: DUP5
000027ce: PUSH4 0xffffffff
000027d3: PUSH2 0x2d3e
000027d6: AND
000027d7: JUMP
000027d8: JUMPDEST
000027d9: PUSH32 0x4465706f73697400000000000000000000000000000000000000000000000000
000027fa: PUSH2 0x1b37
000027fd: DUP2
000027fe: DUP5
000027ff: PUSH2 0x23e5
00002802: JUMP
00002803: JUMPDEST
00002804: PUSH1 0x00
00002806: DUP3
00002807: DUP3
00002808: ADD
00002809: DUP4
0000280a: DUP2
0000280b: LT
0000280c: ISZERO
0000280d: PUSH2 0x0944
00002810: JUMPI
00002811: PUSH1 0x40
00002813: MLOAD
00002814: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002835: DUP2
00002836: MSTORE
00002837: PUSH1 0x04
00002839: ADD
0000283a: PUSH2 0x0478
0000283d: SWAP1
0000283e: PUSH2 0x34db
00002841: JUMP
00002842: JUMPDEST
00002843: PUSH2 0x284a
00002846: PUSH2 0x0f2a
00002849: JUMP
0000284a: JUMPDEST
0000284b: PUSH2 0x2880
0000284e: JUMPI
0000284f: PUSH1 0x40
00002851: MLOAD
00002852: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002873: DUP2
00002874: MSTORE
00002875: PUSH1 0x04
00002877: ADD
00002878: PUSH2 0x0478
0000287b: SWAP1
0000287c: PUSH2 0x33b3
0000287f: JUMP
00002880: JUMPDEST
00002881: PUSH1 0x97
00002883: DUP1
00002884: SLOAD
00002885: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
000028a6: AND
000028a7: SWAP1
000028a8: SSTORE
000028a9: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa
000028ca: PUSH2 0x28d1
000028cd: PUSH2 0x19f5
000028d0: JUMP
000028d1: JUMPDEST
000028d2: PUSH1 0x40
000028d4: MLOAD
000028d5: PUSH2 0x28de
000028d8: SWAP2
000028d9: SWAP1
000028da: PUSH2 0x3233
000028dd: JUMP
000028de: JUMPDEST
000028df: PUSH1 0x40
000028e1: MLOAD
000028e2: DUP1
000028e3: SWAP2
000028e4: SUB
000028e5: SWAP1
000028e6: LOG1
000028e7: JUMP
000028e8: JUMPDEST
000028e9: PUSH2 0x28f0
000028ec: PUSH2 0x0f2a
000028ef: JUMP
000028f0: JUMPDEST
000028f1: ISZERO
000028f2: PUSH2 0x2927
000028f5: JUMPI
000028f6: PUSH1 0x40
000028f8: MLOAD
000028f9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000291a: DUP2
0000291b: MSTORE
0000291c: PUSH1 0x04
0000291e: ADD
0000291f: PUSH2 0x0478
00002922: SWAP1
00002923: PUSH2 0x3614
00002926: JUMP
00002927: JUMPDEST
00002928: PUSH1 0x97
0000292a: DUP1
0000292b: SLOAD
0000292c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
0000294d: AND
0000294e: PUSH1 0x01
00002950: OR
00002951: SWAP1
00002952: SSTORE
00002953: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258
00002974: PUSH2 0x28d1
00002977: PUSH2 0x19f5
0000297a: JUMP
0000297b: JUMPDEST
0000297c: PUSH1 0x00
0000297e: DUP2
0000297f: DUP5
00002980: DUP5
00002981: GT
00002982: ISZERO
00002983: PUSH2 0x29b9
00002986: JUMPI
00002987: PUSH1 0x40
00002989: MLOAD
0000298a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000029ab: DUP2
000029ac: MSTORE
000029ad: PUSH1 0x04
000029af: ADD
000029b0: PUSH2 0x0478
000029b3: SWAP2
000029b4: SWAP1
000029b5: PUSH2 0x330c
000029b8: JUMP
000029b9: JUMPDEST
000029ba: POP
000029bb: POP
000029bc: POP
000029bd: SWAP1
000029be: SUB
000029bf: SWAP1
000029c0: JUMP
000029c1: JUMPDEST
000029c2: PUSH1 0x00
000029c4: PUSH2 0x0698
000029c7: PUSH2 0x29ce
000029ca: PUSH2 0x19f5
000029cd: JUMP
000029ce: JUMPDEST
000029cf: DUP5
000029d0: DUP5
000029d1: PUSH2 0x2aa7
000029d4: JUMP
000029d5: JUMPDEST
000029d6: PUSH1 0x60
000029d8: PUSH2 0x2a37
000029db: DUP3
000029dc: PUSH1 0x40
000029de: MLOAD
000029df: DUP1
000029e0: PUSH1 0x40
000029e2: ADD
000029e3: PUSH1 0x40
000029e5: MSTORE
000029e6: DUP1
000029e7: PUSH1 0x20
000029e9: DUP2
000029ea: MSTORE
000029eb: PUSH1 0x20
000029ed: ADD
000029ee: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00002a0f: DUP2
00002a10: MSTORE
00002a11: POP
00002a12: DUP6
00002a13: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a28: AND
00002a29: PUSH2 0x2d5f
00002a2c: SWAP1
00002a2d: SWAP3
00002a2e: SWAP2
00002a2f: SWAP1
00002a30: PUSH4 0xffffffff
00002a35: AND
00002a36: JUMP
00002a37: JUMPDEST
00002a38: DUP1
00002a39: MLOAD
00002a3a: SWAP1
00002a3b: SWAP2
00002a3c: POP
00002a3d: ISZERO
00002a3e: PUSH2 0x05c9
00002a41: JUMPI
00002a42: DUP1
00002a43: DUP1
00002a44: PUSH1 0x20
00002a46: ADD
00002a47: SWAP1
00002a48: MLOAD
00002a49: DUP2
00002a4a: ADD
00002a4b: SWAP1
00002a4c: PUSH2 0x2a55
00002a4f: SWAP2
00002a50: SWAP1
00002a51: PUSH2 0x30da
00002a54: JUMP
00002a55: JUMPDEST
00002a56: PUSH2 0x05c9
00002a59: JUMPI
00002a5a: PUSH1 0x40
00002a5c: MLOAD
00002a5d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002a7e: DUP2
00002a7f: MSTORE
00002a80: PUSH1 0x04
00002a82: ADD
00002a83: PUSH2 0x0478
00002a86: SWAP1
00002a87: PUSH2 0x3907
00002a8a: JUMP
00002a8b: JUMPDEST
00002a8c: EXTCODESIZE
00002a8d: ISZERO
00002a8e: ISZERO
00002a8f: SWAP1
00002a90: JUMP
00002a91: JUMPDEST
00002a92: PUSH1 0x00
00002a94: DUP2
00002a95: DUP4
00002a96: LT
00002a97: PUSH2 0x2aa0
00002a9a: JUMPI
00002a9b: DUP2
00002a9c: PUSH2 0x0944
00002a9f: JUMP
00002aa0: JUMPDEST
00002aa1: POP
00002aa2: SWAP1
00002aa3: SWAP2
00002aa4: SWAP1
00002aa5: POP
00002aa6: JUMP
00002aa7: JUMPDEST
00002aa8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002abd: DUP4
00002abe: AND
00002abf: PUSH2 0x2af4
00002ac2: JUMPI
00002ac3: PUSH1 0x40
00002ac5: MLOAD
00002ac6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002ae7: DUP2
00002ae8: MSTORE
00002ae9: PUSH1 0x04
00002aeb: ADD
00002aec: PUSH2 0x0478
00002aef: SWAP1
00002af0: PUSH2 0x3816
00002af3: JUMP
00002af4: JUMPDEST
00002af5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b0a: DUP3
00002b0b: AND
00002b0c: PUSH2 0x2b41
00002b0f: JUMPI
00002b10: PUSH1 0x40
00002b12: MLOAD
00002b13: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002b34: DUP2
00002b35: MSTORE
00002b36: PUSH1 0x04
00002b38: ADD
00002b39: PUSH2 0x0478
00002b3c: SWAP1
00002b3d: PUSH2 0x331f
00002b40: JUMP
00002b41: JUMPDEST
00002b42: PUSH2 0x2b4c
00002b45: DUP4
00002b46: DUP4
00002b47: DUP4
00002b48: PUSH2 0x05c9
00002b4b: JUMP
00002b4c: JUMPDEST
00002b4d: PUSH2 0x2b9c
00002b50: DUP2
00002b51: PUSH1 0x40
00002b53: MLOAD
00002b54: DUP1
00002b55: PUSH1 0x60
00002b57: ADD
00002b58: PUSH1 0x40
00002b5a: MSTORE
00002b5b: DUP1
00002b5c: PUSH1 0x26
00002b5e: DUP2
00002b5f: MSTORE
00002b60: PUSH1 0x20
00002b62: ADD
00002b63: PUSH2 0x3b22
00002b66: PUSH1 0x26
00002b68: SWAP2
00002b69: CODECOPY
00002b6a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b7f: DUP7
00002b80: AND
00002b81: PUSH1 0x00
00002b83: SWAP1
00002b84: DUP2
00002b85: MSTORE
00002b86: PUSH1 0x33
00002b88: PUSH1 0x20
00002b8a: MSTORE
00002b8b: PUSH1 0x40
00002b8d: SWAP1
00002b8e: KECCAK256
00002b8f: SLOAD
00002b90: SWAP2
00002b91: SWAP1
00002b92: PUSH4 0xffffffff
00002b97: PUSH2 0x297b
00002b9a: AND
00002b9b: JUMP
00002b9c: JUMPDEST
00002b9d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002bb2: DUP1
00002bb3: DUP6
00002bb4: AND
00002bb5: PUSH1 0x00
00002bb7: SWAP1
00002bb8: DUP2
00002bb9: MSTORE
00002bba: PUSH1 0x33
00002bbc: PUSH1 0x20
00002bbe: MSTORE
00002bbf: PUSH1 0x40
00002bc1: DUP1
00002bc2: DUP3
00002bc3: KECCAK256
00002bc4: SWAP4
00002bc5: SWAP1
00002bc6: SWAP4
00002bc7: SSTORE
00002bc8: SWAP1
00002bc9: DUP5
00002bca: AND
00002bcb: DUP2
00002bcc: MSTORE
00002bcd: KECCAK256
00002bce: SLOAD
00002bcf: PUSH2 0x2bde
00002bd2: SWAP1
00002bd3: DUP3
00002bd4: PUSH4 0xffffffff
00002bd9: PUSH2 0x2803
00002bdc: AND
00002bdd: JUMP
00002bde: JUMPDEST
00002bdf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002bf4: DUP1
00002bf5: DUP5
00002bf6: AND
00002bf7: PUSH1 0x00
00002bf9: DUP2
00002bfa: DUP2
00002bfb: MSTORE
00002bfc: PUSH1 0x33
00002bfe: PUSH1 0x20
00002c00: MSTORE
00002c01: PUSH1 0x40
00002c03: SWAP1
00002c04: DUP2
00002c05: SWAP1
00002c06: KECCAK256
00002c07: SWAP4
00002c08: SWAP1
00002c09: SWAP4
00002c0a: SSTORE
00002c0b: SWAP2
00002c0c: MLOAD
00002c0d: SWAP1
00002c0e: DUP6
00002c0f: AND
00002c10: SWAP1
00002c11: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00002c32: SWAP1
00002c33: PUSH2 0x1d0f
00002c36: SWAP1
00002c37: DUP6
00002c38: SWAP1
00002c39: PUSH2 0x3a55
00002c3c: JUMP
00002c3d: JUMPDEST
00002c3e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002c53: DUP3
00002c54: AND
00002c55: PUSH2 0x2c8a
00002c58: JUMPI
00002c59: PUSH1 0x40
00002c5b: MLOAD
00002c5c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002c7d: DUP2
00002c7e: MSTORE
00002c7f: PUSH1 0x04
00002c81: ADD
00002c82: PUSH2 0x0478
00002c85: SWAP1
00002c86: PUSH2 0x39d2
00002c89: JUMP
00002c8a: JUMPDEST
00002c8b: PUSH2 0x2c96
00002c8e: PUSH1 0x00
00002c90: DUP4
00002c91: DUP4
00002c92: PUSH2 0x05c9
00002c95: JUMP
00002c96: JUMPDEST
00002c97: PUSH1 0x35
00002c99: SLOAD
00002c9a: PUSH2 0x2ca9
00002c9d: SWAP1
00002c9e: DUP3
00002c9f: PUSH4 0xffffffff
00002ca4: PUSH2 0x2803
00002ca7: AND
00002ca8: JUMP
00002ca9: JUMPDEST
00002caa: PUSH1 0x35
00002cac: SSTORE
00002cad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002cc2: DUP3
00002cc3: AND
00002cc4: PUSH1 0x00
00002cc6: SWAP1
00002cc7: DUP2
00002cc8: MSTORE
00002cc9: PUSH1 0x33
00002ccb: PUSH1 0x20
00002ccd: MSTORE
00002cce: PUSH1 0x40
00002cd0: SWAP1
00002cd1: KECCAK256
00002cd2: SLOAD
00002cd3: PUSH2 0x2ce2
00002cd6: SWAP1
00002cd7: DUP3
00002cd8: PUSH4 0xffffffff
00002cdd: PUSH2 0x2803
00002ce0: AND
00002ce1: JUMP
00002ce2: JUMPDEST
00002ce3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002cf8: DUP4
00002cf9: AND
00002cfa: PUSH1 0x00
00002cfc: DUP2
00002cfd: DUP2
00002cfe: MSTORE
00002cff: PUSH1 0x33
00002d01: PUSH1 0x20
00002d03: MSTORE
00002d04: PUSH1 0x40
00002d06: DUP1
00002d07: DUP3
00002d08: KECCAK256
00002d09: SWAP4
00002d0a: SWAP1
00002d0b: SWAP4
00002d0c: SSTORE
00002d0d: SWAP2
00002d0e: MLOAD
00002d0f: SWAP1
00002d10: SWAP2
00002d11: SWAP1
00002d12: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00002d33: SWAP1
00002d34: PUSH2 0x26f1
00002d37: SWAP1
00002d38: DUP6
00002d39: SWAP1
00002d3a: PUSH2 0x3a55
00002d3d: JUMP
00002d3e: JUMPDEST
00002d3f: PUSH2 0x1b37
00002d42: DUP5
00002d43: PUSH4 0x23b872dd
00002d48: PUSH1 0xe0
00002d4a: SHL
00002d4b: DUP6
00002d4c: DUP6
00002d4d: DUP6
00002d4e: PUSH1 0x40
00002d50: MLOAD
00002d51: PUSH1 0x24
00002d53: ADD
00002d54: PUSH2 0x1ab5
00002d57: SWAP4
00002d58: SWAP3
00002d59: SWAP2
00002d5a: SWAP1
00002d5b: PUSH2 0x32a1
00002d5e: JUMP
00002d5f: JUMPDEST
00002d60: PUSH1 0x60
00002d62: PUSH2 0x2d6e
00002d65: DUP5
00002d66: DUP5
00002d67: PUSH1 0x00
00002d69: DUP6
00002d6a: PUSH2 0x2d76
00002d6d: JUMP
00002d6e: JUMPDEST
00002d6f: SWAP5
00002d70: SWAP4
00002d71: POP
00002d72: POP
00002d73: POP
00002d74: POP
00002d75: JUMP
00002d76: JUMPDEST
00002d77: PUSH1 0x60
00002d79: DUP3
00002d7a: SELFBALANCE
00002d7b: LT
00002d7c: ISZERO
00002d7d: PUSH2 0x2db2
00002d80: JUMPI
00002d81: PUSH1 0x40
00002d83: MLOAD
00002d84: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002da5: DUP2
00002da6: MSTORE
00002da7: PUSH1 0x04
00002da9: ADD
00002daa: PUSH2 0x0478
00002dad: SWAP1
00002dae: PUSH2 0x3549
00002db1: JUMP
00002db2: JUMPDEST
00002db3: PUSH2 0x2dbb
00002db6: DUP6
00002db7: PUSH2 0x2a8b
00002dba: JUMP
00002dbb: JUMPDEST
00002dbc: PUSH2 0x2df1
00002dbf: JUMPI
00002dc0: PUSH1 0x40
00002dc2: MLOAD
00002dc3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002de4: DUP2
00002de5: MSTORE
00002de6: PUSH1 0x04
00002de8: ADD
00002de9: PUSH2 0x0478
00002dec: SWAP1
00002ded: PUSH2 0x38d0
00002df0: JUMP
00002df1: JUMPDEST
00002df2: PUSH1 0x00
00002df4: PUSH1 0x60
00002df6: DUP7
00002df7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e0c: AND
00002e0d: DUP6
00002e0e: DUP8
00002e0f: PUSH1 0x40
00002e11: MLOAD
00002e12: PUSH2 0x2e1b
00002e15: SWAP2
00002e16: SWAP1
00002e17: PUSH2 0x3217
00002e1a: JUMP
00002e1b: JUMPDEST
00002e1c: PUSH1 0x00
00002e1e: PUSH1 0x40
00002e20: MLOAD
00002e21: DUP1
00002e22: DUP4
00002e23: SUB
00002e24: DUP2
00002e25: DUP6
00002e26: DUP8
00002e27: GAS
00002e28: CALL
00002e29: SWAP3
00002e2a: POP
00002e2b: POP
00002e2c: POP
00002e2d: RETURNDATASIZE
00002e2e: DUP1
00002e2f: PUSH1 0x00
00002e31: DUP2
00002e32: EQ
00002e33: PUSH2 0x2e58
00002e36: JUMPI
00002e37: PUSH1 0x40
00002e39: MLOAD
00002e3a: SWAP2
00002e3b: POP
00002e3c: PUSH1 0x1f
00002e3e: NOT
00002e3f: PUSH1 0x3f
00002e41: RETURNDATASIZE
00002e42: ADD
00002e43: AND
00002e44: DUP3
00002e45: ADD
00002e46: PUSH1 0x40
00002e48: MSTORE
00002e49: RETURNDATASIZE
00002e4a: DUP3
00002e4b: MSTORE
00002e4c: RETURNDATASIZE
00002e4d: PUSH1 0x00
00002e4f: PUSH1 0x20
00002e51: DUP5
00002e52: ADD
00002e53: RETURNDATACOPY
00002e54: PUSH2 0x2e5d
00002e57: JUMP
00002e58: JUMPDEST
00002e59: PUSH1 0x60
00002e5b: SWAP2
00002e5c: POP
00002e5d: JUMPDEST
00002e5e: POP
00002e5f: SWAP2
00002e60: POP
00002e61: SWAP2
00002e62: POP
00002e63: PUSH2 0x2e6d
00002e66: DUP3
00002e67: DUP3
00002e68: DUP7
00002e69: PUSH2 0x2e78
00002e6c: JUMP
00002e6d: JUMPDEST
00002e6e: SWAP8
00002e6f: SWAP7
00002e70: POP
00002e71: POP
00002e72: POP
00002e73: POP
00002e74: POP
00002e75: POP
00002e76: POP
00002e77: JUMP
00002e78: JUMPDEST
00002e79: PUSH1 0x60
00002e7b: DUP4
00002e7c: ISZERO
00002e7d: PUSH2 0x2e87
00002e80: JUMPI
00002e81: POP
00002e82: DUP2
00002e83: PUSH2 0x0944
00002e86: JUMP
00002e87: JUMPDEST
00002e88: DUP3
00002e89: MLOAD
00002e8a: ISZERO
00002e8b: PUSH2 0x2e97
00002e8e: JUMPI
00002e8f: DUP3
00002e90: MLOAD
00002e91: DUP1
00002e92: DUP5
00002e93: PUSH1 0x20
00002e95: ADD
00002e96: REVERT
00002e97: JUMPDEST
00002e98: DUP2
00002e99: PUSH1 0x40
00002e9b: MLOAD
00002e9c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002ebd: DUP2
00002ebe: MSTORE
00002ebf: PUSH1 0x04
00002ec1: ADD
00002ec2: PUSH2 0x0478
00002ec5: SWAP2
00002ec6: SWAP1
00002ec7: PUSH2 0x330c
00002eca: JUMP
00002ecb: JUMPDEST
00002ecc: DUP3
00002ecd: DUP1
00002ece: SLOAD
00002ecf: PUSH1 0x01
00002ed1: DUP2
00002ed2: PUSH1 0x01
00002ed4: AND
00002ed5: ISZERO
00002ed6: PUSH2 0x0100
00002ed9: MUL
00002eda: SUB
00002edb: AND
00002edc: PUSH1 0x02
00002ede: SWAP1
00002edf: DIV
00002ee0: SWAP1
00002ee1: PUSH1 0x00
00002ee3: MSTORE
00002ee4: PUSH1 0x20
00002ee6: PUSH1 0x00
00002ee8: KECCAK256
00002ee9: SWAP1
00002eea: PUSH1 0x1f
00002eec: ADD
00002eed: PUSH1 0x20
00002eef: SWAP1
00002ef0: DIV
00002ef1: DUP2
00002ef2: ADD
00002ef3: SWAP3
00002ef4: DUP3
00002ef5: PUSH1 0x1f
00002ef7: LT
00002ef8: PUSH2 0x2f0c
00002efb: JUMPI
00002efc: DUP1
00002efd: MLOAD
00002efe: PUSH1 0xff
00002f00: NOT
00002f01: AND
00002f02: DUP4
00002f03: DUP1
00002f04: ADD
00002f05: OR
00002f06: DUP6
00002f07: SSTORE
00002f08: PUSH2 0x2f39
00002f0b: JUMP
00002f0c: JUMPDEST
00002f0d: DUP3
00002f0e: DUP1
00002f0f: ADD
00002f10: PUSH1 0x01
00002f12: ADD
00002f13: DUP6
00002f14: SSTORE
00002f15: DUP3
00002f16: ISZERO
00002f17: PUSH2 0x2f39
00002f1a: JUMPI
00002f1b: SWAP2
00002f1c: DUP3
00002f1d: ADD
00002f1e: JUMPDEST
00002f1f: DUP3
00002f20: DUP2
00002f21: GT
00002f22: ISZERO
00002f23: PUSH2 0x2f39
00002f26: JUMPI
00002f27: DUP3
00002f28: MLOAD
00002f29: DUP3
00002f2a: SSTORE
00002f2b: SWAP2
00002f2c: PUSH1 0x20
00002f2e: ADD
00002f2f: SWAP2
00002f30: SWAP1
00002f31: PUSH1 0x01
00002f33: ADD
00002f34: SWAP1
00002f35: PUSH2 0x2f1e
00002f38: JUMP
00002f39: JUMPDEST
00002f3a: POP
00002f3b: PUSH2 0x2f45
00002f3e: SWAP3
00002f3f: SWAP2
00002f40: POP
00002f41: PUSH2 0x2f49
00002f44: JUMP
00002f45: JUMPDEST
00002f46: POP
00002f47: SWAP1
00002f48: JUMP
00002f49: JUMPDEST
00002f4a: PUSH2 0x0681
00002f4d: SWAP2
00002f4e: SWAP1
00002f4f: JUMPDEST
00002f50: DUP1
00002f51: DUP3
00002f52: GT
00002f53: ISZERO
00002f54: PUSH2 0x2f45
00002f57: JUMPI
00002f58: PUSH1 0x00
00002f5a: DUP2
00002f5b: SSTORE
00002f5c: PUSH1 0x01
00002f5e: ADD
00002f5f: PUSH2 0x2f4f
00002f62: JUMP
00002f63: JUMPDEST
00002f64: PUSH1 0x00
00002f66: DUP3
00002f67: PUSH1 0x1f
00002f69: DUP4
00002f6a: ADD
00002f6b: SLT
00002f6c: PUSH2 0x2f73
00002f6f: JUMPI
00002f70: DUP1
00002f71: DUP2
00002f72: REVERT
00002f73: JUMPDEST
00002f74: DUP2
00002f75: CALLDATALOAD
00002f76: PUSH8 0xffffffffffffffff
00002f7f: DUP1
00002f80: DUP3
00002f81: GT
00002f82: ISZERO
00002f83: PUSH2 0x2f8a
00002f86: JUMPI
00002f87: DUP3
00002f88: DUP4
00002f89: REVERT
00002f8a: JUMPDEST
00002f8b: PUSH1 0x40
00002f8d: MLOAD
00002f8e: PUSH1 0x20
00002f90: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00002fb1: PUSH1 0x1f
00002fb3: DUP6
00002fb4: ADD
00002fb5: AND
00002fb6: DUP3
00002fb7: ADD
00002fb8: ADD
00002fb9: DUP2
00002fba: DUP2
00002fbb: LT
00002fbc: DUP4
00002fbd: DUP3
00002fbe: GT
00002fbf: OR
00002fc0: ISZERO
00002fc1: PUSH2 0x2fc8
00002fc4: JUMPI
00002fc5: DUP5
00002fc6: DUP6
00002fc7: REVERT
00002fc8: JUMPDEST
00002fc9: PUSH1 0x40
00002fcb: MSTORE
00002fcc: DUP3
00002fcd: DUP2
00002fce: MSTORE
00002fcf: SWAP3
00002fd0: POP
00002fd1: DUP3
00002fd2: DUP5
00002fd3: DUP4
00002fd4: ADD
00002fd5: PUSH1 0x20
00002fd7: ADD
00002fd8: DUP7
00002fd9: LT
00002fda: ISZERO
00002fdb: PUSH2 0x2fe3
00002fde: JUMPI
00002fdf: PUSH1 0x00
00002fe1: DUP1
00002fe2: REVERT
00002fe3: JUMPDEST
00002fe4: DUP3
00002fe5: PUSH1 0x20
00002fe7: DUP7
00002fe8: ADD
00002fe9: PUSH1 0x20
00002feb: DUP4
00002fec: ADD
00002fed: CALLDATACOPY
00002fee: PUSH1 0x00
00002ff0: PUSH1 0x20
00002ff2: DUP5
00002ff3: DUP4
00002ff4: ADD
00002ff5: ADD
00002ff6: MSTORE
00002ff7: POP
00002ff8: POP
00002ff9: POP
00002ffa: SWAP3
00002ffb: SWAP2
00002ffc: POP
00002ffd: POP
00002ffe: JUMP
00002fff: JUMPDEST
00003000: PUSH1 0x00
00003002: PUSH1 0x20
00003004: DUP3
00003005: DUP5
00003006: SUB
00003007: SLT
00003008: ISZERO
00003009: PUSH2 0x3010
0000300c: JUMPI
0000300d: DUP1
0000300e: DUP2
0000300f: REVERT
00003010: JUMPDEST
00003011: DUP2
00003012: CALLDATALOAD
00003013: PUSH2 0x0944
00003016: DUP2
00003017: PUSH2 0x3aa6
0000301a: JUMP
0000301b: JUMPDEST
0000301c: PUSH1 0x00
0000301e: DUP1
0000301f: PUSH1 0x40
00003021: DUP4
00003022: DUP6
00003023: SUB
00003024: SLT
00003025: ISZERO
00003026: PUSH2 0x302d
00003029: JUMPI
0000302a: DUP1
0000302b: DUP2
0000302c: REVERT
0000302d: JUMPDEST
0000302e: DUP3
0000302f: CALLDATALOAD
00003030: PUSH2 0x3038
00003033: DUP2
00003034: PUSH2 0x3aa6
00003037: JUMP
00003038: JUMPDEST
00003039: SWAP2
0000303a: POP
0000303b: PUSH1 0x20
0000303d: DUP4
0000303e: ADD
0000303f: CALLDATALOAD
00003040: PUSH2 0x3048
00003043: DUP2
00003044: PUSH2 0x3aa6
00003047: JUMP
00003048: JUMPDEST
00003049: DUP1
0000304a: SWAP2
0000304b: POP
0000304c: POP
0000304d: SWAP3
0000304e: POP
0000304f: SWAP3
00003050: SWAP1
00003051: POP
00003052: JUMP
00003053: JUMPDEST
00003054: PUSH1 0x00
00003056: DUP1
00003057: PUSH1 0x00
00003059: PUSH1 0x60
0000305b: DUP5
0000305c: DUP7
0000305d: SUB
0000305e: SLT
0000305f: ISZERO
00003060: PUSH2 0x3067
00003063: JUMPI
00003064: DUP1
00003065: DUP2
00003066: REVERT
00003067: JUMPDEST
00003068: DUP4
00003069: CALLDATALOAD
0000306a: PUSH2 0x3072
0000306d: DUP2
0000306e: PUSH2 0x3aa6
00003071: JUMP
00003072: JUMPDEST
00003073: SWAP3
00003074: POP
00003075: PUSH1 0x20
00003077: DUP5
00003078: ADD
00003079: CALLDATALOAD
0000307a: PUSH2 0x3082
0000307d: DUP2
0000307e: PUSH2 0x3aa6
00003081: JUMP
00003082: JUMPDEST
00003083: SWAP3
00003084: SWAP6
00003085: SWAP3
00003086: SWAP5
00003087: POP
00003088: POP
00003089: POP
0000308a: PUSH1 0x40
0000308c: SWAP2
0000308d: SWAP1
0000308e: SWAP2
0000308f: ADD
00003090: CALLDATALOAD
00003091: SWAP1
00003092: JUMP
00003093: JUMPDEST
00003094: PUSH1 0x00
00003096: DUP1
00003097: PUSH1 0x40
00003099: DUP4
0000309a: DUP6
0000309b: SUB
0000309c: SLT
0000309d: ISZERO
0000309e: PUSH2 0x30a5
000030a1: JUMPI
000030a2: DUP2
000030a3: DUP3
000030a4: REVERT
000030a5: JUMPDEST
000030a6: DUP3
000030a7: CALLDATALOAD
000030a8: PUSH2 0x30b0
000030ab: DUP2
000030ac: PUSH2 0x3aa6
000030af: JUMP
000030b0: JUMPDEST
000030b1: SWAP5
000030b2: PUSH1 0x20
000030b4: SWAP4
000030b5: SWAP1
000030b6: SWAP4
000030b7: ADD
000030b8: CALLDATALOAD
000030b9: SWAP4
000030ba: POP
000030bb: POP
000030bc: POP
000030bd: JUMP
000030be: JUMPDEST
000030bf: PUSH1 0x00
000030c1: PUSH1 0x20
000030c3: DUP3
000030c4: DUP5
000030c5: SUB
000030c6: SLT
000030c7: ISZERO
000030c8: PUSH2 0x30cf
000030cb: JUMPI
000030cc: DUP1
000030cd: DUP2
000030ce: REVERT
000030cf: JUMPDEST
000030d0: DUP2
000030d1: CALLDATALOAD
000030d2: PUSH2 0x0944
000030d5: DUP2
000030d6: PUSH2 0x3ac8
000030d9: JUMP
000030da: JUMPDEST
000030db: PUSH1 0x00
000030dd: PUSH1 0x20
000030df: DUP3
000030e0: DUP5
000030e1: SUB
000030e2: SLT
000030e3: ISZERO
000030e4: PUSH2 0x30eb
000030e7: JUMPI
000030e8: DUP1
000030e9: DUP2
000030ea: REVERT
000030eb: JUMPDEST
000030ec: DUP2
000030ed: MLOAD
000030ee: PUSH2 0x0944
000030f1: DUP2
000030f2: PUSH2 0x3ac8
000030f5: JUMP
000030f6: JUMPDEST
000030f7: PUSH1 0x00
000030f9: DUP1
000030fa: PUSH1 0x00
000030fc: DUP1
000030fd: PUSH1 0x80
000030ff: DUP6
00003100: DUP8
00003101: SUB
00003102: SLT
00003103: ISZERO
00003104: PUSH2 0x310b
00003107: JUMPI
00003108: DUP1
00003109: DUP2
0000310a: REVERT
0000310b: JUMPDEST
0000310c: DUP5
0000310d: CALLDATALOAD
0000310e: PUSH2 0x3116
00003111: DUP2
00003112: PUSH2 0x3aa6
00003115: JUMP
00003116: JUMPDEST
00003117: SWAP4
00003118: POP
00003119: PUSH1 0x20
0000311b: DUP6
0000311c: ADD
0000311d: CALLDATALOAD
0000311e: PUSH2 0x3126
00003121: DUP2
00003122: PUSH2 0x3aa6
00003125: JUMP
00003126: JUMPDEST
00003127: SWAP3
00003128: POP
00003129: PUSH1 0x40
0000312b: DUP6
0000312c: ADD
0000312d: CALLDATALOAD
0000312e: PUSH8 0xffffffffffffffff
00003137: DUP1
00003138: DUP3
00003139: GT
0000313a: ISZERO
0000313b: PUSH2 0x3142
0000313e: JUMPI
0000313f: DUP3
00003140: DUP4
00003141: REVERT
00003142: JUMPDEST
00003143: PUSH2 0x314e
00003146: DUP9
00003147: DUP4
00003148: DUP10
00003149: ADD
0000314a: PUSH2 0x2f63
0000314d: JUMP
0000314e: JUMPDEST
0000314f: SWAP4
00003150: POP
00003151: PUSH1 0x60
00003153: DUP8
00003154: ADD
00003155: CALLDATALOAD
00003156: SWAP2
00003157: POP
00003158: DUP1
00003159: DUP3
0000315a: GT
0000315b: ISZERO
0000315c: PUSH2 0x3163
0000315f: JUMPI
00003160: DUP3
00003161: DUP4
00003162: REVERT
00003163: JUMPDEST
00003164: POP
00003165: PUSH2 0x3170
00003168: DUP8
00003169: DUP3
0000316a: DUP9
0000316b: ADD
0000316c: PUSH2 0x2f63
0000316f: JUMP
00003170: JUMPDEST
00003171: SWAP2
00003172: POP
00003173: POP
00003174: SWAP3
00003175: SWAP6
00003176: SWAP2
00003177: SWAP5
00003178: POP
00003179: SWAP3
0000317a: POP
0000317b: JUMP
0000317c: JUMPDEST
0000317d: PUSH1 0x00
0000317f: PUSH1 0x20
00003181: DUP3
00003182: DUP5
00003183: SUB
00003184: SLT
00003185: ISZERO
00003186: PUSH2 0x318d
00003189: JUMPI
0000318a: DUP1
0000318b: DUP2
0000318c: REVERT
0000318d: JUMPDEST
0000318e: POP
0000318f: CALLDATALOAD
00003190: SWAP2
00003191: SWAP1
00003192: POP
00003193: JUMP
00003194: JUMPDEST
00003195: PUSH1 0x00
00003197: PUSH1 0x20
00003199: DUP3
0000319a: DUP5
0000319b: SUB
0000319c: SLT
0000319d: ISZERO
0000319e: PUSH2 0x31a5
000031a1: JUMPI
000031a2: DUP1
000031a3: DUP2
000031a4: REVERT
000031a5: JUMPDEST
000031a6: POP
000031a7: MLOAD
000031a8: SWAP2
000031a9: SWAP1
000031aa: POP
000031ab: JUMP
000031ac: JUMPDEST
000031ad: PUSH1 0x00
000031af: PUSH1 0x20
000031b1: DUP3
000031b2: DUP5
000031b3: SUB
000031b4: SLT
000031b5: ISZERO
000031b6: PUSH2 0x31bd
000031b9: JUMPI
000031ba: DUP1
000031bb: DUP2
000031bc: REVERT
000031bd: JUMPDEST
000031be: DUP2
000031bf: MLOAD
000031c0: PUSH1 0xff
000031c2: DUP2
000031c3: AND
000031c4: DUP2
000031c5: EQ
000031c6: PUSH2 0x0944
000031c9: JUMPI
000031ca: DUP2
000031cb: DUP3
000031cc: REVERT
000031cd: JUMPDEST
000031ce: PUSH1 0x00
000031d0: DUP2
000031d1: MLOAD
000031d2: DUP1
000031d3: DUP5
000031d4: MSTORE
000031d5: PUSH2 0x31e5
000031d8: DUP2
000031d9: PUSH1 0x20
000031db: DUP7
000031dc: ADD
000031dd: PUSH1 0x20
000031df: DUP7
000031e0: ADD
000031e1: PUSH2 0x3a7a
000031e4: JUMP
000031e5: JUMPDEST
000031e6: PUSH1 0x1f
000031e8: ADD
000031e9: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
0000320a: AND
0000320b: SWAP3
0000320c: SWAP1
0000320d: SWAP3
0000320e: ADD
0000320f: PUSH1 0x20
00003211: ADD
00003212: SWAP3
00003213: SWAP2
00003214: POP
00003215: POP
00003216: JUMP
00003217: JUMPDEST
00003218: PUSH1 0x00
0000321a: DUP3
0000321b: MLOAD
0000321c: PUSH2 0x3229
0000321f: DUP2
00003220: DUP5
00003221: PUSH1 0x20
00003223: DUP8
00003224: ADD
00003225: PUSH2 0x3a7a
00003228: JUMP
00003229: JUMPDEST
0000322a: SWAP2
0000322b: SWAP1
0000322c: SWAP2
0000322d: ADD
0000322e: SWAP3
0000322f: SWAP2
00003230: POP
00003231: POP
00003232: JUMP
00003233: JUMPDEST
00003234: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003249: SWAP2
0000324a: SWAP1
0000324b: SWAP2
0000324c: AND
0000324d: DUP2
0000324e: MSTORE
0000324f: PUSH1 0x20
00003251: ADD
00003252: SWAP1
00003253: JUMP
00003254: JUMPDEST
00003255: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000326a: SWAP3
0000326b: SWAP1
0000326c: SWAP3
0000326d: AND
0000326e: DUP3
0000326f: MSTORE
00003270: PUSH1 0x20
00003272: DUP3
00003273: ADD
00003274: MSTORE
00003275: PUSH1 0x40
00003277: ADD
00003278: SWAP1
00003279: JUMP
0000327a: JUMPDEST
0000327b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003290: SWAP3
00003291: DUP4
00003292: AND
00003293: DUP2
00003294: MSTORE
00003295: SWAP2
00003296: AND
00003297: PUSH1 0x20
00003299: DUP3
0000329a: ADD
0000329b: MSTORE
0000329c: PUSH1 0x40
0000329e: ADD
0000329f: SWAP1
000032a0: JUMP
000032a1: JUMPDEST
000032a2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000032b7: SWAP4
000032b8: DUP5
000032b9: AND
000032ba: DUP2
000032bb: MSTORE
000032bc: SWAP2
000032bd: SWAP1
000032be: SWAP3
000032bf: AND
000032c0: PUSH1 0x20
000032c2: DUP3
000032c3: ADD
000032c4: MSTORE
000032c5: PUSH1 0x40
000032c7: DUP2
000032c8: ADD
000032c9: SWAP2
000032ca: SWAP1
000032cb: SWAP2
000032cc: MSTORE
000032cd: PUSH1 0x60
000032cf: ADD
000032d0: SWAP1
000032d1: JUMP
000032d2: JUMPDEST
000032d3: PUSH1 0x00
000032d5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000032ea: DUP5
000032eb: AND
000032ec: DUP3
000032ed: MSTORE
000032ee: PUSH1 0x40
000032f0: PUSH1 0x20
000032f2: DUP4
000032f3: ADD
000032f4: MSTORE
000032f5: PUSH2 0x2d6e
000032f8: PUSH1 0x40
000032fa: DUP4
000032fb: ADD
000032fc: DUP5
000032fd: PUSH2 0x31cd
00003300: JUMP
00003301: JUMPDEST
00003302: SWAP1
00003303: ISZERO
00003304: ISZERO
00003305: DUP2
00003306: MSTORE
00003307: PUSH1 0x20
00003309: ADD
0000330a: SWAP1
0000330b: JUMP
0000330c: JUMPDEST
0000330d: PUSH1 0x00
0000330f: PUSH1 0x20
00003311: DUP3
00003312: MSTORE
00003313: PUSH2 0x0944
00003316: PUSH1 0x20
00003318: DUP4
00003319: ADD
0000331a: DUP5
0000331b: PUSH2 0x31cd
0000331e: JUMP
0000331f: JUMPDEST
00003320: PUSH1 0x20
00003322: DUP1
00003323: DUP3
00003324: MSTORE
00003325: PUSH1 0x23
00003327: SWAP1
00003328: DUP3
00003329: ADD
0000332a: MSTORE
0000332b: PUSH32 0x45524332303a207472616e7366657220746f20746865207a65726f2061646472
0000334c: PUSH1 0x40
0000334e: DUP3
0000334f: ADD
00003350: MSTORE
00003351: PUSH32 0x6573730000000000000000000000000000000000000000000000000000000000
00003372: PUSH1 0x60
00003374: DUP3
00003375: ADD
00003376: MSTORE
00003377: PUSH1 0x80
00003379: ADD
0000337a: SWAP1
0000337b: JUMP
0000337c: JUMPDEST
0000337d: PUSH1 0x20
0000337f: DUP1
00003380: DUP3
00003381: MSTORE
00003382: PUSH1 0x0f
00003384: SWAP1
00003385: DUP3
00003386: ADD
00003387: MSTORE
00003388: PUSH32 0x494e56414c49445f414444524553530000000000000000000000000000000000
000033a9: PUSH1 0x40
000033ab: DUP3
000033ac: ADD
000033ad: MSTORE
000033ae: PUSH1 0x60
000033b0: ADD
000033b1: SWAP1
000033b2: JUMP
000033b3: JUMPDEST
000033b4: PUSH1 0x20
000033b6: DUP1
000033b7: DUP3
000033b8: MSTORE
000033b9: PUSH1 0x14
000033bb: SWAP1
000033bc: DUP3
000033bd: ADD
000033be: MSTORE
000033bf: PUSH32 0x5061757361626c653a206e6f7420706175736564000000000000000000000000
000033e0: PUSH1 0x40
000033e2: DUP3
000033e3: ADD
000033e4: MSTORE
000033e5: PUSH1 0x60
000033e7: ADD
000033e8: SWAP1
000033e9: JUMP
000033ea: JUMPDEST
000033eb: PUSH1 0x20
000033ed: DUP1
000033ee: DUP3
000033ef: MSTORE
000033f0: PUSH1 0x14
000033f2: SWAP1
000033f3: DUP3
000033f4: ADD
000033f5: MSTORE
000033f6: PUSH32 0x494e53554646494349454e545f42414c414e4345000000000000000000000000
00003417: PUSH1 0x40
00003419: DUP3
0000341a: ADD
0000341b: MSTORE
0000341c: PUSH1 0x60
0000341e: ADD
0000341f: SWAP1
00003420: JUMP
00003421: JUMPDEST
00003422: PUSH1 0x20
00003424: DUP1
00003425: DUP3
00003426: MSTORE
00003427: PUSH1 0x26
00003429: SWAP1
0000342a: DUP3
0000342b: ADD
0000342c: MSTORE
0000342d: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061
0000344e: PUSH1 0x40
00003450: DUP3
00003451: ADD
00003452: MSTORE
00003453: PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000
00003474: PUSH1 0x60
00003476: DUP3
00003477: ADD
00003478: MSTORE
00003479: PUSH1 0x80
0000347b: ADD
0000347c: SWAP1
0000347d: JUMP
0000347e: JUMPDEST
0000347f: PUSH1 0x20
00003481: DUP1
00003482: DUP3
00003483: MSTORE
00003484: PUSH1 0x22
00003486: SWAP1
00003487: DUP3
00003488: ADD
00003489: MSTORE
0000348a: PUSH32 0x45524332303a20617070726f766520746f20746865207a65726f206164647265
000034ab: PUSH1 0x40
000034ad: DUP3
000034ae: ADD
000034af: MSTORE
000034b0: PUSH32 0x7373000000000000000000000000000000000000000000000000000000000000
000034d1: PUSH1 0x60
000034d3: DUP3
000034d4: ADD
000034d5: MSTORE
000034d6: PUSH1 0x80
000034d8: ADD
000034d9: SWAP1
000034da: JUMP
000034db: JUMPDEST
000034dc: PUSH1 0x20
000034de: DUP1
000034df: DUP3
000034e0: MSTORE
000034e1: PUSH1 0x1b
000034e3: SWAP1
000034e4: DUP3
000034e5: ADD
000034e6: MSTORE
000034e7: PUSH32 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000
00003508: PUSH1 0x40
0000350a: DUP3
0000350b: ADD
0000350c: MSTORE
0000350d: PUSH1 0x60
0000350f: ADD
00003510: SWAP1
00003511: JUMP
00003512: JUMPDEST
00003513: PUSH1 0x20
00003515: DUP1
00003516: DUP3
00003517: MSTORE
00003518: PUSH1 0x1e
0000351a: SWAP1
0000351b: DUP3
0000351c: ADD
0000351d: MSTORE
0000351e: PUSH32 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000
0000353f: PUSH1 0x40
00003541: DUP3
00003542: ADD
00003543: MSTORE
00003544: PUSH1 0x60
00003546: ADD
00003547: SWAP1
00003548: JUMP
00003549: JUMPDEST
0000354a: PUSH1 0x20
0000354c: DUP1
0000354d: DUP3
0000354e: MSTORE
0000354f: PUSH1 0x26
00003551: SWAP1
00003552: DUP3
00003553: ADD
00003554: MSTORE
00003555: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f
00003576: PUSH1 0x40
00003578: DUP3
00003579: ADD
0000357a: MSTORE
0000357b: PUSH32 0x722063616c6c0000000000000000000000000000000000000000000000000000
0000359c: PUSH1 0x60
0000359e: DUP3
0000359f: ADD
000035a0: MSTORE
000035a1: PUSH1 0x80
000035a3: ADD
000035a4: SWAP1
000035a5: JUMP
000035a6: JUMPDEST
000035a7: PUSH1 0x20
000035a9: DUP1
000035aa: DUP3
000035ab: MSTORE
000035ac: PUSH1 0x0d
000035ae: SWAP1
000035af: DUP3
000035b0: ADD
000035b1: MSTORE
000035b2: PUSH32 0x4e4f5f5749544844524157414c00000000000000000000000000000000000000
000035d3: PUSH1 0x40
000035d5: DUP3
000035d6: ADD
000035d7: MSTORE
000035d8: PUSH1 0x60
000035da: ADD
000035db: SWAP1
000035dc: JUMP
000035dd: JUMPDEST
000035de: PUSH1 0x20
000035e0: DUP1
000035e1: DUP3
000035e2: MSTORE
000035e3: PUSH1 0x0d
000035e5: SWAP1
000035e6: DUP3
000035e7: ADD
000035e8: MSTORE
000035e9: PUSH32 0x494e56414c49445f4359434c4500000000000000000000000000000000000000
0000360a: PUSH1 0x40
0000360c: DUP3
0000360d: ADD
0000360e: MSTORE
0000360f: PUSH1 0x60
00003611: ADD
00003612: SWAP1
00003613: JUMP
00003614: JUMPDEST
00003615: PUSH1 0x20
00003617: DUP1
00003618: DUP3
00003619: MSTORE
0000361a: PUSH1 0x10
0000361c: SWAP1
0000361d: DUP3
0000361e: ADD
0000361f: MSTORE
00003620: PUSH32 0x5061757361626c653a2070617573656400000000000000000000000000000000
00003641: PUSH1 0x40
00003643: DUP3
00003644: ADD
00003645: MSTORE
00003646: PUSH1 0x60
00003648: ADD
00003649: SWAP1
0000364a: JUMP
0000364b: JUMPDEST
0000364c: PUSH1 0x20
0000364e: DUP1
0000364f: DUP3
00003650: MSTORE
00003651: PUSH1 0x0c
00003653: SWAP1
00003654: DUP3
00003655: ADD
00003656: MSTORE
00003657: PUSH32 0x5a45524f5f414444524553530000000000000000000000000000000000000000
00003678: PUSH1 0x40
0000367a: DUP3
0000367b: ADD
0000367c: MSTORE
0000367d: PUSH1 0x60
0000367f: ADD
00003680: SWAP1
00003681: JUMP
00003682: JUMPDEST
00003683: PUSH1 0x20
00003685: DUP1
00003686: DUP3
00003687: MSTORE
00003688: PUSH1 0x2e
0000368a: SWAP1
0000368b: DUP3
0000368c: ADD
0000368d: MSTORE
0000368e: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561
000036af: PUSH1 0x40
000036b1: DUP3
000036b2: ADD
000036b3: MSTORE
000036b4: PUSH32 0x647920696e697469616c697a6564000000000000000000000000000000000000
000036d5: PUSH1 0x60
000036d7: DUP3
000036d8: ADD
000036d9: MSTORE
000036da: PUSH1 0x80
000036dc: ADD
000036dd: SWAP1
000036de: JUMP
000036df: JUMPDEST
000036e0: PUSH1 0x20
000036e2: DUP1
000036e3: DUP3
000036e4: MSTORE
000036e5: PUSH1 0x19
000036e7: SWAP1
000036e8: DUP3
000036e9: ADD
000036ea: MSTORE
000036eb: PUSH32 0x494e53554646494349454e545f504f4f4c5f42414c414e434500000000000000
0000370c: PUSH1 0x40
0000370e: DUP3
0000370f: ADD
00003710: MSTORE
00003711: PUSH1 0x60
00003713: ADD
00003714: SWAP1
00003715: JUMP
00003716: JUMPDEST
00003717: PUSH1 0x20
00003719: DUP1
0000371a: DUP3
0000371b: MSTORE
0000371c: PUSH1 0x0f
0000371e: SWAP1
0000371f: DUP3
00003720: ADD
00003721: MSTORE
00003722: PUSH32 0x414444524553535f4e4f545f5345540000000000000000000000000000000000
00003743: PUSH1 0x40
00003745: DUP3
00003746: ADD
00003747: MSTORE
00003748: PUSH1 0x60
0000374a: ADD
0000374b: SWAP1
0000374c: JUMP
0000374d: JUMPDEST
0000374e: PUSH1 0x20
00003750: DUP1
00003751: DUP3
00003752: MSTORE
00003753: PUSH1 0x1d
00003755: SWAP1
00003756: DUP3
00003757: ADD
00003758: MSTORE
00003759: PUSH32 0x57495448445241575f494e53554646494349454e545f42414c414e4345000000
0000377a: PUSH1 0x40
0000377c: DUP3
0000377d: ADD
0000377e: MSTORE
0000377f: PUSH1 0x60
00003781: ADD
00003782: SWAP1
00003783: JUMP
00003784: JUMPDEST
00003785: PUSH1 0x20
00003787: DUP1
00003788: DUP3
00003789: MSTORE
0000378a: DUP2
0000378b: DUP2
0000378c: ADD
0000378d: MSTORE
0000378e: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
000037af: PUSH1 0x40
000037b1: DUP3
000037b2: ADD
000037b3: MSTORE
000037b4: PUSH1 0x60
000037b6: ADD
000037b7: SWAP1
000037b8: JUMP
000037b9: JUMPDEST
000037ba: PUSH1 0x20
000037bc: DUP1
000037bd: DUP3
000037be: MSTORE
000037bf: PUSH1 0x21
000037c1: SWAP1
000037c2: DUP3
000037c3: ADD
000037c4: MSTORE
000037c5: PUSH32 0x45524332303a206275726e2066726f6d20746865207a65726f20616464726573
000037e6: PUSH1 0x40
000037e8: DUP3
000037e9: ADD
000037ea: MSTORE
000037eb: PUSH32 0x7300000000000000000000000000000000000000000000000000000000000000
0000380c: PUSH1 0x60
0000380e: DUP3
0000380f: ADD
00003810: MSTORE
00003811: PUSH1 0x80
00003813: ADD
00003814: SWAP1
00003815: JUMP
00003816: JUMPDEST
00003817: PUSH1 0x20
00003819: DUP1
0000381a: DUP3
0000381b: MSTORE
0000381c: PUSH1 0x25
0000381e: SWAP1
0000381f: DUP3
00003820: ADD
00003821: MSTORE
00003822: PUSH32 0x45524332303a207472616e736665722066726f6d20746865207a65726f206164
00003843: PUSH1 0x40
00003845: DUP3
00003846: ADD
00003847: MSTORE
00003848: PUSH32 0x6472657373000000000000000000000000000000000000000000000000000000
00003869: PUSH1 0x60
0000386b: DUP3
0000386c: ADD
0000386d: MSTORE
0000386e: PUSH1 0x80
00003870: ADD
00003871: SWAP1
00003872: JUMP
00003873: JUMPDEST
00003874: PUSH1 0x20
00003876: DUP1
00003877: DUP3
00003878: MSTORE
00003879: PUSH1 0x24
0000387b: SWAP1
0000387c: DUP3
0000387d: ADD
0000387e: MSTORE
0000387f: PUSH32 0x45524332303a20617070726f76652066726f6d20746865207a65726f20616464
000038a0: PUSH1 0x40
000038a2: DUP3
000038a3: ADD
000038a4: MSTORE
000038a5: PUSH32 0x7265737300000000000000000000000000000000000000000000000000000000
000038c6: PUSH1 0x60
000038c8: DUP3
000038c9: ADD
000038ca: MSTORE
000038cb: PUSH1 0x80
000038cd: ADD
000038ce: SWAP1
000038cf: JUMP
000038d0: JUMPDEST
000038d1: PUSH1 0x20
000038d3: DUP1
000038d4: DUP3
000038d5: MSTORE
000038d6: PUSH1 0x1d
000038d8: SWAP1
000038d9: DUP3
000038da: ADD
000038db: MSTORE
000038dc: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
000038fd: PUSH1 0x40
000038ff: DUP3
00003900: ADD
00003901: MSTORE
00003902: PUSH1 0x60
00003904: ADD
00003905: SWAP1
00003906: JUMP
00003907: JUMPDEST
00003908: PUSH1 0x20
0000390a: DUP1
0000390b: DUP3
0000390c: MSTORE
0000390d: PUSH1 0x2a
0000390f: SWAP1
00003910: DUP3
00003911: ADD
00003912: MSTORE
00003913: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
00003934: PUSH1 0x40
00003936: DUP3
00003937: ADD
00003938: MSTORE
00003939: PUSH32 0x6f74207375636365656400000000000000000000000000000000000000000000
0000395a: PUSH1 0x60
0000395c: DUP3
0000395d: ADD
0000395e: MSTORE
0000395f: PUSH1 0x80
00003961: ADD
00003962: SWAP1
00003963: JUMP
00003964: JUMPDEST
00003965: PUSH1 0x20
00003967: DUP1
00003968: DUP3
00003969: MSTORE
0000396a: PUSH1 0x0e
0000396c: SWAP1
0000396d: DUP3
0000396e: ADD
0000396f: MSTORE
00003970: PUSH32 0x494e56414c49445f414d4f554e54000000000000000000000000000000000000
00003991: PUSH1 0x40
00003993: DUP3
00003994: ADD
00003995: MSTORE
00003996: PUSH1 0x60
00003998: ADD
00003999: SWAP1
0000399a: JUMP
0000399b: JUMPDEST
0000399c: PUSH1 0x20
0000399e: DUP1
0000399f: DUP3
000039a0: MSTORE
000039a1: PUSH1 0x1f
000039a3: SWAP1
000039a4: DUP3
000039a5: ADD
000039a6: MSTORE
000039a7: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
000039c8: PUSH1 0x40
000039ca: DUP3
000039cb: ADD
000039cc: MSTORE
000039cd: PUSH1 0x60
000039cf: ADD
000039d0: SWAP1
000039d1: JUMP
000039d2: JUMPDEST
000039d3: PUSH1 0x20
000039d5: DUP1
000039d6: DUP3
000039d7: MSTORE
000039d8: PUSH1 0x1f
000039da: SWAP1
000039db: DUP3
000039dc: ADD
000039dd: MSTORE
000039de: PUSH32 0x45524332303a206d696e7420746f20746865207a65726f206164647265737300
000039ff: PUSH1 0x40
00003a01: DUP3
00003a02: ADD
00003a03: MSTORE
00003a04: PUSH1 0x60
00003a06: ADD
00003a07: SWAP1
00003a08: JUMP
00003a09: JUMPDEST
00003a0a: PUSH1 0x00
00003a0c: PUSH1 0x80
00003a0e: DUP3
00003a0f: ADD
00003a10: SWAP1
00003a11: POP
00003a12: DUP3
00003a13: MLOAD
00003a14: DUP3
00003a15: MSTORE
00003a16: PUSH1 0x20
00003a18: DUP4
00003a19: ADD
00003a1a: MLOAD
00003a1b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003a30: DUP1
00003a31: DUP3
00003a32: AND
00003a33: PUSH1 0x20
00003a35: DUP6
00003a36: ADD
00003a37: MSTORE
00003a38: DUP1
00003a39: PUSH1 0x40
00003a3b: DUP7
00003a3c: ADD
00003a3d: MLOAD
00003a3e: AND
00003a3f: PUSH1 0x40
00003a41: DUP6
00003a42: ADD
00003a43: MSTORE
00003a44: POP
00003a45: POP
00003a46: PUSH1 0x60
00003a48: DUP4
00003a49: ADD
00003a4a: MLOAD
00003a4b: PUSH1 0x60
00003a4d: DUP4
00003a4e: ADD
00003a4f: MSTORE
00003a50: SWAP3
00003a51: SWAP2
00003a52: POP
00003a53: POP
00003a54: JUMP
00003a55: JUMPDEST
00003a56: SWAP1
00003a57: DUP2
00003a58: MSTORE
00003a59: PUSH1 0x20
00003a5b: ADD
00003a5c: SWAP1
00003a5d: JUMP
00003a5e: JUMPDEST
00003a5f: SWAP2
00003a60: DUP3
00003a61: MSTORE
00003a62: PUSH1 0x20
00003a64: DUP3
00003a65: ADD
00003a66: MSTORE
00003a67: PUSH1 0x40
00003a69: ADD
00003a6a: SWAP1
00003a6b: JUMP
00003a6c: JUMPDEST
00003a6d: PUSH1 0xff
00003a6f: SWAP2
00003a70: SWAP1
00003a71: SWAP2
00003a72: AND
00003a73: DUP2
00003a74: MSTORE
00003a75: PUSH1 0x20
00003a77: ADD
00003a78: SWAP1
00003a79: JUMP
00003a7a: JUMPDEST
00003a7b: PUSH1 0x00
00003a7d: JUMPDEST
00003a7e: DUP4
00003a7f: DUP2
00003a80: LT
00003a81: ISZERO
00003a82: PUSH2 0x3a95
00003a85: JUMPI
00003a86: DUP2
00003a87: DUP2
00003a88: ADD
00003a89: MLOAD
00003a8a: DUP4
00003a8b: DUP3
00003a8c: ADD
00003a8d: MSTORE
00003a8e: PUSH1 0x20
00003a90: ADD
00003a91: PUSH2 0x3a7d
00003a94: JUMP
00003a95: JUMPDEST
00003a96: DUP4
00003a97: DUP2
00003a98: GT
00003a99: ISZERO
00003a9a: PUSH2 0x1b37
00003a9d: JUMPI
00003a9e: POP
00003a9f: POP
00003aa0: PUSH1 0x00
00003aa2: SWAP2
00003aa3: ADD
00003aa4: MSTORE
00003aa5: JUMP
00003aa6: JUMPDEST
00003aa7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003abc: DUP2
00003abd: AND
00003abe: DUP2
00003abf: EQ
00003ac0: PUSH2 0x1780
00003ac3: JUMPI
00003ac4: PUSH1 0x00
00003ac6: DUP1
00003ac7: REVERT
00003ac8: JUMPDEST
00003ac9: DUP1
00003aca: ISZERO
00003acb: ISZERO
00003acc: DUP2
00003acd: EQ
00003ace: PUSH2 0x1780
00003ad1: JUMPI
00003ad2: PUSH1 0x00
00003ad4: DUP1
00003ad5: REVERT
00003ad6: INVALID
00003ad7: GASLIMIT
00003ad8: MSTORE
00003ad9: NUMBER
00003ada: ORIGIN
00003adb: ADDRESS
00003adc: GASPRICE
00003add: KECCAK256
00003ade: PUSH3 0x75726e
00003ae2: KECCAK256
00003ae3: PUSH2 0x6d6f
00003ae6: PUSH22 0x6e7420657863656564732062616c616e636553616665
00003afd: GASLIMIT
00003afe: MSTORE
00003aff: NUMBER
00003b00: ORIGIN
00003b01: ADDRESS
00003b02: GASPRICE
00003b03: KECCAK256
00003b04: PUSH5 0x6563726561
00003b0a: PUSH20 0x656420616c6c6f77616e63652062656c6f77207a
00003b1f: PUSH6 0x726f45524332
00003b26: ADDRESS
00003b27: GASPRICE
00003b28: KECCAK256
00003b29: PUSH21 0x72616e7366657220616d6f756e7420657863656564
00003b3f: PUSH20 0x2062616c616e636545524332303a207472616e73
00003b54: PUSH7 0x657220616d6f75
00003b5c: PUSH15 0x74206578636565647320616c6c6f77
00003b6c: PUSH2 0x6e63
00003b6f: PUSH6 0x45524332303a
00003b76: KECCAK256
00003b77: PUSH5 0x6563726561
00003b7d: PUSH20 0x656420616c6c6f77616e63652062656c6f77207a
00003b92: PUSH6 0x726fa2646970
00003b99: PUSH7 0x73582212200cf5
00003ba1: SWAP16
00003ba2: UNKNOWN(0xE4)
00003ba3: CALLVALUE
00003ba4: SSTORE
00003ba5: TIMESTAMP
00003ba6: PUSH7 0x6e9a19c0a19277
00003bae: GT
00003baf: UNKNOWN(0x2B)
00003bb0: UNKNOWN(0x25)
00003bb1: PUSH20 0xb16a249f84e9df782d62ade5c164736f6c634300
00003bc6: MOD
00003bc7: SIGNEXTEND
00003bc8: STOP
00003bc9: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xbb582d80",
            "selector": "0xbb582d80",
            "calldata_variants": [
                "0xbb582d80",
                "0xbb582d800000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe912b5ee",
            "selector": "0xe912b5ee",
            "calldata_variants": [
                "0xe912b5ee",
                "0xe912b5ee0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9ee679e8",
            "selector": "0x9ee679e8",
            "calldata_variants": [
                "0x9ee679e8",
                "0x9ee679e80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa457c2d7",
            "selector": "0xa457c2d7",
            "calldata_variants": [
                "0xa457c2d7",
                "0xa457c2d70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa9059cbb",
            "selector": "0xa9059cbb",
            "calldata_variants": [
                "0xa9059cbb",
                "0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb6b55f25",
            "selector": "0xb6b55f25",
            "calldata_variants": [
                "0xb6b55f25",
                "0xb6b55f250000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 15066,
            "type": "tx_origin_used"
        },
        {
            "pc": 15104,
            "type": "tx_origin_used"
        }
    ]
}
medium upgradeability codex Initializer callable by anyone if proxy is left uninitialized 75 no
view
evidence_json
{
    "evidence": "`initialize` is `public` and assigns ownership to `msg.sender` via `__Ownable_init_unchained()` without any access control beyond the `initializer` guard.",
    "locations": [
        "contracts/contracts/pools/Pool.sol:51"
    ],
    "recommendation": "Ensure proxies are initialized atomically at deployment (constructor `_data` or factory pattern). Consider locking the implementation (e.g., a constructor that sets the initialized flag) so the implementation itself cannot be initialized by arbitrary accounts.",
    "exploit_scenario": "If a proxy is deployed without calling `initialize` in the same transaction, an attacker can call `initialize`, become the owner (via `__Ownable_init_unchained()`), set `manager`/`underlyer`, and then use owner-only functions (e.g., `approveManager`) to siphon funds via a malicious manager."
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x07dc3383d8068c98745dbb3f8c04d268cb1ab8a2a355b13e519b837b20c753b4
call_targets: 0xd899ac9283a44533c36bc8373f5c898b0d5fc03e
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x07dc3383d8068c98745dbb3f8c04d268cb1ab8a2a355b13e519b837b20c753b4",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xd899ac9283a44533c36bc8373f5c898b0d5fc03e"
    ],
    "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": "0xbb582d80",
            "selector": "0xbb582d80",
            "calldata_variants": [
                "0xbb582d80",
                "0xbb582d800000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe912b5ee",
            "selector": "0xe912b5ee",
            "calldata_variants": [
                "0xe912b5ee",
                "0xe912b5ee0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9ee679e8",
            "selector": "0x9ee679e8",
            "calldata_variants": [
                "0x9ee679e8",
                "0x9ee679e80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa457c2d7",
            "selector": "0xa457c2d7",
            "calldata_variants": [
                "0xa457c2d7",
                "0xa457c2d70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa9059cbb",
            "selector": "0xa9059cbb",
            "calldata_variants": [
                "0xa9059cbb",
                "0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb6b55f25",
            "selector": "0xb6b55f25",
            "calldata_variants": [
                "0xb6b55f25",
                "0xb6b55f250000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 9638,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 11816,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 2,
    "guards_detected": [
        {
            "pc": 15066,
            "type": "tx_origin_used"
        },
        {
            "pc": 15104,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 2
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x07dc3383d8068c98745dbb3f8c04d268cb1ab8a2a355b13e519b837b20c753b4
call_targets: 0xd899ac9283a44533c36bc8373f5c898b0d5fc03e
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x07dc3383d8068c98745dbb3f8c04d268cb1ab8a2a355b13e519b837b20c753b4",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xd899ac9283a44533c36bc8373f5c898b0d5fc03e"
    ],
    "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": "0xbb582d80",
            "selector": "0xbb582d80",
            "calldata_variants": [
                "0xbb582d80",
                "0xbb582d800000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe912b5ee",
            "selector": "0xe912b5ee",
            "calldata_variants": [
                "0xe912b5ee",
                "0xe912b5ee0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9ee679e8",
            "selector": "0x9ee679e8",
            "calldata_variants": [
                "0x9ee679e8",
                "0x9ee679e80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa457c2d7",
            "selector": "0xa457c2d7",
            "calldata_variants": [
                "0xa457c2d7",
                "0xa457c2d70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa9059cbb",
            "selector": "0xa9059cbb",
            "calldata_variants": [
                "0xa9059cbb",
                "0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb6b55f25",
            "selector": "0xb6b55f25",
            "calldata_variants": [
                "0xb6b55f25",
                "0xb6b55f250000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 9638,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 11816,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 2,
    "guards_detected": [
        {
            "pc": 15066,
            "type": "tx_origin_used"
        },
        {
            "pc": 15104,
            "type": "tx_origin_used"
        }
    ]
}
low other codex Deposits assume 1:1 transfers, enabling under-collateralization with fee-on-transfer tokens 65 no
view
evidence_json
{
    "evidence": "`_deposit` mints before transferring and never checks the actual amount received (`_mint(toAccount, amount);` then `underlyer.safeTransferFrom(..., amount);`).",
    "locations": [
        "contracts/contracts/pools/Pool.sol:228"
    ],
    "recommendation": "Mint based on the actual received amount (measure balance before/after), or explicitly restrict the underlyer to non-fee, non-rebasing ERC20s and enforce that invariant at deployment.",
    "exploit_scenario": "If the underlyer charges transfer fees or is deflationary, `_deposit` mints `amount` fTokens but the pool receives less than `amount` of underlying. Users can repeatedly deposit to mint excess fTokens, and later withdraw more underlying than the pool actually received, draining other liquidity once funds are available."
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 11
}