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

Analysis Run

d1e28cbb-a34f-4498-94e3-2391c9e61ac5

failed
Chain ID
1
Address
Block Number
Created
Mon, Dec 29, 2025 5:48 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
30544 report.consolidate complete 1 / 1 3 months ago
104123 artifact.fetch failed 1 / 3 1 week ago
104124 tool.cast_disasm complete 1 / 3 1 week ago
104125 analysis.bundle complete 1 / 3 1 week ago
104126 capability.graph complete 1 / 3 1 week ago
104127 detector.run complete 1 / 3 1 week ago
104128 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
3
No findings?
no
Summary
Found 3 issues: uninitialized clone access control bypass, adjust() collateral accounting can be spoofed with fee-on-transfer tokens, and unchecked ERC20 return values.
View stderr
[codex:1482206] OpenAI Codex v0.77.0 (research preview)
[codex:1482206] --------
[codex:1482206] workdir: /tmp/codex-multi-cm7kug92
[codex:1482206] model: gpt-5.2-codex
[codex:1482206] provider: openai
[codex:1482206] approval: never
[codex:1482206] sandbox: read-only
[codex:1482206] reasoning effort: xhigh
[codex:1482206] reasoning summaries: auto
[codex:1482206] session id: 019b6b34-981c-7a21-8366-94aa737b06bf
[codex:1482206] --------
[codex:1482206] user
[codex:1482206] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1482206] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1482206] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1482206] 
[codex:1482206] Scope rules:
[codex:1482206] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1482206] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1482206] 
[codex:1482206] Output MUST be valid JSON matching the provided schema.
[codex:1482206] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1482206] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1482206] 
[codex:1482206] Output constraints (IMPORTANT):
[codex:1482206] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1482206] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1482206] mcp startup: no servers
[codex:1482206] 
[codex:1482206] thinking
[codex:1482206] **Checking for instructions and reading audit file**
[codex:1482206] exec
[codex:1482206] /bin/bash -lc ls in /tmp/codex-multi-cm7kug92 succeeded in 5ms:
[codex:1482206] AUDIT_BUNDLE.txt
[codex:1482206] codex-output-schema.json
[codex:1482206] contracts
[codex:1482206] 
[codex:1482206] thinking
[codex:1482206] **Reading AUDIT_BUNDLE.txt**
[codex:1482206] exec
[codex:1482206] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-cm7kug92 succeeded in 5ms:
[codex:1482206] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1482206] 
[codex:1482206] ================================================================================
[codex:1482206] FILE: contracts/IERC20.sol
[codex:1482206] ================================================================================
[codex:1482206] /**
[codex:1482206]  * SPDX-License-Identifier: MIT
[codex:1482206]  *
[codex:1482206]  * Copyright (c) 2016-2019 zOS Global Limited
[codex:1482206]  *
[codex:1482206]  */
[codex:1482206] pragma solidity ^0.8.0;
[codex:1482206] 
[codex:1482206] /**
[codex:1482206]  * @dev Interface of the ERC20 standard as defined in the EIP. Does not include
[codex:1482206]  * the optional functions; to access them see `ERC20Detailed`.
[codex:1482206]  */
[codex:1482206] 
[codex:1482206] interface IERC20 {
[codex:1482206]     function name() external view returns (string memory);
[codex:1482206] 
[codex:1482206] 
[codex:1482206] 
[codex:1482206] 
[codex:1482206] thinking
[codex:1482206] **Analyzing contract security and reentrancy risks**
[codex:1482206] 
[codex:1482206] I’m carefully auditing key first-party contracts like Position and Ownable, focusing on security-sensitive logic such as access control, external calls, and upgradeability. I’m spotting potential reentrancy and initialization window issues in clone contracts, especially around owner checks that may allow unauthorized calls before initialization completes. I also see risks in unchecked ERC20 transfers possibly causing accounting inconsistencies and reentrancy where external token or reserve calls occur before state updates. This deep dive aims to uncover exploitable gaps while weighing assumptions about trusted components.
[codex:1482206] thinking
[codex:1482206] **Continuing security assessment with reentrancy and access review**
[codex:1482206] 
[codex:1482206] I’m examining nuanced reentrancy scenarios, focusing on external calls made before internal state updates, especially in functions like adjust that chain multiple token and minting calls. I’m also seeing how ownership and hub relationships affect who can call sensitive methods like notifyMint and notifyRepaid, revealing potential for cross-position interference if hub parent checks are lax. The interplay of uninitialized clones and bypassed onlyOwner checks also stands out as a tricky timing window to consider.
[codex:1482206] thinking
[codex:1482206] **Evaluating clone initialization and token behavior risks**
[codex:1482206] 
[codex:1482206] I’m reflecting on risks from delayed or separate clone initialization, which might expose functions to unauthorized calls if owner is unset. I’m also considering unchecked return values in token transfers and the complications that arise with fee-on-transfer tokens potentially enabling undercollateralized minting. Finally, I’m exploring how token hooks—especially ERC777-style callbacks—could enable reentrancy through owner contracts during minting or collateral transfers, potentially causing stale-balance checks and state inconsistencies.
[codex:1482206] thinking
[codex:1482206] **Finalizing vulnerability scope and preparing report**
[codex:1482206] 
[codex:1482206] I’m wrapping up by confirming that key reentrancy risks mainly stem from unchecked ERC20 returns and fee-on-transfer tokens, alongside possible uninitialized clone owner access. Other flows like notifyMint and burnWithReserve seem safe due to transaction atomicity. Next, I plan to reference source code line numbers for the main issues to prepare a clear audit summary.
[codex:1482206] exec
[codex:1482206] /bin/bash -lc 'nl -ba contracts/Ownable.sol' in /tmp/codex-multi-cm7kug92 succeeded in 8ms:
[codex:1482206]      1	// SPDX-License-Identifier: MIT
[codex:1482206]      2	//
[codex:1482206]      3	// From https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol
[codex:1482206]      4	//
[codex:1482206]      5	// Modifications:
[codex:1482206]      6	// - Replaced Context._msgSender() with msg.sender
[codex:1482206]      7	// - Made leaner
[codex:1482206]      8	
[codex:1482206]      9	pragma solidity ^0.8.0;
[codex:1482206]     10	
[codex:1482206]     11	/**
[codex:1482206]     12	 * @dev Contract module which provides a basic access control mechanism, where
[codex:1482206]     13	 * there is an account (an owner) that can be granted exclusive access to
[codex:1482206]     14	 * specific functions.
[codex:1482206]     15	 *
[codex:1482206]     16	 * By default, the owner account will be the one that deploys the contract. This
[codex:1482206]     17	 * can later be changed with {transferOwnership}.
[codex:1482206]     18	 */
[codex:1482206]     19	contract Ownable {
[codex:1482206]     20	
[codex:1482206] 
[codex:1482206] thinking
[codex:1482206] **Preparing to review Position contract functions**
[codex:1482206] exec
[codex:1482206] /bin/bash -lc "nl -ba contracts/Position.sol | sed -n '120,360p'" in /tmp/codex-multi-cm7kug92 succeeded in 6ms:
[codex:1482206]    120		error NotOriginal();
[codex:1482206]    121		error InvalidExpiration();
[codex:1482206]    122		error AlreadyInitialized();
[codex:1482206]    123	
[codex:1482206]    124		modifier alive() {
[codex:1482206]    125			if (block.timestamp >= expiration) revert Expired(uint40(block.timestamp), expiration);
[codex:1482206]    126			_;
[codex:1482206]    127		}
[codex:1482206]    128	
[codex:1482206]    129		// requires that the position has always been backed by a minimal amount of collateral
[codex:1482206]    130		modifier backed() {
[codex:1482206]    131			if (isClosed()) revert Closed();
[codex:1482206]    132			_;
[codex:1482206]    133		}
[codex:1482206]    134	
[codex:1482206]    135		modifier expired() {
[codex:1482206]    136			if (block.timestamp < expiration) revert Alive();
[codex:1482206]    137			_;
[codex:1482206]    138		}
[codex:1482206]    139	
[codex:1482206] 
[codex:1482206] thinking
[codex:1482206] **Requesting more code context**
[codex:1482206] exec
[codex:1482206] /bin/bash -lc "nl -ba contracts/Position.sol | sed -n '360,720p'" in /tmp/codex-multi-cm7kug92 succeeded in 7ms:
[codex:1482206]    360		 * the expiration of the position.
[codex:1482206]    361		 */
[codex:1482206]    362		function calculateCurrentFee() public view returns (uint24) {
[codex:1482206]    363			return calculateFee(expiration);
[codex:1482206]    364		}
[codex:1482206]    365	
[codex:1482206]    366		/**
[codex:1482206]    367		 * The applicable interest rate in ppm when minting more Frankencoins.
[codex:1482206]    368		 * It consists on the globally valid interest plus an individual risk premium.
[codex:1482206]    369		 */
[codex:1482206]    370		function annualInterestPPM() public view returns (uint24) {
[codex:1482206]    371			return IHub(hub).rate().currentRatePPM() + riskPremiumPPM;
[codex:1482206]    372		}
[codex:1482206]    373	
[codex:1482206]    374		/**
[codex:1482206]    375		 * The fee in ppm when cloning and minting with the given expiration date.
[codex:1482206]    376		 */
[codex:1482206]    377		function calculateFee(uint256 exp) public view returns (uint24) {
[codex:1482206]    378			uint256 time = block.timestamp < start ? start : block.timestamp;
[codex:1482206]    379			uint256 timePassed = exp - time;
[codex:1482206] 
[codex:1482206] 
[codex:1482206] thinking
[codex:1482206] **Analyzing critical vulnerabilities and ERC20 handling risks**
[codex:1482206] 
[codex:1482206] I'm sorting through key issues: an access control gap when clones are uninitialized and owner==0, which could let attackers misuse `onlyOwner` methods; a medium-severity accounting flaw where `adjust` uses user-supplied collateral amounts without verifying actual transferred tokens, risking undercollateralized minting especially with fee-on-transfer tokens; and general unchecked ERC20 return values that might cause silent failures. I’m weighing severity and recommending mitigation like stronger owner checks, using actual balances post-transfer, and employing SafeERC20 patterns. I’m also considering nuanced attack scenarios involving position minting limits and notify calls, aiming to cover meaningful, actionable findings with evidence and proper categorization.
[codex:1482206] thinking
[codex:1482206] **Preparing detailed vulnerability report JSON**
[codex:1482206] 
[codex:1482206] I’m organizing a structured JSON report with three findings: uninitialized clones allowing access control bypass, undercollateralized minting via adjust trusting caller-supplied collateral, and unchecked ERC20 transfer return values leading to silent failures. Each finding has categorized severity, exploit scenarios, recommendations, evidence descriptions, and specific file locations to provide a clear, actionable summary for users reviewing contract security.
[codex:1482206] codex
[codex:1482206] {"no_findings":false,"summary":"Found 3 issues: uninitialized clone access control bypass, adjust() collateral accounting can be spoofed with fee-on-transfer tokens, and unchecked ERC20 return values.","findings":[{"severity":"medium","category":"access_control","title":"Uninitialized clones allow anyone to pass onlyOwner/ownerOrRoller checks","exploit_scenario":"If a clone is created without an atomic initialize (e.g., via CREATE2 or multi-tx flow), `owner` remains zero. Because `_requireOwner` skips checks when `owner == address(0)`, any address can call `onlyOwner`/`ownerOrRoller` functions. An attacker can front-run initialization and call `withdrawCollateral` or `adjust` to pull collateral or otherwise grief the position before the hub sets the correct owner.","recommendation":"Require initialization before any privileged action (e.g., `require(owner != address(0))` in `_requireOwner`), add an `initialized` flag gate, and ensure clone creation+initialize are atomic within the hub flow.","evidence":"`_requireOwner` permits any sender when `owner` is zero, while clones set `owner` only in `initialize`.","locations":["contracts/Ownable.sol:46","contracts/Position.sol:198","contracts/Position.sol:490"]},{"severity":"medium","category":"math","title":"adjust() trusts caller-supplied collateral amount, enabling undercollateralized minting with fee-on-transfer tokens","exploit_scenario":"An attacker uses a fee-on-transfer/deflationary collateral token. In `adjust`, `transferFrom` pulls less than `newCollateral` due to transfer fees, but `_mint` uses the user-supplied `newCollateral` for `_checkCollateral`. This allows minting more ZCHF than the actual collateral balance supports, creating an undercollateralized position.","recommendation":"After transfer, recompute the actual collateral balance and pass that to `_mint`/`_checkCollateral`. Alternatively, disallow fee-on-transfer tokens or require exact balance deltas.","evidence":"`adjust` uses `newCollateral` without verifying actual balance and passes it into `_mint`, which enforces collateralization using the supplied value.","locations":["contracts/Position.sol:297","contracts/Position.sol:300","contracts/Position.sol:312","contracts/Position.sol:385"]},{"severity":"low","category":"other","title":"ERC20 transfer/transferFrom return values are unchecked","exploit_scenario":"For non-standard ERC20s that return `false` instead of reverting, these calls can silently fail while the function continues. This can cause incorrect accounting (e.g., repayment logic proceeds even if the transfer failed) or stuck funds during withdrawals.","recommendation":"Use SafeERC20 (or explicit return-value checks) for all `transfer`/`transferFrom` calls and validate balance changes where appropriate.","evidence":"Multiple ERC20 transfers ignore return values, including collateral moves and ZCHF transfers.","locations":["contracts/Position.sol:300","contracts/Position.sol:414","contracts/Position.sol:479","contracts/Position.sol:505","contracts/Position.sol:447"]}]}
[codex:1482206] tokens used
[codex:1482206] 39,238
[codex:1482206] {"no_findings":false,"summary":"Found 3 issues: uninitialized clone access control bypass, adjust() collateral accounting can be spoofed with fee-on-transfer tokens, and unchecked ERC20 return values.","findings":[{"severity":"medium","category":"access_control","title":"Uninitialized clones allow anyone to pass onlyOwner/ownerOrRoller checks","exploit_scenario":"If a clone is created without an atomic initialize (e.g., via CREATE2 or multi-tx flow), `owner` remains zero. Because `_requireOwner` skips checks when `owner == address(0)`, any address can call `onlyOwner`/`ownerOrRoller` functions. An attacker can front-run initialization and call `withdrawCollateral` or `adjust` to pull collateral or otherwise grief the position before the hub sets the correct owner.","recommendation":"Require initialization before any privileged action (e.g., `require(owner != address(0))` in `_requireOwner`), add an `initialized` flag gate, and ensure clone creation+initialize are atomic within the hub flow.","evidence":"`_requireOwner` permits any sender when `owner` is zero, while clones set `owner` only in `initialize`.","locations":["contracts/Ownable.sol:46","contracts/Position.sol:198","contracts/Position.sol:490"]},{"severity":"medium","category":"math","title":"adjust() trusts caller-supplied collateral amount, enabling undercollateralized minting with fee-on-transfer tokens","exploit_scenario":"An attacker uses a fee-on-transfer/deflationary collateral token. In `adjust`, `transferFrom` pulls less than `newCollateral` due to transfer fees, but `_mint` uses the user-supplied `newCollateral` for `_checkCollateral`. This allows minting more ZCHF than the actual collateral balance supports, creating an undercollateralized position.","recommendation":"After transfer, recompute the actual collateral balance and pass that to `_mint`/`_checkCollateral`. Alternatively, disallow fee-on-transfer tokens or require exact balance deltas.","evidence":"`adjust` uses `newCollateral` without verifying actual balance and passes it into `_mint`, which enforces collateralization using the supplied value.","locations":["contracts/Position.sol:297","contracts/Position.sol:300","contracts/Position.sol:312","contracts/Position.sol:385"]},{"severity":"low","category":"other","title":"ERC20 transfer/transferFrom return values are unchecked","exploit_scenario":"For non-standard ERC20s that return `false` instead of reverting, these calls can silently fail while the function continues. This can cause incorrect accounting (e.g., repayment logic proceeds even if the transfer failed) or stuck funds during withdrawals.","recommendation":"Use SafeERC20 (or explicit return-value checks) for all `transfer`/`transferFrom` calls and validate balance changes where appropriate.","evidence":"Multiple ERC20 transfers ignore return values, including collateral moves and ZCHF transfers.","locations":["contracts/Position.sol:300","contracts/Position.sol:414","contracts/Position.sol:479","contracts/Position.sol:505","contracts/Position.sol:447"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-29T17:48:39.830733+00:00",
        "returncode": 0
    },
    "summary": "Found 3 issues: uninitialized clone access control bypass, adjust() collateral accounting can be spoofed with fee-on-transfer tokens, and unchecked ERC20 return values.",
    "raw_final": {
        "summary": "Found 3 issues: uninitialized clone access control bypass, adjust() collateral accounting can be spoofed with fee-on-transfer tokens, and unchecked ERC20 return values.",
        "findings": [
            {
                "title": "Uninitialized clones allow anyone to pass onlyOwner/ownerOrRoller checks",
                "category": "access_control",
                "evidence": "`_requireOwner` permits any sender when `owner` is zero, while clones set `owner` only in `initialize`.",
                "severity": "medium",
                "locations": [
                    "contracts/Ownable.sol:46",
                    "contracts/Position.sol:198",
                    "contracts/Position.sol:490"
                ],
                "recommendation": "Require initialization before any privileged action (e.g., `require(owner != address(0))` in `_requireOwner`), add an `initialized` flag gate, and ensure clone creation+initialize are atomic within the hub flow.",
                "exploit_scenario": "If a clone is created without an atomic initialize (e.g., via CREATE2 or multi-tx flow), `owner` remains zero. Because `_requireOwner` skips checks when `owner == address(0)`, any address can call `onlyOwner`/`ownerOrRoller` functions. An attacker can front-run initialization and call `withdrawCollateral` or `adjust` to pull collateral or otherwise grief the position before the hub sets the correct owner."
            },
            {
                "title": "adjust() trusts caller-supplied collateral amount, enabling undercollateralized minting with fee-on-transfer tokens",
                "category": "math",
                "evidence": "`adjust` uses `newCollateral` without verifying actual balance and passes it into `_mint`, which enforces collateralization using the supplied value.",
                "severity": "medium",
                "locations": [
                    "contracts/Position.sol:297",
                    "contracts/Position.sol:300",
                    "contracts/Position.sol:312",
                    "contracts/Position.sol:385"
                ],
                "recommendation": "After transfer, recompute the actual collateral balance and pass that to `_mint`/`_checkCollateral`. Alternatively, disallow fee-on-transfer tokens or require exact balance deltas.",
                "exploit_scenario": "An attacker uses a fee-on-transfer/deflationary collateral token. In `adjust`, `transferFrom` pulls less than `newCollateral` due to transfer fees, but `_mint` uses the user-supplied `newCollateral` for `_checkCollateral`. This allows minting more ZCHF than the actual collateral balance supports, creating an undercollateralized position."
            },
            {
                "title": "ERC20 transfer/transferFrom return values are unchecked",
                "category": "other",
                "evidence": "Multiple ERC20 transfers ignore return values, including collateral moves and ZCHF transfers.",
                "severity": "low",
                "locations": [
                    "contracts/Position.sol:300",
                    "contracts/Position.sol:414",
                    "contracts/Position.sol:479",
                    "contracts/Position.sol:505",
                    "contracts/Position.sol:447"
                ],
                "recommendation": "Use SafeERC20 (or explicit return-value checks) for all `transfer`/`transferFrom` calls and validate balance changes where appropriate.",
                "exploit_scenario": "For non-standard ERC20s that return `false` instead of reverting, these calls can silently fail while the function continues. This can cause incorrect accounting (e.g., repayment logic proceeds even if the transfer failed) or stuck funds during withdrawals."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
1
CALL-family (heavy)
29
EXT*/BALANCE
9
Total opcodes
6487
Flags
create_opcodes_present heavy_ext_balance_usage call_family_heavy
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 0x0253
00000019: JUMPI
0000001a: PUSH1 0x00
0000001c: CALLDATALOAD
0000001d: PUSH1 0xe0
0000001f: SHR
00000020: DUP1
00000021: PUSH4 0x6d4749fa
00000026: GT
00000027: PUSH2 0x0146
0000002a: JUMPI
0000002b: DUP1
0000002c: PUSH4 0xa4d66daf
00000031: GT
00000032: PUSH2 0x00c3
00000035: JUMPI
00000036: DUP1
00000037: PUSH4 0xc4d4803a
0000003c: GT
0000003d: PUSH2 0x0087
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0xc4d4803a
00000047: EQ
00000048: PUSH2 0x05e6
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0xcfb636f0
00000052: EQ
00000053: PUSH2 0x060d
00000056: JUMPI
00000057: DUP1
00000058: PUSH4 0xd8dfeb45
0000005d: EQ
0000005e: PUSH2 0x0620
00000061: JUMPI
00000062: DUP1
00000063: PUSH4 0xd9caed12
00000068: EQ
00000069: PUSH2 0x0647
0000006c: JUMPI
0000006d: DUP1
0000006e: PUSH4 0xf2fde38b
00000073: EQ
00000074: PUSH2 0x065a
00000077: JUMPI
00000078: DUP1
00000079: PUSH4 0xf3f480d9
0000007e: EQ
0000007f: PUSH2 0x066d
00000082: JUMPI
00000083: PUSH1 0x00
00000085: DUP1
00000086: REVERT
00000087: JUMPDEST
00000088: DUP1
00000089: PUSH4 0xa4d66daf
0000008e: EQ
0000008f: PUSH2 0x054c
00000092: JUMPI
00000093: DUP1
00000094: PUSH4 0xa8a3e31d
00000099: EQ
0000009a: PUSH2 0x0573
0000009d: JUMPI
0000009e: DUP1
0000009f: PUSH4 0xbabe7c74
000000a4: EQ
000000a5: PUSH2 0x057b
000000a8: JUMPI
000000a9: DUP1
000000aa: PUSH4 0xbe9a6555
000000af: EQ
000000b0: PUSH2 0x05a2
000000b3: JUMPI
000000b4: DUP1
000000b5: PUSH4 0xc2b6b58c
000000ba: EQ
000000bb: PUSH2 0x05c9
000000be: JUMPI
000000bf: PUSH1 0x00
000000c1: DUP1
000000c2: REVERT
000000c3: JUMPDEST
000000c4: DUP1
000000c5: PUSH4 0x7bd6fb9b
000000ca: GT
000000cb: PUSH2 0x010a
000000ce: JUMPI
000000cf: DUP1
000000d0: PUSH4 0x7bd6fb9b
000000d5: EQ
000000d6: PUSH2 0x0502
000000d9: JUMPI
000000da: DUP1
000000db: PUSH4 0x8da5cb5b
000000e0: EQ
000000e1: PUSH2 0x050a
000000e4: JUMPI
000000e5: DUP1
000000e6: PUSH4 0x99a5d747
000000eb: EQ
000000ec: PUSH2 0x051d
000000ef: JUMPI
000000f0: DUP1
000000f1: PUSH4 0x9de2f796
000000f6: EQ
000000f7: PUSH2 0x0530
000000fa: JUMPI
000000fb: DUP1
000000fc: PUSH4 0xa035b1fe
00000101: EQ
00000102: PUSH2 0x0543
00000105: JUMPI
00000106: PUSH1 0x00
00000108: DUP1
00000109: REVERT
0000010a: JUMPDEST
0000010b: DUP1
0000010c: PUSH4 0x6d4749fa
00000111: EQ
00000112: PUSH2 0x0491
00000115: JUMPI
00000116: DUP1
00000117: PUSH4 0x6f871cec
0000011c: EQ
0000011d: PUSH2 0x04a4
00000120: JUMPI
00000121: DUP1
00000122: PUSH4 0x72bf079e
00000127: EQ
00000128: PUSH2 0x04b7
0000012b: JUMPI
0000012c: DUP1
0000012d: PUSH4 0x730d48b7
00000132: EQ
00000133: PUSH2 0x04ca
00000136: JUMPI
00000137: DUP1
00000138: PUSH4 0x787a08a6
0000013d: EQ
0000013e: PUSH2 0x04f1
00000141: JUMPI
00000142: PUSH1 0x00
00000144: DUP1
00000145: REVERT
00000146: JUMPDEST
00000147: DUP1
00000148: PUSH4 0x371fd8e6
0000014d: GT
0000014e: PUSH2 0x01d4
00000151: JUMPI
00000152: DUP1
00000153: PUSH4 0x4665096d
00000158: GT
00000159: PUSH2 0x0198
0000015c: JUMPI
0000015d: DUP1
0000015e: PUSH4 0x4665096d
00000163: EQ
00000164: PUSH2 0x040d
00000167: JUMPI
00000168: DUP1
00000169: PUSH4 0x46c715fa
0000016e: EQ
0000016f: PUSH2 0x043b
00000172: JUMPI
00000173: DUP1
00000174: PUSH4 0x49746f10
00000179: EQ
0000017a: PUSH2 0x0462
0000017d: JUMPI
0000017e: DUP1
0000017f: PUSH4 0x4f02c420
00000184: EQ
00000185: PUSH2 0x0475
00000188: JUMPI
00000189: DUP1
0000018a: PUSH4 0x5be980f5
0000018f: EQ
00000190: PUSH2 0x047e
00000193: JUMPI
00000194: PUSH1 0x00
00000196: DUP1
00000197: REVERT
00000198: JUMPDEST
00000199: DUP1
0000019a: PUSH4 0x371fd8e6
0000019f: EQ
000001a0: PUSH2 0x0391
000001a3: JUMPI
000001a4: DUP1
000001a5: PUSH4 0x383ef46e
000001aa: EQ
000001ab: PUSH2 0x03a4
000001ae: JUMPI
000001af: DUP1
000001b0: PUSH4 0x3a7c29fb
000001b5: EQ
000001b6: PUSH2 0x03c0
000001b9: JUMPI
000001ba: DUP1
000001bb: PUSH4 0x40c10f19
000001c0: EQ
000001c1: PUSH2 0x03e7
000001c4: JUMPI
000001c5: DUP1
000001c6: PUSH4 0x42d02041
000001cb: EQ
000001cc: PUSH2 0x03fa
000001cf: JUMPI
000001d0: PUSH1 0x00
000001d2: DUP1
000001d3: REVERT
000001d4: JUMPDEST
000001d5: DUP1
000001d6: PUSH4 0x24e657fe
000001db: GT
000001dc: PUSH2 0x021b
000001df: JUMPI
000001e0: DUP1
000001e1: PUSH4 0x24e657fe
000001e6: EQ
000001e7: PUSH2 0x02f1
000001ea: JUMPI
000001eb: DUP1
000001ec: PUSH4 0x2a37eeae
000001f1: EQ
000001f2: PUSH2 0x02fa
000001f5: JUMPI
000001f6: DUP1
000001f7: PUSH4 0x329864aa
000001fc: EQ
000001fd: PUSH2 0x0302
00000200: JUMPI
00000201: DUP1
00000202: PUSH4 0x350c35e9
00000207: EQ
00000208: PUSH2 0x033f
0000020b: JUMPI
0000020c: DUP1
0000020d: PUSH4 0x365a86fc
00000212: EQ
00000213: PUSH2 0x0352
00000216: JUMPI
00000217: PUSH1 0x00
00000219: DUP1
0000021a: REVERT
0000021b: JUMPDEST
0000021c: DUP1
0000021d: PUSH4 0x08262940
00000222: EQ
00000223: PUSH2 0x0258
00000226: JUMPI
00000227: DUP1
00000228: PUSH4 0x0e49d77e
0000022d: EQ
0000022e: PUSH2 0x027e
00000231: JUMPI
00000232: DUP1
00000233: PUSH4 0x1bbea34c
00000238: EQ
00000239: PUSH2 0x0288
0000023c: JUMPI
0000023d: DUP1
0000023e: PUSH4 0x20aa9e72
00000243: EQ
00000244: PUSH2 0x029b
00000247: JUMPI
00000248: DUP1
00000249: PUSH4 0x211d7983
0000024e: EQ
0000024f: PUSH2 0x02de
00000252: JUMPI
00000253: JUMPDEST
00000254: PUSH1 0x00
00000256: DUP1
00000257: REVERT
00000258: JUMPDEST
00000259: PUSH2 0x026b
0000025c: PUSH2 0x0266
0000025f: CALLDATASIZE
00000260: PUSH1 0x04
00000262: PUSH2 0x2981
00000265: JUMP
00000266: JUMPDEST
00000267: PUSH2 0x0694
0000026a: JUMP
0000026b: JUMPDEST
0000026c: PUSH1 0x40
0000026e: MLOAD
0000026f: SWAP1
00000270: DUP2
00000271: MSTORE
00000272: PUSH1 0x20
00000274: ADD
00000275: JUMPDEST
00000276: PUSH1 0x40
00000278: MLOAD
00000279: DUP1
0000027a: SWAP2
0000027b: SUB
0000027c: SWAP1
0000027d: RETURN
0000027e: JUMPDEST
0000027f: PUSH2 0x0286
00000282: PUSH2 0x0733
00000285: JUMP
00000286: JUMPDEST
00000287: STOP
00000288: JUMPDEST
00000289: PUSH2 0x0286
0000028c: PUSH2 0x0296
0000028f: CALLDATASIZE
00000290: PUSH1 0x04
00000292: PUSH2 0x29b1
00000295: JUMP
00000296: JUMPDEST
00000297: PUSH2 0x07fc
0000029a: JUMP
0000029b: JUMPDEST
0000029c: PUSH2 0x02ae
0000029f: PUSH2 0x02a9
000002a2: CALLDATASIZE
000002a3: PUSH1 0x04
000002a5: PUSH2 0x2a8b
000002a8: JUMP
000002a9: JUMPDEST
000002aa: PUSH2 0x0985
000002ad: JUMP
000002ae: JUMPDEST
000002af: PUSH1 0x40
000002b1: DUP1
000002b2: MLOAD
000002b3: PUSH1 0x01
000002b5: PUSH1 0x01
000002b7: PUSH1 0xa0
000002b9: SHL
000002ba: SUB
000002bb: SWAP1
000002bc: SWAP6
000002bd: AND
000002be: DUP6
000002bf: MSTORE
000002c0: PUSH1 0x20
000002c2: DUP6
000002c3: ADD
000002c4: SWAP4
000002c5: SWAP1
000002c6: SWAP4
000002c7: MSTORE
000002c8: SWAP2
000002c9: DUP4
000002ca: ADD
000002cb: MSTORE
000002cc: PUSH4 0xffffffff
000002d1: AND
000002d2: PUSH1 0x60
000002d4: DUP3
000002d5: ADD
000002d6: MSTORE
000002d7: PUSH1 0x80
000002d9: ADD
000002da: PUSH2 0x0275
000002dd: JUMP
000002de: JUMPDEST
000002df: PUSH2 0x0286
000002e2: PUSH2 0x02ec
000002e5: CALLDATASIZE
000002e6: PUSH1 0x04
000002e8: PUSH2 0x2ab7
000002eb: JUMP
000002ec: JUMPDEST
000002ed: PUSH2 0x0ac6
000002f0: JUMP
000002f1: JUMPDEST
000002f2: PUSH2 0x026b
000002f5: PUSH1 0x04
000002f7: SLOAD
000002f8: DUP2
000002f9: JUMP
000002fa: JUMPDEST
000002fb: PUSH2 0x026b
000002fe: PUSH2 0x117c
00000301: JUMP
00000302: JUMPDEST
00000303: PUSH1 0x01
00000305: SLOAD
00000306: PUSH1 0x40
00000308: DUP1
00000309: MLOAD
0000030a: SWAP2
0000030b: DUP3
0000030c: MSTORE
0000030d: PUSH5 0xffffffffff
00000313: PUSH32 0x0000000000000000000000000000000000000000000000000000000000015180
00000334: AND
00000335: PUSH1 0x20
00000337: DUP4
00000338: ADD
00000339: MSTORE
0000033a: ADD
0000033b: PUSH2 0x0275
0000033e: JUMP
0000033f: JUMPDEST
00000340: PUSH2 0x0286
00000343: PUSH2 0x034d
00000346: CALLDATASIZE
00000347: PUSH1 0x04
00000349: PUSH2 0x2a8b
0000034c: JUMP
0000034d: JUMPDEST
0000034e: PUSH2 0x1262
00000351: JUMP
00000352: JUMPDEST
00000353: PUSH2 0x0379
00000356: PUSH32 0x000000000000000000000000de12b620a8a714476a97efd14e6f7180ca653557
00000377: DUP2
00000378: JUMP
00000379: JUMPDEST
0000037a: PUSH1 0x40
0000037c: MLOAD
0000037d: PUSH1 0x01
0000037f: PUSH1 0x01
00000381: PUSH1 0xa0
00000383: SHL
00000384: SUB
00000385: SWAP1
00000386: SWAP2
00000387: AND
00000388: DUP2
00000389: MSTORE
0000038a: PUSH1 0x20
0000038c: ADD
0000038d: PUSH2 0x0275
00000390: JUMP
00000391: JUMPDEST
00000392: PUSH2 0x026b
00000395: PUSH2 0x039f
00000398: CALLDATASIZE
00000399: PUSH1 0x04
0000039b: PUSH2 0x2aec
0000039e: JUMP
0000039f: JUMPDEST
000003a0: PUSH2 0x134d
000003a3: JUMP
000003a4: JUMPDEST
000003a5: PUSH2 0x03ac
000003a8: PUSH2 0x14e9
000003ab: JUMP
000003ac: JUMPDEST
000003ad: PUSH1 0x40
000003af: MLOAD
000003b0: PUSH3 0xffffff
000003b4: SWAP1
000003b5: SWAP2
000003b6: AND
000003b7: DUP2
000003b8: MSTORE
000003b9: PUSH1 0x20
000003bb: ADD
000003bc: PUSH2 0x0275
000003bf: JUMP
000003c0: JUMPDEST
000003c1: PUSH2 0x03ac
000003c4: PUSH32 0x000000000000000000000000000000000000000000000000000000000003d090
000003e5: DUP2
000003e6: JUMP
000003e7: JUMPDEST
000003e8: PUSH2 0x0286
000003eb: PUSH2 0x03f5
000003ee: CALLDATASIZE
000003ef: PUSH1 0x04
000003f1: PUSH2 0x2a8b
000003f4: JUMP
000003f5: JUMPDEST
000003f6: PUSH2 0x1506
000003f9: JUMP
000003fa: JUMPDEST
000003fb: PUSH2 0x0286
000003fe: PUSH2 0x0408
00000401: CALLDATASIZE
00000402: PUSH1 0x04
00000404: PUSH2 0x2aec
00000407: JUMP
00000408: JUMPDEST
00000409: PUSH2 0x15f0
0000040c: JUMP
0000040d: JUMPDEST
0000040e: PUSH1 0x05
00000410: SLOAD
00000411: PUSH2 0x0425
00000414: SWAP1
00000415: PUSH1 0x01
00000417: PUSH1 0x28
00000419: SHL
0000041a: SWAP1
0000041b: DIV
0000041c: PUSH5 0xffffffffff
00000422: AND
00000423: DUP2
00000424: JUMP
00000425: JUMPDEST
00000426: PUSH1 0x40
00000428: MLOAD
00000429: PUSH5 0xffffffffff
0000042f: SWAP1
00000430: SWAP2
00000431: AND
00000432: DUP2
00000433: MSTORE
00000434: PUSH1 0x20
00000436: ADD
00000437: PUSH2 0x0275
0000043a: JUMP
0000043b: JUMPDEST
0000043c: PUSH2 0x0379
0000043f: PUSH32 0x00000000000000000000000049c431454c40ecbf848096f2753b2abc3a699a10
00000460: DUP2
00000461: JUMP
00000462: JUMPDEST
00000463: PUSH2 0x0286
00000466: PUSH2 0x0470
00000469: CALLDATASIZE
0000046a: PUSH1 0x04
0000046c: PUSH2 0x2aec
0000046f: JUMP
00000470: JUMPDEST
00000471: PUSH2 0x1714
00000474: JUMP
00000475: JUMPDEST
00000476: PUSH2 0x026b
00000479: PUSH1 0x02
0000047b: SLOAD
0000047c: DUP2
0000047d: JUMP
0000047e: JUMPDEST
0000047f: PUSH2 0x0286
00000482: PUSH2 0x048c
00000485: CALLDATASIZE
00000486: PUSH1 0x04
00000488: PUSH2 0x2aec
0000048b: JUMP
0000048c: JUMPDEST
0000048d: PUSH2 0x1784
00000490: JUMP
00000491: JUMPDEST
00000492: PUSH2 0x0286
00000495: PUSH2 0x049f
00000498: CALLDATASIZE
00000499: PUSH1 0x04
0000049b: PUSH2 0x2b18
0000049e: JUMP
0000049f: JUMPDEST
000004a0: PUSH2 0x186b
000004a3: JUMP
000004a4: JUMPDEST
000004a5: PUSH2 0x0286
000004a8: PUSH2 0x04b2
000004ab: CALLDATASIZE
000004ac: PUSH1 0x04
000004ae: PUSH2 0x2b46
000004b1: JUMP
000004b2: JUMPDEST
000004b3: PUSH2 0x1a57
000004b6: JUMP
000004b7: JUMPDEST
000004b8: PUSH2 0x0286
000004bb: PUSH2 0x04c5
000004be: CALLDATASIZE
000004bf: PUSH1 0x04
000004c1: PUSH2 0x2aec
000004c4: JUMP
000004c5: JUMPDEST
000004c6: PUSH2 0x1c88
000004c9: JUMP
000004ca: JUMPDEST
000004cb: PUSH2 0x03ac
000004ce: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
000004ef: DUP2
000004f0: JUMP
000004f1: JUMPDEST
000004f2: PUSH1 0x05
000004f4: SLOAD
000004f5: PUSH2 0x0425
000004f8: SWAP1
000004f9: PUSH5 0xffffffffff
000004ff: AND
00000500: DUP2
00000501: JUMP
00000502: JUMPDEST
00000503: PUSH2 0x03ac
00000506: PUSH2 0x1cd8
00000509: JUMP
0000050a: JUMPDEST
0000050b: PUSH1 0x00
0000050d: SLOAD
0000050e: PUSH2 0x0379
00000511: SWAP1
00000512: PUSH1 0x01
00000514: PUSH1 0x01
00000516: PUSH1 0xa0
00000518: SHL
00000519: SUB
0000051a: AND
0000051b: DUP2
0000051c: JUMP
0000051d: JUMPDEST
0000051e: PUSH2 0x03ac
00000521: PUSH2 0x052b
00000524: CALLDATASIZE
00000525: PUSH1 0x04
00000527: PUSH2 0x2aec
0000052a: JUMP
0000052b: JUMPDEST
0000052c: PUSH2 0x1de8
0000052f: JUMP
00000530: JUMPDEST
00000531: PUSH2 0x026b
00000534: PUSH2 0x053e
00000537: CALLDATASIZE
00000538: PUSH1 0x04
0000053a: PUSH2 0x2aec
0000053d: JUMP
0000053e: JUMPDEST
0000053f: PUSH2 0x1ea0
00000542: JUMP
00000543: JUMPDEST
00000544: PUSH2 0x026b
00000547: PUSH1 0x01
00000549: SLOAD
0000054a: DUP2
0000054b: JUMP
0000054c: JUMPDEST
0000054d: PUSH2 0x026b
00000550: PUSH32 0x000000000000000000000000000000000000000000084595161401484a000000
00000571: DUP2
00000572: JUMP
00000573: JUMPDEST
00000574: PUSH2 0x026b
00000577: PUSH2 0x1f27
0000057a: JUMP
0000057b: JUMPDEST
0000057c: PUSH2 0x026b
0000057f: PUSH32 0x0000000000000000000000000000000000000000000000001bc16d674ec80000
000005a0: DUP2
000005a1: JUMP
000005a2: JUMPDEST
000005a3: PUSH2 0x0425
000005a6: PUSH32 0x0000000000000000000000000000000000000000000000000000000067608407
000005c7: DUP2
000005c8: JUMP
000005c9: JUMPDEST
000005ca: PUSH1 0x05
000005cc: SLOAD
000005cd: PUSH1 0x01
000005cf: PUSH1 0x50
000005d1: SHL
000005d2: SWAP1
000005d3: DIV
000005d4: PUSH1 0xff
000005d6: AND
000005d7: PUSH1 0x40
000005d9: MLOAD
000005da: SWAP1
000005db: ISZERO
000005dc: ISZERO
000005dd: DUP2
000005de: MSTORE
000005df: PUSH1 0x20
000005e1: ADD
000005e2: PUSH2 0x0275
000005e5: JUMP
000005e6: JUMPDEST
000005e7: PUSH2 0x0379
000005ea: PUSH32 0x000000000000000000000000b58e61c3098d85632df34eecfb899a1ed80921cb
0000060b: DUP2
0000060c: JUMP
0000060d: JUMPDEST
0000060e: PUSH2 0x0286
00000611: PUSH2 0x061b
00000614: CALLDATASIZE
00000615: PUSH1 0x04
00000617: PUSH2 0x2aec
0000061a: JUMP
0000061b: JUMPDEST
0000061c: PUSH2 0x1ff3
0000061f: JUMP
00000620: JUMPDEST
00000621: PUSH2 0x0379
00000624: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000645: DUP2
00000646: JUMP
00000647: JUMPDEST
00000648: PUSH2 0x0286
0000064b: PUSH2 0x0655
0000064e: CALLDATASIZE
0000064f: PUSH1 0x04
00000651: PUSH2 0x2b72
00000654: JUMP
00000655: JUMPDEST
00000656: PUSH2 0x20da
00000659: JUMP
0000065a: JUMPDEST
0000065b: PUSH2 0x0286
0000065e: PUSH2 0x0668
00000661: CALLDATASIZE
00000662: PUSH1 0x04
00000664: PUSH2 0x2bb3
00000667: JUMP
00000668: JUMPDEST
00000669: PUSH2 0x21c6
0000066c: JUMP
0000066d: JUMPDEST
0000066e: PUSH2 0x0425
00000671: PUSH32 0x0000000000000000000000000000000000000000000000000000000000015180
00000692: DUP2
00000693: JUMP
00000694: JUMPDEST
00000695: PUSH1 0x00
00000697: DUP2
00000698: ISZERO
00000699: PUSH2 0x06ff
0000069c: JUMPI
0000069d: PUSH3 0x0f4240
000006a1: PUSH2 0x06a8
000006a4: PUSH2 0x14e9
000006a7: JUMP
000006a8: JUMPDEST
000006a9: PUSH2 0x06d5
000006ac: PUSH32 0x000000000000000000000000000000000000000000000000000000000003d090
000006cd: PUSH3 0x0f4240
000006d1: PUSH2 0x2be6
000006d4: JUMP
000006d5: JUMPDEST
000006d6: PUSH2 0x06df
000006d9: SWAP2
000006da: SWAP1
000006db: PUSH2 0x2be6
000006de: JUMP
000006df: JUMPDEST
000006e0: PUSH2 0x06ee
000006e3: SWAP1
000006e4: PUSH3 0xffffff
000006e8: AND
000006e9: DUP6
000006ea: PUSH2 0x2c09
000006ed: JUMP
000006ee: JUMPDEST
000006ef: PUSH2 0x06f8
000006f2: SWAP2
000006f3: SWAP1
000006f4: PUSH2 0x2c20
000006f7: JUMP
000006f8: JUMPDEST
000006f9: SWAP1
000006fa: POP
000006fb: PUSH2 0x072d
000006fe: JUMP
000006ff: JUMPDEST
00000700: PUSH3 0x0f4240
00000704: PUSH2 0x06df
00000707: PUSH32 0x000000000000000000000000000000000000000000000000000000000003d090
00000728: DUP3
00000729: PUSH2 0x2be6
0000072c: JUMP
0000072d: JUMPDEST
0000072e: SWAP3
0000072f: SWAP2
00000730: POP
00000731: POP
00000732: JUMP
00000733: JUMPDEST
00000734: PUSH1 0x04
00000736: SLOAD
00000737: ISZERO
00000738: PUSH2 0x0754
0000073b: JUMPI
0000073c: PUSH1 0x40
0000073e: MLOAD
0000073f: PUSH4 0xd26e2de9
00000744: PUSH1 0xe0
00000746: SHL
00000747: DUP2
00000748: MSTORE
00000749: PUSH1 0x04
0000074b: ADD
0000074c: PUSH1 0x40
0000074e: MLOAD
0000074f: DUP1
00000750: SWAP2
00000751: SUB
00000752: SWAP1
00000753: REVERT
00000754: JUMPDEST
00000755: PUSH1 0x05
00000757: SLOAD
00000758: PUSH5 0xffffffffff
0000075e: AND
0000075f: TIMESTAMP
00000760: GT
00000761: PUSH2 0x077d
00000764: JUMPI
00000765: PUSH1 0x40
00000767: MLOAD
00000768: PUSH4 0x1c02820f
0000076d: PUSH1 0xe2
0000076f: SHL
00000770: DUP2
00000771: MSTORE
00000772: PUSH1 0x04
00000774: ADD
00000775: PUSH1 0x40
00000777: MLOAD
00000778: DUP1
00000779: SWAP2
0000077a: SUB
0000077b: SWAP1
0000077c: REVERT
0000077d: JUMPDEST
0000077e: PUSH1 0x05
00000780: SLOAD
00000781: PUSH1 0x01
00000783: PUSH1 0x28
00000785: SHL
00000786: SWAP1
00000787: DIV
00000788: PUSH5 0xffffffffff
0000078e: AND
0000078f: TIMESTAMP
00000790: LT
00000791: PUSH2 0x07cf
00000794: JUMPI
00000795: PUSH1 0x05
00000797: SLOAD
00000798: PUSH1 0x40
0000079a: MLOAD
0000079b: PUSH3 0x38ddd7
0000079f: PUSH1 0xe4
000007a1: SHL
000007a2: DUP2
000007a3: MSTORE
000007a4: PUSH5 0xffffffffff
000007aa: TIMESTAMP
000007ab: DUP2
000007ac: AND
000007ad: PUSH1 0x04
000007af: DUP4
000007b0: ADD
000007b1: MSTORE
000007b2: PUSH1 0x01
000007b4: PUSH1 0x28
000007b6: SHL
000007b7: SWAP1
000007b8: SWAP3
000007b9: DIV
000007ba: SWAP2
000007bb: SWAP1
000007bc: SWAP2
000007bd: AND
000007be: PUSH1 0x24
000007c0: DUP3
000007c1: ADD
000007c2: MSTORE
000007c3: PUSH1 0x44
000007c5: ADD
000007c6: JUMPDEST
000007c7: PUSH1 0x40
000007c9: MLOAD
000007ca: DUP1
000007cb: SWAP2
000007cc: SUB
000007cd: SWAP1
000007ce: REVERT
000007cf: JUMPDEST
000007d0: PUSH1 0x05
000007d2: SLOAD
000007d3: PUSH1 0x01
000007d5: PUSH1 0x50
000007d7: SHL
000007d8: SWAP1
000007d9: DIV
000007da: PUSH1 0xff
000007dc: AND
000007dd: ISZERO
000007de: PUSH2 0x07fa
000007e1: JUMPI
000007e2: PUSH1 0x40
000007e4: MLOAD
000007e5: PUSH4 0x1cdde67b
000007ea: PUSH1 0xe0
000007ec: SHL
000007ed: DUP2
000007ee: MSTORE
000007ef: PUSH1 0x04
000007f1: ADD
000007f2: PUSH1 0x40
000007f4: MLOAD
000007f5: DUP1
000007f6: SWAP2
000007f7: SUB
000007f8: SWAP1
000007f9: REVERT
000007fa: JUMPDEST
000007fb: JUMP
000007fc: JUMPDEST
000007fd: PUSH32 0x0000000000000000000000000000000000000000000000000000000067608407
0000081e: PUSH5 0xffffffffff
00000824: AND
00000825: TIMESTAMP
00000826: LT
00000827: PUSH2 0x0843
0000082a: JUMPI
0000082b: PUSH1 0x40
0000082d: MLOAD
0000082e: PUSH4 0xecdd1c29
00000833: PUSH1 0xe0
00000835: SHL
00000836: DUP2
00000837: MSTORE
00000838: PUSH1 0x04
0000083a: ADD
0000083b: PUSH1 0x40
0000083d: MLOAD
0000083e: DUP1
0000083f: SWAP2
00000840: SUB
00000841: SWAP1
00000842: REVERT
00000843: JUMPDEST
00000844: PUSH32 0x000000000000000000000000b58e61c3098d85632df34eecfb899a1ed80921cb
00000865: PUSH1 0x01
00000867: PUSH1 0x01
00000869: PUSH1 0xa0
0000086b: SHL
0000086c: SUB
0000086d: AND
0000086e: PUSH4 0xcd3293de
00000873: PUSH1 0x40
00000875: MLOAD
00000876: DUP2
00000877: PUSH4 0xffffffff
0000087c: AND
0000087d: PUSH1 0xe0
0000087f: SHL
00000880: DUP2
00000881: MSTORE
00000882: PUSH1 0x04
00000884: ADD
00000885: PUSH1 0x20
00000887: PUSH1 0x40
00000889: MLOAD
0000088a: DUP1
0000088b: DUP4
0000088c: SUB
0000088d: DUP2
0000088e: DUP7
0000088f: GAS
00000890: STATICCALL
00000891: ISZERO
00000892: DUP1
00000893: ISZERO
00000894: PUSH2 0x08a1
00000897: JUMPI
00000898: RETURNDATASIZE
00000899: PUSH1 0x00
0000089b: DUP1
0000089c: RETURNDATACOPY
0000089d: RETURNDATASIZE
0000089e: PUSH1 0x00
000008a0: REVERT
000008a1: JUMPDEST
000008a2: POP
000008a3: POP
000008a4: POP
000008a5: POP
000008a6: PUSH1 0x40
000008a8: MLOAD
000008a9: RETURNDATASIZE
000008aa: PUSH1 0x1f
000008ac: NOT
000008ad: PUSH1 0x1f
000008af: DUP3
000008b0: ADD
000008b1: AND
000008b2: DUP3
000008b3: ADD
000008b4: DUP1
000008b5: PUSH1 0x40
000008b7: MSTORE
000008b8: POP
000008b9: DUP2
000008ba: ADD
000008bb: SWAP1
000008bc: PUSH2 0x08c5
000008bf: SWAP2
000008c0: SWAP1
000008c1: PUSH2 0x2c42
000008c4: JUMP
000008c5: JUMPDEST
000008c6: PUSH1 0x01
000008c8: PUSH1 0x01
000008ca: PUSH1 0xa0
000008cc: SHL
000008cd: SUB
000008ce: AND
000008cf: PUSH4 0x352e3a83
000008d4: CALLER
000008d5: DUP7
000008d6: DUP7
000008d7: PUSH1 0x40
000008d9: MLOAD
000008da: DUP5
000008db: PUSH4 0xffffffff
000008e0: AND
000008e1: PUSH1 0xe0
000008e3: SHL
000008e4: DUP2
000008e5: MSTORE
000008e6: PUSH1 0x04
000008e8: ADD
000008e9: PUSH2 0x08f4
000008ec: SWAP4
000008ed: SWAP3
000008ee: SWAP2
000008ef: SWAP1
000008f0: PUSH2 0x2c5f
000008f3: JUMP
000008f4: JUMPDEST
000008f5: PUSH1 0x00
000008f7: PUSH1 0x40
000008f9: MLOAD
000008fa: DUP1
000008fb: DUP4
000008fc: SUB
000008fd: DUP2
000008fe: DUP7
000008ff: DUP1
00000900: EXTCODESIZE
00000901: ISZERO
00000902: DUP1
00000903: ISZERO
00000904: PUSH2 0x090c
00000907: JUMPI
00000908: PUSH1 0x00
0000090a: DUP1
0000090b: REVERT
0000090c: JUMPDEST
0000090d: POP
0000090e: GAS
0000090f: STATICCALL
00000910: ISZERO
00000911: DUP1
00000912: ISZERO
00000913: PUSH2 0x0920
00000916: JUMPI
00000917: RETURNDATASIZE
00000918: PUSH1 0x00
0000091a: DUP1
0000091b: RETURNDATACOPY
0000091c: RETURNDATASIZE
0000091d: PUSH1 0x00
0000091f: REVERT
00000920: JUMPDEST
00000921: POP
00000922: POP
00000923: POP
00000924: POP
00000925: PUSH2 0x093c
00000928: PUSH1 0x05
0000092a: DUP1
0000092b: SLOAD
0000092c: PUSH1 0xff
0000092e: PUSH1 0x50
00000930: SHL
00000931: NOT
00000932: AND
00000933: PUSH1 0x01
00000935: PUSH1 0x50
00000937: SHL
00000938: OR
00000939: SWAP1
0000093a: SSTORE
0000093b: JUMP
0000093c: JUMPDEST
0000093d: CALLER
0000093e: PUSH1 0x01
00000940: PUSH1 0x01
00000942: PUSH1 0xa0
00000944: SHL
00000945: SUB
00000946: AND
00000947: PUSH32 0xaca80c800ec0d2aa9d9d31b7f886a1dd3067d4676abc637626a18ffb9381653d
00000968: DUP4
00000969: DUP4
0000096a: PUSH1 0x40
0000096c: MLOAD
0000096d: PUSH2 0x0977
00000970: SWAP3
00000971: SWAP2
00000972: SWAP1
00000973: PUSH2 0x2cbb
00000976: JUMP
00000977: JUMPDEST
00000978: PUSH1 0x40
0000097a: MLOAD
0000097b: DUP1
0000097c: SWAP2
0000097d: SUB
0000097e: SWAP1
0000097f: LOG2
00000980: POP
00000981: POP
00000982: POP
00000983: POP
00000984: JUMP
00000985: JUMPDEST
00000986: PUSH1 0x00
00000988: DUP1
00000989: DUP1
0000098a: DUP1
0000098b: CALLER
0000098c: PUSH1 0x01
0000098e: PUSH1 0x01
00000990: PUSH1 0xa0
00000992: SHL
00000993: SUB
00000994: PUSH32 0x000000000000000000000000de12b620a8a714476a97efd14e6f7180ca653557
000009b5: AND
000009b6: EQ
000009b7: PUSH2 0x09d3
000009ba: JUMPI
000009bb: PUSH1 0x40
000009bd: MLOAD
000009be: PUSH4 0x13bd2e83
000009c3: PUSH1 0xe3
000009c5: SHL
000009c6: DUP2
000009c7: MSTORE
000009c8: PUSH1 0x04
000009ca: ADD
000009cb: PUSH1 0x40
000009cd: MLOAD
000009ce: DUP1
000009cf: SWAP2
000009d0: SUB
000009d1: SWAP1
000009d2: REVERT
000009d3: JUMPDEST
000009d4: DUP5
000009d5: PUSH1 0x04
000009d7: PUSH1 0x00
000009d9: DUP3
000009da: DUP3
000009db: SLOAD
000009dc: PUSH2 0x09e5
000009df: SWAP2
000009e0: SWAP1
000009e1: PUSH2 0x2cea
000009e4: JUMP
000009e5: JUMPDEST
000009e6: SWAP1
000009e7: SWAP2
000009e8: SSTORE
000009e9: POP
000009ea: PUSH1 0x00
000009ec: SWAP1
000009ed: POP
000009ee: PUSH2 0x09f5
000009f1: PUSH2 0x21d8
000009f4: JUMP
000009f5: JUMPDEST
000009f6: SWAP1
000009f7: POP
000009f8: DUP6
000009f9: DUP2
000009fa: LT
000009fb: ISZERO
000009fc: PUSH2 0x0a03
000009ff: JUMPI
00000a00: DUP1
00000a01: SWAP6
00000a02: POP
00000a03: JUMPDEST
00000a04: PUSH1 0x00
00000a06: DUP2
00000a07: ISZERO
00000a08: PUSH2 0x0a29
00000a0b: JUMPI
00000a0c: DUP2
00000a0d: DUP8
00000a0e: PUSH1 0x02
00000a10: SLOAD
00000a11: PUSH2 0x0a1a
00000a14: SWAP2
00000a15: SWAP1
00000a16: PUSH2 0x2c09
00000a19: JUMP
00000a1a: JUMPDEST
00000a1b: PUSH2 0x0a24
00000a1e: SWAP2
00000a1f: SWAP1
00000a20: PUSH2 0x2c20
00000a23: JUMP
00000a24: JUMPDEST
00000a25: PUSH2 0x0a2c
00000a28: JUMP
00000a29: JUMPDEST
00000a2a: PUSH1 0x00
00000a2c: JUMPDEST
00000a2d: SWAP1
00000a2e: POP
00000a2f: PUSH2 0x0a37
00000a32: DUP2
00000a33: PUSH2 0x223f
00000a36: JUMP
00000a37: JUMPDEST
00000a38: PUSH2 0x0a43
00000a3b: PUSH3 0x03f480
00000a3f: PUSH2 0x22fe
00000a42: JUMP
00000a43: JUMPDEST
00000a44: PUSH1 0x00
00000a46: PUSH2 0x0a4f
00000a49: DUP10
00000a4a: DUP10
00000a4b: PUSH2 0x233f
00000a4e: JUMP
00000a4f: JUMPDEST
00000a50: PUSH1 0x01
00000a52: SLOAD
00000a53: PUSH1 0x02
00000a55: SLOAD
00000a56: PUSH1 0x40
00000a58: DUP1
00000a59: MLOAD
00000a5a: DUP5
00000a5b: DUP2
00000a5c: MSTORE
00000a5d: PUSH1 0x20
00000a5f: DUP2
00000a60: ADD
00000a61: SWAP4
00000a62: SWAP1
00000a63: SWAP4
00000a64: MSTORE
00000a65: DUP3
00000a66: ADD
00000a67: MSTORE
00000a68: SWAP1
00000a69: SWAP2
00000a6a: POP
00000a6b: PUSH1 0x00
00000a6d: DUP1
00000a6e: MLOAD
00000a6f: PUSH1 0x20
00000a71: PUSH2 0x2dfd
00000a74: DUP4
00000a75: CODECOPY
00000a76: DUP2
00000a77: MLOAD
00000a78: SWAP2
00000a79: MSTORE
00000a7a: SWAP1
00000a7b: PUSH1 0x60
00000a7d: ADD
00000a7e: PUSH1 0x40
00000a80: MLOAD
00000a81: DUP1
00000a82: SWAP2
00000a83: SUB
00000a84: SWAP1
00000a85: LOG1
00000a86: POP
00000a87: PUSH1 0x00
00000a89: SLOAD
00000a8a: PUSH1 0x01
00000a8c: PUSH1 0x01
00000a8e: PUSH1 0xa0
00000a90: SHL
00000a91: SUB
00000a92: AND
00000a93: SWAP9
00000a94: SWAP7
00000a95: SWAP8
00000a96: POP
00000a97: SWAP6
00000a98: PUSH32 0x000000000000000000000000000000000000000000000000000000000003d090
00000ab9: PUSH3 0xffffff
00000abd: AND
00000abe: SWAP6
00000abf: POP
00000ac0: SWAP4
00000ac1: POP
00000ac2: POP
00000ac3: POP
00000ac4: POP
00000ac5: JUMP
00000ac6: JUMPDEST
00000ac7: CALLER
00000ac8: PUSH1 0x01
00000aca: PUSH1 0x01
00000acc: PUSH1 0xa0
00000ace: SHL
00000acf: SUB
00000ad0: PUSH32 0x000000000000000000000000de12b620a8a714476a97efd14e6f7180ca653557
00000af1: AND
00000af2: EQ
00000af3: PUSH2 0x0b0f
00000af6: JUMPI
00000af7: PUSH1 0x40
00000af9: MLOAD
00000afa: PUSH4 0x13bd2e83
00000aff: PUSH1 0xe3
00000b01: SHL
00000b02: DUP2
00000b03: MSTORE
00000b04: PUSH1 0x04
00000b06: ADD
00000b07: PUSH1 0x40
00000b09: MLOAD
00000b0a: DUP1
00000b0b: SWAP2
00000b0c: SUB
00000b0d: SWAP1
00000b0e: REVERT
00000b0f: JUMPDEST
00000b10: PUSH1 0x05
00000b12: SLOAD
00000b13: PUSH1 0x01
00000b15: PUSH1 0x28
00000b17: SHL
00000b18: SWAP1
00000b19: DIV
00000b1a: PUSH5 0xffffffffff
00000b20: AND
00000b21: TIMESTAMP
00000b22: LT
00000b23: ISZERO
00000b24: PUSH2 0x0b40
00000b27: JUMPI
00000b28: PUSH1 0x40
00000b2a: MLOAD
00000b2b: PUSH4 0x02de694d
00000b30: PUSH1 0xe4
00000b32: SHL
00000b33: DUP2
00000b34: MSTORE
00000b35: PUSH1 0x04
00000b37: ADD
00000b38: PUSH1 0x40
00000b3a: MLOAD
00000b3b: DUP1
00000b3c: SWAP2
00000b3d: SUB
00000b3e: SWAP1
00000b3f: REVERT
00000b40: JUMPDEST
00000b41: PUSH1 0x04
00000b43: SLOAD
00000b44: ISZERO
00000b45: PUSH2 0x0b61
00000b48: JUMPI
00000b49: PUSH1 0x40
00000b4b: MLOAD
00000b4c: PUSH4 0xd26e2de9
00000b51: PUSH1 0xe0
00000b53: SHL
00000b54: DUP2
00000b55: MSTORE
00000b56: PUSH1 0x04
00000b58: ADD
00000b59: PUSH1 0x40
00000b5b: MLOAD
00000b5c: DUP1
00000b5d: SWAP2
00000b5e: SUB
00000b5f: SWAP1
00000b60: REVERT
00000b61: JUMPDEST
00000b62: PUSH1 0x00
00000b64: PUSH2 0x0b6d
00000b67: DUP5
00000b68: DUP5
00000b69: PUSH2 0x233f
00000b6c: JUMP
00000b6d: JUMPDEST
00000b6e: PUSH1 0x02
00000b70: SLOAD
00000b71: SWAP1
00000b72: SWAP2
00000b73: POP
00000b74: ISZERO
00000b75: PUSH2 0x10a1
00000b78: JUMPI
00000b79: PUSH1 0x02
00000b7b: SLOAD
00000b7c: PUSH1 0x40
00000b7e: MLOAD
00000b7f: PUSH4 0x02dc1ca7
00000b84: PUSH1 0xe3
00000b86: SHL
00000b87: DUP2
00000b88: MSTORE
00000b89: PUSH1 0x04
00000b8b: DUP2
00000b8c: ADD
00000b8d: SWAP2
00000b8e: SWAP1
00000b8f: SWAP2
00000b90: MSTORE
00000b91: PUSH3 0xffffff
00000b95: PUSH32 0x000000000000000000000000000000000000000000000000000000000003d090
00000bb6: AND
00000bb7: PUSH1 0x24
00000bb9: DUP3
00000bba: ADD
00000bbb: MSTORE
00000bbc: PUSH1 0x00
00000bbe: SWAP1
00000bbf: PUSH32 0x000000000000000000000000b58e61c3098d85632df34eecfb899a1ed80921cb
00000be0: PUSH1 0x01
00000be2: PUSH1 0x01
00000be4: PUSH1 0xa0
00000be6: SHL
00000be7: SUB
00000be8: AND
00000be9: SWAP1
00000bea: PUSH4 0x16e0e538
00000bef: SWAP1
00000bf0: PUSH1 0x44
00000bf2: ADD
00000bf3: PUSH1 0x20
00000bf5: PUSH1 0x40
00000bf7: MLOAD
00000bf8: DUP1
00000bf9: DUP4
00000bfa: SUB
00000bfb: DUP2
00000bfc: DUP7
00000bfd: GAS
00000bfe: STATICCALL
00000bff: ISZERO
00000c00: DUP1
00000c01: ISZERO
00000c02: PUSH2 0x0c0f
00000c05: JUMPI
00000c06: RETURNDATASIZE
00000c07: PUSH1 0x00
00000c09: DUP1
00000c0a: RETURNDATACOPY
00000c0b: RETURNDATASIZE
00000c0c: PUSH1 0x00
00000c0e: REVERT
00000c0f: JUMPDEST
00000c10: POP
00000c11: POP
00000c12: POP
00000c13: POP
00000c14: PUSH1 0x40
00000c16: MLOAD
00000c17: RETURNDATASIZE
00000c18: PUSH1 0x1f
00000c1a: NOT
00000c1b: PUSH1 0x1f
00000c1d: DUP3
00000c1e: ADD
00000c1f: AND
00000c20: DUP3
00000c21: ADD
00000c22: DUP1
00000c23: PUSH1 0x40
00000c25: MSTORE
00000c26: POP
00000c27: DUP2
00000c28: ADD
00000c29: SWAP1
00000c2a: PUSH2 0x0c33
00000c2d: SWAP2
00000c2e: SWAP1
00000c2f: PUSH2 0x2cfd
00000c32: JUMP
00000c33: JUMPDEST
00000c34: PUSH1 0x02
00000c36: SLOAD
00000c37: SWAP1
00000c38: SWAP2
00000c39: POP
00000c3a: PUSH2 0x0c43
00000c3d: DUP3
00000c3e: DUP6
00000c3f: PUSH2 0x2d16
00000c42: JUMP
00000c43: JUMPDEST
00000c44: LT
00000c45: PUSH2 0x0de4
00000c48: JUMPI
00000c49: PUSH1 0x02
00000c4b: SLOAD
00000c4c: PUSH1 0x40
00000c4e: MLOAD
00000c4f: PUSH4 0x18af9f39
00000c54: PUSH1 0xe1
00000c56: SHL
00000c57: DUP2
00000c58: MSTORE
00000c59: PUSH1 0x01
00000c5b: PUSH1 0x01
00000c5d: PUSH1 0xa0
00000c5f: SHL
00000c60: SUB
00000c61: DUP8
00000c62: DUP2
00000c63: AND
00000c64: PUSH1 0x04
00000c66: DUP4
00000c67: ADD
00000c68: MSTORE
00000c69: PUSH1 0x24
00000c6b: DUP3
00000c6c: ADD
00000c6d: SWAP3
00000c6e: SWAP1
00000c6f: SWAP3
00000c70: MSTORE
00000c71: PUSH3 0xffffff
00000c75: PUSH32 0x000000000000000000000000000000000000000000000000000000000003d090
00000c96: AND
00000c97: PUSH1 0x44
00000c99: DUP3
00000c9a: ADD
00000c9b: MSTORE
00000c9c: PUSH1 0x00
00000c9e: SWAP2
00000c9f: PUSH32 0x000000000000000000000000b58e61c3098d85632df34eecfb899a1ed80921cb
00000cc0: AND
00000cc1: SWAP1
00000cc2: PUSH4 0x315f3e72
00000cc7: SWAP1
00000cc8: PUSH1 0x64
00000cca: ADD
00000ccb: PUSH1 0x20
00000ccd: PUSH1 0x40
00000ccf: MLOAD
00000cd0: DUP1
00000cd1: DUP4
00000cd2: SUB
00000cd3: DUP2
00000cd4: PUSH1 0x00
00000cd6: DUP8
00000cd7: GAS
00000cd8: CALL
00000cd9: ISZERO
00000cda: DUP1
00000cdb: ISZERO
00000cdc: PUSH2 0x0ce9
00000cdf: JUMPI
00000ce0: RETURNDATASIZE
00000ce1: PUSH1 0x00
00000ce3: DUP1
00000ce4: RETURNDATACOPY
00000ce5: RETURNDATASIZE
00000ce6: PUSH1 0x00
00000ce8: REVERT
00000ce9: JUMPDEST
00000cea: POP
00000ceb: POP
00000cec: POP
00000ced: POP
00000cee: PUSH1 0x40
00000cf0: MLOAD
00000cf1: RETURNDATASIZE
00000cf2: PUSH1 0x1f
00000cf4: NOT
00000cf5: PUSH1 0x1f
00000cf7: DUP3
00000cf8: ADD
00000cf9: AND
00000cfa: DUP3
00000cfb: ADD
00000cfc: DUP1
00000cfd: PUSH1 0x40
00000cff: MSTORE
00000d00: POP
00000d01: DUP2
00000d02: ADD
00000d03: SWAP1
00000d04: PUSH2 0x0d0d
00000d07: SWAP2
00000d08: SWAP1
00000d09: PUSH2 0x2cfd
00000d0c: JUMP
00000d0d: JUMPDEST
00000d0e: SWAP1
00000d0f: POP
00000d10: DUP2
00000d11: DUP2
00000d12: EQ
00000d13: PUSH2 0x0d1e
00000d16: JUMPI
00000d17: PUSH2 0x0d1e
00000d1a: PUSH2 0x2d29
00000d1d: JUMP
00000d1e: JUMPDEST
00000d1f: PUSH1 0x00
00000d21: SLOAD
00000d22: PUSH1 0x02
00000d24: SLOAD
00000d25: PUSH1 0x01
00000d27: PUSH1 0x01
00000d29: PUSH1 0xa0
00000d2b: SHL
00000d2c: SUB
00000d2d: PUSH32 0x000000000000000000000000b58e61c3098d85632df34eecfb899a1ed80921cb
00000d4e: DUP2
00000d4f: AND
00000d50: SWAP3
00000d51: PUSH4 0x23b872dd
00000d56: SWAP3
00000d57: DUP11
00000d58: SWAP3
00000d59: SWAP2
00000d5a: SWAP1
00000d5b: SWAP2
00000d5c: AND
00000d5d: SWAP1
00000d5e: PUSH2 0x0d67
00000d61: DUP7
00000d62: DUP11
00000d63: PUSH2 0x2d16
00000d66: JUMP
00000d67: JUMPDEST
00000d68: PUSH2 0x0d71
00000d6b: SWAP2
00000d6c: SWAP1
00000d6d: PUSH2 0x2cea
00000d70: JUMP
00000d71: JUMPDEST
00000d72: PUSH1 0x40
00000d74: MLOAD
00000d75: DUP5
00000d76: PUSH4 0xffffffff
00000d7b: AND
00000d7c: PUSH1 0xe0
00000d7e: SHL
00000d7f: DUP2
00000d80: MSTORE
00000d81: PUSH1 0x04
00000d83: ADD
00000d84: PUSH2 0x0d8f
00000d87: SWAP4
00000d88: SWAP3
00000d89: SWAP2
00000d8a: SWAP1
00000d8b: PUSH2 0x2d3f
00000d8e: JUMP
00000d8f: JUMPDEST
00000d90: PUSH1 0x20
00000d92: PUSH1 0x40
00000d94: MLOAD
00000d95: DUP1
00000d96: DUP4
00000d97: SUB
00000d98: DUP2
00000d99: PUSH1 0x00
00000d9b: DUP8
00000d9c: GAS
00000d9d: CALL
00000d9e: ISZERO
00000d9f: DUP1
00000da0: ISZERO
00000da1: PUSH2 0x0dae
00000da4: JUMPI
00000da5: RETURNDATASIZE
00000da6: PUSH1 0x00
00000da8: DUP1
00000da9: RETURNDATACOPY
00000daa: RETURNDATASIZE
00000dab: PUSH1 0x00
00000dad: REVERT
00000dae: JUMPDEST
00000daf: POP
00000db0: POP
00000db1: POP
00000db2: POP
00000db3: PUSH1 0x40
00000db5: MLOAD
00000db6: RETURNDATASIZE
00000db7: PUSH1 0x1f
00000db9: NOT
00000dba: PUSH1 0x1f
00000dbc: DUP3
00000dbd: ADD
00000dbe: AND
00000dbf: DUP3
00000dc0: ADD
00000dc1: DUP1
00000dc2: PUSH1 0x40
00000dc4: MSTORE
00000dc5: POP
00000dc6: DUP2
00000dc7: ADD
00000dc8: SWAP1
00000dc9: PUSH2 0x0dd2
00000dcc: SWAP2
00000dcd: SWAP1
00000dce: PUSH2 0x2d63
00000dd1: JUMP
00000dd2: JUMPDEST
00000dd3: POP
00000dd4: PUSH2 0x0dde
00000dd7: PUSH1 0x02
00000dd9: SLOAD
00000dda: PUSH2 0x223f
00000ddd: JUMP
00000dde: JUMPDEST
00000ddf: POP
00000de0: PUSH2 0x109b
00000de3: JUMP
00000de4: JUMPDEST
00000de5: PUSH1 0x40
00000de7: MLOAD
00000de8: PUSH4 0x23b872dd
00000ded: PUSH1 0xe0
00000def: SHL
00000df0: DUP2
00000df1: MSTORE
00000df2: PUSH1 0x01
00000df4: PUSH1 0x01
00000df6: PUSH1 0xa0
00000df8: SHL
00000df9: SUB
00000dfa: PUSH32 0x000000000000000000000000b58e61c3098d85632df34eecfb899a1ed80921cb
00000e1b: AND
00000e1c: SWAP1
00000e1d: PUSH4 0x23b872dd
00000e22: SWAP1
00000e23: PUSH2 0x0e34
00000e26: SWAP1
00000e27: DUP9
00000e28: SWAP1
00000e29: ADDRESS
00000e2a: SWAP1
00000e2b: DUP9
00000e2c: SWAP1
00000e2d: PUSH1 0x04
00000e2f: ADD
00000e30: PUSH2 0x2d3f
00000e33: JUMP
00000e34: JUMPDEST
00000e35: PUSH1 0x20
00000e37: PUSH1 0x40
00000e39: MLOAD
00000e3a: DUP1
00000e3b: DUP4
00000e3c: SUB
00000e3d: DUP2
00000e3e: PUSH1 0x00
00000e40: DUP8
00000e41: GAS
00000e42: CALL
00000e43: ISZERO
00000e44: DUP1
00000e45: ISZERO
00000e46: PUSH2 0x0e53
00000e49: JUMPI
00000e4a: RETURNDATASIZE
00000e4b: PUSH1 0x00
00000e4d: DUP1
00000e4e: RETURNDATACOPY
00000e4f: RETURNDATASIZE
00000e50: PUSH1 0x00
00000e52: REVERT
00000e53: JUMPDEST
00000e54: POP
00000e55: POP
00000e56: POP
00000e57: POP
00000e58: PUSH1 0x40
00000e5a: MLOAD
00000e5b: RETURNDATASIZE
00000e5c: PUSH1 0x1f
00000e5e: NOT
00000e5f: PUSH1 0x1f
00000e61: DUP3
00000e62: ADD
00000e63: AND
00000e64: DUP3
00000e65: ADD
00000e66: DUP1
00000e67: PUSH1 0x40
00000e69: MSTORE
00000e6a: POP
00000e6b: DUP2
00000e6c: ADD
00000e6d: SWAP1
00000e6e: PUSH2 0x0e77
00000e71: SWAP2
00000e72: SWAP1
00000e73: PUSH2 0x2d63
00000e76: JUMP
00000e77: JUMPDEST
00000e78: POP
00000e79: DUP2
00000e7a: PUSH1 0x00
00000e7c: SUB
00000e7d: PUSH2 0x0fd5
00000e80: JUMPI
00000e81: PUSH32 0x000000000000000000000000b58e61c3098d85632df34eecfb899a1ed80921cb
00000ea2: PUSH1 0x01
00000ea4: PUSH1 0x01
00000ea6: PUSH1 0xa0
00000ea8: SHL
00000ea9: SUB
00000eaa: AND
00000eab: PUSH4 0xd1fa5e98
00000eb0: ADDRESS
00000eb1: DUP6
00000eb2: PUSH1 0x02
00000eb4: SLOAD
00000eb5: PUSH2 0x0ebe
00000eb8: SWAP2
00000eb9: SWAP1
00000eba: PUSH2 0x2cea
00000ebd: JUMP
00000ebe: JUMPDEST
00000ebf: PUSH1 0x40
00000ec1: MLOAD
00000ec2: PUSH1 0x01
00000ec4: PUSH1 0x01
00000ec6: PUSH1 0xe0
00000ec8: SHL
00000ec9: SUB
00000eca: NOT
00000ecb: PUSH1 0xe0
00000ecd: DUP6
00000ece: SWAP1
00000ecf: SHL
00000ed0: AND
00000ed1: DUP2
00000ed2: MSTORE
00000ed3: PUSH1 0x01
00000ed5: PUSH1 0x01
00000ed7: PUSH1 0xa0
00000ed9: SHL
00000eda: SUB
00000edb: SWAP1
00000edc: SWAP3
00000edd: AND
00000ede: PUSH1 0x04
00000ee0: DUP4
00000ee1: ADD
00000ee2: MSTORE
00000ee3: PUSH1 0x24
00000ee5: DUP3
00000ee6: ADD
00000ee7: MSTORE
00000ee8: PUSH1 0x44
00000eea: ADD
00000eeb: PUSH1 0x00
00000eed: PUSH1 0x40
00000eef: MLOAD
00000ef0: DUP1
00000ef1: DUP4
00000ef2: SUB
00000ef3: DUP2
00000ef4: PUSH1 0x00
00000ef6: DUP8
00000ef7: DUP1
00000ef8: EXTCODESIZE
00000ef9: ISZERO
00000efa: DUP1
00000efb: ISZERO
00000efc: PUSH2 0x0f04
00000eff: JUMPI
00000f00: PUSH1 0x00
00000f02: DUP1
00000f03: REVERT
00000f04: JUMPDEST
00000f05: POP
00000f06: GAS
00000f07: CALL
00000f08: ISZERO
00000f09: DUP1
00000f0a: ISZERO
00000f0b: PUSH2 0x0f18
00000f0e: JUMPI
00000f0f: RETURNDATASIZE
00000f10: PUSH1 0x00
00000f12: DUP1
00000f13: RETURNDATACOPY
00000f14: RETURNDATASIZE
00000f15: PUSH1 0x00
00000f17: REVERT
00000f18: JUMPDEST
00000f19: POP
00000f1a: POP
00000f1b: PUSH1 0x02
00000f1d: SLOAD
00000f1e: PUSH1 0x40
00000f20: MLOAD
00000f21: PUSH4 0x63b20c33
00000f26: PUSH1 0xe1
00000f28: SHL
00000f29: DUP2
00000f2a: MSTORE
00000f2b: PUSH1 0x04
00000f2d: DUP2
00000f2e: ADD
00000f2f: SWAP2
00000f30: SWAP1
00000f31: SWAP2
00000f32: MSTORE
00000f33: PUSH3 0xffffff
00000f37: PUSH32 0x000000000000000000000000000000000000000000000000000000000003d090
00000f58: AND
00000f59: PUSH1 0x24
00000f5b: DUP3
00000f5c: ADD
00000f5d: MSTORE
00000f5e: PUSH32 0x000000000000000000000000b58e61c3098d85632df34eecfb899a1ed80921cb
00000f7f: PUSH1 0x01
00000f81: PUSH1 0x01
00000f83: PUSH1 0xa0
00000f85: SHL
00000f86: SUB
00000f87: AND
00000f88: SWAP3
00000f89: POP
00000f8a: PUSH4 0xc7641866
00000f8f: SWAP2
00000f90: POP
00000f91: PUSH1 0x44
00000f93: ADD
00000f94: PUSH1 0x00
00000f96: PUSH1 0x40
00000f98: MLOAD
00000f99: DUP1
00000f9a: DUP4
00000f9b: SUB
00000f9c: DUP2
00000f9d: PUSH1 0x00
00000f9f: DUP8
00000fa0: DUP1
00000fa1: EXTCODESIZE
00000fa2: ISZERO
00000fa3: DUP1
00000fa4: ISZERO
00000fa5: PUSH2 0x0fad
00000fa8: JUMPI
00000fa9: PUSH1 0x00
00000fab: DUP1
00000fac: REVERT
00000fad: JUMPDEST
00000fae: POP
00000faf: GAS
00000fb0: CALL
00000fb1: ISZERO
00000fb2: DUP1
00000fb3: ISZERO
00000fb4: PUSH2 0x0fc1
00000fb7: JUMPI
00000fb8: RETURNDATASIZE
00000fb9: PUSH1 0x00
00000fbb: DUP1
00000fbc: RETURNDATACOPY
00000fbd: RETURNDATASIZE
00000fbe: PUSH1 0x00
00000fc0: REVERT
00000fc1: JUMPDEST
00000fc2: POP
00000fc3: POP
00000fc4: POP
00000fc5: POP
00000fc6: PUSH2 0x0fd0
00000fc9: PUSH1 0x02
00000fcb: SLOAD
00000fcc: PUSH2 0x223f
00000fcf: JUMP
00000fd0: JUMPDEST
00000fd1: PUSH2 0x109b
00000fd4: JUMP
00000fd5: JUMPDEST
00000fd6: PUSH1 0x40
00000fd8: MLOAD
00000fd9: PUSH4 0xa47d75ad
00000fde: PUSH1 0xe0
00000fe0: SHL
00000fe1: DUP2
00000fe2: MSTORE
00000fe3: PUSH1 0x04
00000fe5: DUP2
00000fe6: ADD
00000fe7: DUP5
00000fe8: SWAP1
00000fe9: MSTORE
00000fea: PUSH3 0xffffff
00000fee: PUSH32 0x000000000000000000000000000000000000000000000000000000000003d090
0000100f: AND
00001010: PUSH1 0x24
00001012: DUP3
00001013: ADD
00001014: MSTORE
00001015: PUSH1 0x00
00001017: SWAP1
00001018: PUSH32 0x000000000000000000000000b58e61c3098d85632df34eecfb899a1ed80921cb
00001039: PUSH1 0x01
0000103b: PUSH1 0x01
0000103d: PUSH1 0xa0
0000103f: SHL
00001040: SUB
00001041: AND
00001042: SWAP1
00001043: PUSH4 0xa47d75ad
00001048: SWAP1
00001049: PUSH1 0x44
0000104b: ADD
0000104c: PUSH1 0x20
0000104e: PUSH1 0x40
00001050: MLOAD
00001051: DUP1
00001052: DUP4
00001053: SUB
00001054: DUP2
00001055: PUSH1 0x00
00001057: DUP8
00001058: GAS
00001059: CALL
0000105a: ISZERO
0000105b: DUP1
0000105c: ISZERO
0000105d: PUSH2 0x106a
00001060: JUMPI
00001061: RETURNDATASIZE
00001062: PUSH1 0x00
00001064: DUP1
00001065: RETURNDATACOPY
00001066: RETURNDATASIZE
00001067: PUSH1 0x00
00001069: REVERT
0000106a: JUMPDEST
0000106b: POP
0000106c: POP
0000106d: POP
0000106e: POP
0000106f: PUSH1 0x40
00001071: MLOAD
00001072: RETURNDATASIZE
00001073: PUSH1 0x1f
00001075: NOT
00001076: PUSH1 0x1f
00001078: DUP3
00001079: ADD
0000107a: AND
0000107b: DUP3
0000107c: ADD
0000107d: DUP1
0000107e: PUSH1 0x40
00001080: MSTORE
00001081: POP
00001082: DUP2
00001083: ADD
00001084: SWAP1
00001085: PUSH2 0x108e
00001088: SWAP2
00001089: SWAP1
0000108a: PUSH2 0x2cfd
0000108d: JUMP
0000108e: JUMPDEST
0000108f: SWAP1
00001090: POP
00001091: PUSH2 0x1099
00001094: DUP2
00001095: PUSH2 0x223f
00001098: JUMP
00001099: JUMPDEST
0000109a: POP
0000109b: JUMPDEST
0000109c: POP
0000109d: PUSH2 0x113a
000010a0: JUMP
000010a1: JUMPDEST
000010a2: PUSH1 0x00
000010a4: SLOAD
000010a5: PUSH1 0x40
000010a7: MLOAD
000010a8: PUSH4 0x23b872dd
000010ad: PUSH1 0xe0
000010af: SHL
000010b0: DUP2
000010b1: MSTORE
000010b2: PUSH1 0x01
000010b4: PUSH1 0x01
000010b6: PUSH1 0xa0
000010b8: SHL
000010b9: SUB
000010ba: PUSH32 0x000000000000000000000000b58e61c3098d85632df34eecfb899a1ed80921cb
000010db: DUP2
000010dc: AND
000010dd: SWAP3
000010de: PUSH4 0x23b872dd
000010e3: SWAP3
000010e4: PUSH2 0x10f5
000010e7: SWAP3
000010e8: DUP10
000010e9: SWAP3
000010ea: AND
000010eb: SWAP1
000010ec: DUP8
000010ed: SWAP1
000010ee: PUSH1 0x04
000010f0: ADD
000010f1: PUSH2 0x2d3f
000010f4: JUMP
000010f5: JUMPDEST
000010f6: PUSH1 0x20
000010f8: PUSH1 0x40
000010fa: MLOAD
000010fb: DUP1
000010fc: DUP4
000010fd: SUB
000010fe: DUP2
000010ff: PUSH1 0x00
00001101: DUP8
00001102: GAS
00001103: CALL
00001104: ISZERO
00001105: DUP1
00001106: ISZERO
00001107: PUSH2 0x1114
0000110a: JUMPI
0000110b: RETURNDATASIZE
0000110c: PUSH1 0x00
0000110e: DUP1
0000110f: RETURNDATACOPY
00001110: RETURNDATASIZE
00001111: PUSH1 0x00
00001113: REVERT
00001114: JUMPDEST
00001115: POP
00001116: POP
00001117: POP
00001118: POP
00001119: PUSH1 0x40
0000111b: MLOAD
0000111c: RETURNDATASIZE
0000111d: PUSH1 0x1f
0000111f: NOT
00001120: PUSH1 0x1f
00001122: DUP3
00001123: ADD
00001124: AND
00001125: DUP3
00001126: ADD
00001127: DUP1
00001128: PUSH1 0x40
0000112a: MSTORE
0000112b: POP
0000112c: DUP2
0000112d: ADD
0000112e: SWAP1
0000112f: PUSH2 0x1138
00001132: SWAP2
00001133: SWAP1
00001134: PUSH2 0x2d63
00001137: JUMP
00001138: JUMPDEST
00001139: POP
0000113a: JUMPDEST
0000113b: PUSH1 0x00
0000113d: DUP1
0000113e: MLOAD
0000113f: PUSH1 0x20
00001141: PUSH2 0x2dfd
00001144: DUP4
00001145: CODECOPY
00001146: DUP2
00001147: MLOAD
00001148: SWAP2
00001149: MSTORE
0000114a: PUSH2 0x1151
0000114d: PUSH2 0x21d8
00001150: JUMP
00001151: JUMPDEST
00001152: PUSH1 0x01
00001154: SLOAD
00001155: PUSH1 0x02
00001157: SLOAD
00001158: PUSH1 0x40
0000115a: DUP1
0000115b: MLOAD
0000115c: SWAP4
0000115d: DUP5
0000115e: MSTORE
0000115f: PUSH1 0x20
00001161: DUP5
00001162: ADD
00001163: SWAP3
00001164: SWAP1
00001165: SWAP3
00001166: MSTORE
00001167: SWAP1
00001168: DUP3
00001169: ADD
0000116a: MSTORE
0000116b: PUSH1 0x60
0000116d: ADD
0000116e: JUMPDEST
0000116f: PUSH1 0x40
00001171: MLOAD
00001172: DUP1
00001173: SWAP2
00001174: SUB
00001175: SWAP1
00001176: LOG1
00001177: POP
00001178: POP
00001179: POP
0000117a: POP
0000117b: JUMP
0000117c: JUMPDEST
0000117d: PUSH1 0x00
0000117f: PUSH1 0x01
00001181: PUSH1 0x01
00001183: PUSH1 0xa0
00001185: SHL
00001186: SUB
00001187: PUSH32 0x00000000000000000000000049c431454c40ecbf848096f2753b2abc3a699a10
000011a8: AND
000011a9: ADDRESS
000011aa: SUB
000011ab: PUSH2 0x11e0
000011ae: JUMPI
000011af: PUSH1 0x03
000011b1: SLOAD
000011b2: PUSH2 0x11db
000011b5: SWAP1
000011b6: PUSH32 0x000000000000000000000000000000000000000000084595161401484a000000
000011d7: PUSH2 0x2cea
000011da: JUMP
000011db: JUMPDEST
000011dc: SWAP1
000011dd: POP
000011de: SWAP1
000011df: JUMP
000011e0: JUMPDEST
000011e1: PUSH32 0x00000000000000000000000049c431454c40ecbf848096f2753b2abc3a699a10
00001202: PUSH1 0x01
00001204: PUSH1 0x01
00001206: PUSH1 0xa0
00001208: SHL
00001209: SUB
0000120a: AND
0000120b: PUSH4 0xa8a3e31d
00001210: PUSH1 0x40
00001212: MLOAD
00001213: DUP2
00001214: PUSH4 0xffffffff
00001219: AND
0000121a: PUSH1 0xe0
0000121c: SHL
0000121d: DUP2
0000121e: MSTORE
0000121f: PUSH1 0x04
00001221: ADD
00001222: PUSH1 0x20
00001224: PUSH1 0x40
00001226: MLOAD
00001227: DUP1
00001228: DUP4
00001229: SUB
0000122a: DUP2
0000122b: DUP7
0000122c: GAS
0000122d: STATICCALL
0000122e: ISZERO
0000122f: DUP1
00001230: ISZERO
00001231: PUSH2 0x123e
00001234: JUMPI
00001235: RETURNDATASIZE
00001236: PUSH1 0x00
00001238: DUP1
00001239: RETURNDATACOPY
0000123a: RETURNDATASIZE
0000123b: PUSH1 0x00
0000123d: REVERT
0000123e: JUMPDEST
0000123f: POP
00001240: POP
00001241: POP
00001242: POP
00001243: PUSH1 0x40
00001245: MLOAD
00001246: RETURNDATASIZE
00001247: PUSH1 0x1f
00001249: NOT
0000124a: PUSH1 0x1f
0000124c: DUP3
0000124d: ADD
0000124e: AND
0000124f: DUP3
00001250: ADD
00001251: DUP1
00001252: PUSH1 0x40
00001254: MSTORE
00001255: POP
00001256: DUP2
00001257: ADD
00001258: SWAP1
00001259: PUSH2 0x11db
0000125c: SWAP2
0000125d: SWAP1
0000125e: PUSH2 0x2cfd
00001261: JUMP
00001262: JUMPDEST
00001263: PUSH32 0x000000000000000000000000de12b620a8a714476a97efd14e6f7180ca653557
00001284: PUSH1 0x01
00001286: PUSH1 0x01
00001288: PUSH1 0xa0
0000128a: SHL
0000128b: SUB
0000128c: AND
0000128d: PUSH4 0x2f09177d
00001292: PUSH1 0x40
00001294: MLOAD
00001295: DUP2
00001296: PUSH4 0xffffffff
0000129b: AND
0000129c: PUSH1 0xe0
0000129e: SHL
0000129f: DUP2
000012a0: MSTORE
000012a1: PUSH1 0x04
000012a3: ADD
000012a4: PUSH1 0x20
000012a6: PUSH1 0x40
000012a8: MLOAD
000012a9: DUP1
000012aa: DUP4
000012ab: SUB
000012ac: DUP2
000012ad: DUP7
000012ae: GAS
000012af: STATICCALL
000012b0: ISZERO
000012b1: DUP1
000012b2: ISZERO
000012b3: PUSH2 0x12c0
000012b6: JUMPI
000012b7: RETURNDATASIZE
000012b8: PUSH1 0x00
000012ba: DUP1
000012bb: RETURNDATACOPY
000012bc: RETURNDATASIZE
000012bd: PUSH1 0x00
000012bf: REVERT
000012c0: JUMPDEST
000012c1: POP
000012c2: POP
000012c3: POP
000012c4: POP
000012c5: PUSH1 0x40
000012c7: MLOAD
000012c8: RETURNDATASIZE
000012c9: PUSH1 0x1f
000012cb: NOT
000012cc: PUSH1 0x1f
000012ce: DUP3
000012cf: ADD
000012d0: AND
000012d1: DUP3
000012d2: ADD
000012d3: DUP1
000012d4: PUSH1 0x40
000012d6: MSTORE
000012d7: POP
000012d8: DUP2
000012d9: ADD
000012da: SWAP1
000012db: PUSH2 0x12e4
000012de: SWAP2
000012df: SWAP1
000012e0: PUSH2 0x2c42
000012e3: JUMP
000012e4: JUMPDEST
000012e5: PUSH1 0x01
000012e7: PUSH1 0x01
000012e9: PUSH1 0xa0
000012eb: SHL
000012ec: SUB
000012ed: AND
000012ee: CALLER
000012ef: PUSH1 0x01
000012f1: PUSH1 0x01
000012f3: PUSH1 0xa0
000012f5: SHL
000012f6: SUB
000012f7: AND
000012f8: EQ
000012f9: PUSH2 0x1305
000012fc: JUMPI
000012fd: PUSH2 0x1305
00001300: CALLER
00001301: PUSH2 0x242f
00001304: JUMP
00001305: JUMPDEST
00001306: PUSH1 0x00
00001308: PUSH2 0x1311
0000130b: DUP4
0000130c: DUP4
0000130d: PUSH2 0x2475
00001310: JUMP
00001311: JUMPDEST
00001312: PUSH1 0x01
00001314: SLOAD
00001315: PUSH1 0x02
00001317: SLOAD
00001318: PUSH1 0x40
0000131a: DUP1
0000131b: MLOAD
0000131c: DUP5
0000131d: DUP2
0000131e: MSTORE
0000131f: PUSH1 0x20
00001321: DUP2
00001322: ADD
00001323: SWAP4
00001324: SWAP1
00001325: SWAP4
00001326: MSTORE
00001327: DUP3
00001328: ADD
00001329: MSTORE
0000132a: SWAP1
0000132b: SWAP2
0000132c: POP
0000132d: PUSH1 0x00
0000132f: DUP1
00001330: MLOAD
00001331: PUSH1 0x20
00001333: PUSH2 0x2dfd
00001336: DUP4
00001337: CODECOPY
00001338: DUP2
00001339: MLOAD
0000133a: SWAP2
0000133b: MSTORE
0000133c: SWAP1
0000133d: PUSH1 0x60
0000133f: ADD
00001340: JUMPDEST
00001341: PUSH1 0x40
00001343: MLOAD
00001344: DUP1
00001345: SWAP2
00001346: SUB
00001347: SWAP1
00001348: LOG1
00001349: POP
0000134a: POP
0000134b: POP
0000134c: JUMP
0000134d: JUMPDEST
0000134e: PUSH1 0x40
00001350: MLOAD
00001351: PUSH4 0x23b872dd
00001356: PUSH1 0xe0
00001358: SHL
00001359: DUP2
0000135a: MSTORE
0000135b: PUSH1 0x00
0000135d: SWAP1
0000135e: PUSH1 0x01
00001360: PUSH1 0x01
00001362: PUSH1 0xa0
00001364: SHL
00001365: SUB
00001366: PUSH32 0x000000000000000000000000b58e61c3098d85632df34eecfb899a1ed80921cb
00001387: AND
00001388: SWAP1
00001389: PUSH4 0x23b872dd
0000138e: SWAP1
0000138f: PUSH2 0x13a0
00001392: SWAP1
00001393: CALLER
00001394: SWAP1
00001395: ADDRESS
00001396: SWAP1
00001397: DUP8
00001398: SWAP1
00001399: PUSH1 0x04
0000139b: ADD
0000139c: PUSH2 0x2d3f
0000139f: JUMP
000013a0: JUMPDEST
000013a1: PUSH1 0x20
000013a3: PUSH1 0x40
000013a5: MLOAD
000013a6: DUP1
000013a7: DUP4
000013a8: SUB
000013a9: DUP2
000013aa: PUSH1 0x00
000013ac: DUP8
000013ad: GAS
000013ae: CALL
000013af: ISZERO
000013b0: DUP1
000013b1: ISZERO
000013b2: PUSH2 0x13bf
000013b5: JUMPI
000013b6: RETURNDATASIZE
000013b7: PUSH1 0x00
000013b9: DUP1
000013ba: RETURNDATACOPY
000013bb: RETURNDATASIZE
000013bc: PUSH1 0x00
000013be: REVERT
000013bf: JUMPDEST
000013c0: POP
000013c1: POP
000013c2: POP
000013c3: POP
000013c4: PUSH1 0x40
000013c6: MLOAD
000013c7: RETURNDATASIZE
000013c8: PUSH1 0x1f
000013ca: NOT
000013cb: PUSH1 0x1f
000013cd: DUP3
000013ce: ADD
000013cf: AND
000013d0: DUP3
000013d1: ADD
000013d2: DUP1
000013d3: PUSH1 0x40
000013d5: MSTORE
000013d6: POP
000013d7: DUP2
000013d8: ADD
000013d9: SWAP1
000013da: PUSH2 0x13e3
000013dd: SWAP2
000013de: SWAP1
000013df: PUSH2 0x2d63
000013e2: JUMP
000013e3: JUMPDEST
000013e4: POP
000013e5: PUSH1 0x40
000013e7: MLOAD
000013e8: PUSH4 0xa47d75ad
000013ed: PUSH1 0xe0
000013ef: SHL
000013f0: DUP2
000013f1: MSTORE
000013f2: PUSH1 0x04
000013f4: DUP2
000013f5: ADD
000013f6: DUP4
000013f7: SWAP1
000013f8: MSTORE
000013f9: PUSH3 0xffffff
000013fd: PUSH32 0x000000000000000000000000000000000000000000000000000000000003d090
0000141e: AND
0000141f: PUSH1 0x24
00001421: DUP3
00001422: ADD
00001423: MSTORE
00001424: PUSH1 0x00
00001426: SWAP1
00001427: PUSH32 0x000000000000000000000000b58e61c3098d85632df34eecfb899a1ed80921cb
00001448: PUSH1 0x01
0000144a: PUSH1 0x01
0000144c: PUSH1 0xa0
0000144e: SHL
0000144f: SUB
00001450: AND
00001451: SWAP1
00001452: PUSH4 0xa47d75ad
00001457: SWAP1
00001458: PUSH1 0x44
0000145a: ADD
0000145b: PUSH1 0x20
0000145d: PUSH1 0x40
0000145f: MLOAD
00001460: DUP1
00001461: DUP4
00001462: SUB
00001463: DUP2
00001464: PUSH1 0x00
00001466: DUP8
00001467: GAS
00001468: CALL
00001469: ISZERO
0000146a: DUP1
0000146b: ISZERO
0000146c: PUSH2 0x1479
0000146f: JUMPI
00001470: RETURNDATASIZE
00001471: PUSH1 0x00
00001473: DUP1
00001474: RETURNDATACOPY
00001475: RETURNDATASIZE
00001476: PUSH1 0x00
00001478: REVERT
00001479: JUMPDEST
0000147a: POP
0000147b: POP
0000147c: POP
0000147d: POP
0000147e: PUSH1 0x40
00001480: MLOAD
00001481: RETURNDATASIZE
00001482: PUSH1 0x1f
00001484: NOT
00001485: PUSH1 0x1f
00001487: DUP3
00001488: ADD
00001489: AND
0000148a: DUP3
0000148b: ADD
0000148c: DUP1
0000148d: PUSH1 0x40
0000148f: MSTORE
00001490: POP
00001491: DUP2
00001492: ADD
00001493: SWAP1
00001494: PUSH2 0x149d
00001497: SWAP2
00001498: SWAP1
00001499: PUSH2 0x2cfd
0000149c: JUMP
0000149d: JUMPDEST
0000149e: SWAP1
0000149f: POP
000014a0: PUSH2 0x14a8
000014a3: DUP2
000014a4: PUSH2 0x223f
000014a7: JUMP
000014a8: JUMPDEST
000014a9: PUSH1 0x00
000014ab: DUP1
000014ac: MLOAD
000014ad: PUSH1 0x20
000014af: PUSH2 0x2dfd
000014b2: DUP4
000014b3: CODECOPY
000014b4: DUP2
000014b5: MLOAD
000014b6: SWAP2
000014b7: MSTORE
000014b8: PUSH2 0x14bf
000014bb: PUSH2 0x21d8
000014be: JUMP
000014bf: JUMPDEST
000014c0: PUSH1 0x01
000014c2: SLOAD
000014c3: PUSH1 0x02
000014c5: SLOAD
000014c6: PUSH1 0x40
000014c8: DUP1
000014c9: MLOAD
000014ca: SWAP4
000014cb: DUP5
000014cc: MSTORE
000014cd: PUSH1 0x20
000014cf: DUP5
000014d0: ADD
000014d1: SWAP3
000014d2: SWAP1
000014d3: SWAP3
000014d4: MSTORE
000014d5: SWAP1
000014d6: DUP3
000014d7: ADD
000014d8: MSTORE
000014d9: PUSH1 0x60
000014db: ADD
000014dc: PUSH1 0x40
000014de: MLOAD
000014df: DUP1
000014e0: SWAP2
000014e1: SUB
000014e2: SWAP1
000014e3: LOG1
000014e4: SWAP3
000014e5: SWAP2
000014e6: POP
000014e7: POP
000014e8: JUMP
000014e9: JUMPDEST
000014ea: PUSH1 0x05
000014ec: SLOAD
000014ed: PUSH1 0x00
000014ef: SWAP1
000014f0: PUSH2 0x11db
000014f3: SWAP1
000014f4: PUSH1 0x01
000014f6: PUSH1 0x28
000014f8: SHL
000014f9: SWAP1
000014fa: DIV
000014fb: PUSH5 0xffffffffff
00001501: AND
00001502: PUSH2 0x1de8
00001505: JUMP
00001506: JUMPDEST
00001507: PUSH32 0x000000000000000000000000de12b620a8a714476a97efd14e6f7180ca653557
00001528: PUSH1 0x01
0000152a: PUSH1 0x01
0000152c: PUSH1 0xa0
0000152e: SHL
0000152f: SUB
00001530: AND
00001531: PUSH4 0x2f09177d
00001536: PUSH1 0x40
00001538: MLOAD
00001539: DUP2
0000153a: PUSH4 0xffffffff
0000153f: AND
00001540: PUSH1 0xe0
00001542: SHL
00001543: DUP2
00001544: MSTORE
00001545: PUSH1 0x04
00001547: ADD
00001548: PUSH1 0x20
0000154a: PUSH1 0x40
0000154c: MLOAD
0000154d: DUP1
0000154e: DUP4
0000154f: SUB
00001550: DUP2
00001551: DUP7
00001552: GAS
00001553: STATICCALL
00001554: ISZERO
00001555: DUP1
00001556: ISZERO
00001557: PUSH2 0x1564
0000155a: JUMPI
0000155b: RETURNDATASIZE
0000155c: PUSH1 0x00
0000155e: DUP1
0000155f: RETURNDATACOPY
00001560: RETURNDATASIZE
00001561: PUSH1 0x00
00001563: REVERT
00001564: JUMPDEST
00001565: POP
00001566: POP
00001567: POP
00001568: POP
00001569: PUSH1 0x40
0000156b: MLOAD
0000156c: RETURNDATASIZE
0000156d: PUSH1 0x1f
0000156f: NOT
00001570: PUSH1 0x1f
00001572: DUP3
00001573: ADD
00001574: AND
00001575: DUP3
00001576: ADD
00001577: DUP1
00001578: PUSH1 0x40
0000157a: MSTORE
0000157b: POP
0000157c: DUP2
0000157d: ADD
0000157e: SWAP1
0000157f: PUSH2 0x1588
00001582: SWAP2
00001583: SWAP1
00001584: PUSH2 0x2c42
00001587: JUMP
00001588: JUMPDEST
00001589: PUSH1 0x01
0000158b: PUSH1 0x01
0000158d: PUSH1 0xa0
0000158f: SHL
00001590: SUB
00001591: AND
00001592: CALLER
00001593: PUSH1 0x01
00001595: PUSH1 0x01
00001597: PUSH1 0xa0
00001599: SHL
0000159a: SUB
0000159b: AND
0000159c: EQ
0000159d: PUSH2 0x15a9
000015a0: JUMPI
000015a1: PUSH2 0x15a9
000015a4: CALLER
000015a5: PUSH2 0x242f
000015a8: JUMP
000015a9: JUMPDEST
000015aa: PUSH1 0x00
000015ac: PUSH2 0x15b3
000015af: PUSH2 0x21d8
000015b2: JUMP
000015b3: JUMPDEST
000015b4: SWAP1
000015b5: POP
000015b6: PUSH2 0x15c0
000015b9: DUP4
000015ba: DUP4
000015bb: DUP4
000015bc: PUSH2 0x24dc
000015bf: JUMP
000015c0: JUMPDEST
000015c1: PUSH1 0x01
000015c3: SLOAD
000015c4: PUSH1 0x02
000015c6: SLOAD
000015c7: PUSH1 0x40
000015c9: DUP1
000015ca: MLOAD
000015cb: DUP5
000015cc: DUP2
000015cd: MSTORE
000015ce: PUSH1 0x20
000015d0: DUP2
000015d1: ADD
000015d2: SWAP4
000015d3: SWAP1
000015d4: SWAP4
000015d5: MSTORE
000015d6: DUP3
000015d7: ADD
000015d8: MSTORE
000015d9: PUSH1 0x00
000015db: DUP1
000015dc: MLOAD
000015dd: PUSH1 0x20
000015df: PUSH2 0x2dfd
000015e2: DUP4
000015e3: CODECOPY
000015e4: DUP2
000015e5: MLOAD
000015e6: SWAP2
000015e7: MSTORE
000015e8: SWAP1
000015e9: PUSH1 0x60
000015eb: ADD
000015ec: PUSH2 0x1340
000015ef: JUMP
000015f0: JUMPDEST
000015f1: CALLER
000015f2: PUSH1 0x01
000015f4: PUSH1 0x01
000015f6: PUSH1 0xa0
000015f8: SHL
000015f9: SUB
000015fa: PUSH32 0x000000000000000000000000de12b620a8a714476a97efd14e6f7180ca653557
0000161b: AND
0000161c: EQ
0000161d: PUSH2 0x1639
00001620: JUMPI
00001621: PUSH1 0x40
00001623: MLOAD
00001624: PUSH4 0x13bd2e83
00001629: PUSH1 0xe3
0000162b: SHL
0000162c: DUP2
0000162d: MSTORE
0000162e: PUSH1 0x04
00001630: ADD
00001631: PUSH1 0x40
00001633: MLOAD
00001634: DUP1
00001635: SWAP2
00001636: SUB
00001637: SWAP1
00001638: REVERT
00001639: JUMPDEST
0000163a: PUSH1 0x05
0000163c: SLOAD
0000163d: PUSH1 0x01
0000163f: PUSH1 0x28
00001641: SHL
00001642: SWAP1
00001643: DIV
00001644: PUSH5 0xffffffffff
0000164a: AND
0000164b: TIMESTAMP
0000164c: LT
0000164d: PUSH2 0x1686
00001650: JUMPI
00001651: PUSH1 0x05
00001653: SLOAD
00001654: PUSH1 0x40
00001656: MLOAD
00001657: PUSH3 0x38ddd7
0000165b: PUSH1 0xe4
0000165d: SHL
0000165e: DUP2
0000165f: MSTORE
00001660: PUSH5 0xffffffffff
00001666: TIMESTAMP
00001667: DUP2
00001668: AND
00001669: PUSH1 0x04
0000166b: DUP4
0000166c: ADD
0000166d: MSTORE
0000166e: PUSH1 0x01
00001670: PUSH1 0x28
00001672: SHL
00001673: SWAP1
00001674: SWAP3
00001675: DIV
00001676: SWAP2
00001677: SWAP1
00001678: SWAP2
00001679: AND
0000167a: PUSH1 0x24
0000167c: DUP3
0000167d: ADD
0000167e: MSTORE
0000167f: PUSH1 0x44
00001681: ADD
00001682: PUSH2 0x07c6
00001685: JUMP
00001686: JUMPDEST
00001687: PUSH32 0x0000000000000000000000000000000000000000000000001bc16d674ec80000
000016a8: DUP2
000016a9: LT
000016aa: DUP1
000016ab: ISZERO
000016ac: PUSH2 0x16bb
000016af: JUMPI
000016b0: POP
000016b1: PUSH2 0x16b8
000016b4: PUSH2 0x21d8
000016b7: JUMP
000016b8: JUMPDEST
000016b9: DUP2
000016ba: LT
000016bb: JUMPDEST
000016bc: ISZERO
000016bd: PUSH2 0x16d9
000016c0: JUMPI
000016c1: PUSH1 0x40
000016c3: MLOAD
000016c4: PUSH4 0x3c80636b
000016c9: PUSH1 0xe2
000016cb: SHL
000016cc: DUP2
000016cd: MSTORE
000016ce: PUSH1 0x04
000016d0: ADD
000016d1: PUSH1 0x40
000016d3: MLOAD
000016d4: DUP1
000016d5: SWAP2
000016d6: SUB
000016d7: SWAP1
000016d8: REVERT
000016d9: JUMPDEST
000016da: DUP1
000016db: PUSH1 0x00
000016dd: SUB
000016de: PUSH2 0x16fa
000016e1: JUMPI
000016e2: PUSH1 0x40
000016e4: MLOAD
000016e5: PUSH4 0x3c80636b
000016ea: PUSH1 0xe2
000016ec: SHL
000016ed: DUP2
000016ee: MSTORE
000016ef: PUSH1 0x04
000016f1: ADD
000016f2: PUSH1 0x40
000016f4: MLOAD
000016f5: DUP1
000016f6: SWAP2
000016f7: SUB
000016f8: SWAP1
000016f9: REVERT
000016fa: JUMPDEST
000016fb: DUP1
000016fc: PUSH1 0x04
000016fe: PUSH1 0x00
00001700: DUP3
00001701: DUP3
00001702: SLOAD
00001703: PUSH2 0x170c
00001706: SWAP2
00001707: SWAP1
00001708: PUSH2 0x2d16
0000170b: JUMP
0000170c: JUMPDEST
0000170d: SWAP1
0000170e: SWAP2
0000170f: SSTORE
00001710: POP
00001711: POP
00001712: POP
00001713: JUMP
00001714: JUMPDEST
00001715: CALLER
00001716: PUSH1 0x01
00001718: PUSH1 0x01
0000171a: PUSH1 0xa0
0000171c: SHL
0000171d: SUB
0000171e: PUSH32 0x000000000000000000000000de12b620a8a714476a97efd14e6f7180ca653557
0000173f: AND
00001740: EQ
00001741: PUSH2 0x175d
00001744: JUMPI
00001745: PUSH1 0x40
00001747: MLOAD
00001748: PUSH4 0x13bd2e83
0000174d: PUSH1 0xe3
0000174f: SHL
00001750: DUP2
00001751: MSTORE
00001752: PUSH1 0x04
00001754: ADD
00001755: PUSH1 0x40
00001757: MLOAD
00001758: DUP1
00001759: SWAP2
0000175a: SUB
0000175b: SWAP1
0000175c: REVERT
0000175d: JUMPDEST
0000175e: DUP1
0000175f: PUSH1 0x04
00001761: PUSH1 0x00
00001763: DUP3
00001764: DUP3
00001765: SLOAD
00001766: PUSH2 0x176f
00001769: SWAP2
0000176a: SWAP1
0000176b: PUSH2 0x2cea
0000176e: JUMP
0000176f: JUMPDEST
00001770: SWAP1
00001771: SWAP2
00001772: SSTORE
00001773: POP
00001774: PUSH2 0x1781
00001777: SWAP1
00001778: POP
00001779: PUSH3 0x015180
0000177d: PUSH2 0x22fe
00001780: JUMP
00001781: JUMPDEST
00001782: POP
00001783: JUMP
00001784: JUMPDEST
00001785: PUSH1 0x40
00001787: MLOAD
00001788: PUSH4 0xaa5dd7f1
0000178d: PUSH1 0xe0
0000178f: SHL
00001790: DUP2
00001791: MSTORE
00001792: CALLER
00001793: PUSH1 0x04
00001795: DUP3
00001796: ADD
00001797: MSTORE
00001798: PUSH1 0x01
0000179a: PUSH1 0x01
0000179c: PUSH1 0xa0
0000179e: SHL
0000179f: SUB
000017a0: PUSH32 0x000000000000000000000000de12b620a8a714476a97efd14e6f7180ca653557
000017c1: DUP2
000017c2: AND
000017c3: SWAP2
000017c4: PUSH32 0x000000000000000000000000b58e61c3098d85632df34eecfb899a1ed80921cb
000017e5: SWAP1
000017e6: SWAP2
000017e7: AND
000017e8: SWAP1
000017e9: PUSH4 0xaa5dd7f1
000017ee: SWAP1
000017ef: PUSH1 0x24
000017f1: ADD
000017f2: PUSH1 0x20
000017f4: PUSH1 0x40
000017f6: MLOAD
000017f7: DUP1
000017f8: DUP4
000017f9: SUB
000017fa: DUP2
000017fb: DUP7
000017fc: GAS
000017fd: STATICCALL
000017fe: ISZERO
000017ff: DUP1
00001800: ISZERO
00001801: PUSH2 0x180e
00001804: JUMPI
00001805: RETURNDATASIZE
00001806: PUSH1 0x00
00001808: DUP1
00001809: RETURNDATACOPY
0000180a: RETURNDATASIZE
0000180b: PUSH1 0x00
0000180d: REVERT
0000180e: JUMPDEST
0000180f: POP
00001810: POP
00001811: POP
00001812: POP
00001813: PUSH1 0x40
00001815: MLOAD
00001816: RETURNDATASIZE
00001817: PUSH1 0x1f
00001819: NOT
0000181a: PUSH1 0x1f
0000181c: DUP3
0000181d: ADD
0000181e: AND
0000181f: DUP3
00001820: ADD
00001821: DUP1
00001822: PUSH1 0x40
00001824: MSTORE
00001825: POP
00001826: DUP2
00001827: ADD
00001828: SWAP1
00001829: PUSH2 0x1832
0000182c: SWAP2
0000182d: SWAP1
0000182e: PUSH2 0x2c42
00001831: JUMP
00001832: JUMPDEST
00001833: PUSH1 0x01
00001835: PUSH1 0x01
00001837: PUSH1 0xa0
00001839: SHL
0000183a: SUB
0000183b: AND
0000183c: EQ
0000183d: PUSH2 0x1859
00001840: JUMPI
00001841: PUSH1 0x40
00001843: MLOAD
00001844: PUSH4 0x13bd2e83
00001849: PUSH1 0xe3
0000184b: SHL
0000184c: DUP2
0000184d: MSTORE
0000184e: PUSH1 0x04
00001850: ADD
00001851: PUSH1 0x40
00001853: MLOAD
00001854: DUP1
00001855: SWAP2
00001856: SUB
00001857: SWAP1
00001858: REVERT
00001859: JUMPDEST
0000185a: DUP1
0000185b: PUSH1 0x03
0000185d: PUSH1 0x00
0000185f: DUP3
00001860: DUP3
00001861: SLOAD
00001862: PUSH2 0x170c
00001865: SWAP2
00001866: SWAP1
00001867: PUSH2 0x2cea
0000186a: JUMP
0000186b: JUMPDEST
0000186c: CALLER
0000186d: PUSH1 0x01
0000186f: PUSH1 0x01
00001871: PUSH1 0xa0
00001873: SHL
00001874: SUB
00001875: PUSH32 0x000000000000000000000000de12b620a8a714476a97efd14e6f7180ca653557
00001896: AND
00001897: EQ
00001898: PUSH2 0x18b4
0000189b: JUMPI
0000189c: PUSH1 0x40
0000189e: MLOAD
0000189f: PUSH4 0x13bd2e83
000018a4: PUSH1 0xe3
000018a6: SHL
000018a7: DUP2
000018a8: MSTORE
000018a9: PUSH1 0x04
000018ab: ADD
000018ac: PUSH1 0x40
000018ae: MLOAD
000018af: DUP1
000018b0: SWAP2
000018b1: SUB
000018b2: SWAP1
000018b3: REVERT
000018b4: JUMPDEST
000018b5: PUSH1 0x05
000018b7: SLOAD
000018b8: PUSH1 0x01
000018ba: PUSH1 0x28
000018bc: SHL
000018bd: SWAP1
000018be: DIV
000018bf: PUSH5 0xffffffffff
000018c5: AND
000018c6: ISZERO
000018c7: PUSH2 0x18e2
000018ca: JUMPI
000018cb: PUSH1 0x40
000018cd: MLOAD
000018ce: PUSH3 0xdc149f
000018d2: PUSH1 0xe4
000018d4: SHL
000018d5: DUP2
000018d6: MSTORE
000018d7: PUSH1 0x04
000018d9: ADD
000018da: PUSH1 0x40
000018dc: MLOAD
000018dd: DUP1
000018de: SWAP2
000018df: SUB
000018e0: SWAP1
000018e1: REVERT
000018e2: JUMPDEST
000018e3: TIMESTAMP
000018e4: DUP2
000018e5: PUSH5 0xffffffffff
000018eb: AND
000018ec: LT
000018ed: DUP1
000018ee: PUSH2 0x1985
000018f1: JUMPI
000018f2: POP
000018f3: PUSH32 0x00000000000000000000000049c431454c40ecbf848096f2753b2abc3a699a10
00001914: PUSH1 0x01
00001916: PUSH1 0x01
00001918: PUSH1 0xa0
0000191a: SHL
0000191b: SUB
0000191c: AND
0000191d: PUSH4 0x4665096d
00001922: PUSH1 0x40
00001924: MLOAD
00001925: DUP2
00001926: PUSH4 0xffffffff
0000192b: AND
0000192c: PUSH1 0xe0
0000192e: SHL
0000192f: DUP2
00001930: MSTORE
00001931: PUSH1 0x04
00001933: ADD
00001934: PUSH1 0x20
00001936: PUSH1 0x40
00001938: MLOAD
00001939: DUP1
0000193a: DUP4
0000193b: SUB
0000193c: DUP2
0000193d: DUP7
0000193e: GAS
0000193f: STATICCALL
00001940: ISZERO
00001941: DUP1
00001942: ISZERO
00001943: PUSH2 0x1950
00001946: JUMPI
00001947: RETURNDATASIZE
00001948: PUSH1 0x00
0000194a: DUP1
0000194b: RETURNDATACOPY
0000194c: RETURNDATASIZE
0000194d: PUSH1 0x00
0000194f: REVERT
00001950: JUMPDEST
00001951: POP
00001952: POP
00001953: POP
00001954: POP
00001955: PUSH1 0x40
00001957: MLOAD
00001958: RETURNDATASIZE
00001959: PUSH1 0x1f
0000195b: NOT
0000195c: PUSH1 0x1f
0000195e: DUP3
0000195f: ADD
00001960: AND
00001961: DUP3
00001962: ADD
00001963: DUP1
00001964: PUSH1 0x40
00001966: MSTORE
00001967: POP
00001968: DUP2
00001969: ADD
0000196a: SWAP1
0000196b: PUSH2 0x1974
0000196e: SWAP2
0000196f: SWAP1
00001970: PUSH2 0x2d80
00001973: JUMP
00001974: JUMPDEST
00001975: PUSH5 0xffffffffff
0000197b: AND
0000197c: DUP2
0000197d: PUSH5 0xffffffffff
00001983: AND
00001984: GT
00001985: JUMPDEST
00001986: ISZERO
00001987: PUSH2 0x19a3
0000198a: JUMPI
0000198b: PUSH1 0x40
0000198d: MLOAD
0000198e: PUSH4 0x7d9533a9
00001993: PUSH1 0xe1
00001995: SHL
00001996: DUP2
00001997: MSTORE
00001998: PUSH1 0x04
0000199a: ADD
0000199b: PUSH1 0x40
0000199d: MLOAD
0000199e: DUP1
0000199f: SWAP2
000019a0: SUB
000019a1: SWAP1
000019a2: REVERT
000019a3: JUMPDEST
000019a4: DUP1
000019a5: PUSH1 0x05
000019a7: DUP1
000019a8: PUSH2 0x0100
000019ab: EXP
000019ac: DUP2
000019ad: SLOAD
000019ae: DUP2
000019af: PUSH5 0xffffffffff
000019b5: MUL
000019b6: NOT
000019b7: AND
000019b8: SWAP1
000019b9: DUP4
000019ba: PUSH5 0xffffffffff
000019c0: AND
000019c1: MUL
000019c2: OR
000019c3: SWAP1
000019c4: SSTORE
000019c5: POP
000019c6: DUP2
000019c7: PUSH1 0x01
000019c9: PUSH1 0x01
000019cb: PUSH1 0xa0
000019cd: SHL
000019ce: SUB
000019cf: AND
000019d0: PUSH4 0xa035b1fe
000019d5: PUSH1 0x40
000019d7: MLOAD
000019d8: DUP2
000019d9: PUSH4 0xffffffff
000019de: AND
000019df: PUSH1 0xe0
000019e1: SHL
000019e2: DUP2
000019e3: MSTORE
000019e4: PUSH1 0x04
000019e6: ADD
000019e7: PUSH1 0x20
000019e9: PUSH1 0x40
000019eb: MLOAD
000019ec: DUP1
000019ed: DUP4
000019ee: SUB
000019ef: DUP2
000019f0: DUP7
000019f1: GAS
000019f2: STATICCALL
000019f3: ISZERO
000019f4: DUP1
000019f5: ISZERO
000019f6: PUSH2 0x1a03
000019f9: JUMPI
000019fa: RETURNDATASIZE
000019fb: PUSH1 0x00
000019fd: DUP1
000019fe: RETURNDATACOPY
000019ff: RETURNDATASIZE
00001a00: PUSH1 0x00
00001a02: REVERT
00001a03: JUMPDEST
00001a04: POP
00001a05: POP
00001a06: POP
00001a07: POP
00001a08: PUSH1 0x40
00001a0a: MLOAD
00001a0b: RETURNDATASIZE
00001a0c: PUSH1 0x1f
00001a0e: NOT
00001a0f: PUSH1 0x1f
00001a11: DUP3
00001a12: ADD
00001a13: AND
00001a14: DUP3
00001a15: ADD
00001a16: DUP1
00001a17: PUSH1 0x40
00001a19: MSTORE
00001a1a: POP
00001a1b: DUP2
00001a1c: ADD
00001a1d: SWAP1
00001a1e: PUSH2 0x1a27
00001a21: SWAP2
00001a22: SWAP1
00001a23: PUSH2 0x2cfd
00001a26: JUMP
00001a27: JUMPDEST
00001a28: PUSH1 0x01
00001a2a: SSTORE
00001a2b: PUSH2 0x1a53
00001a2e: PUSH32 0x000000000000000000000000de12b620a8a714476a97efd14e6f7180ca653557
00001a4f: PUSH2 0x2744
00001a52: JUMP
00001a53: JUMPDEST
00001a54: POP
00001a55: POP
00001a56: JUMP
00001a57: JUMPDEST
00001a58: PUSH2 0x1a60
00001a5b: CALLER
00001a5c: PUSH2 0x242f
00001a5f: JUMP
00001a60: JUMPDEST
00001a61: PUSH1 0x00
00001a63: PUSH2 0x1a6a
00001a66: PUSH2 0x21d8
00001a69: JUMP
00001a6a: JUMPDEST
00001a6b: SWAP1
00001a6c: POP
00001a6d: DUP1
00001a6e: DUP4
00001a6f: GT
00001a70: ISZERO
00001a71: PUSH2 0x1b12
00001a74: JUMPI
00001a75: PUSH1 0x01
00001a77: PUSH1 0x01
00001a79: PUSH1 0xa0
00001a7b: SHL
00001a7c: SUB
00001a7d: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001a9e: AND
00001a9f: PUSH4 0x23b872dd
00001aa4: CALLER
00001aa5: ADDRESS
00001aa6: PUSH2 0x1aaf
00001aa9: DUP6
00001aaa: DUP9
00001aab: PUSH2 0x2cea
00001aae: JUMP
00001aaf: JUMPDEST
00001ab0: PUSH1 0x40
00001ab2: MLOAD
00001ab3: DUP5
00001ab4: PUSH4 0xffffffff
00001ab9: AND
00001aba: PUSH1 0xe0
00001abc: SHL
00001abd: DUP2
00001abe: MSTORE
00001abf: PUSH1 0x04
00001ac1: ADD
00001ac2: PUSH2 0x1acd
00001ac5: SWAP4
00001ac6: SWAP3
00001ac7: SWAP2
00001ac8: SWAP1
00001ac9: PUSH2 0x2d3f
00001acc: JUMP
00001acd: JUMPDEST
00001ace: PUSH1 0x20
00001ad0: PUSH1 0x40
00001ad2: MLOAD
00001ad3: DUP1
00001ad4: DUP4
00001ad5: SUB
00001ad6: DUP2
00001ad7: PUSH1 0x00
00001ad9: DUP8
00001ada: GAS
00001adb: CALL
00001adc: ISZERO
00001add: DUP1
00001ade: ISZERO
00001adf: PUSH2 0x1aec
00001ae2: JUMPI
00001ae3: RETURNDATASIZE
00001ae4: PUSH1 0x00
00001ae6: DUP1
00001ae7: RETURNDATACOPY
00001ae8: RETURNDATASIZE
00001ae9: PUSH1 0x00
00001aeb: REVERT
00001aec: JUMPDEST
00001aed: POP
00001aee: POP
00001aef: POP
00001af0: POP
00001af1: PUSH1 0x40
00001af3: MLOAD
00001af4: RETURNDATASIZE
00001af5: PUSH1 0x1f
00001af7: NOT
00001af8: PUSH1 0x1f
00001afa: DUP3
00001afb: ADD
00001afc: AND
00001afd: DUP3
00001afe: ADD
00001aff: DUP1
00001b00: PUSH1 0x40
00001b02: MSTORE
00001b03: POP
00001b04: DUP2
00001b05: ADD
00001b06: SWAP1
00001b07: PUSH2 0x1b10
00001b0a: SWAP2
00001b0b: SWAP1
00001b0c: PUSH2 0x2d63
00001b0f: JUMP
00001b10: JUMPDEST
00001b11: POP
00001b12: JUMPDEST
00001b13: PUSH1 0x02
00001b15: SLOAD
00001b16: DUP5
00001b17: LT
00001b18: ISZERO
00001b19: PUSH2 0x1c0b
00001b1c: JUMPI
00001b1d: PUSH32 0x000000000000000000000000b58e61c3098d85632df34eecfb899a1ed80921cb
00001b3e: PUSH1 0x01
00001b40: PUSH1 0x01
00001b42: PUSH1 0xa0
00001b44: SHL
00001b45: SUB
00001b46: AND
00001b47: PUSH4 0x315f3e72
00001b4c: CALLER
00001b4d: DUP7
00001b4e: PUSH1 0x02
00001b50: SLOAD
00001b51: PUSH2 0x1b5a
00001b54: SWAP2
00001b55: SWAP1
00001b56: PUSH2 0x2cea
00001b59: JUMP
00001b5a: JUMPDEST
00001b5b: PUSH1 0x40
00001b5d: MLOAD
00001b5e: PUSH1 0x01
00001b60: PUSH1 0x01
00001b62: PUSH1 0xe0
00001b64: SHL
00001b65: SUB
00001b66: NOT
00001b67: PUSH1 0xe0
00001b69: DUP6
00001b6a: SWAP1
00001b6b: SHL
00001b6c: AND
00001b6d: DUP2
00001b6e: MSTORE
00001b6f: PUSH1 0x01
00001b71: PUSH1 0x01
00001b73: PUSH1 0xa0
00001b75: SHL
00001b76: SUB
00001b77: SWAP1
00001b78: SWAP3
00001b79: AND
00001b7a: PUSH1 0x04
00001b7c: DUP4
00001b7d: ADD
00001b7e: MSTORE
00001b7f: PUSH1 0x24
00001b81: DUP3
00001b82: ADD
00001b83: MSTORE
00001b84: PUSH3 0xffffff
00001b88: PUSH32 0x000000000000000000000000000000000000000000000000000000000003d090
00001ba9: AND
00001baa: PUSH1 0x44
00001bac: DUP3
00001bad: ADD
00001bae: MSTORE
00001baf: PUSH1 0x64
00001bb1: ADD
00001bb2: PUSH1 0x20
00001bb4: PUSH1 0x40
00001bb6: MLOAD
00001bb7: DUP1
00001bb8: DUP4
00001bb9: SUB
00001bba: DUP2
00001bbb: PUSH1 0x00
00001bbd: DUP8
00001bbe: GAS
00001bbf: CALL
00001bc0: ISZERO
00001bc1: DUP1
00001bc2: ISZERO
00001bc3: PUSH2 0x1bd0
00001bc6: JUMPI
00001bc7: RETURNDATASIZE
00001bc8: PUSH1 0x00
00001bca: DUP1
00001bcb: RETURNDATACOPY
00001bcc: RETURNDATASIZE
00001bcd: PUSH1 0x00
00001bcf: REVERT
00001bd0: JUMPDEST
00001bd1: POP
00001bd2: POP
00001bd3: POP
00001bd4: POP
00001bd5: PUSH1 0x40
00001bd7: MLOAD
00001bd8: RETURNDATASIZE
00001bd9: PUSH1 0x1f
00001bdb: NOT
00001bdc: PUSH1 0x1f
00001bde: DUP3
00001bdf: ADD
00001be0: AND
00001be1: DUP3
00001be2: ADD
00001be3: DUP1
00001be4: PUSH1 0x40
00001be6: MSTORE
00001be7: POP
00001be8: DUP2
00001be9: ADD
00001bea: SWAP1
00001beb: PUSH2 0x1bf4
00001bee: SWAP2
00001bef: SWAP1
00001bf0: PUSH2 0x2cfd
00001bf3: JUMP
00001bf4: JUMPDEST
00001bf5: POP
00001bf6: PUSH2 0x1c0b
00001bf9: DUP5
00001bfa: PUSH1 0x02
00001bfc: SLOAD
00001bfd: PUSH2 0x1c06
00001c00: SWAP2
00001c01: SWAP1
00001c02: PUSH2 0x2cea
00001c05: JUMP
00001c06: JUMPDEST
00001c07: PUSH2 0x223f
00001c0a: JUMP
00001c0b: JUMPDEST
00001c0c: DUP1
00001c0d: DUP4
00001c0e: LT
00001c0f: ISZERO
00001c10: PUSH2 0x1c28
00001c13: JUMPI
00001c14: PUSH2 0x1c26
00001c17: CALLER
00001c18: PUSH2 0x1c21
00001c1b: DUP6
00001c1c: DUP5
00001c1d: PUSH2 0x2cea
00001c20: JUMP
00001c21: JUMPDEST
00001c22: PUSH2 0x2475
00001c25: JUMP
00001c26: JUMPDEST
00001c27: POP
00001c28: JUMPDEST
00001c29: PUSH1 0x02
00001c2b: SLOAD
00001c2c: DUP5
00001c2d: GT
00001c2e: ISZERO
00001c2f: PUSH2 0x1c4a
00001c32: JUMPI
00001c33: PUSH2 0x1c4a
00001c36: CALLER
00001c37: PUSH1 0x02
00001c39: SLOAD
00001c3a: DUP7
00001c3b: PUSH2 0x1c44
00001c3e: SWAP2
00001c3f: SWAP1
00001c40: PUSH2 0x2cea
00001c43: JUMP
00001c44: JUMPDEST
00001c45: DUP6
00001c46: PUSH2 0x24dc
00001c49: JUMP
00001c4a: JUMPDEST
00001c4b: PUSH1 0x01
00001c4d: SLOAD
00001c4e: DUP3
00001c4f: EQ
00001c50: PUSH2 0x1c5c
00001c53: JUMPI
00001c54: PUSH2 0x1c5c
00001c57: DUP3
00001c58: PUSH2 0x27a7
00001c5b: JUMP
00001c5c: JUMPDEST
00001c5d: PUSH1 0x40
00001c5f: DUP1
00001c60: MLOAD
00001c61: DUP5
00001c62: DUP2
00001c63: MSTORE
00001c64: PUSH1 0x20
00001c66: DUP2
00001c67: ADD
00001c68: DUP5
00001c69: SWAP1
00001c6a: MSTORE
00001c6b: SWAP1
00001c6c: DUP2
00001c6d: ADD
00001c6e: DUP6
00001c6f: SWAP1
00001c70: MSTORE
00001c71: PUSH1 0x00
00001c73: DUP1
00001c74: MLOAD
00001c75: PUSH1 0x20
00001c77: PUSH2 0x2dfd
00001c7a: DUP4
00001c7b: CODECOPY
00001c7c: DUP2
00001c7d: MLOAD
00001c7e: SWAP2
00001c7f: MSTORE
00001c80: SWAP1
00001c81: PUSH1 0x60
00001c83: ADD
00001c84: PUSH2 0x116e
00001c87: JUMP
00001c88: JUMPDEST
00001c89: PUSH2 0x1c91
00001c8c: CALLER
00001c8d: PUSH2 0x242f
00001c90: JUMP
00001c91: JUMPDEST
00001c92: PUSH2 0x1c9a
00001c95: DUP2
00001c96: PUSH2 0x27a7
00001c99: JUMP
00001c9a: JUMPDEST
00001c9b: PUSH1 0x00
00001c9d: DUP1
00001c9e: MLOAD
00001c9f: PUSH1 0x20
00001ca1: PUSH2 0x2dfd
00001ca4: DUP4
00001ca5: CODECOPY
00001ca6: DUP2
00001ca7: MLOAD
00001ca8: SWAP2
00001ca9: MSTORE
00001caa: PUSH2 0x1cb1
00001cad: PUSH2 0x21d8
00001cb0: JUMP
00001cb1: JUMPDEST
00001cb2: PUSH1 0x01
00001cb4: SLOAD
00001cb5: PUSH1 0x02
00001cb7: SLOAD
00001cb8: PUSH1 0x40
00001cba: DUP1
00001cbb: MLOAD
00001cbc: SWAP4
00001cbd: DUP5
00001cbe: MSTORE
00001cbf: PUSH1 0x20
00001cc1: DUP5
00001cc2: ADD
00001cc3: SWAP3
00001cc4: SWAP1
00001cc5: SWAP3
00001cc6: MSTORE
00001cc7: SWAP1
00001cc8: DUP3
00001cc9: ADD
00001cca: MSTORE
00001ccb: PUSH1 0x60
00001ccd: ADD
00001cce: PUSH1 0x40
00001cd0: MLOAD
00001cd1: DUP1
00001cd2: SWAP2
00001cd3: SUB
00001cd4: SWAP1
00001cd5: LOG1
00001cd6: POP
00001cd7: JUMP
00001cd8: JUMPDEST
00001cd9: PUSH1 0x00
00001cdb: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
00001cfc: PUSH32 0x000000000000000000000000de12b620a8a714476a97efd14e6f7180ca653557
00001d1d: PUSH1 0x01
00001d1f: PUSH1 0x01
00001d21: PUSH1 0xa0
00001d23: SHL
00001d24: SUB
00001d25: AND
00001d26: PUSH4 0x2c4e722e
00001d2b: PUSH1 0x40
00001d2d: MLOAD
00001d2e: DUP2
00001d2f: PUSH4 0xffffffff
00001d34: AND
00001d35: PUSH1 0xe0
00001d37: SHL
00001d38: DUP2
00001d39: MSTORE
00001d3a: PUSH1 0x04
00001d3c: ADD
00001d3d: PUSH1 0x20
00001d3f: PUSH1 0x40
00001d41: MLOAD
00001d42: DUP1
00001d43: DUP4
00001d44: SUB
00001d45: DUP2
00001d46: DUP7
00001d47: GAS
00001d48: STATICCALL
00001d49: ISZERO
00001d4a: DUP1
00001d4b: ISZERO
00001d4c: PUSH2 0x1d59
00001d4f: JUMPI
00001d50: RETURNDATASIZE
00001d51: PUSH1 0x00
00001d53: DUP1
00001d54: RETURNDATACOPY
00001d55: RETURNDATASIZE
00001d56: PUSH1 0x00
00001d58: REVERT
00001d59: JUMPDEST
00001d5a: POP
00001d5b: POP
00001d5c: POP
00001d5d: POP
00001d5e: PUSH1 0x40
00001d60: MLOAD
00001d61: RETURNDATASIZE
00001d62: PUSH1 0x1f
00001d64: NOT
00001d65: PUSH1 0x1f
00001d67: DUP3
00001d68: ADD
00001d69: AND
00001d6a: DUP3
00001d6b: ADD
00001d6c: DUP1
00001d6d: PUSH1 0x40
00001d6f: MSTORE
00001d70: POP
00001d71: DUP2
00001d72: ADD
00001d73: SWAP1
00001d74: PUSH2 0x1d7d
00001d77: SWAP2
00001d78: SWAP1
00001d79: PUSH2 0x2c42
00001d7c: JUMP
00001d7d: JUMPDEST
00001d7e: PUSH1 0x01
00001d80: PUSH1 0x01
00001d82: PUSH1 0xa0
00001d84: SHL
00001d85: SUB
00001d86: AND
00001d87: PUSH4 0x06a7b376
00001d8c: PUSH1 0x40
00001d8e: MLOAD
00001d8f: DUP2
00001d90: PUSH4 0xffffffff
00001d95: AND
00001d96: PUSH1 0xe0
00001d98: SHL
00001d99: DUP2
00001d9a: MSTORE
00001d9b: PUSH1 0x04
00001d9d: ADD
00001d9e: PUSH1 0x20
00001da0: PUSH1 0x40
00001da2: MLOAD
00001da3: DUP1
00001da4: DUP4
00001da5: SUB
00001da6: DUP2
00001da7: DUP7
00001da8: GAS
00001da9: STATICCALL
00001daa: ISZERO
00001dab: DUP1
00001dac: ISZERO
00001dad: PUSH2 0x1dba
00001db0: JUMPI
00001db1: RETURNDATASIZE
00001db2: PUSH1 0x00
00001db4: DUP1
00001db5: RETURNDATACOPY
00001db6: RETURNDATASIZE
00001db7: PUSH1 0x00
00001db9: REVERT
00001dba: JUMPDEST
00001dbb: POP
00001dbc: POP
00001dbd: POP
00001dbe: POP
00001dbf: PUSH1 0x40
00001dc1: MLOAD
00001dc2: RETURNDATASIZE
00001dc3: PUSH1 0x1f
00001dc5: NOT
00001dc6: PUSH1 0x1f
00001dc8: DUP3
00001dc9: ADD
00001dca: AND
00001dcb: DUP3
00001dcc: ADD
00001dcd: DUP1
00001dce: PUSH1 0x40
00001dd0: MSTORE
00001dd1: POP
00001dd2: DUP2
00001dd3: ADD
00001dd4: SWAP1
00001dd5: PUSH2 0x1dde
00001dd8: SWAP2
00001dd9: SWAP1
00001dda: PUSH2 0x2d9d
00001ddd: JUMP
00001dde: JUMPDEST
00001ddf: PUSH2 0x11db
00001de2: SWAP2
00001de3: SWAP1
00001de4: PUSH2 0x2dc2
00001de7: JUMP
00001de8: JUMPDEST
00001de9: PUSH1 0x00
00001deb: DUP1
00001dec: PUSH32 0x0000000000000000000000000000000000000000000000000000000067608407
00001e0d: PUSH5 0xffffffffff
00001e13: AND
00001e14: TIMESTAMP
00001e15: LT
00001e16: PUSH2 0x1e1f
00001e19: JUMPI
00001e1a: TIMESTAMP
00001e1b: PUSH2 0x1e48
00001e1e: JUMP
00001e1f: JUMPDEST
00001e20: PUSH32 0x0000000000000000000000000000000000000000000000000000000067608407
00001e41: PUSH5 0xffffffffff
00001e47: AND
00001e48: JUMPDEST
00001e49: SWAP1
00001e4a: POP
00001e4b: PUSH1 0x00
00001e4d: PUSH2 0x1e56
00001e50: DUP3
00001e51: DUP6
00001e52: PUSH2 0x2cea
00001e55: JUMP
00001e56: JUMPDEST
00001e57: SWAP1
00001e58: POP
00001e59: PUSH1 0x00
00001e5b: PUSH4 0x01e13380
00001e60: PUSH2 0x1e67
00001e63: PUSH2 0x1cd8
00001e66: JUMP
00001e67: JUMPDEST
00001e68: PUSH2 0x1e76
00001e6b: SWAP1
00001e6c: PUSH3 0xffffff
00001e70: AND
00001e71: DUP5
00001e72: PUSH2 0x2c09
00001e75: JUMP
00001e76: JUMPDEST
00001e77: PUSH2 0x1e80
00001e7a: SWAP2
00001e7b: SWAP1
00001e7c: PUSH2 0x2c20
00001e7f: JUMP
00001e80: JUMPDEST
00001e81: SWAP1
00001e82: POP
00001e83: PUSH3 0x0f4240
00001e87: DUP2
00001e88: GT
00001e89: PUSH2 0x1e92
00001e8c: JUMPI
00001e8d: DUP1
00001e8e: PUSH2 0x1e97
00001e91: JUMP
00001e92: JUMPDEST
00001e93: PUSH3 0x0f4240
00001e97: JUMPDEST
00001e98: SWAP6
00001e99: SWAP5
00001e9a: POP
00001e9b: POP
00001e9c: POP
00001e9d: POP
00001e9e: POP
00001e9f: JUMP
00001ea0: JUMPDEST
00001ea1: PUSH1 0x00
00001ea3: DUP2
00001ea4: ISZERO
00001ea5: PUSH2 0x1f1f
00001ea8: JUMPI
00001ea9: PUSH2 0x1eb0
00001eac: PUSH2 0x14e9
00001eaf: JUMP
00001eb0: JUMPDEST
00001eb1: PUSH2 0x1edd
00001eb4: PUSH32 0x000000000000000000000000000000000000000000000000000000000003d090
00001ed5: PUSH3 0x0f4240
00001ed9: PUSH2 0x2be6
00001edc: JUMP
00001edd: JUMPDEST
00001ede: PUSH2 0x1ee7
00001ee1: SWAP2
00001ee2: SWAP1
00001ee3: PUSH2 0x2be6
00001ee6: JUMP
00001ee7: JUMPDEST
00001ee8: PUSH3 0xffffff
00001eec: AND
00001eed: PUSH1 0x01
00001eef: PUSH2 0x1efb
00001ef2: DUP5
00001ef3: PUSH3 0x0f4240
00001ef7: PUSH2 0x2c09
00001efa: JUMP
00001efb: JUMPDEST
00001efc: PUSH2 0x1f05
00001eff: SWAP2
00001f00: SWAP1
00001f01: PUSH2 0x2cea
00001f04: JUMP
00001f05: JUMPDEST
00001f06: PUSH2 0x1f0f
00001f09: SWAP2
00001f0a: SWAP1
00001f0b: PUSH2 0x2c20
00001f0e: JUMP
00001f0f: JUMPDEST
00001f10: PUSH2 0x1f1a
00001f13: SWAP1
00001f14: PUSH1 0x01
00001f16: PUSH2 0x2d16
00001f19: JUMP
00001f1a: JUMPDEST
00001f1b: PUSH2 0x072d
00001f1e: JUMP
00001f1f: JUMPDEST
00001f20: PUSH1 0x00
00001f22: SWAP3
00001f23: SWAP2
00001f24: POP
00001f25: POP
00001f26: JUMP
00001f27: JUMPDEST
00001f28: PUSH1 0x00
00001f2a: DUP1
00001f2b: PUSH8 0x0de0b6b3a7640000
00001f34: PUSH1 0x01
00001f36: SLOAD
00001f37: PUSH2 0x1f3e
00001f3a: PUSH2 0x21d8
00001f3d: JUMP
00001f3e: JUMPDEST
00001f3f: PUSH2 0x1f48
00001f42: SWAP2
00001f43: SWAP1
00001f44: PUSH2 0x2c09
00001f47: JUMP
00001f48: JUMPDEST
00001f49: PUSH2 0x1f52
00001f4c: SWAP2
00001f4d: SWAP1
00001f4e: PUSH2 0x2c20
00001f51: JUMP
00001f52: JUMPDEST
00001f53: SWAP1
00001f54: POP
00001f55: PUSH1 0x00
00001f57: DUP2
00001f58: PUSH1 0x02
00001f5a: SLOAD
00001f5b: GT
00001f5c: PUSH2 0x1f71
00001f5f: JUMPI
00001f60: PUSH1 0x02
00001f62: SLOAD
00001f63: PUSH2 0x1f6c
00001f66: SWAP1
00001f67: DUP4
00001f68: PUSH2 0x2cea
00001f6b: JUMP
00001f6c: JUMPDEST
00001f6d: PUSH2 0x1f74
00001f70: JUMP
00001f71: JUMPDEST
00001f72: PUSH1 0x00
00001f74: JUMPDEST
00001f75: SWAP1
00001f76: POP
00001f77: PUSH32 0x000000000000000000000000000000000000000000084595161401484a000000
00001f98: DUP2
00001f99: PUSH1 0x03
00001f9b: SLOAD
00001f9c: PUSH2 0x1fa5
00001f9f: SWAP2
00001fa0: SWAP1
00001fa1: PUSH2 0x2d16
00001fa4: JUMP
00001fa5: JUMPDEST
00001fa6: LT
00001fa7: PUSH2 0x1fb3
00001faa: JUMPI
00001fab: PUSH1 0x00
00001fad: SWAP3
00001fae: POP
00001faf: POP
00001fb0: POP
00001fb1: SWAP1
00001fb2: JUMP
00001fb3: JUMPDEST
00001fb4: DUP1
00001fb5: PUSH1 0x03
00001fb7: SLOAD
00001fb8: PUSH32 0x000000000000000000000000000000000000000000084595161401484a000000
00001fd9: PUSH2 0x1fe2
00001fdc: SWAP2
00001fdd: SWAP1
00001fde: PUSH2 0x2cea
00001fe1: JUMP
00001fe2: JUMPDEST
00001fe3: PUSH2 0x1fec
00001fe6: SWAP2
00001fe7: SWAP1
00001fe8: PUSH2 0x2cea
00001feb: JUMP
00001fec: JUMPDEST
00001fed: SWAP3
00001fee: POP
00001fef: POP
00001ff0: POP
00001ff1: SWAP1
00001ff2: JUMP
00001ff3: JUMPDEST
00001ff4: PUSH1 0x40
00001ff6: MLOAD
00001ff7: PUSH4 0xaa5dd7f1
00001ffc: PUSH1 0xe0
00001ffe: SHL
00001fff: DUP2
00002000: MSTORE
00002001: CALLER
00002002: PUSH1 0x04
00002004: DUP3
00002005: ADD
00002006: MSTORE
00002007: PUSH1 0x01
00002009: PUSH1 0x01
0000200b: PUSH1 0xa0
0000200d: SHL
0000200e: SUB
0000200f: PUSH32 0x000000000000000000000000de12b620a8a714476a97efd14e6f7180ca653557
00002030: DUP2
00002031: AND
00002032: SWAP2
00002033: PUSH32 0x000000000000000000000000b58e61c3098d85632df34eecfb899a1ed80921cb
00002054: SWAP1
00002055: SWAP2
00002056: AND
00002057: SWAP1
00002058: PUSH4 0xaa5dd7f1
0000205d: SWAP1
0000205e: PUSH1 0x24
00002060: ADD
00002061: PUSH1 0x20
00002063: PUSH1 0x40
00002065: MLOAD
00002066: DUP1
00002067: DUP4
00002068: SUB
00002069: DUP2
0000206a: DUP7
0000206b: GAS
0000206c: STATICCALL
0000206d: ISZERO
0000206e: DUP1
0000206f: ISZERO
00002070: PUSH2 0x207d
00002073: JUMPI
00002074: RETURNDATASIZE
00002075: PUSH1 0x00
00002077: DUP1
00002078: RETURNDATACOPY
00002079: RETURNDATASIZE
0000207a: PUSH1 0x00
0000207c: REVERT
0000207d: JUMPDEST
0000207e: POP
0000207f: POP
00002080: POP
00002081: POP
00002082: PUSH1 0x40
00002084: MLOAD
00002085: RETURNDATASIZE
00002086: PUSH1 0x1f
00002088: NOT
00002089: PUSH1 0x1f
0000208b: DUP3
0000208c: ADD
0000208d: AND
0000208e: DUP3
0000208f: ADD
00002090: DUP1
00002091: PUSH1 0x40
00002093: MSTORE
00002094: POP
00002095: DUP2
00002096: ADD
00002097: SWAP1
00002098: PUSH2 0x20a1
0000209b: SWAP2
0000209c: SWAP1
0000209d: PUSH2 0x2c42
000020a0: JUMP
000020a1: JUMPDEST
000020a2: PUSH1 0x01
000020a4: PUSH1 0x01
000020a6: PUSH1 0xa0
000020a8: SHL
000020a9: SUB
000020aa: AND
000020ab: EQ
000020ac: PUSH2 0x20c8
000020af: JUMPI
000020b0: PUSH1 0x40
000020b2: MLOAD
000020b3: PUSH4 0x13bd2e83
000020b8: PUSH1 0xe3
000020ba: SHL
000020bb: DUP2
000020bc: MSTORE
000020bd: PUSH1 0x04
000020bf: ADD
000020c0: PUSH1 0x40
000020c2: MLOAD
000020c3: DUP1
000020c4: SWAP2
000020c5: SUB
000020c6: SWAP1
000020c7: REVERT
000020c8: JUMPDEST
000020c9: DUP1
000020ca: PUSH1 0x03
000020cc: PUSH1 0x00
000020ce: DUP3
000020cf: DUP3
000020d0: SLOAD
000020d1: PUSH2 0x170c
000020d4: SWAP2
000020d5: SWAP1
000020d6: PUSH2 0x2d16
000020d9: JUMP
000020da: JUMPDEST
000020db: PUSH2 0x20e3
000020de: CALLER
000020df: PUSH2 0x242f
000020e2: JUMP
000020e3: JUMPDEST
000020e4: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00002105: PUSH1 0x01
00002107: PUSH1 0x01
00002109: PUSH1 0xa0
0000210b: SHL
0000210c: SUB
0000210d: AND
0000210e: DUP4
0000210f: PUSH1 0x01
00002111: PUSH1 0x01
00002113: PUSH1 0xa0
00002115: SHL
00002116: SUB
00002117: AND
00002118: SUB
00002119: PUSH2 0x212b
0000211c: JUMPI
0000211d: PUSH2 0x2126
00002120: DUP3
00002121: DUP3
00002122: PUSH2 0x1262
00002125: JUMP
00002126: JUMPDEST
00002127: POP
00002128: POP
00002129: POP
0000212a: JUMP
0000212b: JUMPDEST
0000212c: PUSH1 0x00
0000212e: PUSH2 0x2135
00002131: PUSH2 0x21d8
00002134: JUMP
00002135: JUMPDEST
00002136: PUSH1 0x40
00002138: MLOAD
00002139: PUSH4 0xa9059cbb
0000213e: PUSH1 0xe0
00002140: SHL
00002141: DUP2
00002142: MSTORE
00002143: PUSH1 0x01
00002145: PUSH1 0x01
00002147: PUSH1 0xa0
00002149: SHL
0000214a: SUB
0000214b: DUP6
0000214c: DUP2
0000214d: AND
0000214e: PUSH1 0x04
00002150: DUP4
00002151: ADD
00002152: MSTORE
00002153: PUSH1 0x24
00002155: DUP3
00002156: ADD
00002157: DUP6
00002158: SWAP1
00002159: MSTORE
0000215a: SWAP2
0000215b: SWAP3
0000215c: POP
0000215d: SWAP1
0000215e: DUP6
0000215f: AND
00002160: SWAP1
00002161: PUSH4 0xa9059cbb
00002166: SWAP1
00002167: PUSH1 0x44
00002169: ADD
0000216a: PUSH1 0x20
0000216c: PUSH1 0x40
0000216e: MLOAD
0000216f: DUP1
00002170: DUP4
00002171: SUB
00002172: DUP2
00002173: PUSH1 0x00
00002175: DUP8
00002176: GAS
00002177: CALL
00002178: ISZERO
00002179: DUP1
0000217a: ISZERO
0000217b: PUSH2 0x2188
0000217e: JUMPI
0000217f: RETURNDATASIZE
00002180: PUSH1 0x00
00002182: DUP1
00002183: RETURNDATACOPY
00002184: RETURNDATASIZE
00002185: PUSH1 0x00
00002187: REVERT
00002188: JUMPDEST
00002189: POP
0000218a: POP
0000218b: POP
0000218c: POP
0000218d: PUSH1 0x40
0000218f: MLOAD
00002190: RETURNDATASIZE
00002191: PUSH1 0x1f
00002193: NOT
00002194: PUSH1 0x1f
00002196: DUP3
00002197: ADD
00002198: AND
00002199: DUP3
0000219a: ADD
0000219b: DUP1
0000219c: PUSH1 0x40
0000219e: MSTORE
0000219f: POP
000021a0: DUP2
000021a1: ADD
000021a2: SWAP1
000021a3: PUSH2 0x21ac
000021a6: SWAP2
000021a7: SWAP1
000021a8: PUSH2 0x2d63
000021ab: JUMP
000021ac: JUMPDEST
000021ad: POP
000021ae: PUSH2 0x21b5
000021b1: PUSH2 0x21d8
000021b4: JUMP
000021b5: JUMPDEST
000021b6: DUP2
000021b7: EQ
000021b8: PUSH2 0x21c0
000021bb: JUMPI
000021bc: PUSH1 0x00
000021be: DUP1
000021bf: REVERT
000021c0: JUMPDEST
000021c1: POP
000021c2: POP
000021c3: POP
000021c4: POP
000021c5: JUMP
000021c6: JUMPDEST
000021c7: PUSH2 0x21cf
000021ca: CALLER
000021cb: PUSH2 0x242f
000021ce: JUMP
000021cf: JUMPDEST
000021d0: PUSH2 0x1781
000021d3: DUP2
000021d4: PUSH2 0x2744
000021d7: JUMP
000021d8: JUMPDEST
000021d9: PUSH1 0x40
000021db: MLOAD
000021dc: PUSH4 0x70a08231
000021e1: PUSH1 0xe0
000021e3: SHL
000021e4: DUP2
000021e5: MSTORE
000021e6: ADDRESS
000021e7: PUSH1 0x04
000021e9: DUP3
000021ea: ADD
000021eb: MSTORE
000021ec: PUSH1 0x00
000021ee: SWAP1
000021ef: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00002210: PUSH1 0x01
00002212: PUSH1 0x01
00002214: PUSH1 0xa0
00002216: SHL
00002217: SUB
00002218: AND
00002219: SWAP1
0000221a: PUSH4 0x70a08231
0000221f: SWAP1
00002220: PUSH1 0x24
00002222: ADD
00002223: PUSH1 0x20
00002225: PUSH1 0x40
00002227: MLOAD
00002228: DUP1
00002229: DUP4
0000222a: SUB
0000222b: DUP2
0000222c: DUP7
0000222d: GAS
0000222e: STATICCALL
0000222f: ISZERO
00002230: DUP1
00002231: ISZERO
00002232: PUSH2 0x123e
00002235: JUMPI
00002236: RETURNDATASIZE
00002237: PUSH1 0x00
00002239: DUP1
0000223a: RETURNDATACOPY
0000223b: RETURNDATASIZE
0000223c: PUSH1 0x00
0000223e: REVERT
0000223f: JUMPDEST
00002240: PUSH1 0x02
00002242: SLOAD
00002243: DUP2
00002244: GT
00002245: ISZERO
00002246: PUSH2 0x2272
00002249: JUMPI
0000224a: PUSH1 0x02
0000224c: SLOAD
0000224d: PUSH2 0x2256
00002250: SWAP1
00002251: DUP3
00002252: PUSH2 0x2cea
00002255: JUMP
00002256: JUMPDEST
00002257: PUSH1 0x40
00002259: MLOAD
0000225a: PUSH4 0x5795d469
0000225f: PUSH1 0xe1
00002261: SHL
00002262: DUP2
00002263: MSTORE
00002264: PUSH1 0x04
00002266: ADD
00002267: PUSH2 0x07c6
0000226a: SWAP2
0000226b: DUP2
0000226c: MSTORE
0000226d: PUSH1 0x20
0000226f: ADD
00002270: SWAP1
00002271: JUMP
00002272: JUMPDEST
00002273: PUSH1 0x40
00002275: MLOAD
00002276: PUSH4 0x5be980f5
0000227b: PUSH1 0xe0
0000227d: SHL
0000227e: DUP2
0000227f: MSTORE
00002280: PUSH1 0x04
00002282: DUP2
00002283: ADD
00002284: DUP3
00002285: SWAP1
00002286: MSTORE
00002287: PUSH32 0x00000000000000000000000049c431454c40ecbf848096f2753b2abc3a699a10
000022a8: PUSH1 0x01
000022aa: PUSH1 0x01
000022ac: PUSH1 0xa0
000022ae: SHL
000022af: SUB
000022b0: AND
000022b1: SWAP1
000022b2: PUSH4 0x5be980f5
000022b7: SWAP1
000022b8: PUSH1 0x24
000022ba: ADD
000022bb: PUSH1 0x00
000022bd: PUSH1 0x40
000022bf: MLOAD
000022c0: DUP1
000022c1: DUP4
000022c2: SUB
000022c3: DUP2
000022c4: PUSH1 0x00
000022c6: DUP8
000022c7: DUP1
000022c8: EXTCODESIZE
000022c9: ISZERO
000022ca: DUP1
000022cb: ISZERO
000022cc: PUSH2 0x22d4
000022cf: JUMPI
000022d0: PUSH1 0x00
000022d2: DUP1
000022d3: REVERT
000022d4: JUMPDEST
000022d5: POP
000022d6: GAS
000022d7: CALL
000022d8: ISZERO
000022d9: DUP1
000022da: ISZERO
000022db: PUSH2 0x22e8
000022de: JUMPI
000022df: RETURNDATASIZE
000022e0: PUSH1 0x00
000022e2: DUP1
000022e3: RETURNDATACOPY
000022e4: RETURNDATASIZE
000022e5: PUSH1 0x00
000022e7: REVERT
000022e8: JUMPDEST
000022e9: POP
000022ea: POP
000022eb: POP
000022ec: POP
000022ed: DUP1
000022ee: PUSH1 0x02
000022f0: PUSH1 0x00
000022f2: DUP3
000022f3: DUP3
000022f4: SLOAD
000022f5: PUSH2 0x170c
000022f8: SWAP2
000022f9: SWAP1
000022fa: PUSH2 0x2cea
000022fd: JUMP
000022fe: JUMPDEST
000022ff: PUSH1 0x00
00002301: PUSH2 0x230a
00002304: DUP3
00002305: TIMESTAMP
00002306: PUSH2 0x2dde
00002309: JUMP
0000230a: JUMPDEST
0000230b: PUSH1 0x05
0000230d: SLOAD
0000230e: SWAP1
0000230f: SWAP2
00002310: POP
00002311: PUSH5 0xffffffffff
00002317: SWAP1
00002318: DUP2
00002319: AND
0000231a: SWAP1
0000231b: DUP3
0000231c: AND
0000231d: GT
0000231e: ISZERO
0000231f: PUSH2 0x1a53
00002322: JUMPI
00002323: PUSH1 0x05
00002325: DUP1
00002326: SLOAD
00002327: PUSH5 0xffffffffff
0000232d: DUP4
0000232e: AND
0000232f: PUSH5 0xffffffffff
00002335: NOT
00002336: SWAP1
00002337: SWAP2
00002338: AND
00002339: OR
0000233a: SWAP1
0000233b: SSTORE
0000233c: POP
0000233d: POP
0000233e: JUMP
0000233f: JUMPDEST
00002340: PUSH1 0x00
00002342: DUP2
00002343: ISZERO
00002344: PUSH2 0x23dc
00002347: JUMPI
00002348: PUSH1 0x40
0000234a: MLOAD
0000234b: PUSH4 0xa9059cbb
00002350: PUSH1 0xe0
00002352: SHL
00002353: DUP2
00002354: MSTORE
00002355: PUSH1 0x01
00002357: PUSH1 0x01
00002359: PUSH1 0xa0
0000235b: SHL
0000235c: SUB
0000235d: DUP5
0000235e: DUP2
0000235f: AND
00002360: PUSH1 0x04
00002362: DUP4
00002363: ADD
00002364: MSTORE
00002365: PUSH1 0x24
00002367: DUP3
00002368: ADD
00002369: DUP5
0000236a: SWAP1
0000236b: MSTORE
0000236c: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
0000238d: AND
0000238e: SWAP1
0000238f: PUSH4 0xa9059cbb
00002394: SWAP1
00002395: PUSH1 0x44
00002397: ADD
00002398: PUSH1 0x20
0000239a: PUSH1 0x40
0000239c: MLOAD
0000239d: DUP1
0000239e: DUP4
0000239f: SUB
000023a0: DUP2
000023a1: PUSH1 0x00
000023a3: DUP8
000023a4: GAS
000023a5: CALL
000023a6: ISZERO
000023a7: DUP1
000023a8: ISZERO
000023a9: PUSH2 0x23b6
000023ac: JUMPI
000023ad: RETURNDATASIZE
000023ae: PUSH1 0x00
000023b0: DUP1
000023b1: RETURNDATACOPY
000023b2: RETURNDATASIZE
000023b3: PUSH1 0x00
000023b5: REVERT
000023b6: JUMPDEST
000023b7: POP
000023b8: POP
000023b9: POP
000023ba: POP
000023bb: PUSH1 0x40
000023bd: MLOAD
000023be: RETURNDATASIZE
000023bf: PUSH1 0x1f
000023c1: NOT
000023c2: PUSH1 0x1f
000023c4: DUP3
000023c5: ADD
000023c6: AND
000023c7: DUP3
000023c8: ADD
000023c9: DUP1
000023ca: PUSH1 0x40
000023cc: MSTORE
000023cd: POP
000023ce: DUP2
000023cf: ADD
000023d0: SWAP1
000023d1: PUSH2 0x23da
000023d4: SWAP2
000023d5: SWAP1
000023d6: PUSH2 0x2d63
000023d9: JUMP
000023da: JUMPDEST
000023db: POP
000023dc: JUMPDEST
000023dd: PUSH1 0x00
000023df: PUSH2 0x23e6
000023e2: PUSH2 0x21d8
000023e5: JUMP
000023e6: JUMPDEST
000023e7: SWAP1
000023e8: POP
000023e9: PUSH32 0x0000000000000000000000000000000000000000000000001bc16d674ec80000
0000240a: DUP2
0000240b: LT
0000240c: ISZERO
0000240d: PUSH2 0x2428
00002410: JUMPI
00002411: PUSH2 0x2428
00002414: PUSH1 0x05
00002416: DUP1
00002417: SLOAD
00002418: PUSH1 0xff
0000241a: PUSH1 0x50
0000241c: SHL
0000241d: NOT
0000241e: AND
0000241f: PUSH1 0x01
00002421: PUSH1 0x50
00002423: SHL
00002424: OR
00002425: SWAP1
00002426: SSTORE
00002427: JUMP
00002428: JUMPDEST
00002429: SWAP4
0000242a: SWAP3
0000242b: POP
0000242c: POP
0000242d: POP
0000242e: JUMP
0000242f: JUMPDEST
00002430: PUSH1 0x00
00002432: SLOAD
00002433: PUSH1 0x01
00002435: PUSH1 0x01
00002437: PUSH1 0xa0
00002439: SHL
0000243a: SUB
0000243b: DUP3
0000243c: DUP2
0000243d: AND
0000243e: SWAP2
0000243f: AND
00002440: EQ
00002441: DUP1
00002442: ISZERO
00002443: SWAP1
00002444: PUSH2 0x2457
00002447: JUMPI
00002448: POP
00002449: PUSH1 0x00
0000244b: SLOAD
0000244c: PUSH1 0x01
0000244e: PUSH1 0x01
00002450: PUSH1 0xa0
00002452: SHL
00002453: SUB
00002454: AND
00002455: ISZERO
00002456: ISZERO
00002457: JUMPDEST
00002458: ISZERO
00002459: PUSH2 0x1781
0000245c: JUMPI
0000245d: PUSH1 0x40
0000245f: MLOAD
00002460: PUSH4 0x30cd7471
00002465: PUSH1 0xe0
00002467: SHL
00002468: DUP2
00002469: MSTORE
0000246a: PUSH1 0x04
0000246c: ADD
0000246d: PUSH1 0x40
0000246f: MLOAD
00002470: DUP1
00002471: SWAP2
00002472: SUB
00002473: SWAP1
00002474: REVERT
00002475: JUMPDEST
00002476: PUSH1 0x04
00002478: SLOAD
00002479: PUSH1 0x00
0000247b: SWAP1
0000247c: ISZERO
0000247d: PUSH2 0x2499
00002480: JUMPI
00002481: PUSH1 0x40
00002483: MLOAD
00002484: PUSH4 0xd26e2de9
00002489: PUSH1 0xe0
0000248b: SHL
0000248c: DUP2
0000248d: MSTORE
0000248e: PUSH1 0x04
00002490: ADD
00002491: PUSH1 0x40
00002493: MLOAD
00002494: DUP1
00002495: SWAP2
00002496: SUB
00002497: SWAP1
00002498: REVERT
00002499: JUMPDEST
0000249a: PUSH1 0x05
0000249c: SLOAD
0000249d: PUSH5 0xffffffffff
000024a3: AND
000024a4: TIMESTAMP
000024a5: GT
000024a6: PUSH2 0x24c2
000024a9: JUMPI
000024aa: PUSH1 0x40
000024ac: MLOAD
000024ad: PUSH4 0x1c02820f
000024b2: PUSH1 0xe2
000024b4: SHL
000024b5: DUP2
000024b6: MSTORE
000024b7: PUSH1 0x04
000024b9: ADD
000024ba: PUSH1 0x40
000024bc: MLOAD
000024bd: DUP1
000024be: SWAP2
000024bf: SUB
000024c0: SWAP1
000024c1: REVERT
000024c2: JUMPDEST
000024c3: PUSH1 0x00
000024c5: PUSH2 0x24ce
000024c8: DUP5
000024c9: DUP5
000024ca: PUSH2 0x233f
000024cd: JUMP
000024ce: JUMPDEST
000024cf: SWAP1
000024d0: POP
000024d1: PUSH2 0x2428
000024d4: DUP2
000024d5: PUSH1 0x01
000024d7: SLOAD
000024d8: PUSH2 0x288a
000024db: JUMP
000024dc: JUMPDEST
000024dd: PUSH1 0x04
000024df: SLOAD
000024e0: ISZERO
000024e1: PUSH2 0x24fd
000024e4: JUMPI
000024e5: PUSH1 0x40
000024e7: MLOAD
000024e8: PUSH4 0xd26e2de9
000024ed: PUSH1 0xe0
000024ef: SHL
000024f0: DUP2
000024f1: MSTORE
000024f2: PUSH1 0x04
000024f4: ADD
000024f5: PUSH1 0x40
000024f7: MLOAD
000024f8: DUP1
000024f9: SWAP2
000024fa: SUB
000024fb: SWAP1
000024fc: REVERT
000024fd: JUMPDEST
000024fe: PUSH1 0x05
00002500: SLOAD
00002501: PUSH5 0xffffffffff
00002507: AND
00002508: TIMESTAMP
00002509: GT
0000250a: PUSH2 0x2526
0000250d: JUMPI
0000250e: PUSH1 0x40
00002510: MLOAD
00002511: PUSH4 0x1c02820f
00002516: PUSH1 0xe2
00002518: SHL
00002519: DUP2
0000251a: MSTORE
0000251b: PUSH1 0x04
0000251d: ADD
0000251e: PUSH1 0x40
00002520: MLOAD
00002521: DUP1
00002522: SWAP2
00002523: SUB
00002524: SWAP1
00002525: REVERT
00002526: JUMPDEST
00002527: PUSH1 0x05
00002529: SLOAD
0000252a: PUSH1 0x01
0000252c: PUSH1 0x28
0000252e: SHL
0000252f: SWAP1
00002530: DIV
00002531: PUSH5 0xffffffffff
00002537: AND
00002538: TIMESTAMP
00002539: LT
0000253a: PUSH2 0x2573
0000253d: JUMPI
0000253e: PUSH1 0x05
00002540: SLOAD
00002541: PUSH1 0x40
00002543: MLOAD
00002544: PUSH3 0x38ddd7
00002548: PUSH1 0xe4
0000254a: SHL
0000254b: DUP2
0000254c: MSTORE
0000254d: PUSH5 0xffffffffff
00002553: TIMESTAMP
00002554: DUP2
00002555: AND
00002556: PUSH1 0x04
00002558: DUP4
00002559: ADD
0000255a: MSTORE
0000255b: PUSH1 0x01
0000255d: PUSH1 0x28
0000255f: SHL
00002560: SWAP1
00002561: SWAP3
00002562: DIV
00002563: SWAP2
00002564: SWAP1
00002565: SWAP2
00002566: AND
00002567: PUSH1 0x24
00002569: DUP3
0000256a: ADD
0000256b: MSTORE
0000256c: PUSH1 0x44
0000256e: ADD
0000256f: PUSH2 0x07c6
00002572: JUMP
00002573: JUMPDEST
00002574: PUSH1 0x05
00002576: SLOAD
00002577: PUSH1 0x01
00002579: PUSH1 0x50
0000257b: SHL
0000257c: SWAP1
0000257d: DIV
0000257e: PUSH1 0xff
00002580: AND
00002581: ISZERO
00002582: PUSH2 0x259e
00002585: JUMPI
00002586: PUSH1 0x40
00002588: MLOAD
00002589: PUSH4 0x1cdde67b
0000258e: PUSH1 0xe0
00002590: SHL
00002591: DUP2
00002592: MSTORE
00002593: PUSH1 0x04
00002595: ADD
00002596: PUSH1 0x40
00002598: MLOAD
00002599: DUP1
0000259a: SWAP2
0000259b: SUB
0000259c: SWAP1
0000259d: REVERT
0000259e: JUMPDEST
0000259f: PUSH2 0x25a6
000025a2: PUSH2 0x117c
000025a5: JUMP
000025a6: JUMPDEST
000025a7: DUP3
000025a8: GT
000025a9: ISZERO
000025aa: PUSH2 0x25d8
000025ad: JUMPI
000025ae: DUP2
000025af: PUSH2 0x25b6
000025b2: PUSH2 0x117c
000025b5: JUMP
000025b6: JUMPDEST
000025b7: PUSH1 0x40
000025b9: MLOAD
000025ba: PUSH4 0x47790779
000025bf: PUSH1 0xe1
000025c1: SHL
000025c2: DUP2
000025c3: MSTORE
000025c4: PUSH1 0x04
000025c6: DUP2
000025c7: ADD
000025c8: SWAP3
000025c9: SWAP1
000025ca: SWAP3
000025cb: MSTORE
000025cc: PUSH1 0x24
000025ce: DUP3
000025cf: ADD
000025d0: MSTORE
000025d1: PUSH1 0x44
000025d3: ADD
000025d4: PUSH2 0x07c6
000025d7: JUMP
000025d8: JUMPDEST
000025d9: PUSH1 0x40
000025db: MLOAD
000025dc: PUSH4 0x0cfb636f
000025e1: PUSH1 0xe4
000025e3: SHL
000025e4: DUP2
000025e5: MSTORE
000025e6: PUSH1 0x04
000025e8: DUP2
000025e9: ADD
000025ea: DUP4
000025eb: SWAP1
000025ec: MSTORE
000025ed: PUSH32 0x00000000000000000000000049c431454c40ecbf848096f2753b2abc3a699a10
0000260e: PUSH1 0x01
00002610: PUSH1 0x01
00002612: PUSH1 0xa0
00002614: SHL
00002615: SUB
00002616: AND
00002617: SWAP1
00002618: PUSH4 0xcfb636f0
0000261d: SWAP1
0000261e: PUSH1 0x24
00002620: ADD
00002621: PUSH1 0x00
00002623: PUSH1 0x40
00002625: MLOAD
00002626: DUP1
00002627: DUP4
00002628: SUB
00002629: DUP2
0000262a: PUSH1 0x00
0000262c: DUP8
0000262d: DUP1
0000262e: EXTCODESIZE
0000262f: ISZERO
00002630: DUP1
00002631: ISZERO
00002632: PUSH2 0x263a
00002635: JUMPI
00002636: PUSH1 0x00
00002638: DUP1
00002639: REVERT
0000263a: JUMPDEST
0000263b: POP
0000263c: GAS
0000263d: CALL
0000263e: ISZERO
0000263f: DUP1
00002640: ISZERO
00002641: PUSH2 0x264e
00002644: JUMPI
00002645: RETURNDATASIZE
00002646: PUSH1 0x00
00002648: DUP1
00002649: RETURNDATACOPY
0000264a: RETURNDATASIZE
0000264b: PUSH1 0x00
0000264d: REVERT
0000264e: JUMPDEST
0000264f: POP
00002650: POP
00002651: POP
00002652: POP
00002653: PUSH32 0x000000000000000000000000b58e61c3098d85632df34eecfb899a1ed80921cb
00002674: PUSH1 0x01
00002676: PUSH1 0x01
00002678: PUSH1 0xa0
0000267a: SHL
0000267b: SUB
0000267c: AND
0000267d: PUSH4 0x8112eb2b
00002682: DUP5
00002683: DUP5
00002684: PUSH32 0x000000000000000000000000000000000000000000000000000000000003d090
000026a5: PUSH2 0x26ac
000026a8: PUSH2 0x14e9
000026ab: JUMP
000026ac: JUMPDEST
000026ad: PUSH1 0x40
000026af: MLOAD
000026b0: PUSH1 0x01
000026b2: PUSH1 0x01
000026b4: PUSH1 0xe0
000026b6: SHL
000026b7: SUB
000026b8: NOT
000026b9: PUSH1 0xe0
000026bb: DUP8
000026bc: SWAP1
000026bd: SHL
000026be: AND
000026bf: DUP2
000026c0: MSTORE
000026c1: PUSH1 0x01
000026c3: PUSH1 0x01
000026c5: PUSH1 0xa0
000026c7: SHL
000026c8: SUB
000026c9: SWAP1
000026ca: SWAP5
000026cb: AND
000026cc: PUSH1 0x04
000026ce: DUP6
000026cf: ADD
000026d0: MSTORE
000026d1: PUSH1 0x24
000026d3: DUP5
000026d4: ADD
000026d5: SWAP3
000026d6: SWAP1
000026d7: SWAP3
000026d8: MSTORE
000026d9: PUSH3 0xffffff
000026dd: SWAP1
000026de: DUP2
000026df: AND
000026e0: PUSH1 0x44
000026e2: DUP5
000026e3: ADD
000026e4: MSTORE
000026e5: AND
000026e6: PUSH1 0x64
000026e8: DUP3
000026e9: ADD
000026ea: MSTORE
000026eb: PUSH1 0x84
000026ed: ADD
000026ee: PUSH1 0x00
000026f0: PUSH1 0x40
000026f2: MLOAD
000026f3: DUP1
000026f4: DUP4
000026f5: SUB
000026f6: DUP2
000026f7: PUSH1 0x00
000026f9: DUP8
000026fa: DUP1
000026fb: EXTCODESIZE
000026fc: ISZERO
000026fd: DUP1
000026fe: ISZERO
000026ff: PUSH2 0x2707
00002702: JUMPI
00002703: PUSH1 0x00
00002705: DUP1
00002706: REVERT
00002707: JUMPDEST
00002708: POP
00002709: GAS
0000270a: CALL
0000270b: ISZERO
0000270c: DUP1
0000270d: ISZERO
0000270e: PUSH2 0x271b
00002711: JUMPI
00002712: RETURNDATASIZE
00002713: PUSH1 0x00
00002715: DUP1
00002716: RETURNDATACOPY
00002717: RETURNDATASIZE
00002718: PUSH1 0x00
0000271a: REVERT
0000271b: JUMPDEST
0000271c: POP
0000271d: POP
0000271e: POP
0000271f: POP
00002720: DUP2
00002721: PUSH1 0x02
00002723: PUSH1 0x00
00002725: DUP3
00002726: DUP3
00002727: SLOAD
00002728: PUSH2 0x2731
0000272b: SWAP2
0000272c: SWAP1
0000272d: PUSH2 0x2d16
00002730: JUMP
00002731: JUMPDEST
00002732: SWAP3
00002733: POP
00002734: POP
00002735: DUP2
00002736: SWAP1
00002737: SSTORE
00002738: POP
00002739: PUSH2 0x2126
0000273c: DUP2
0000273d: PUSH1 0x01
0000273f: SLOAD
00002740: PUSH2 0x288a
00002743: JUMP
00002744: JUMPDEST
00002745: PUSH1 0x01
00002747: PUSH1 0x01
00002749: PUSH1 0xa0
0000274b: SHL
0000274c: SUB
0000274d: DUP2
0000274e: AND
0000274f: PUSH2 0x2757
00002752: JUMPI
00002753: PUSH1 0x00
00002755: DUP1
00002756: REVERT
00002757: JUMPDEST
00002758: PUSH1 0x00
0000275a: DUP1
0000275b: SLOAD
0000275c: PUSH1 0x01
0000275e: PUSH1 0x01
00002760: PUSH1 0xa0
00002762: SHL
00002763: SUB
00002764: DUP4
00002765: DUP2
00002766: AND
00002767: PUSH1 0x01
00002769: PUSH1 0x01
0000276b: PUSH1 0xa0
0000276d: SHL
0000276e: SUB
0000276f: NOT
00002770: DUP4
00002771: AND
00002772: DUP2
00002773: OR
00002774: DUP5
00002775: SSTORE
00002776: PUSH1 0x40
00002778: MLOAD
00002779: SWAP2
0000277a: SWAP1
0000277b: SWAP3
0000277c: AND
0000277d: SWAP3
0000277e: DUP4
0000277f: SWAP2
00002780: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
000027a1: SWAP2
000027a2: SWAP1
000027a3: LOG3
000027a4: POP
000027a5: POP
000027a6: JUMP
000027a7: JUMPDEST
000027a8: PUSH1 0x04
000027aa: SLOAD
000027ab: ISZERO
000027ac: PUSH2 0x27c8
000027af: JUMPI
000027b0: PUSH1 0x40
000027b2: MLOAD
000027b3: PUSH4 0xd26e2de9
000027b8: PUSH1 0xe0
000027ba: SHL
000027bb: DUP2
000027bc: MSTORE
000027bd: PUSH1 0x04
000027bf: ADD
000027c0: PUSH1 0x40
000027c2: MLOAD
000027c3: DUP1
000027c4: SWAP2
000027c5: SUB
000027c6: SWAP1
000027c7: REVERT
000027c8: JUMPDEST
000027c9: PUSH1 0x05
000027cb: SLOAD
000027cc: PUSH1 0x01
000027ce: PUSH1 0x28
000027d0: SHL
000027d1: SWAP1
000027d2: DIV
000027d3: PUSH5 0xffffffffff
000027d9: AND
000027da: TIMESTAMP
000027db: LT
000027dc: PUSH2 0x2815
000027df: JUMPI
000027e0: PUSH1 0x05
000027e2: SLOAD
000027e3: PUSH1 0x40
000027e5: MLOAD
000027e6: PUSH3 0x38ddd7
000027ea: PUSH1 0xe4
000027ec: SHL
000027ed: DUP2
000027ee: MSTORE
000027ef: PUSH5 0xffffffffff
000027f5: TIMESTAMP
000027f6: DUP2
000027f7: AND
000027f8: PUSH1 0x04
000027fa: DUP4
000027fb: ADD
000027fc: MSTORE
000027fd: PUSH1 0x01
000027ff: PUSH1 0x28
00002801: SHL
00002802: SWAP1
00002803: SWAP3
00002804: DIV
00002805: SWAP2
00002806: SWAP1
00002807: SWAP2
00002808: AND
00002809: PUSH1 0x24
0000280b: DUP3
0000280c: ADD
0000280d: MSTORE
0000280e: PUSH1 0x44
00002810: ADD
00002811: PUSH2 0x07c6
00002814: JUMP
00002815: JUMPDEST
00002816: PUSH1 0x05
00002818: SLOAD
00002819: PUSH1 0x01
0000281b: PUSH1 0x50
0000281d: SHL
0000281e: SWAP1
0000281f: DIV
00002820: PUSH1 0xff
00002822: AND
00002823: ISZERO
00002824: PUSH2 0x2840
00002827: JUMPI
00002828: PUSH1 0x40
0000282a: MLOAD
0000282b: PUSH4 0x1cdde67b
00002830: PUSH1 0xe0
00002832: SHL
00002833: DUP2
00002834: MSTORE
00002835: PUSH1 0x04
00002837: ADD
00002838: PUSH1 0x40
0000283a: MLOAD
0000283b: DUP1
0000283c: SWAP2
0000283d: SUB
0000283e: SWAP1
0000283f: REVERT
00002840: JUMPDEST
00002841: PUSH1 0x01
00002843: SLOAD
00002844: DUP2
00002845: GT
00002846: ISZERO
00002847: PUSH2 0x285b
0000284a: JUMPI
0000284b: PUSH2 0x2856
0000284e: PUSH3 0x03f480
00002852: PUSH2 0x22fe
00002855: JUMP
00002856: JUMPDEST
00002857: PUSH2 0x286c
0000285a: JUMP
0000285b: JUMPDEST
0000285c: PUSH2 0x286c
0000285f: PUSH2 0x2866
00002862: PUSH2 0x21d8
00002865: JUMP
00002866: JUMPDEST
00002867: DUP3
00002868: PUSH2 0x288a
0000286b: JUMP
0000286c: JUMPDEST
0000286d: PUSH2 0x1781
00002870: DUP2
00002871: PUSH2 0x2878
00002874: PUSH2 0x117c
00002877: JUMP
00002878: JUMPDEST
00002879: PUSH1 0x02
0000287b: SLOAD
0000287c: PUSH2 0x2885
0000287f: SWAP2
00002880: SWAP1
00002881: PUSH2 0x2d16
00002884: JUMP
00002885: JUMPDEST
00002886: PUSH2 0x2926
00002889: JUMP
0000288a: JUMPDEST
0000288b: PUSH1 0x00
0000288d: PUSH32 0x0000000000000000000000000000000000000000000000001bc16d674ec80000
000028ae: DUP4
000028af: LT
000028b0: PUSH2 0x28b9
000028b3: JUMPI
000028b4: DUP3
000028b5: PUSH2 0x28bc
000028b8: JUMP
000028b9: JUMPDEST
000028ba: PUSH1 0x00
000028bc: JUMPDEST
000028bd: SWAP1
000028be: POP
000028bf: PUSH8 0x0de0b6b3a7640000
000028c8: PUSH1 0x02
000028ca: SLOAD
000028cb: PUSH2 0x28d4
000028ce: SWAP2
000028cf: SWAP1
000028d0: PUSH2 0x2c09
000028d3: JUMP
000028d4: JUMPDEST
000028d5: PUSH2 0x28de
000028d8: DUP4
000028d9: DUP4
000028da: PUSH2 0x2c09
000028dd: JUMP
000028de: JUMPDEST
000028df: LT
000028e0: ISZERO
000028e1: PUSH2 0x2126
000028e4: JUMPI
000028e5: PUSH2 0x28ee
000028e8: DUP3
000028e9: DUP3
000028ea: PUSH2 0x2c09
000028ed: JUMP
000028ee: JUMPDEST
000028ef: PUSH8 0x0de0b6b3a7640000
000028f8: PUSH1 0x02
000028fa: SLOAD
000028fb: PUSH2 0x2904
000028fe: SWAP2
000028ff: SWAP1
00002900: PUSH2 0x2c09
00002903: JUMP
00002904: JUMPDEST
00002905: PUSH1 0x40
00002907: MLOAD
00002908: PUSH4 0x2c1f8ef1
0000290d: PUSH1 0xe2
0000290f: SHL
00002910: DUP2
00002911: MSTORE
00002912: PUSH1 0x04
00002914: DUP2
00002915: ADD
00002916: SWAP3
00002917: SWAP1
00002918: SWAP3
00002919: MSTORE
0000291a: PUSH1 0x24
0000291c: DUP3
0000291d: ADD
0000291e: MSTORE
0000291f: PUSH1 0x44
00002921: ADD
00002922: PUSH2 0x07c6
00002925: JUMP
00002926: JUMPDEST
00002927: PUSH2 0x2938
0000292a: PUSH8 0x0de0b6b3a7640000
00002933: DUP3
00002934: PUSH2 0x2c09
00002937: JUMP
00002938: JUMPDEST
00002939: PUSH2 0x2962
0000293c: PUSH32 0x0000000000000000000000000000000000000000000000001bc16d674ec80000
0000295d: DUP5
0000295e: PUSH2 0x2c09
00002961: JUMP
00002962: JUMPDEST
00002963: GT
00002964: ISZERO
00002965: PUSH2 0x296d
00002968: JUMPI
00002969: PUSH1 0x00
0000296b: DUP1
0000296c: REVERT
0000296d: JUMPDEST
0000296e: POP
0000296f: PUSH1 0x01
00002971: SSTORE
00002972: JUMP
00002973: JUMPDEST
00002974: DUP1
00002975: ISZERO
00002976: ISZERO
00002977: DUP2
00002978: EQ
00002979: PUSH2 0x1781
0000297c: JUMPI
0000297d: PUSH1 0x00
0000297f: DUP1
00002980: REVERT
00002981: JUMPDEST
00002982: PUSH1 0x00
00002984: DUP1
00002985: PUSH1 0x40
00002987: DUP4
00002988: DUP6
00002989: SUB
0000298a: SLT
0000298b: ISZERO
0000298c: PUSH2 0x2994
0000298f: JUMPI
00002990: PUSH1 0x00
00002992: DUP1
00002993: REVERT
00002994: JUMPDEST
00002995: DUP3
00002996: CALLDATALOAD
00002997: SWAP2
00002998: POP
00002999: PUSH1 0x20
0000299b: DUP4
0000299c: ADD
0000299d: CALLDATALOAD
0000299e: PUSH2 0x29a6
000029a1: DUP2
000029a2: PUSH2 0x2973
000029a5: JUMP
000029a6: JUMPDEST
000029a7: DUP1
000029a8: SWAP2
000029a9: POP
000029aa: POP
000029ab: SWAP3
000029ac: POP
000029ad: SWAP3
000029ae: SWAP1
000029af: POP
000029b0: JUMP
000029b1: JUMPDEST
000029b2: PUSH1 0x00
000029b4: DUP1
000029b5: PUSH1 0x00
000029b7: DUP1
000029b8: PUSH1 0x40
000029ba: DUP6
000029bb: DUP8
000029bc: SUB
000029bd: SLT
000029be: ISZERO
000029bf: PUSH2 0x29c7
000029c2: JUMPI
000029c3: PUSH1 0x00
000029c5: DUP1
000029c6: REVERT
000029c7: JUMPDEST
000029c8: DUP5
000029c9: CALLDATALOAD
000029ca: PUSH8 0xffffffffffffffff
000029d3: DUP1
000029d4: DUP3
000029d5: GT
000029d6: ISZERO
000029d7: PUSH2 0x29df
000029da: JUMPI
000029db: PUSH1 0x00
000029dd: DUP1
000029de: REVERT
000029df: JUMPDEST
000029e0: DUP2
000029e1: DUP8
000029e2: ADD
000029e3: SWAP2
000029e4: POP
000029e5: DUP8
000029e6: PUSH1 0x1f
000029e8: DUP4
000029e9: ADD
000029ea: SLT
000029eb: PUSH2 0x29f3
000029ee: JUMPI
000029ef: PUSH1 0x00
000029f1: DUP1
000029f2: REVERT
000029f3: JUMPDEST
000029f4: DUP2
000029f5: CALLDATALOAD
000029f6: DUP2
000029f7: DUP2
000029f8: GT
000029f9: ISZERO
000029fa: PUSH2 0x2a02
000029fd: JUMPI
000029fe: PUSH1 0x00
00002a00: DUP1
00002a01: REVERT
00002a02: JUMPDEST
00002a03: DUP9
00002a04: PUSH1 0x20
00002a06: DUP3
00002a07: PUSH1 0x05
00002a09: SHL
00002a0a: DUP6
00002a0b: ADD
00002a0c: ADD
00002a0d: GT
00002a0e: ISZERO
00002a0f: PUSH2 0x2a17
00002a12: JUMPI
00002a13: PUSH1 0x00
00002a15: DUP1
00002a16: REVERT
00002a17: JUMPDEST
00002a18: PUSH1 0x20
00002a1a: SWAP3
00002a1b: DUP4
00002a1c: ADD
00002a1d: SWAP7
00002a1e: POP
00002a1f: SWAP5
00002a20: POP
00002a21: SWAP1
00002a22: DUP7
00002a23: ADD
00002a24: CALLDATALOAD
00002a25: SWAP1
00002a26: DUP1
00002a27: DUP3
00002a28: GT
00002a29: ISZERO
00002a2a: PUSH2 0x2a32
00002a2d: JUMPI
00002a2e: PUSH1 0x00
00002a30: DUP1
00002a31: REVERT
00002a32: JUMPDEST
00002a33: DUP2
00002a34: DUP8
00002a35: ADD
00002a36: SWAP2
00002a37: POP
00002a38: DUP8
00002a39: PUSH1 0x1f
00002a3b: DUP4
00002a3c: ADD
00002a3d: SLT
00002a3e: PUSH2 0x2a46
00002a41: JUMPI
00002a42: PUSH1 0x00
00002a44: DUP1
00002a45: REVERT
00002a46: JUMPDEST
00002a47: DUP2
00002a48: CALLDATALOAD
00002a49: DUP2
00002a4a: DUP2
00002a4b: GT
00002a4c: ISZERO
00002a4d: PUSH2 0x2a55
00002a50: JUMPI
00002a51: PUSH1 0x00
00002a53: DUP1
00002a54: REVERT
00002a55: JUMPDEST
00002a56: DUP9
00002a57: PUSH1 0x20
00002a59: DUP3
00002a5a: DUP6
00002a5b: ADD
00002a5c: ADD
00002a5d: GT
00002a5e: ISZERO
00002a5f: PUSH2 0x2a67
00002a62: JUMPI
00002a63: PUSH1 0x00
00002a65: DUP1
00002a66: REVERT
00002a67: JUMPDEST
00002a68: SWAP6
00002a69: SWAP9
00002a6a: SWAP5
00002a6b: SWAP8
00002a6c: POP
00002a6d: POP
00002a6e: PUSH1 0x20
00002a70: ADD
00002a71: SWAP5
00002a72: POP
00002a73: POP
00002a74: POP
00002a75: JUMP
00002a76: JUMPDEST
00002a77: PUSH1 0x01
00002a79: PUSH1 0x01
00002a7b: PUSH1 0xa0
00002a7d: SHL
00002a7e: SUB
00002a7f: DUP2
00002a80: AND
00002a81: DUP2
00002a82: EQ
00002a83: PUSH2 0x1781
00002a86: JUMPI
00002a87: PUSH1 0x00
00002a89: DUP1
00002a8a: REVERT
00002a8b: JUMPDEST
00002a8c: PUSH1 0x00
00002a8e: DUP1
00002a8f: PUSH1 0x40
00002a91: DUP4
00002a92: DUP6
00002a93: SUB
00002a94: SLT
00002a95: ISZERO
00002a96: PUSH2 0x2a9e
00002a99: JUMPI
00002a9a: PUSH1 0x00
00002a9c: DUP1
00002a9d: REVERT
00002a9e: JUMPDEST
00002a9f: DUP3
00002aa0: CALLDATALOAD
00002aa1: PUSH2 0x2aa9
00002aa4: DUP2
00002aa5: PUSH2 0x2a76
00002aa8: JUMP
00002aa9: JUMPDEST
00002aaa: SWAP5
00002aab: PUSH1 0x20
00002aad: SWAP4
00002aae: SWAP1
00002aaf: SWAP4
00002ab0: ADD
00002ab1: CALLDATALOAD
00002ab2: SWAP4
00002ab3: POP
00002ab4: POP
00002ab5: POP
00002ab6: JUMP
00002ab7: JUMPDEST
00002ab8: PUSH1 0x00
00002aba: DUP1
00002abb: PUSH1 0x00
00002abd: PUSH1 0x60
00002abf: DUP5
00002ac0: DUP7
00002ac1: SUB
00002ac2: SLT
00002ac3: ISZERO
00002ac4: PUSH2 0x2acc
00002ac7: JUMPI
00002ac8: PUSH1 0x00
00002aca: DUP1
00002acb: REVERT
00002acc: JUMPDEST
00002acd: DUP4
00002ace: CALLDATALOAD
00002acf: PUSH2 0x2ad7
00002ad2: DUP2
00002ad3: PUSH2 0x2a76
00002ad6: JUMP
00002ad7: JUMPDEST
00002ad8: SWAP6
00002ad9: PUSH1 0x20
00002adb: DUP6
00002adc: ADD
00002add: CALLDATALOAD
00002ade: SWAP6
00002adf: POP
00002ae0: PUSH1 0x40
00002ae2: SWAP1
00002ae3: SWAP5
00002ae4: ADD
00002ae5: CALLDATALOAD
00002ae6: SWAP4
00002ae7: SWAP3
00002ae8: POP
00002ae9: POP
00002aea: POP
00002aeb: JUMP
00002aec: JUMPDEST
00002aed: PUSH1 0x00
00002aef: PUSH1 0x20
00002af1: DUP3
00002af2: DUP5
00002af3: SUB
00002af4: SLT
00002af5: ISZERO
00002af6: PUSH2 0x2afe
00002af9: JUMPI
00002afa: PUSH1 0x00
00002afc: DUP1
00002afd: REVERT
00002afe: JUMPDEST
00002aff: POP
00002b00: CALLDATALOAD
00002b01: SWAP2
00002b02: SWAP1
00002b03: POP
00002b04: JUMP
00002b05: JUMPDEST
00002b06: PUSH5 0xffffffffff
00002b0c: DUP2
00002b0d: AND
00002b0e: DUP2
00002b0f: EQ
00002b10: PUSH2 0x1781
00002b13: JUMPI
00002b14: PUSH1 0x00
00002b16: DUP1
00002b17: REVERT
00002b18: JUMPDEST
00002b19: PUSH1 0x00
00002b1b: DUP1
00002b1c: PUSH1 0x40
00002b1e: DUP4
00002b1f: DUP6
00002b20: SUB
00002b21: SLT
00002b22: ISZERO
00002b23: PUSH2 0x2b2b
00002b26: JUMPI
00002b27: PUSH1 0x00
00002b29: DUP1
00002b2a: REVERT
00002b2b: JUMPDEST
00002b2c: DUP3
00002b2d: CALLDATALOAD
00002b2e: PUSH2 0x2b36
00002b31: DUP2
00002b32: PUSH2 0x2a76
00002b35: JUMP
00002b36: JUMPDEST
00002b37: SWAP2
00002b38: POP
00002b39: PUSH1 0x20
00002b3b: DUP4
00002b3c: ADD
00002b3d: CALLDATALOAD
00002b3e: PUSH2 0x29a6
00002b41: DUP2
00002b42: PUSH2 0x2b05
00002b45: JUMP
00002b46: JUMPDEST
00002b47: PUSH1 0x00
00002b49: DUP1
00002b4a: PUSH1 0x00
00002b4c: PUSH1 0x60
00002b4e: DUP5
00002b4f: DUP7
00002b50: SUB
00002b51: SLT
00002b52: ISZERO
00002b53: PUSH2 0x2b5b
00002b56: JUMPI
00002b57: PUSH1 0x00
00002b59: DUP1
00002b5a: REVERT
00002b5b: JUMPDEST
00002b5c: POP
00002b5d: POP
00002b5e: DUP2
00002b5f: CALLDATALOAD
00002b60: SWAP4
00002b61: PUSH1 0x20
00002b63: DUP4
00002b64: ADD
00002b65: CALLDATALOAD
00002b66: SWAP4
00002b67: POP
00002b68: PUSH1 0x40
00002b6a: SWAP1
00002b6b: SWAP3
00002b6c: ADD
00002b6d: CALLDATALOAD
00002b6e: SWAP2
00002b6f: SWAP1
00002b70: POP
00002b71: JUMP
00002b72: JUMPDEST
00002b73: PUSH1 0x00
00002b75: DUP1
00002b76: PUSH1 0x00
00002b78: PUSH1 0x60
00002b7a: DUP5
00002b7b: DUP7
00002b7c: SUB
00002b7d: SLT
00002b7e: ISZERO
00002b7f: PUSH2 0x2b87
00002b82: JUMPI
00002b83: PUSH1 0x00
00002b85: DUP1
00002b86: REVERT
00002b87: JUMPDEST
00002b88: DUP4
00002b89: CALLDATALOAD
00002b8a: PUSH2 0x2b92
00002b8d: DUP2
00002b8e: PUSH2 0x2a76
00002b91: JUMP
00002b92: JUMPDEST
00002b93: SWAP3
00002b94: POP
00002b95: PUSH1 0x20
00002b97: DUP5
00002b98: ADD
00002b99: CALLDATALOAD
00002b9a: PUSH2 0x2ba2
00002b9d: DUP2
00002b9e: PUSH2 0x2a76
00002ba1: JUMP
00002ba2: JUMPDEST
00002ba3: SWAP3
00002ba4: SWAP6
00002ba5: SWAP3
00002ba6: SWAP5
00002ba7: POP
00002ba8: POP
00002ba9: POP
00002baa: PUSH1 0x40
00002bac: SWAP2
00002bad: SWAP1
00002bae: SWAP2
00002baf: ADD
00002bb0: CALLDATALOAD
00002bb1: SWAP1
00002bb2: JUMP
00002bb3: JUMPDEST
00002bb4: PUSH1 0x00
00002bb6: PUSH1 0x20
00002bb8: DUP3
00002bb9: DUP5
00002bba: SUB
00002bbb: SLT
00002bbc: ISZERO
00002bbd: PUSH2 0x2bc5
00002bc0: JUMPI
00002bc1: PUSH1 0x00
00002bc3: DUP1
00002bc4: REVERT
00002bc5: JUMPDEST
00002bc6: DUP2
00002bc7: CALLDATALOAD
00002bc8: PUSH2 0x2428
00002bcb: DUP2
00002bcc: PUSH2 0x2a76
00002bcf: JUMP
00002bd0: JUMPDEST
00002bd1: PUSH4 0x4e487b71
00002bd6: PUSH1 0xe0
00002bd8: SHL
00002bd9: PUSH1 0x00
00002bdb: MSTORE
00002bdc: PUSH1 0x11
00002bde: PUSH1 0x04
00002be0: MSTORE
00002be1: PUSH1 0x24
00002be3: PUSH1 0x00
00002be5: REVERT
00002be6: JUMPDEST
00002be7: PUSH3 0xffffff
00002beb: DUP3
00002bec: DUP2
00002bed: AND
00002bee: DUP3
00002bef: DUP3
00002bf0: AND
00002bf1: SUB
00002bf2: SWAP1
00002bf3: DUP1
00002bf4: DUP3
00002bf5: GT
00002bf6: ISZERO
00002bf7: PUSH2 0x2c02
00002bfa: JUMPI
00002bfb: PUSH2 0x2c02
00002bfe: PUSH2 0x2bd0
00002c01: JUMP
00002c02: JUMPDEST
00002c03: POP
00002c04: SWAP3
00002c05: SWAP2
00002c06: POP
00002c07: POP
00002c08: JUMP
00002c09: JUMPDEST
00002c0a: DUP1
00002c0b: DUP3
00002c0c: MUL
00002c0d: DUP2
00002c0e: ISZERO
00002c0f: DUP3
00002c10: DUP3
00002c11: DIV
00002c12: DUP5
00002c13: EQ
00002c14: OR
00002c15: PUSH2 0x072d
00002c18: JUMPI
00002c19: PUSH2 0x072d
00002c1c: PUSH2 0x2bd0
00002c1f: JUMP
00002c20: JUMPDEST
00002c21: PUSH1 0x00
00002c23: DUP3
00002c24: PUSH2 0x2c3d
00002c27: JUMPI
00002c28: PUSH4 0x4e487b71
00002c2d: PUSH1 0xe0
00002c2f: SHL
00002c30: PUSH1 0x00
00002c32: MSTORE
00002c33: PUSH1 0x12
00002c35: PUSH1 0x04
00002c37: MSTORE
00002c38: PUSH1 0x24
00002c3a: PUSH1 0x00
00002c3c: REVERT
00002c3d: JUMPDEST
00002c3e: POP
00002c3f: DIV
00002c40: SWAP1
00002c41: JUMP
00002c42: JUMPDEST
00002c43: PUSH1 0x00
00002c45: PUSH1 0x20
00002c47: DUP3
00002c48: DUP5
00002c49: SUB
00002c4a: SLT
00002c4b: ISZERO
00002c4c: PUSH2 0x2c54
00002c4f: JUMPI
00002c50: PUSH1 0x00
00002c52: DUP1
00002c53: REVERT
00002c54: JUMPDEST
00002c55: DUP2
00002c56: MLOAD
00002c57: PUSH2 0x2428
00002c5a: DUP2
00002c5b: PUSH2 0x2a76
00002c5e: JUMP
00002c5f: JUMPDEST
00002c60: PUSH1 0x01
00002c62: PUSH1 0x01
00002c64: PUSH1 0xa0
00002c66: SHL
00002c67: SUB
00002c68: DUP5
00002c69: DUP2
00002c6a: AND
00002c6b: DUP3
00002c6c: MSTORE
00002c6d: PUSH1 0x40
00002c6f: PUSH1 0x20
00002c71: DUP1
00002c72: DUP5
00002c73: ADD
00002c74: DUP3
00002c75: SWAP1
00002c76: MSTORE
00002c77: SWAP1
00002c78: DUP4
00002c79: ADD
00002c7a: DUP5
00002c7b: SWAP1
00002c7c: MSTORE
00002c7d: PUSH1 0x00
00002c7f: SWAP2
00002c80: DUP6
00002c81: SWAP2
00002c82: PUSH1 0x60
00002c84: DUP6
00002c85: ADD
00002c86: DUP5
00002c87: JUMPDEST
00002c88: DUP8
00002c89: DUP2
00002c8a: LT
00002c8b: ISZERO
00002c8c: PUSH2 0x2cae
00002c8f: JUMPI
00002c90: DUP5
00002c91: CALLDATALOAD
00002c92: PUSH2 0x2c9a
00002c95: DUP2
00002c96: PUSH2 0x2a76
00002c99: JUMP
00002c9a: JUMPDEST
00002c9b: DUP5
00002c9c: AND
00002c9d: DUP3
00002c9e: MSTORE
00002c9f: SWAP4
00002ca0: DUP3
00002ca1: ADD
00002ca2: SWAP4
00002ca3: SWAP1
00002ca4: DUP3
00002ca5: ADD
00002ca6: SWAP1
00002ca7: PUSH1 0x01
00002ca9: ADD
00002caa: PUSH2 0x2c87
00002cad: JUMP
00002cae: JUMPDEST
00002caf: POP
00002cb0: SWAP9
00002cb1: SWAP8
00002cb2: POP
00002cb3: POP
00002cb4: POP
00002cb5: POP
00002cb6: POP
00002cb7: POP
00002cb8: POP
00002cb9: POP
00002cba: JUMP
00002cbb: JUMPDEST
00002cbc: PUSH1 0x20
00002cbe: DUP2
00002cbf: MSTORE
00002cc0: DUP2
00002cc1: PUSH1 0x20
00002cc3: DUP3
00002cc4: ADD
00002cc5: MSTORE
00002cc6: DUP2
00002cc7: DUP4
00002cc8: PUSH1 0x40
00002cca: DUP4
00002ccb: ADD
00002ccc: CALLDATACOPY
00002ccd: PUSH1 0x00
00002ccf: DUP2
00002cd0: DUP4
00002cd1: ADD
00002cd2: PUSH1 0x40
00002cd4: SWAP1
00002cd5: DUP2
00002cd6: ADD
00002cd7: SWAP2
00002cd8: SWAP1
00002cd9: SWAP2
00002cda: MSTORE
00002cdb: PUSH1 0x1f
00002cdd: SWAP1
00002cde: SWAP3
00002cdf: ADD
00002ce0: PUSH1 0x1f
00002ce2: NOT
00002ce3: AND
00002ce4: ADD
00002ce5: ADD
00002ce6: SWAP2
00002ce7: SWAP1
00002ce8: POP
00002ce9: JUMP
00002cea: JUMPDEST
00002ceb: DUP2
00002cec: DUP2
00002ced: SUB
00002cee: DUP2
00002cef: DUP2
00002cf0: GT
00002cf1: ISZERO
00002cf2: PUSH2 0x072d
00002cf5: JUMPI
00002cf6: PUSH2 0x072d
00002cf9: PUSH2 0x2bd0
00002cfc: JUMP
00002cfd: JUMPDEST
00002cfe: PUSH1 0x00
00002d00: PUSH1 0x20
00002d02: DUP3
00002d03: DUP5
00002d04: SUB
00002d05: SLT
00002d06: ISZERO
00002d07: PUSH2 0x2d0f
00002d0a: JUMPI
00002d0b: PUSH1 0x00
00002d0d: DUP1
00002d0e: REVERT
00002d0f: JUMPDEST
00002d10: POP
00002d11: MLOAD
00002d12: SWAP2
00002d13: SWAP1
00002d14: POP
00002d15: JUMP
00002d16: JUMPDEST
00002d17: DUP1
00002d18: DUP3
00002d19: ADD
00002d1a: DUP1
00002d1b: DUP3
00002d1c: GT
00002d1d: ISZERO
00002d1e: PUSH2 0x072d
00002d21: JUMPI
00002d22: PUSH2 0x072d
00002d25: PUSH2 0x2bd0
00002d28: JUMP
00002d29: JUMPDEST
00002d2a: PUSH4 0x4e487b71
00002d2f: PUSH1 0xe0
00002d31: SHL
00002d32: PUSH1 0x00
00002d34: MSTORE
00002d35: PUSH1 0x01
00002d37: PUSH1 0x04
00002d39: MSTORE
00002d3a: PUSH1 0x24
00002d3c: PUSH1 0x00
00002d3e: REVERT
00002d3f: JUMPDEST
00002d40: PUSH1 0x01
00002d42: PUSH1 0x01
00002d44: PUSH1 0xa0
00002d46: SHL
00002d47: SUB
00002d48: SWAP4
00002d49: DUP5
00002d4a: AND
00002d4b: DUP2
00002d4c: MSTORE
00002d4d: SWAP2
00002d4e: SWAP1
00002d4f: SWAP3
00002d50: AND
00002d51: PUSH1 0x20
00002d53: DUP3
00002d54: ADD
00002d55: MSTORE
00002d56: PUSH1 0x40
00002d58: DUP2
00002d59: ADD
00002d5a: SWAP2
00002d5b: SWAP1
00002d5c: SWAP2
00002d5d: MSTORE
00002d5e: PUSH1 0x60
00002d60: ADD
00002d61: SWAP1
00002d62: JUMP
00002d63: JUMPDEST
00002d64: PUSH1 0x00
00002d66: PUSH1 0x20
00002d68: DUP3
00002d69: DUP5
00002d6a: SUB
00002d6b: SLT
00002d6c: ISZERO
00002d6d: PUSH2 0x2d75
00002d70: JUMPI
00002d71: PUSH1 0x00
00002d73: DUP1
00002d74: REVERT
00002d75: JUMPDEST
00002d76: DUP2
00002d77: MLOAD
00002d78: PUSH2 0x2428
00002d7b: DUP2
00002d7c: PUSH2 0x2973
00002d7f: JUMP
00002d80: JUMPDEST
00002d81: PUSH1 0x00
00002d83: PUSH1 0x20
00002d85: DUP3
00002d86: DUP5
00002d87: SUB
00002d88: SLT
00002d89: ISZERO
00002d8a: PUSH2 0x2d92
00002d8d: JUMPI
00002d8e: PUSH1 0x00
00002d90: DUP1
00002d91: REVERT
00002d92: JUMPDEST
00002d93: DUP2
00002d94: MLOAD
00002d95: PUSH2 0x2428
00002d98: DUP2
00002d99: PUSH2 0x2b05
00002d9c: JUMP
00002d9d: JUMPDEST
00002d9e: PUSH1 0x00
00002da0: PUSH1 0x20
00002da2: DUP3
00002da3: DUP5
00002da4: SUB
00002da5: SLT
00002da6: ISZERO
00002da7: PUSH2 0x2daf
00002daa: JUMPI
00002dab: PUSH1 0x00
00002dad: DUP1
00002dae: REVERT
00002daf: JUMPDEST
00002db0: DUP2
00002db1: MLOAD
00002db2: PUSH3 0xffffff
00002db6: DUP2
00002db7: AND
00002db8: DUP2
00002db9: EQ
00002dba: PUSH2 0x2428
00002dbd: JUMPI
00002dbe: PUSH1 0x00
00002dc0: DUP1
00002dc1: REVERT
00002dc2: JUMPDEST
00002dc3: PUSH3 0xffffff
00002dc7: DUP2
00002dc8: DUP2
00002dc9: AND
00002dca: DUP4
00002dcb: DUP3
00002dcc: AND
00002dcd: ADD
00002dce: SWAP1
00002dcf: DUP1
00002dd0: DUP3
00002dd1: GT
00002dd2: ISZERO
00002dd3: PUSH2 0x2c02
00002dd6: JUMPI
00002dd7: PUSH2 0x2c02
00002dda: PUSH2 0x2bd0
00002ddd: JUMP
00002dde: JUMPDEST
00002ddf: PUSH5 0xffffffffff
00002de5: DUP2
00002de6: DUP2
00002de7: AND
00002de8: DUP4
00002de9: DUP3
00002dea: AND
00002deb: ADD
00002dec: SWAP1
00002ded: DUP1
00002dee: DUP3
00002def: GT
00002df0: ISZERO
00002df1: PUSH2 0x2c02
00002df4: JUMPI
00002df5: PUSH2 0x2c02
00002df8: PUSH2 0x2bd0
00002dfb: JUMP
00002dfc: INVALID
00002dfd: SWAP5
00002dfe: DUP4
00002dff: LOG2
00002e00: PUSH11 0xd376f30b5199a79e75df3b
00002e0c: UNKNOWN(0xB0)
00002e0d: MLOAD
00002e0e: PC
00002e0f: UNKNOWN(0xC4)
00002e10: UNKNOWN(0xEE)
00002e11: ORIGIN
00002e12: LOG3
00002e13: BASEFEE
00002e14: CREATE2
00002e15: RETURNDATACOPY
00002e16: DUP4
00002e17: UNKNOWN(0x24)
00002e18: GAS
00002e19: MCOPY
00002e1a: POP
00002e1b: UNKNOWN(0xC8)
00002e1c: PUSH15 0xa26469706673582212203d0e7cc7b3
00002e2c: UNKNOWN(0x1F)
00002e2d: DIV
00002e2e: UNKNOWN(0x28)
00002e2f: SUB
00002e30: UNKNOWN(0xC8)
00002e31: SUB
00002e32: UNKNOWN(0xA5)
00002e33: UNKNOWN(0xDE)
00002e34: RETURN
00002e35: CALLDATALOAD
00002e36: UNKNOWN(0x27)
00002e37: EXTCODESIZE
00002e38: EXTCODESIZE
00002e39: BALANCE
00002e3a: UNKNOWN(0xF8)
00002e3b: UNKNOWN(0xD5)
00002e3c: UNKNOWN(0x0D)
00002e3d: UNKNOWN(0xB1)
00002e3e: SELFBALANCE
00002e3f: RETURNDATACOPY
00002e40: UNKNOWN(0x0C)
00002e41: UNKNOWN(0xC8)
00002e42: DUP14
00002e43: UNKNOWN(0xE5)
00002e44: CLZ
00002e45: UNKNOWN(0xEB)
00002e46: UNKNOWN(0xC7)
00002e47: PUSH5 0x736f6c6343
00002e4d: STOP
00002e4e: ADDMOD
00002e4f: EQ
00002e50: STOP
00002e51: 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": "0xc4d4803a",
            "selector": "0xc4d4803a",
            "calldata_variants": [
                "0xc4d4803a",
                "0xc4d4803a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcfb636f0",
            "selector": "0xcfb636f0",
            "calldata_variants": [
                "0xcfb636f0",
                "0xcfb636f00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd8dfeb45",
            "selector": "0xd8dfeb45",
            "calldata_variants": [
                "0xd8dfeb45",
                "0xd8dfeb450000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd9caed12",
            "selector": "0xd9caed12",
            "calldata_variants": [
                "0xd9caed12",
                "0xd9caed120000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3f480d9",
            "selector": "0xf3f480d9",
            "calldata_variants": [
                "0xf3f480d9",
                "0xf3f480d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa4d66daf",
            "selector": "0xa4d66daf",
            "calldata_variants": [
                "0xa4d66daf",
                "0xa4d66daf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa8a3e31d",
            "selector": "0xa8a3e31d",
            "calldata_variants": [
                "0xa8a3e31d",
                "0xa8a3e31d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 11793,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x1e49fc9c6fdc2b4448c10ecb0158bda22165e727a99c1c52d169c0dcf9bb181c
call_targets: 0x49c431454c40ecbf848096f2753b2abc3a699a10
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x1e49fc9c6fdc2b4448c10ecb0158bda22165e727a99c1c52d169c0dcf9bb181c",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x49c431454c40ecbf848096f2753b2abc3a699a10"
    ],
    "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": "0xc4d4803a",
            "selector": "0xc4d4803a",
            "calldata_variants": [
                "0xc4d4803a",
                "0xc4d4803a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcfb636f0",
            "selector": "0xcfb636f0",
            "calldata_variants": [
                "0xcfb636f0",
                "0xcfb636f00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd8dfeb45",
            "selector": "0xd8dfeb45",
            "calldata_variants": [
                "0xd8dfeb45",
                "0xd8dfeb450000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd9caed12",
            "selector": "0xd9caed12",
            "calldata_variants": [
                "0xd9caed12",
                "0xd9caed120000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3f480d9",
            "selector": "0xf3f480d9",
            "calldata_variants": [
                "0xf3f480d9",
                "0xf3f480d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa4d66daf",
            "selector": "0xa4d66daf",
            "calldata_variants": [
                "0xa4d66daf",
                "0xa4d66daf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa8a3e31d",
            "selector": "0xa8a3e31d",
            "calldata_variants": [
                "0xa8a3e31d",
                "0xa8a3e31d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3288,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3485,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3650,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 14,
    "guards_detected": [
        {
            "pc": 11793,
            "type": "tx_origin_used"
        }
    ]
}
medium access_control codex Uninitialized clones allow anyone to pass onlyOwner/ownerOrRoller checks 75 no
view
evidence_json
{
    "evidence": "`_requireOwner` permits any sender when `owner` is zero, while clones set `owner` only in `initialize`.",
    "locations": [
        "contracts/Ownable.sol:46",
        "contracts/Position.sol:198",
        "contracts/Position.sol:490"
    ],
    "recommendation": "Require initialization before any privileged action (e.g., `require(owner != address(0))` in `_requireOwner`), add an `initialized` flag gate, and ensure clone creation+initialize are atomic within the hub flow.",
    "exploit_scenario": "If a clone is created without an atomic initialize (e.g., via CREATE2 or multi-tx flow), `owner` remains zero. Because `_requireOwner` skips checks when `owner == address(0)`, any address can call `onlyOwner`/`ownerOrRoller` functions. An attacker can front-run initialization and call `withdrawCollateral` or `adjust` to pull collateral or otherwise grief the position before the hub sets the correct owner."
}
medium math codex adjust() trusts caller-supplied collateral amount, enabling undercollateralized minting with fee-on-transfer tokens 75 no
view
evidence_json
{
    "evidence": "`adjust` uses `newCollateral` without verifying actual balance and passes it into `_mint`, which enforces collateralization using the supplied value.",
    "locations": [
        "contracts/Position.sol:297",
        "contracts/Position.sol:300",
        "contracts/Position.sol:312",
        "contracts/Position.sol:385"
    ],
    "recommendation": "After transfer, recompute the actual collateral balance and pass that to `_mint`/`_checkCollateral`. Alternatively, disallow fee-on-transfer tokens or require exact balance deltas.",
    "exploit_scenario": "An attacker uses a fee-on-transfer/deflationary collateral token. In `adjust`, `transferFrom` pulls less than `newCollateral` due to transfer fees, but `_mint` uses the user-supplied `newCollateral` for `_checkCollateral`. This allows minting more ZCHF than the actual collateral balance supports, creating an undercollateralized position."
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0xbdfced86b1b86289864e33f91670e105f9bc3df437fbd748cba73c53baca5207
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0xbdfced86b1b86289864e33f91670e105f9bc3df437fbd748cba73c53baca5207",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xc4d4803a",
            "selector": "0xc4d4803a",
            "calldata_variants": [
                "0xc4d4803a",
                "0xc4d4803a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcfb636f0",
            "selector": "0xcfb636f0",
            "calldata_variants": [
                "0xcfb636f0",
                "0xcfb636f00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd8dfeb45",
            "selector": "0xd8dfeb45",
            "calldata_variants": [
                "0xd8dfeb45",
                "0xd8dfeb450000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd9caed12",
            "selector": "0xd9caed12",
            "calldata_variants": [
                "0xd9caed12",
                "0xd9caed120000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3f480d9",
            "selector": "0xf3f480d9",
            "calldata_variants": [
                "0xf3f480d9",
                "0xf3f480d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa4d66daf",
            "selector": "0xa4d66daf",
            "calldata_variants": [
                "0xa4d66daf",
                "0xa4d66daf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa8a3e31d",
            "selector": "0xa8a3e31d",
            "calldata_variants": [
                "0xa8a3e31d",
                "0xa8a3e31d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 0,
    "create2_count": 1
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x1e49fc9c6fdc2b4448c10ecb0158bda22165e727a99c1c52d169c0dcf9bb181c
call_targets: 0x49c431454c40ecbf848096f2753b2abc3a699a10
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x1e49fc9c6fdc2b4448c10ecb0158bda22165e727a99c1c52d169c0dcf9bb181c",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x49c431454c40ecbf848096f2753b2abc3a699a10"
    ],
    "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": "0xc4d4803a",
            "selector": "0xc4d4803a",
            "calldata_variants": [
                "0xc4d4803a",
                "0xc4d4803a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcfb636f0",
            "selector": "0xcfb636f0",
            "calldata_variants": [
                "0xcfb636f0",
                "0xcfb636f00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd8dfeb45",
            "selector": "0xd8dfeb45",
            "calldata_variants": [
                "0xd8dfeb45",
                "0xd8dfeb450000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd9caed12",
            "selector": "0xd9caed12",
            "calldata_variants": [
                "0xd9caed12",
                "0xd9caed120000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3f480d9",
            "selector": "0xf3f480d9",
            "calldata_variants": [
                "0xf3f480d9",
                "0xf3f480d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa4d66daf",
            "selector": "0xa4d66daf",
            "calldata_variants": [
                "0xa4d66daf",
                "0xa4d66daf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa8a3e31d",
            "selector": "0xa8a3e31d",
            "calldata_variants": [
                "0xa8a3e31d",
                "0xa8a3e31d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3288,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3485,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3650,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 16,
    "guards_detected": [
        {
            "pc": 11793,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 16
}
low other codex ERC20 transfer/transferFrom return values are unchecked 65 no
view
evidence_json
{
    "evidence": "Multiple ERC20 transfers ignore return values, including collateral moves and ZCHF transfers.",
    "locations": [
        "contracts/Position.sol:300",
        "contracts/Position.sol:414",
        "contracts/Position.sol:479",
        "contracts/Position.sol:505",
        "contracts/Position.sol:447"
    ],
    "recommendation": "Use SafeERC20 (or explicit return-value checks) for all `transfer`/`transferFrom` calls and validate balance changes where appropriate.",
    "exploit_scenario": "For non-standard ERC20s that return `false` instead of reverting, these calls can silently fail while the function continues. This can cause incorrect accounting (e.g., repayment logic proceeds even if the transfer failed) or stuck funds during withdrawals."
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 0,
    "create2_count": 1
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 29
}
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": 9
}